Elanthipedia Items (script): Difference between revisions

From Elanthipedia
Jump to navigation Jump to search
No edit summary
 
(126 intermediate revisions by 2 users not shown)
Line 5: Line 5:
}}
}}


This script creates Elanthipedia forms for weapons, shields, armor, and items that you appraise in shops. The results are both echoed to the game window and logged to the Appraisal file in Genie's Logs folder.<br>
This script creates Elanthipedia forms for weapons, shields, armor, and items that you appraise in shops. The results are both echoed to the game window and logged to the Appraisal-$charactername.txt file in Genie's Logs folder.<br>
<br>
<br>
This script is intended for experience Elanthipedia contributors only. The forms that are created by this script often require some manual editing. (See below for details.) Please check for errors before posting them to Elanthipedia.<br>
This script is intended for experienced Elanthipedia contributors only. The forms that are created by this script often require some manual editing. (See below for details.) Please check for errors before posting them to Elanthipedia.<br>
<br>
<br>
Field values are not defined unless you are "certain" about the stat that you are appraising.
Field values are not defined unless you are "certain" about the stat that you are appraising.


==Instructions==
==Instructions==
{{RTOC}}

===Syntax===
===Syntax===


Line 25: Line 25:
#'''Weapon: Parry Stick'''
#'''Weapon: Parry Stick'''
#'''Shield'''
#'''Shield'''
#'''Armor'''
#'''Armor/Barding'''
#'''Item''': all other items
#'''Item''': all other items
<br>
<br>
Line 33: Line 33:
You must install and use this alias to set the shop surface variable.
You must install and use this alias to set the shop surface variable.


<pre>#alias {sv} {#var shop $0}</pre>
<pre>#alias {aps} {appraise $0 $preposition $shop quick}
#alias {sh} {shop $0 on $shop}
#alias {sha} {shop $0 on $shop;appraise $0 on $shop careful}
#alias {shs} {shop;shop $shop}
#alias {svar} {#var shop $0;shop;shop $shop}</pre>
<br>
<br>
The "shop surface" is the thing on which the item is placed (for example, ''table'', ''second rack'', or '' oak shelf'').
The "shop surface" is the thing on which the item is placed (for example, ''table'', ''second rack'', or '' oak shelf''). Every time you change shop surfaces (via the '''sv''' alias), you need to use the '''shs''' alias to set the preposition.


----
----
Line 45: Line 49:


----
----
You must install these triggers to set the preposition variable. (Appraise something once to set it.)
You must install these triggers to set the preposition variable. (Use the '''shs''' alias to set it every time you change shop surfaces.)


<pre>#trigger {^In .+, you see:$} {#var preposition in}
<pre>#trigger {^Behind .+, you see:$} {#var preposition behind}
#trigger {^In .+, you see:$} {#var preposition in}
#trigger {^On .+, you see:$} {#var preposition on}
#trigger {^On .+, you see:$} {#var preposition on}
#trigger {^Under .+, you see:$} {#var preposition under}</pre>
#trigger {^Under .+, you see:$} {#var preposition under}</pre>

----If you want to hear the sound effect, you need to download [http://www.elanthia.org/GenieSettings/Sounds.zip my sounds].

===Sample Usage (Walkthrough)===

====Running the Script====

<pre>> shop
The following items contain goods for sale:

a wall</pre>

The item that you want to appraise is on the wall, so you type '''svar wall''' to set the shop surface variable. (You won't see anything when you do this.)<br>
<br>
The preposition variable should set itself when you use the svar alias.

<pre>> shs
On the wall, you see:

a heavy steel shield laced with gold etching for 9.5 platinum Kronars
a gleaming silvery tower shield etched with gold for 248063 copper Kronars
a matte black aegis etched with gold for 66875 copper Kronars
a highly polished silvery shield engraved with a prancing war horse for 27175 copper Kronars

The inventory of a wall rotates.</pre>

You want to appraise the ''heavy steel shield laced with gold etching'', so you type '''.elanth shield''' to run the script.

<pre>ITEM TYPE:

1: Weapon: Melee/Thrown

2: Weapon: Ranged

3: Weapon: Ammunition

4: Weapon: Brawling

5: Weapon: Parry Stick

6: Shield

7: Armor/Barding

8: Item</pre>

This is a shield, so you enter '''7'''. The script taps, shops, and appraises the shield:

<pre>> tap first shield on wall
You tap a heavy steel shield laced with gold etching atop a wall.
> shop first shield on wall

Short: a heavy steel shield
Worn: Shoulder-worn.
Cost: 95000 Kronars
Read: There is nothing there to read.
Look: A thick circle of polished steel plates joins with sturdy dark leather bindings to make this shield complete. Fine gold etching outlines the shield face, taking the shape of a glorious winged dragon in flight.

You can buy this item if you like.
> appraise first shield on wall careful
You are certain that it imposes significant maneuvering hindrance.

This shield is large in size.

Your experience with shields allows a better appraisal of the protection capabilities.

You are certain that the shield offers very poor to high protection.

You are certain that it could do:
no puncture damage
no slice damage
very great impact damage
no fire damage
no cold damage
no electric damage

You are certain that the shield is poorly balanced and is reasonably suited to gaining extra attack power from your strength.

You are certain that the steel shield is marginally vulnerable to damage, and is in pristine condition.

The steel shield is made with metal.
It appears that the steel shield can be slung over one shoulder.
You are certain that the steel shield weighs exactly 200 stones.
You are certain that the steel shield is worth exactly 95000 Kronars.
Roundtime: 16 seconds.</pre>

And generates this Elanthipedia item form:

<pre>http://www.elanthipedia.org/wiki/Shield:heavy steel shield laced with gold etching&action=edit
{{Shield
|newshieldapp=yes
|name=heavy steel shield laced with gold etching
|noun=shield
|look=A thick circle of polished steel plates joins with sturdy dark leather bindings to make this shield complete. Fine gold etching outlines the shield face, taking the shape of a glorious winged dragon in flight.
<br />'''Read''': There is nothing there to read.
|MTag=DELETE, steel, leather, DELETE, DELETE
|CTag=DELETE, DELETE, DELETE, gold, yellow, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE
|STag=DELETE, DELETE, DELETE, DELETE, dragon, DELETE, DELETE
|type=lsh
|hindrance=significant
|minprotection=very poor
|maxprotection=high
|puncture=no
|slice=no
|impact=very great
|balance=poorly
|suitedness=reasonably
|construction=marginally vulnerable
|metal=yes
|weight=200
|lsize=NOT SET
|wsize=NOT SET
|hsize=NOT SET
|appcost=95,000
|sourcetype=-
|fname=No
|maxcharge=DELETE THIS LINE
|special=NOT SET
|itype=NOT SET
}}</pre>

====Editing the Item Form====

See Fields That Require Manual Editing ([[Elanthipedia_Items_(script)#Fields_That_Require_Manual_Editing|below]]) for details about required edits.<br>
<br>
The URL at the top of the form is not actually part of the item page. It's there for your convenience. Copy and paste it into your browser to go to the edit page for the ''holy water sprinkler studded with stony basilisk fangs''.<br>
<br>
Everything that says "DELETE" in the form needs to be deleted. Those fields were not used for this item.

<pre>{{Shield
|newshieldapp=yes
|name=heavy steel shield laced with gold etching
|noun=shield
|look=A thick circle of polished steel plates joins with sturdy dark leather bindings to make this shield complete. Fine gold etching outlines the shield face, taking the shape of a glorious winged dragon in flight.
<br />'''Read''': There is nothing there to read.
|MTag=steel, leather
|CTag=gold, yellow
|STag=dragon
|type=lsh
|hindrance=significant
|minprotection=very poor
|maxprotection=high
|puncture=no
|slice=no
|impact=very great
|balance=poorly
|suitedness=reasonably
|construction=marginally vulnerable
|metal=yes
|weight=200
|lsize=NOT SET
|wsize=NOT SET
|hsize=NOT SET
|appcost=95,000
|sourcetype=-
|fname=No
|special=NOT SET
|itype=NOT SET
}}</pre>

You also need to delete any fields that were not set.

<pre>{{Shield
|newshieldapp=yes
|name=heavy steel shield laced with gold etching
|noun=shield
|look=A thick circle of polished steel plates joins with sturdy dark leather bindings to make this shield complete. Fine gold etching outlines the shield face, taking the shape of a glorious winged dragon in flight.
<br />'''Read''': There is nothing there to read.
|MTag=steel, leather
|CTag=gold, yellow
|STag=dragon
|type=lsh
|hindrance=significant
|minprotection=very poor
|maxprotection=high
|puncture=no
|slice=no
|impact=very great
|balance=poorly
|suitedness=reasonably
|construction=marginally vulnerable
|metal=yes
|weight=200
|appcost=95,000
|sourcetype=-
|fname=No
}}</pre>

Now that the form has been cleaned up, it's time to put on the finishing touches so that it complies with Elanthipedia standards.

#Since the name= field is exactly the same as the page name, delete that. If the name had been capitalized in an unusual way (such as ''mammoth Botolf war icon set atop a bloodstained haft of hickory''), you would have left the name= field in place.
#This item doesn't have a read, so delete that line.
#Now for the tags. These are used with Elanthipedia's search function, so it's nice if they are filled out. The script recognized that this item contains steel and leather, so it added that for you. However, it's also made of gold, so add that. (Note: just use the singular, even if the description calls for more than one of that material.) The order of these tags does not matter.
#CTags are for colors. The script recognized that this item contains gold, which, for Elanthipedia purposes, is a shade of yellow. Nothing needs to be added to this line.
#STags are for symbols. The script recognized that this item has a dragon on it. Nothing needs to be added to this line.
#The fname field indicates whether the first word in the item's tap is capitalized. For most items, this should be set to "No."

Now your form is ready for Elanthipedia. Copy and paste it to the edit page in your browser, and click "Save page."

<pre>{{Shield
|newshieldapp=yes
|noun=shield
|look=A thick circle of polished steel plates joins with sturdy dark leather bindings to make this shield complete. Fine gold etching outlines the shield face, taking the shape of a glorious winged dragon in flight.
|MTag=steel, gold, leather
|CTag=gold, yellow
|STag=dragon
|type=lsh
|hindrance=significant
|minprotection=very poor
|maxprotection=high
|puncture=no
|slice=no
|impact=very great
|balance=poorly
|suitedness=reasonably
|construction=marginally vulnerable
|metal=yes
|weight=200
|appcost=95,000
|sourcetype=-
|fname=No
}}</pre>

===Working More Efficiently===

You may be wondering if using this script is worth the effort. Having done my share of manual item additions, I can say that this is a big time saver. It also reduces human error on item stats. However, editing item forms is still a little work, especially if you do the MTags, CTags, and STags.<br>
<br>
One way to speed up this process is to edit these forms in batch. Instead of appraising one item, editing the form, and then posting that item, appraise all of the items that you want to appraise in the shop and then edit your Appraisal-$charactername.txt log file. Use the find and replace function (usually Ctrl+H) to delete or edit multiple lines at once.<br>
<br>
I recommend using [http://notepad-plus-plus.org/ Notepad++] for this, because it also supports regular expressions. You can also make your own macros and add your own shortcut keys.


==Changelog==
==Changelog==


'''4/22/2018'''
*fixed a bug with appraisal values of 0
'''4/21/2018'''
*replaced ammo type recognition with the new appraisal line
*improved recognition of brawling weapons
*added location and timestamp in the output log to help you track back to your own log if you need to check something
*added verb and functionality checking to the held version of the script (This will not add the information to your form. It just helps you log it for you to manually add it.)
*fixed taps and shorts
*fixed dimensions
*fixed appraisal values
*added weapon skills
*fixed bug with one construction/durability value
'''7/6/2016'''
*fixed hangups at glance
*added new material tags
*added timestamp to each item in the log
'''2/26/2016'''
*bug fix
*added new material and symbol tags
*added recognition of more racial item styles
'''9/15/2015'''
*Added clothing item types
*Fixed quiet setting of taps
*Removed force of impact (FOI) from ammunition
'''6/19/2015'''
*Added support for new bow template (draw strength and adjustable draw strength)
'''5/23/2015'''
*Improved recognition of measurement dimensions
*Improved conversion of currencies (conversions from Lirums to Kronars should be 100% accurate; conversions from Dokoras to Kronars is accurate 80% of the time due to differences in the way DR does math)
*Shop version of script will now use {{com|GLANCE}} instead of {{com|TAP}} to set the item tap. This is less likely to cause errors with verby items.
*Added more recognition of clothing and jewelry.
*Added Gor'Tog and Prydaen item types.
*Added new material tags
'''12/6/2014'''
*Added version for items that another player {{com|SHOW}}s to you
*The versions for held and shown items will now abort when appraising crafted or altered items. (Item pages should not be created for these items.)
*Added new material tags
*Added new color tags
*Added new ambiguous tags
*Fixed item type/special setting
*Added to instrument types
*Added to armor itypes
'''7/18/2014'''
*Fixed issue with the tap unintentionally including the contents of the left hand, but the script now requires a measuring stick to work.
'''7/16/2014'''
*Fixed issue in the hand-held version with script not setting the tap when your left hand is empty.
'''7/14/2014'''
*Fixed issue in the hand-held version with script not using the noun of the item in your right hand.
'''7/7/2014'''
*Added hand-held version of script (with measuring).
*As reflected in Elanthipedia's new item template, there is a new field for "ambiguous tags" (tags that could be more than one type, such as sapphire, which could be a material or a color). This makes it easier to quickly document items on Elanthipedia without spending a long time reviewing the tags. (The ambiguous tags can be resolved later.)
*As reflected in Elanthipedia's updated [[Elanthipedia:Manual_of_Style/Items#Color_Tags_.28CTag.29|Manual of Style]], colors like "dark blue" will only be tagged "blue", not "dark blue, blue".
*Fixed issue with "extremely weak" construction.
*Fixed issue with items being incorrectly flagged as "warrior mage style."
*Updated Elanthipedia URLs to the new site.
'''12/23/2013'''
*Improved recognition of wood and gem MTags.
'''10/31/2013'''
*Updated racial item types
*Added fname field.
*Added spaces after commas to be consistent with the [[Elanthipedia:Manual_of_Style/Items|Manual of Style]].
'''9/25/2013'''
*Added Prydaen item type.
*Added racial item class to combat/rp class toggles.
'''6/27/2013'''
*Standardized symbol tags for guild crests
*Fixed error with armor being flagged as clothing or jewelry.
'''6/18/2013'''
*Fixed error with brawling damage types.
*Fixed error with footwraps being flagged as "clothing."
*Replaced "quite a bit of" damage with "quite a bit" to match the template.
'''6/17/2013'''
*Updated the new weapon appraisal flag from ''newapp'' to ''newapp2''. (This indicates whether a weapon has outdated stats.)
*Fixed an error that was causing item {{com|READ}}s not to be set.
*Fixed setting of "special" types for weapons, shields, and armor.
*Revised wear locations to be consistent with the current item templates. ''Shirt+'' and ''shirt-'' are now ''shirt (with armor)'' and ''shirt (without armor)'', respectively. Also, wearloc will not be set to - (not wearable) unless the item is of a type that would normally be wearable, such as clothing, jewelry, or containers.
*The script will now log appraisals to ''Appraisal-$charactername.txt''. This allows more than one character to run the script at a time. (The charactername variable is supplied automatically by Genie.)
'''5/15/2013'''
*Added elemental damage.
'''5/6/2013'''
*Updated armor types to 3.0 template.
'''5/5/2013'''
*Added force of impact stat for weapons.
'''5/3/2013'''
*Smarter tagging of item types, materials, symbols, and colors.
*Fixed bugs in metatags.
*Fixed issue with appraisal values not being set. (The appraisal messaging now capitalizes the currency names, but the script was still looking for lower-case currency names.)
'''4/28/2013'''
*Updated item types and sources to work with the new item template.
*Script will now set some item types from the look.
*Script will no longer erroneously flag items made of "Elothean silk" or "Elven silk" as racial symbols or racial item types.
*Improved color tagging.
'''4/27/2013'''
*Added recognition of Elothean (Asian) clothing.
'''11/18/2012'''
*Added recognition of more item types.
*Added recognition of more materials.
'''11/10/2012'''
*Added recognition of more item types; shortened pauses by half a second.
'''11/4/2012'''
*Added auto-recognition of Trader "appraisal" items.
'''5/19/2012'''
*Added more item types.
*Added more metatags.
'''5/16/2012'''
*Fixed bug that prevented taps from being set on items "atop several" surfaces.
'''5/15/2012'''
*Added more item types.
*Added more recognition of racially named items.
*Added more metatags.
'''5/13/2012'''
*Added more MTags.
*Fixed some false matches with colors, materials, and symbols.
'''5/4/2012'''
*The script now supports the new shield hindrance and protection appraisals. Note: If you fail to get the more detailed "Paladin appraisal" (indicated by the "Your experience with shields allows a better appraisal of the protection capabilities" message), the script will not set the shield protection values and will flag the page as outdated. Please do not change this.
'''4/28/2012'''
*Added support for Elanthipedia's new "itype" field. (This field is used to distinguish between items with the same noun.)
*Added more recognition of item types, particularly for racial items.
*Fixed a few bugs in item types.
'''4/27/2012'''
*Added more recognition of item, weapon, and shield types.
*Added more MTags and STags.
*Fixed a few bugs in CTags and item types.
'''4/21/2012'''
*Changed URLs from elanthipedia.com to elanthipedia.org.
'''1/4/2012'''
*Added support for more recognition of item types.
'''11/14/2011'''
*Added support for items on '''the''' surface. (This was preventing certain taps from being read.)
'''11/12/2011'''
*Added more recognition of item and weapon types.
*Added more MTags and STags.
*Added sound effect to the end of the script.
'''11/9/2011'''
*Added support for items that are ''behind'' a shop surface.
'''11/5/2011'''
*Fixed some tags.
*Added new CTag.
*Added support for non-Kronar appraisal values.
'''11/4/2011'''
*Added new MTags.
'''11/2/2011'''
*Added more recognition of clothing.
'''09/24/2011'''
*Added support for tack and barding.
*Added two new MTag woods.
'''07/18/2011'''
*Changed '''newapp=yes''' to '''newarmorapp=yes''' in the shield section to work with Elanthipedia's new shield template. (If you use newapp=yes for shields, Elanthipedia will think that the appraisal includes the new construction range but not the new hindrance range.)
*Fixed shield appraisals to work with the new hindrance scale.
'''07/17/2011'''
*Changed '''newapp=yes''' to '''newarmorapp=yes''' in the armor section to work with Elanthipedia's new armor template. (If you use newapp=yes for armor, Elanthipedia will think that the appraisal includes the new construction range but not the new protection, absorption, and hindrance ranges.)
'''07/02/2011'''
*Added a new MTag fabric.
*Fixed bugs with MTags and CTags.
'''07/01/2011'''
*Added more MTag fabrics.
*Added support for variable colors (for example, X-hued).
*Added more CTags.
*Added more STags.
'''06/29/2011'''
*Fixed a bug with MTag fabrics.
*Fixed a bug with CTags.
'''06/26/2011'''
*Fixed a bug in the price and appraisal sections that was caused by the way Notepad++ deleted extra line breaks.
*Script now always recognizes when armor absorption values are not equal.
'''06/20/2011'''
*Added support for more MTags, CTags, and STags.
'''06/16/2011'''
*Added support for more MTags, CTags, STags, and item/special types.
'''06/05/2011'''
*Added support for more MTags, CTags, STags, and item/special types.
'''05/23/2011'''
'''05/23/2011'''
*The script now uses triggers to set the currency and preposition variables.
*The script now uses triggers to set the currency and preposition variables.
Line 97: Line 503:
===Name===
===Name===


Delete this field unless the item tap differs from the page name (for example, in capitalization).
Delete this field unless the item tap differs from the page name (for example, in capitalization).<br>
<br>
Quotation marks are removed by Genie, so be sure to supply them if the tap contains quotation marks.


===Missing Data===
===Missing Data===
Line 108: Line 516:
===Look/Read===
===Look/Read===
Delete this line: '''<nowiki><br>'''Read''': There is nothing there to read.</nowiki>'''
Delete this line: '''<nowiki><br>'''Read''': There is nothing there to read.</nowiki>'''
<br>(It is only used if there is an actual read.)
<br>(It is only used if there is an actual read.)<br>
<br>
Quotation marks are removed by Genie, so be sure to supply them if the look contains quotation marks.


===Metatags===
===Metatags===
Line 114: Line 524:
If there is more than one match for the same category, it will add the last match. I made the shorter words match first, which causes the script to match the longest, most specific version (e.g., ''glacier emerald'' instead of ''emerald'').<br>
If there is more than one match for the same category, it will add the last match. I made the shorter words match first, which causes the script to match the longest, most specific version (e.g., ''glacier emerald'' instead of ''emerald'').<br>
<br>
<br>
If a match is appears in both the tap and the look, the script will use the one in the tap.<br>
If a match appears in both the tap and the look, the script will use the one in the tap.<br>
<br>
<br>
You can manually add additional tags.<br>
You can manually add additional tags.<br>
<br>
<br>
If a category is not set, it will say ''DELETE.''
If a category is not set, it will say ''DELETE.''<br>
<br>
If there are no tags of a given type (for example, no symbol tags), leave the field blank. Delete all of instances of ''DELETE'', but do not delete the empty fields.<br>
<br>
See [[Elanthipedia:Manual_of_Style/Items#Material.2C_Color.2C_and_Symbol_Tags|Elanthipedia's Manual of Style]] for instructions on how to use tags.


====MTags====
====MTags====
Line 149: Line 563:
#'''stagr''': races
#'''stagr''': races
#'''stagl''': locations and heavenly bodies
#'''stagl''': locations and heavenly bodies
----


===Item Types===
====ATags====


Ambiguous tags are a new field in Elanthipedia's item templates. There are some words that could fall under more than one type of tag, depending on context. For example, sapphire might be a gem (MTag) or just a color (CTag). There is no easy way for the script to know whether "sapphire" is a gem or a color; the user must read the tap and description and determine which applies. Instead of adding "sapphire" to both the MTags and CTags, the script will now add "sapphire" as an ATag.<br>
For your convenience, the script leaves room for up to four item types for fluff and one special type for combat equipment. Sometimes, the script will define a type for you. Some automatic settings:

*'''|type=clothing''': automatic for most clothing
*'''|type=jewelry''': automatic for most jewelry
*'''|type=-''': automatic when the item is not set as clothing or jewelry
*'''|type2=container''': containers and pocketed items
*'''|type4=cambrinth''': cambrinth
<br>
If a type field is "NOT SET," please delete it.<br>
<br>
<br>
This allows for faster documentation of shop items, as the user will no longer have to spend hours poring over the tags to find and remove errors caused by ambiguity. Instead, the user can just dump the item on Elanthipedia, with the potentially ambiguous tags listed in their own field. Later, the user (or another contributor) can resolve the ambiguities by moving the tag from ATag to MTag, CTag, or STag as appropriate.
If ''type2'' or ''type3'' is set, but there is no ''type'', change it to the lowest available type number. It doesn't matter what order they're in, but I tend to put properties like clothing or jewelry first, then container, then [[cambrinth]], then guild and race styles.<br>

<br>
If ''type'' is defined as "-", it means that the item doesn't belong in any of Elanthipedia's type categories. This definition is incorrect if another type variable has been set (for example, container or cambrinth). When in doubt, delete this unless you know that no other item category applies.
----
----


===Source, Sourcetype, and Cost===
===Item Types===


The script will add up to seven different item types (one per category). The categories are:
By default, the ''source'' field is defined as the room name. This does not always match the shop name on Elanthipedia.
#'''typefunction''': the item's basic function, such as clothing, jewelry, crafting, and instruments.
#'''typecon''': for containers and pocketed items
#'''typemagic''': cambrinth, gaethzen, and some other magic
#'''typeguild''': items with obvious guild functions or styles
#'''typerace''': items with obvious race functions or styles


If a type category is not set, it will say ''DELETE.''
'''Player-run Shops'''


----
If you are appraising items in player-run Trader shops, please delete the following fields unless you know the original source:


===Ticket Prices===
*|sourcetype=sold by

*|source=
If the price is in tickets, you need to add the word "Tickets" after the price. For example:
*|cost=

<pre>{{ShopItem|t=w|throwing dagger with a buzzard hilt|2 Tickets}}</pre>


===Swappable Weapons===
===Swappable Weapons===
Line 192: Line 603:
===Shields===
===Shields===


If you are a Paladin, please change ''paladinapp=No'' to ''paladinapp=Yes''. Paladins are able to distinguish between more grades of shield protection; setting this field to yes means that the shield protection values are as detailed as possible.
If you fail to get the more detailed "Paladin appraisal" (indicated by the "Your experience with shields allows a better appraisal of the protection capabilities" message), the script will not set the shield protection values and will flag the page as outdated. Please do not change this.


===Armor===
===Armor/Barding===

====Armor====


'''area''': This field is defined by the script, but you need to delete the word(s) ''DELETE'' from the "area" field.<br>
'''area''': This field is defined by the script, but you need to delete the word(s) ''DELETE'' from the "area" field.<br>
Line 210: Line 623:
If absorption values are not the same for every damage type, the script output will be <nowiki>|absorbance=VALUES NOT EQUAL</nowiki>. Delete the absorbance field and use the six specific values (punctureab=, sliceab=, etc.) instead.
If absorption values are not the same for every damage type, the script output will be <nowiki>|absorbance=VALUES NOT EQUAL</nowiki>. Delete the absorbance field and use the six specific values (punctureab=, sliceab=, etc.) instead.


==Script==
====Barding====


'''Stats''': Barding (horse armor) appraisals do not include most of the standard armor stats, so there are several unset variables. Delete the lines for hindrance, protection, and absorption. (Keep construction.)<br>
<pre>put #class rp on
<br>
put #class combat off
'''Weight''': There is no information about weight when appraising barding in shops, so the weight variable will not be set. Delete the weight line.<br>
<br>
'''Coverage areas''': The coverage areas of "arms" and "legs" are correct. Elanthipedia will automatically display "front legs" and "rear legs" if you have the special type set to tack. (The script does this for you.)

==Script (Shop Inventory)==

<pre>#debuglevel 10
put #class rp on
put #class arrive off
put #class arrive off
put #class joust off
put #class combat off
put #class racial off
put #class shop off


var source $roomname
var source $roomname
var appcostl 0
var appcostd 0
var newshieldapp no
action goto end when ^I could not find what (you|you were) referring to\.$
action goto end when ^I could not find what (you|you were) referring to\.$
var numbers first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|eleventh
var numbers first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|eleventh
var numbers.index 0
var numbers.index 0


#action goto enderror1 when ^You .+ a quality of \d+, placing it at .+ on the official Trader's Scale\.$|^You.+the \S+ in the .+ is of .+ quality\.$
action setvariable tap $2 when ^You tap (a|an|some|the) (.+) (atop|inside|under) (an?|some)
#action goto enderror2 when ^The .+ looks? to be custom-made\.$
action setvariable tap $2 when ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying
action setvariable tap $2 when ^On the.+you see (a|an|some|the) (.+)\.$
action setvariable tap $2 when ^You glance at (a|an|some|the) (.+)\.$|^Considering the security around the Phelim starblade
action setvariable tap $2 when ^You quietly examine (a|an|some|the) (.+) and notice a price tag indicating
action setvariable tap $2 when ^You tap (a|an|some|the) (.+)\.$
action setvariable tap $2;setvariable look $3 when ^\w+ shows you (an?|some|the) (.+?)\.\s+(.+)
action setvariable tap $2;setvariable look - when ^\w+ shows you (an?|some|the) (.+)\.$
action setvariable short $2 when ^Considering the security around (a|an|some|the) (.+), it would be ill advised to tamper with it.
action setvariable short $2 when ^Short: (a|an|some|the) (.+)
action setvariable short $2 when ^Short: (a|an|some|the) (.+)
action setvariable look $1 when ^Look: (.+)
action setvariable look $1 when ^Look: (.+)
action setvariable look - when ^Look: You see nothing unusual\.$
action setvariable look - when ^Look: You see nothing unusual\.$
action setvariable look - when ^You see nothing unusual\.$
action setvariable read $1 when ^Read:\s+(.+)$
action setvariable read $1 when ^Read:\s+(.+)$
action setvariable type2 container when ^The .+ (are|is) a container, and can be opened and closed\.$
action setvariable typefunction tack when ^This is specifically designed to be worn by a horse\.$
action setvariable type2 container when ^The .+ (are|is) a container\.$
action setvariable special tack when ^This is specifically designed to be worn by a horse\.$
action setvariable type2 container when ^The .+ (are|is) pocketed, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) a container, and can be opened and closed\.$
action setvariable type2 container when ^The .+ (are|is) pocketed\.$
action setvariable typecon container when ^The .+ (are|is) a container\.$
action setvariable type2 container when ^The gem pouch is made for easy storage of gems
action setvariable typecon container when ^The .+ (are|is) pocketed, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) pocketed\.$
action setvariable typecon container when ^The gem pouch is made for easy storage of gems
action setvariable typeguild trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable special trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable wearloc $2 when ^It appears that .+ can be worn (around|in|on) the (.+)\.$
action setvariable wearloc $2 when ^It appears that .+ can be worn (around|in|on) the (.+)\.$
action setvariable wearloc $1 when ^It appears that .+ can be draped over the (.+)\.$
action setvariable wearloc $1 when ^It appears that .+ can be draped over the (.+)\.$
Line 240: Line 682:
action setvariable wearloc hair (placed) when ^It appears that .+ can be worn in the hair\.$
action setvariable wearloc hair (placed) when ^It appears that .+ can be worn in the hair\.$
action setvariable wearloc pants when ^It appears that .+ can be worn like pants or a skirt\.$
action setvariable wearloc pants when ^It appears that .+ can be worn like pants or a skirt\.$
action setvariable wearloc shirt+ when ^It appears that .+ can be worn as a shirt or robe, even with armor\.$
action setvariable wearloc shirt (with armor) when ^It appears that .+ can be worn as a shirt or robe, even with armor\.$
action setvariable wearloc shirt- when ^It appears that .+ can be worn like a shirt or robe\.$
action setvariable wearloc shirt (without armor) when ^It appears that .+ can be worn like a shirt or robe\.$
action setvariable wearloc shoulder when ^It appears that .+ can be slung over one shoulder\.$
action setvariable wearloc shoulder when ^It appears that .+ can be slung over one shoulder\.$
action setvariable wearloc upper arm when ^It appears that .+ can be worn on the upper ?arm\.$
action setvariable weight $1 when ^You are certain that .+ weighs exactly (\d+) (stones?)\.$
action setvariable weight $1 when ^You are certain that .+ weighs exactly (\d+) (stones?)\.$
action setvariable appcosti $2 when ^You are certain that .+ (is|are) worth exactly (\d+) kronars\.$
action setvariable lsize $1;setvariable wsize $2;setvariable hsize $3 when ^You compare your .+ with the .+ yardstick several times and are certain the length measures (.+) spans?, the width measures (.+) spans? and the height measures (.+) spans?\.$
action setvariable ilsize $1;setvariable iwsize $2;setvariable ihsize $3;setvariable csize $4 when ^You compare your .+ with the .+ yardstick several times and are certain the interior length measures (.+) spans?, the interior width measures (.+) spans?, the interior height measures (.+) spans? and the .+ appears capable of holding about (\d+) stones of weight\.$
action setvariable appcosti 1 when ^You are certain that .+ (is|are) worth exactly 1 kronar\.$
action setvariable appcosti 0 when ^You are certain that .+ (is|are) worth exactly nothing\.$
action setvariable appcostk $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:kronars)\.$
action setvariable appcosti 0 when ^There doesn't appear to be anything in the gem pouch\.$
action setvariable appcostk 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:kronar)\.$
action setvariable appcostk 0 when ^You are certain that .+ (is|are) worth exactly nothing\.$
action setvariable appcostk - when ^There doesn't appear to be anything in the gem pouch\.$
action setvariable appcostk - when is made for easy storage of gems, and is used by gemshops everywhere to handle bulk transactions\.$
action setvariable appcostl $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:lirums)\.$
action setvariable appcostl 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:lirum)\.$
action setvariable appcostd $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:dokoras)\.$
action setvariable appcostd 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:dokora)\.$
action setvariable costi $1 when ^Cost: (\d+)
action setvariable costi $1 when ^Cost: (\d+)
action setvariable maxcharge $1 when ^You are certain that the .+ holds? exactly (\d+) mana\.$
action setvariable maxcharge $1 when ^You are certain that the .+ holds? exactly (\d+) mana\.$
action setvariable metal yes when ^The .+ (is|are) made with metal\.$
action setvariable metal yes when ^The .+ (is|are) made with metal\.$


action setvariable wtype1 LE when (is a|are a|and) light edged .+ weapon
action setvariable wtype1 LE;setvariable wtypename1 light edged;setvariable wskill1 small edged when (is a|are a|and) light edged .+ weapon
action setvariable wtype1 ME when (is a|are a|and) medium edged .+ weapon
action setvariable wtype1 ME;setvariable wtypename1 medium edged;setvariable wskill1 small edged when (is a|are a|and) medium edged .+ weapon
action setvariable wtype1 HE when (is a|are a|and) heavy edged .+ weapon
action setvariable wtype1 HE;setvariable wtypename1 heavy edged;setvariable wskill1 large edged when (is a|are a|and) heavy edged .+ weapon
action setvariable wtype1 2HE when (is a|are a|and) two-handed edged .+ weapon
action setvariable wtype1 2HE;setvariable wtypename1 two-handed edged;setvariable wskill1 twohanded edged when (is a|are a|and) two-handed edged .+ weapon
action setvariable wtype1 LB when (is a|are a|and) light blunt .+ weapon
action setvariable wtype1 LB;setvariable wtypename1 light blunt;setvariable wskill1 small blunt when (is a|are a|and) light blunt .+ weapon
action setvariable wtype1 MB when (is a|are a|and) medium blunt .+ weapon
action setvariable wtype1 MB;setvariable wtypename1 medium blunt;setvariable wskill1 small blunt when (is a|are a|and) medium blunt .+ weapon
action setvariable wtype1 HB when (is a|are a|and) heavy blunt .+ weapon
action setvariable wtype1 HB;setvariable wtypename1 heavy blunt;setvariable wskill1 large blunt when (is a|are a|and) heavy blunt .+ weapon
action setvariable wtype1 2HB when (is a|are a|and) two-handed blunt .+ weapon
action setvariable wtype1 2HB;setvariable wtypename1 two-handed blunt;setvariable wskill1 twohanded blunt when (is a|are a|and) two-handed blunt .+ weapon
action setvariable wtype1 2HB when (is a|are a|and) two-handed blunt .+ weapon
action setvariable wtype1 SL;setvariable wtypename1 sling;setvariable wskill1 slings when (is|are) a sling .+ weapon
action setvariable wtype1 SL when (is|are) a sling .+ weapon
action setvariable wtype1 StS;setvariable wtypename1 staff sling;setvariable wskill1 slings when (is|are) a staff sling .+ weapon
action setvariable wtype1 StS when (is|are) a staff sling .+ weapon
action setvariable wtype1 rock;setvariable wtypename1 sling ammo;setvariable wskill1 slings when ^This appears to be ammunition for slings\.$
action setvariable wtype1 SB when (is|are) a short bow .+ weapon
action setvariable wtype1 SB;setvariable wtypename1 short bow;setvariable wskill1 bow when (is|are) a short bow .+ weapon
action setvariable wtype1 LoB when (is|are) a long bow .+ weapon
action setvariable wtype1 LoB;setvariable wtypename1 long bow;setvariable wskill1 bow when (is|are) a long bow .+ weapon
action setvariable wtype1 CB when (is|are) a composite bow .+ weapon
action setvariable wtype1 CB;setvariable wtypename1 composite bow;setvariable wskill1 bow when (is|are) a composite bow .+ weapon
action setvariable wtype1 LX when (is|are) a light crossbow .+ weapon
action setvariable wtype1 arrow;setvariable wtypename1 bow ammo;setvariable wskill1 slings when ^This appears to be ammunition for bows\.$
action setvariable wtype1 HX when (is|are) a heavy crossbow .+ weapon
action setvariable wtype1 LX;setvariable wtypename1 light crossbow;setvariable wskill1 crossbow when (is|are) a light crossbow .+ weapon
action setvariable wtype1 SS when (is a|are a|and) short staff .+ weapon
action setvariable wtype1 HX;setvariable wtypename1 heavy crossbow;setvariable wskill1 crossbow when (is|are) a heavy crossbow .+ weapon
action setvariable wtype1 QS when (is a|are a|and) quarter staff .+ weapon
action setvariable wtype1 bolt;setvariable wtypename1 crossbow ammo;setvariable wskill1 slings when ^This appears to be ammunition for crossbows\.$
action setvariable wtype1 PI when (is a|are a|and) pike .+ weapon
action setvariable wtype1 SS;setvariable wtypename1 short staff;setvariable wskill1 staves when (is a|are a|and) short staff .+ weapon
action setvariable wtype1 HAL when (is a|are a|and) halberd .+ weapon
action setvariable wtype1 QS;setvariable wtypename1 quarter staff;setvariable wskill1 staves when (is a|are a|and) quarter staff .+ weapon
action setvariable wtype2 LT when (is|are) a light thrown and .+ weapon
action setvariable wtype1 PI;setvariable wtypename1 pike;setvariable wskill1 polearms when (is a|are a|and) pike .+ weapon
action setvariable wtype2 HT when (is|are) a heavy thrown and .+ weapon
action setvariable wtype1 HAL;setvariable wtypename1 halberd;setvariable wskill1 polearms when (is a|are a|and) halberd .+ weapon
action setvariable wtype1 parry;setvariable wskill1 brawling when ^You are certain that the .+ is a purely defensive item\.$

action setvariable wtype1 elbows;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the elbows\.$
action setvariable wtype1 hands;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the hands\.$
action setvariable wtype1 knees;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the knees\.$
action setvariable wtype1 feet;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the feet\.$
action setvariable wtype2 LT;setvariable wtypename2 light thrown;setvariable wskill2 light thrown when (is|are) a light thrown and .+ weapon
action setvariable wtype2 HT;setvariable wtypename2 heavy thrown;setvariable wskill2 heavy thrown when (is|are) a heavy thrown and .+ weapon
action setvariable range melee when melee-ranged weapon
action setvariable range melee when melee-ranged weapon
action setvariable range pole when pole-ranged weapon
action setvariable range pole when pole-ranged weapon
Line 280: Line 736:
action setvariable slice $1 when ^\s+(.*) slice damage
action setvariable slice $1 when ^\s+(.*) slice damage
action setvariable impact $1 when ^\s+(.*) impact damage
action setvariable impact $1 when ^\s+(.*) impact damage
action setvariable puncturetype Yes when ^\s+(.*) puncture damage increase
action setvariable fire $1 when ^\s+(.*) fire damage
action setvariable slicetype Yes when ^\s+(.*) slice damage increase
action setvariable cold $1 when ^\s+(.*) cold damage
action setvariable impacttype Yes when ^\s+(.*) impact damage increase
action setvariable electric $1 when ^\s+(.*) electric damage
action setvariable puncture quite a bit when ^\s+quite a bit of puncture damage
action setvariable slice quite a bit when ^\s+quite a bit of slice damage
action setvariable impact quite a bit when ^\s+quite a bit of impact damage
action setvariable fire quite a bit when ^\s+quite a bit of fire damage
action setvariable cold quite a bit when ^\s+quite a bit of cold damage
action setvariable electric quite a bit when ^\s+quite a bit of electric damage
action setvariable puncturetypename Yes when ^\s+(.*) puncture damage increase
action setvariable slicetypename Yes when ^\s+(.*) slice damage increase
action setvariable impacttypename Yes when ^\s+(.*) impact damage increase
action setvariable foi $1 when .+ is (.*) designed for improving the force of your attacks\.$
action setvariable balance $1 when .+ is (.*) balanced
action setvariable balance $1 when .+ is (.*) balanced
action setvariable power $1 when .+ is (.*) suited
action setvariable power $1 when .+ is (.*) suited
action setvariable drawstrength $1 when ^The .+ appears set for a draw strength that is (.+) for a bow of this type\.$
action setvariable adraw Yes when ^The .+ appears to have an adjustable draw strength\.$
action setvariable adraw No when ^The .+ does not appear to have an adjustable draw strength\.$


action setvariable stype lsh when is large in size\.$
action setvariable stype lsh;setvariable stypename large when is large in size\.$
action setvariable stype msh when is medium in size\.$
action setvariable stype msh;setvariable stypename medium when is medium in size\.$
action setvariable stype ssh when is small in size\.$
action setvariable stype ssh;setvariable stypename small when is small in size\.$
action setvariable newshieldapp Yes when ^Your experience with shields allows a better appraisal of the protection capabilities\.$
action setvariable sprotection $1 when .+ offers (.*) protection
action setvariable sprotection $1 when .+ offers (.*) protection
action setvariable smin $1 when ^You are certain that .+ offers (.*) to .+ protection\.
action setvariable smin $1 when ^You are certain that .+ offers (.*) to .+ protection\.
action setvariable smax $1 when ^You are certain that .+ offers .+ to (.*) protection\.
action setvariable smax $1 when ^You are certain that .+ offers .+ to (.*) protection\.
action setvariable shindrance $1 when .+ it imposes? an? (.*) maneuvering hinde?rance
action setvariable shindrance $1 when .+ it imposes? (.*) maneuvering hindrance.


action setvariable atype cloth armor when (is|are) cloth armor\.$|cloth\.$
action setvariable atype plate armor when (is|are) plate armor\.$
action setvariable atype leather armor when (is|are) leather armor\.$
action setvariable atype brigandine when (is|are) brigandine armor\.$
action setvariable atype bone armor when (is|are) bone armor\.$
action setvariable atype chain armor when (is|are) chain armor\.$
action setvariable atype light chain when (is|are) light chain\.$
action setvariable atype light armor when (is|are) light armor\.$
action setvariable atype heavy chain when (is|are) heavy chain\.$
action setvariable atype light plate when (is|are) light plate\.$
action setvariable atype heavy plate when (is|are) heavy plate\.$
action setvariable abpuncture $1 when .+ \s(.*) for puncture attacks
action setvariable abpuncture $1 when .+ \s(.*) for puncture attacks
action setvariable abslice $1 when .+ \s(.*) for slice attacks
action setvariable abslice $1 when .+ \s(.*) for slice attacks
Line 329: Line 796:
action setvariable aabdomen abdomen when ^\s+abdomen$
action setvariable aabdomen abdomen when ^\s+abdomen$
action setvariable aarms arms when ^\s+right arm$
action setvariable aarms arms when ^\s+right arm$
action setvariable aarms arms when ^\s+right front leg$
action setvariable alegs legs when ^\s+right leg$
action setvariable alegs legs when ^\s+right leg$
action setvariable alegs legs when ^\s+right rear leg$
action setvariable ahands hands when ^\s+right hand$
action setvariable ahands hands when ^\s+right hand$


action setvariable construction $2 when ^You are certain that the .+ (is|are) (.*) (against|to) damage, and
action setvariable construction $2 when ^You are certain that the .+ (is|are) (.*) (and easily damaged|against damage|to damage)
action setvariable construction extremely weak when ^You are certain that the .+ (is|are) extremely weak, and
action setvariable construction average construction when ^You are certain that the .+ (is|are) of average construction
action setvariable construction very delicate when ^You are certain that the .+ (is|are) very delicate, and
action setvariable construction quite fragile when ^You are certain that the .+ (is|are) quite fragile, and
action setvariable construction rather flimsy when ^You are certain that the .+ (is|are) rather flimsy, and
action setvariable construction particularly weak when ^You are certain that the .+ (is|are) particularly weak, and
action setvariable construction average construction when ^You are certain that the .+ (is|are) of average construction, and
action setvariable construction very strong when ^You are certain that the .+ (is|are) very strong, and


echo
put #echo
echo ITEM TYPE:
put #echo ITEM TYPE:
echo
put #echo
echo 1: Weapon: Melee/Thrown
put #echo 1: Weapon: Melee/Thrown
echo
put #echo
echo 2: Weapon: Ranged
put #echo 2: Weapon: Ranged
echo
put #echo
echo 3: Weapon: Ammunition
put #echo 3: Weapon: Ammunition
echo
put #echo
echo 4: Weapon: Brawling
put #echo 4: Weapon: Brawling
echo
put #echo
echo 5: Weapon: Parry Stick
put #echo 5: Weapon: Parry Stick
echo
put #echo
echo 6: Shield
put #echo 6: Shield
echo
put #echo
echo 7: Armor
put #echo 7: Armor/Barding
echo
put #echo
echo 8: Item
put #echo 8: Item
echo
put #echo
echo Enter Type Number:
put #echo Enter Type Number:


matchre WeaponApp1 ^1
matchre WeaponApp1 ^1$
matchre WeaponApp2 ^2
matchre WeaponApp2 ^2$
matchre WeaponApp3 ^3
matchre WeaponApp3 ^3$
matchre WeaponApp4 ^4
matchre WeaponApp4 ^4$
matchre WeaponApp5 ^5
matchre WeaponApp5 ^5$
matchre ShieldApp ^6
matchre ShieldApp ^6$
matchre ArmorApp ^7
matchre ArmorApp ^7$
matchre ItemApp ^8
matchre ItemApp ^8$
matchre ItemApp ^9$
matchwait
matchwait


Line 466: Line 930:
pause 1
pause 1
send tap %number %1 $preposition $shop
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
waitforre ^You
send shop %number %1 $preposition $shop
send shop %number %1 $preposition $shop
waitforre ^Short
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
send appraise %number %1 $preposition $shop careful
wait
wait
pause
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
gosub CommaAppcost
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
gosub CommaCost
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Tagset
gosub Specialset
gosub Specialset
gosub Itypeset
echo http://www.elanthipedia.com/wiki/Weapon:%tap&action=edit
put #echo Date: $date $time ($roomname)
echo
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
echo {{Weapon
put #echo
echo |name=%tap
echo |newapp=Yes
put #echo {{Weapon
echo |noun=%1
put #echo |name=%tap
echo |look=%look
put #echo |newapp2=Yes
put #echo |noun=%1
echo <br>'''Read''': %read
put #echo |look=%look
echo |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo <br />'''Read''': %read
echo |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
echo |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
echo |range=%range
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
echo |type=%wtype1
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
echo |type2=%wtype2
echo |puncture=%puncture
put #echo |range=%range
echo |slice=%slice
put #echo |type=%wtype1
echo |impact=%impact
put #echo |type2=%wtype2
echo |balance=%balance
put #echo |puncture=%puncture
echo |suitedness=%power
put #echo |slice=%slice
echo |construction=%construction
put #echo |impact=%impact
echo |metal=%metal
put #echo |fire=%fire
echo |weight=%weight
put #echo |cold=%cold
echo |appcost=%appcost
put #echo |electric=%electric
echo |wearloc=%wearloc
put #echo |foi=%foi
echo |sourcetype=sold by
put #echo |balance=%balance
echo |source=%source
put #echo |suitedness=%power
echo |cost=%cost $currency
put #echo |construction=%construction
echo |maxcharge=%maxcharge
put #echo |metal=%metal
echo |special=%special
put #echo |weight=%weight
echo }}
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #log >Appraisal.txt http://www.elanthipedia.com/wiki/Weapon:%tap&action=edit
put #echo |hsize=%hsize
put #log >Appraisal.txt {{Weapon
put #log >Appraisal.txt |name=%tap
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #log >Appraisal.txt |newapp=Yes
put #log >Appraisal.txt |noun=%1
put #echo |sourcetype=-
put #log >Appraisal.txt |look=%look
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #log >Appraisal.txt <br>'''Read''': %read
put #echo |special=%special
put #log >Appraisal.txt |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo |itype=%itype
put #log >Appraisal.txt |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
put #echo }}
put #log >Appraisal.txt |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #echo note=%wtypename1 (%weight stones)
put #log >Appraisal.txt |range=%range
put #echo note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal.txt |type=%wtype1
put #log >Appraisal.txt |type2=%wtype2
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal.txt |slice=%slice
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal.txt |impact=%impact
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal.txt |balance=%balance
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal.txt |construction=%construction
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal.txt |metal=%metal
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal.txt |weight=%weight
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal.txt |sourcetype=sold by
put #log >Appraisal.txt |source=%source
put #log >Appraisal-$charactername.txt |range=%range
put #log >Appraisal.txt |cost=%cost $currency
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |type2=%wtype2
put #log >Appraisal.txt |special=%special
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal.txt }}
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact

put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return
return


Line 542: Line 1,038:
pause 1
pause 1
send tap %number %1 $preposition $shop
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
waitforre ^You
send shop %number %1 $preposition $shop
send shop %number %1 $preposition $shop
waitforre ^Short
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
send appraise %number %1 $preposition $shop careful
wait
wait
pause
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
gosub CommaAppcost
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
gosub CommaCost
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
Line 556: Line 1,055:
gosub Tagset
gosub Tagset
gosub Specialset
gosub Specialset
gosub Itypeset
echo http://www.elanthipedia.com/wiki/Weapon:%tap&action=edit
put #echo Date: $date $time ($roomname)
echo
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
echo {{Weapon
put #echo
echo |name=%tap
echo |newapp=Yes
put #echo {{Weapon
echo |noun=%1
put #echo |name=%tap
echo |look=%look
put #echo |newapp2=Yes
put #echo |noun=%1
echo <br>'''Read''': %read
put #echo |look=%look
echo |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo <br />'''Read''': %read
echo |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
echo |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
echo |range=ranged
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
echo |ammo=%ammo
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
echo |ammocap=
echo |rangedRT=
put #echo |range=ranged
echo |type=%wtype1
put #echo |ammo=%ammo
echo |puncture=-
put #echo |ammocap=
echo |balance=%balance
put #echo |rangedRT=
echo |suitedness=%power
put #echo |drawstrength=%drawstrength
echo |construction=%construction
put #echo |adraw=%adraw
echo |metal=%metal
put #echo |type=%wtype1
echo |weight=%weight
put #echo |puncture=-
echo |appcost=%appcost
put #echo |foi=%foi
echo |wearloc=%wearloc
put #echo |balance=%balance
echo |sourcetype=sold by
put #echo |suitedness=%power
echo |source=%source
put #echo |construction=%construction
echo |cost=%cost $currency
put #echo |metal=%metal
echo |maxcharge=%maxcharge
put #echo |weight=%weight
echo |special=%special
put #echo |lsize=%lsize
echo }}
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #log >Appraisal.txt http://www.elanthipedia.com/wiki/Weapon:%tap&action=edit
put #echo |appcost=%appcost
put #log >Appraisal.txt {{Weapon
put #log >Appraisal.txt |name=%tap
put #echo |wearloc=%wearloc
put #log >Appraisal.txt |newapp=Yes
put #echo |sourcetype=-
put #log >Appraisal.txt |noun=%1
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #log >Appraisal.txt |look=%look
put #echo |special=%special
put #log >Appraisal.txt <br>'''Read''': %read
put #echo |itype=%itype
put #log >Appraisal.txt |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo }}
put #log >Appraisal.txt |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
put #echo note=%wtypename1
put #log >Appraisal.txt |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #log >Appraisal.txt |range=ranged
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal.txt |ammo=%ammo
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal.txt |ammocap=
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal.txt |rangedRT=
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal.txt |puncture=-
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal.txt |balance=%balance
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal.txt |suitedness=%power
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal.txt |construction=%construction
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal.txt |metal=%metal
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal.txt |weight=%weight
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal.txt |appcost=%appcost
put #log >Appraisal.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |range=ranged
put #log >Appraisal.txt |sourcetype=sold by
put #log >Appraisal-$charactername.txt |ammo=%ammo
put #log >Appraisal.txt |source=%source
put #log >Appraisal-$charactername.txt |ammocap=
put #log >Appraisal.txt |cost=%cost $currency
put #log >Appraisal-$charactername.txt |rangedRT=
put #log >Appraisal.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |drawstrength=%drawstrength
put #log >Appraisal.txt |special=%special
put #log >Appraisal-$charactername.txt |adraw=%adraw
put #log >Appraisal.txt }}
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=-

put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return
return


Line 622: Line 1,142:
pause 1
pause 1
send tap %number %1 $preposition $shop
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
waitforre ^You
send shop %number %1 $preposition $shop
send shop %number %1 $preposition $shop
waitforre ^Short
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
send appraise %number %1 $preposition $shop careful
wait
wait
pause
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
gosub CommaAppcost
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
gosub CommaCost
if %appcostk > 0 then gosub CommaAppcost
if (matchre ("%1", "(arrows?)")) then var wtype1 arrow
if %appcostk > 0 then gosub CommaCost
if (matchre ("%1", "(bolts?|quadrellos?|quarrels?|pulzones?)")) then var wtype1 bolt
if %appcostk = 0 then var appcost 0
if (matchre ("%1", "(bullets?|clumps?|lumps?|rocks?)")) then var wtype1 rock
gosub Tagset
gosub Tagset
gosub Specialset
gosub Specialset
gosub Itypeset
echo http://www.elanthipedia.com/wiki/Weapon:%tap&action=edit
put #echo Date: $date $time ($roomname)
echo
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
echo {{Weapon
put #echo
echo |name=%tap
echo |newapp=Yes
put #echo {{Weapon
echo |noun=%1
put #echo |name=%tap
echo |look=%look
put #echo |newapp2=Yes
put #echo |noun=%1
echo <br>'''Read''': %read
put #echo |look=%look
echo |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo <br />'''Read''': %read
echo |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
echo |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
echo |type=%wtype1
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
echo |puncture=%puncture
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
echo |slice=%slice
echo |impact=%impact
put #echo |type=%wtype1
echo |balance=-
put #echo |puncture=%puncture
echo |construction=%construction
put #echo |slice=%slice
echo |metal=%metal
put #echo |impact=%impact
echo |weight=%weight
put #echo |fire=%fire
echo |appcost=%appcost
put #echo |cold=%cold
echo |wearloc=%wearloc
put #echo |electric=%electric
echo |sourcetype=sold by
put #echo |foi=-
echo |source=%source
put #echo |balance=-
echo |cost=%cost $currency
put #echo |construction=%construction
echo |maxcharge=%maxcharge
put #echo |metal=%metal
echo |special=%special
put #echo |weight=%weight
echo }}
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #log >Appraisal.txt http://www.elanthipedia.com/wiki/Weapon:%tap&action=edit
put #echo |hsize=%hsize
put #log >Appraisal.txt {{Weapon
put #log >Appraisal.txt |name=%tap
put #echo |appcost=%appcost
put #log >Appraisal.txt |newapp=Yes
put #echo |sourcetype=-
put #log >Appraisal.txt |noun=%1
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #log >Appraisal.txt |look=%look
put #echo |special=%special
put #log >Appraisal.txt <br>'''Read''': %read
put #echo |itype=%itype
put #log >Appraisal.txt |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo }}
put #log >Appraisal.txt |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
put #echo note=%wtypename1 (x)
put #log >Appraisal.txt |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #log >Appraisal.txt |type=%wtype1
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal.txt |slice=%slice
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal.txt |impact=%impact
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal.txt |balance=-
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal.txt |construction=%construction
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal.txt |metal=%metal
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal.txt |weight=%weight
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal.txt |sourcetype=sold by
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal.txt |source=%source
put #log >Appraisal.txt |cost=%cost $currency
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal.txt |special=%special
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal.txt }}
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire

put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return
return


Line 695: Line 1,236:
pause 1
pause 1
send tap %number %1 $preposition $shop
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
waitforre ^You
send shop %number %1 $preposition $shop
send shop %number %1 $preposition $shop
waitforre ^Short
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
send appraise %number %1 $preposition $shop careful
wait
wait
pause
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
gosub CommaAppcost
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
gosub CommaCost
if %appcostk > 0 then gosub CommaAppcost
if (matchre ("%1", "(handwraps?|knuckleguards?|knuckles?)")) then var wtype1 hands
if %appcostk > 0 then gosub CommaCost
if (matchre ("%tap", "(elbow)")) then var wtype1 elbows
if (matchre ("%tap", "(knee)")) then var wtype1 knees
if %appcostk = 0 then var appcost 0
if (matchre ("%1", "(footwraps?)")) then var wtype1 feet
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Tagset
gosub Specialset
gosub Specialset
gosub Itypeset
echo http://www.elanthipedia.com/wiki/Weapon:%tap&action=edit
put #echo Date: $date $time ($roomname)
echo
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
echo {{Weapon
put #echo
echo |name=%tap
echo |newapp=Yes
put #echo {{Weapon
echo |brawl=yes
put #echo |name=%tap
echo |noun=%1
put #echo |newapp2=Yes
echo |look=%look
put #echo |brawl=yes
put #echo |noun=%number %1 $preposition $shop
echo <br>'''Read''': %read
put #echo |look=%look
echo |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo <br />'''Read''': %read
echo |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
echo |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
echo |type=%wtype1
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
echo |puncture=%puncture
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
echo |puncturetype=Yes
echo |slice=%slice
put #echo |type=%wtype1
echo |slicetype=Yes
put #echo |puncture=%puncture
echo |impact=%impact
put #echo |puncturetype=%puncturetype
echo |impacttype=Yes
put #echo |slice=%slice
echo |balance=-
put #echo |slicetype=%slicetype
echo |construction=%construction
put #echo |impact=%impact
echo |metal=%metal
put #echo |impacttype=%impacttype
echo |weight=%weight
put #echo |foi=%foi
echo |appcost=%appcost
put #echo |balance=-
put #echo |construction=%construction
echo |sourcetype=sold by
echo |source=%source
put #echo |metal=%metal
echo |cost=%cost $currency
put #echo |weight=%weight
echo |maxcharge=%maxcharge
put #echo |lsize=%lsize
echo |special=%special
put #echo |wsize=%wsize
echo }}
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #log >Appraisal.txt http://www.elanthipedia.com/wiki/Weapon:%tap&action=edit
put #echo |sourcetype=-
put #log >Appraisal.txt {{Weapon
put #log >Appraisal.txt |name=%tap
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #log >Appraisal.txt |newapp=Yes
put #echo |special=%special
put #log >Appraisal.txt |brawl=yes
put #log >Appraisal.txt |noun=%1
put #echo |itype=%itype
put #echo }}
put #log >Appraisal.txt |look=%look
put #echo brawling (%wtype1)
put #log >Appraisal.txt <br>'''Read''': %read
put #log >Appraisal.txt |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal.txt |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
put #log >Appraisal.txt |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal.txt |puncturetype=Yes
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal.txt |slice=%slice
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal.txt |slicetype=Yes
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal.txt |impact=%impact
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal.txt |impacttype=Yes
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal.txt |balance=-
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal.txt |construction=%construction
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal.txt |metal=%metal
put #log >Appraisal.txt |weight=%weight
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |puncturetype=%puncturetype
put #log >Appraisal.txt |sourcetype=sold by
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal.txt |source=%source
put #log >Appraisal-$charactername.txt |slicetype=%slicetype
put #log >Appraisal.txt |cost=%cost $currency
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |impacttype=%impacttype
put #log >Appraisal.txt |special=%special
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal.txt }}
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction

put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (%wtype1)
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return
return


Line 776: Line 1,336:
pause 1
pause 1
send tap %number %1 $preposition $shop
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
waitforre ^You
send shop %number %1 $preposition $shop
send shop %number %1 $preposition $shop
waitforre ^Short
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
send appraise %number %1 $preposition $shop careful
wait
wait
pause
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
gosub CommaAppcost
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
gosub CommaCost
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Tagset
gosub Specialset
gosub Specialset
gosub Itypeset
echo http://www.elanthipedia.com/wiki/Weapon:%tap&action=edit
put #echo Date: $date $time ($roomname)
echo
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
echo {{Weapon
put #echo
echo |brawl=yes
echo |name=%tap
put #echo {{Weapon
echo |newapp=Yes
put #echo |brawl=yes
echo |noun=%1
put #echo |name=%tap
echo |look=%look
put #echo |newapp2=Yes
put #echo |noun=%1
echo <br>'''Read''': %read
put #echo |look=%look
echo |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo <br />'''Read''': %read
echo |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
echo |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
echo |type=parry
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
echo |puncture=-
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
echo |puncturetype=No
echo |slicetype=No
put #echo |type=parry
echo |impacttype=No
put #echo |puncture=-
echo |balance=%balance
put #echo |puncturetype=No
echo |suitedness=%power
put #echo |slicetype=No
put #echo |impacttype=No
echo |construction=%construction
echo |metal=%metal
put #echo |foi=-
echo |weight=%weight
put #echo |balance=%balance
echo |appcost=%appcost
put #echo |suitedness=%power
put #echo |construction=%construction
echo |sourcetype=sold by
echo |source=%source
put #echo |metal=%metal
echo |cost=%cost $currency
put #echo |weight=%weight
echo |maxcharge=%maxcharge
put #echo |lsize=%lsize
echo |special=%special
put #echo |wsize=%wsize
echo }}
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #log >Appraisal.txt http://www.elanthipedia.com/wiki/Weapon:%tap&action=edit
put #echo |sourcetype=-
put #log >Appraisal.txt {{Weapon
put #log >Appraisal.txt |brawl=yes
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #log >Appraisal.txt |name=%tap
put #echo |special=%special
put #log >Appraisal.txt |newapp=Yes
put #log >Appraisal.txt |noun=%1
put #echo |itype=%itype
put #echo }}
put #log >Appraisal.txt |look=%look
put #echo brawling (parry)
put #log >Appraisal.txt <br>'''Read''': %read
put #log >Appraisal.txt |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal.txt |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
put #log >Appraisal.txt |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal.txt |type=parry
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal.txt |puncture=-
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal.txt |puncturetype=No
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal.txt |slicetype=No
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal.txt |impacttype=No
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal.txt |balance=%balance
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal.txt |construction=%construction
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal.txt |metal=%metal
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal.txt |weight=%weight
put #log >Appraisal.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |type=parry
put #log >Appraisal.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal.txt |sourcetype=sold by
put #log >Appraisal-$charactername.txt |puncturetype=No
put #log >Appraisal.txt |source=%source
put #log >Appraisal-$charactername.txt |slicetype=No
put #log >Appraisal.txt |cost=%cost $currency
put #log >Appraisal-$charactername.txt |impacttype=No
put #log >Appraisal.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal.txt |special=%special
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal.txt }}
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction

put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (parry)
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return
return


Line 851: Line 1,434:
pause 1
pause 1
send tap %number %1 $preposition $shop
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
waitforre ^You
send shop %number %1 $preposition $shop
send shop %number %1 $preposition $shop
waitforre ^Short
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
send appraise %number %1 $preposition $shop careful
wait
wait
pause
pause .5
if %newshieldapp = no then var smin NOTSET
gosub CommaAppcost
if %newshieldapp = no then var smax NOTSET
gosub CommaCost
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Tagset
gosub Specialset
gosub Specialset
gosub Itypeset
echo http://www.elanthipedia.com/wiki/Shield:%tap&action=edit
put #echo Date: $date $time ($roomname)
echo
put #echo https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
echo {{Shield
put #echo
echo |name=%tap
echo |newapp=Yes
put #echo {{Shield
echo |noun=%1
put #echo |newshieldapp=%newshieldapp
echo |look=%look
put #echo |name=%tap
put #echo |noun=%1
echo <br>'''Read''': %read
put #echo |look=%look
echo |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo <br />'''Read''': %read
echo |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
echo |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
echo |type=%stype
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
echo |hindrance=%shindrance
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
echo |minprotection=%smin
echo |maxprotection=%smax
put #echo |type=%stype
echo |paladinapp=No
put #echo |hindrance=%shindrance
echo |puncture=%puncture
put #echo |minprotection=%smin
echo |slice=%slice
put #echo |maxprotection=%smax
echo |impact=%impact
put #echo |puncture=%puncture
echo |balance=%balance
put #echo |slice=%slice
echo |suitedness=%power
put #echo |impact=%impact
echo |construction=%construction
put #echo |fire=%fire
echo |metal=%metal
put #echo |cold=%cold
echo |weight=%weight
put #echo |electric=%electric
echo |appcost=%appcost
put #echo |foi=-
echo |sourcetype=sold by
put #echo |balance=%balance
echo |source=%source
put #echo |suitedness=%power
echo |cost=%cost $currency
put #echo |construction=%construction
echo |maxcharge=%maxcharge
put #echo |metal=%metal
echo |special=%special
put #echo |weight=%weight
echo }}
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #log >Appraisal.txt http://www.elanthipedia.com/wiki/Shield:%tap&action=edit
put #echo |hsize=%hsize
put #log >Appraisal.txt {{Shield
put #log >Appraisal.txt |name=%tap
put #echo |appcost=%appcost
put #log >Appraisal.txt |newapp=Yes
put #echo |sourcetype=-
put #log >Appraisal.txt |noun=%1
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #log >Appraisal.txt |look=%look
put #echo |special=%special
put #log >Appraisal.txt <br>'''Read''': %read
put #echo |itype=%itype
put #log >Appraisal.txt |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo }}
put #log >Appraisal.txt |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
put #echo note=%stypename (%shindrance hindrance)
put #log >Appraisal.txt |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #log >Appraisal.txt |type=%stype
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal.txt |hindrance=%shindrance
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #log >Appraisal.txt |minprotection=%smin
put #log >Appraisal-$charactername.txt {{Shield
put #log >Appraisal.txt |maxprotection=%smax
put #log >Appraisal-$charactername.txt |newshieldapp=%newshieldapp
put #log >Appraisal.txt |paladinapp=No
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal.txt |slice=%slice
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal.txt |impact=%impact
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal.txt |balance=%balance
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal.txt |construction=%construction
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal.txt |metal=%metal
put #log >Appraisal.txt |weight=%weight
put #log >Appraisal-$charactername.txt |type=%stype
put #log >Appraisal.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |hindrance=%shindrance
put #log >Appraisal.txt |sourcetype=sold by
put #log >Appraisal-$charactername.txt |minprotection=%smin
put #log >Appraisal.txt |source=%source
put #log >Appraisal-$charactername.txt |maxprotection=%smax
put #log >Appraisal.txt |cost=%cost $currency
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal.txt |special=%special
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal.txt }}
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold

put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return
return


Line 929: Line 1,542:
pause 1
pause 1
send tap %number %1 $preposition $shop
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
waitforre ^You
send shop %number %1 $preposition $shop
send shop %number %1 $preposition $shop
waitforre ^Short
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
send appraise %number %1 $preposition $shop careful
wait
wait
pause
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
gosub CommaAppcost
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
gosub CommaCost
if %aapuncture = %aaelectrical then var absorbance %aapuncture
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if %aapuncture = %aaslice && %aapuncture = %aaimpact && %aapuncture = %aafire && %aapuncture = %aacold && %aapuncture = %aaelectrical then var absorbance %aapuncture
gosub Tagset
gosub Tagset
gosub Specialset
gosub Specialset
gosub Itypeset
echo http://www.elanthipedia.com/wiki/Armor:%tap&action=edit
put #echo Date: $date $time ($roomname)
echo
put #echo https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
echo {{Armor
put #echo
echo |name=%tap
echo |newapp=Yes
put #echo {{Armor
echo |noun=%1
put #echo |name=%tap
echo |look=%look
put #echo |newarmorapp=Yes
put #echo |noun=%1
echo <br>'''Read''': %read
put #echo |look=%look
echo |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #echo <br />'''Read''': %read
echo |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
echo |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
echo |type=%atype
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
echo |area=%ahead,%aeyes,%aneck,%achest,%aback,%aabdomen,%aarms,%alegs,%ahands
echo |hindrance=%mhindrance
put #echo |type=%atype
put #echo |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
echo |stealth=%shindrance
echo |puncture=%appuncture
put #echo |hindrance=%mhindrance
echo |slice=%apslice
put #echo |stealth=%shindrance
echo |impact=%apimpact
put #echo |puncture=%appuncture
echo |fire=%apfire
put #echo |slice=%apslice
echo |cold=%apcold
put #echo |impact=%apimpact
echo |electric=%apelectrical
put #echo |fire=%apfire
echo |absorbance=%absorbance
put #echo |cold=%apcold
echo |punctureab=%aapuncture
put #echo |electric=%apelectrical
echo |sliceab=%aaslice
put #echo |absorbance=%absorbance
echo |impactab=%aaimpact
put #echo |punctureab=%aapuncture
echo |fireab=%aafire
put #echo |sliceab=%aaslice
echo |coldab=%aacold
put #echo |impactab=%aaimpact
echo |electricab=%aaelectrical
put #echo |fireab=%aafire
echo |construction=%construction
put #echo |coldab=%aacold
echo |metal=%metal
put #echo |electricab=%aaelectrical
echo |appcost=%appcost
put #echo |construction=%construction
echo |weight=%weight
put #echo |metal=%metal
echo |sourcetype=sold by
put #echo |appcost=%appcost
echo |source=%source
put #echo |weight=%weight
echo |cost=%cost $currency
put #echo |lsize=%lsize
echo |maxcharge=%maxcharge
put #echo |wsize=%wsize
echo |special=%special
put #echo |hsize=%hsize
echo }}
put #echo |sourcetype=-
put #echo |fname=No
put #log >Appraisal.txt http://www.elanthipedia.com/wiki/Armor:%tap&action=edit
put #echo |maxcharge=%maxcharge
put #log >Appraisal.txt {{Armor
put #log >Appraisal.txt |name=%tap
put #echo |special=%special
put #log >Appraisal.txt |newapp=Yes
put #echo |itype=%itype
put #echo }}
put #log >Appraisal.txt |noun=%1
put #echo note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal.txt |look=%look
put #log >Appraisal.txt <br>'''Read''': %read
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal.txt |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #log >Appraisal.txt |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
put #log >Appraisal-$charactername.txt {{Armor
put #log >Appraisal.txt |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal.txt |type=%atype
put #log >Appraisal-$charactername.txt |newarmorapp=Yes
put #log >Appraisal.txt |area=%ahead,%aeyes,%aneck,%achest,%aback,%aabdomen,%aarms,%alegs,%ahands
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal.txt |hindrance=%mhindrance
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal.txt |stealth=%shindrance
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal.txt |puncture=%appuncture
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal.txt |slice=%apslice
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal.txt |impact=%apimpact
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal.txt |fire=%apfire
put #log >Appraisal.txt |cold=%apcold
put #log >Appraisal-$charactername.txt |type=%atype
put #log >Appraisal.txt |electric=%apelectrical
put #log >Appraisal-$charactername.txt |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #log >Appraisal.txt |absorbance=%absorbance
put #log >Appraisal-$charactername.txt |hindrance=%mhindrance
put #log >Appraisal.txt |punctureab=%aapuncture
put #log >Appraisal-$charactername.txt |stealth=%shindrance
put #log >Appraisal.txt |sliceab=%aaslice
put #log >Appraisal-$charactername.txt |puncture=%appuncture
put #log >Appraisal.txt |impactab=%aaimpact
put #log >Appraisal-$charactername.txt |slice=%apslice
put #log >Appraisal.txt |fireab=%aafire
put #log >Appraisal-$charactername.txt |impact=%apimpact
put #log >Appraisal.txt |coldab=%aacold
put #log >Appraisal-$charactername.txt |fire=%apfire
put #log >Appraisal.txt |electricab=%aaelectrical
put #log >Appraisal-$charactername.txt |cold=%apcold
put #log >Appraisal.txt |construction=%construction
put #log >Appraisal-$charactername.txt |electric=%apelectrical
put #log >Appraisal.txt |metal=%metal
put #log >Appraisal-$charactername.txt |absorbance=%absorbance
put #log >Appraisal.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |punctureab=%aapuncture
put #log >Appraisal.txt |weight=%weight
put #log >Appraisal-$charactername.txt |sliceab=%aaslice
put #log >Appraisal.txt |sourcetype=sold by
put #log >Appraisal-$charactername.txt |impactab=%aaimpact
put #log >Appraisal.txt |source=%source
put #log >Appraisal-$charactername.txt |fireab=%aafire
put #log >Appraisal.txt |cost=%cost $currency
put #log >Appraisal-$charactername.txt |coldab=%aacold
put #log >Appraisal.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |electricab=%aaelectrical
put #log >Appraisal.txt |special=%special
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal.txt }}
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return
return


Line 1,021: Line 1,652:
pause 1
pause 1
send tap %number %1 $preposition $shop
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
waitforre ^You
send shop %number %1 $preposition $shop
send shop %number %1 $preposition $shop
waitforre ^Short
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
send appraise %number %1 $preposition $shop careful
wait
wait
pause
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
gosub CommaAppcost
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
gosub CommaCost
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Tagset
gosub Typeset
gosub Typeset
put #echo Date: $date $time ($roomname)
echo http://www.elanthipedia.com/wiki/Item:%tap&action=edit
put #echo https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
echo
put #echo
echo {{Item
echo |name=%tap
put #echo {{Item
echo |noun=%1
put #echo |name=%tap
echo |look=%look
put #echo |noun=%1
put #echo |look=%look
echo <br>'''Read''': %read
put #echo <br />'''Read''': %read
echo |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
echo |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
echo |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
echo |type=%type1
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
echo |type2=%type2
put #echo |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
echo |type3=%type3
echo |type4=%type4
put #echo |wearloc=%wearloc
echo |wearloc=%wearloc
put #echo |weight=%weight
echo |weight=%weight
put #echo |lsize=%lsize
echo |appcost=%appcost
put #echo |wsize=%wsize
echo |sourcetype=sold by
put #echo |hsize=%hsize
echo |source=%source
put #echo |ilsize=%ilsize
echo |cost=%cost $currency
put #echo |iwsize=%iwsize
echo |maxcharge=%maxcharge
put #echo |ihsize=%ihsize
echo |metal=%metal
put #echo |csize=%csize
put #echo |appcost=%appcost
echo }}
put #echo |sourcetype=-
put #log >Appraisal.txt http://www.elanthipedia.com/wiki/Item:%tap&action=edit
put #echo |fname=No
put #log >Appraisal.txt {{Item
put #echo |maxcharge=%maxcharge
put #log >Appraisal.txt |name=%tap
put #log >Appraisal.txt |noun=%1
put #echo |metal=%metal
put #echo }}
put #log >Appraisal.txt |look=%look
put #echo note=%wearloc: holds %maxcharge mana
put #log >Appraisal.txt <br>'''Read''': %read
put #log >Appraisal.txt |MTag=%mtags,%mtagg,%mtagm,%mtagw,%mtagf
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #log >Appraisal.txt |CTag=%ctagr,%ctago,%ctagy,%ctagg,%ctagb,%ctagv,%ctagn,%ctagm
put #log >Appraisal.txt |STag=%stagp,%stagg,%staga,%stagh,%stage,%stagr,%stagl
put #log >Appraisal-$charactername.txt {{Item
put #log >Appraisal.txt |type=%type1
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal.txt |type2=%type2
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal.txt |type3=%type3
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal.txt |type4=%type4
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal.txt |weight=%weight
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal.txt |sourcetype=sold by
put #log >Appraisal.txt |source=%source
put #log >Appraisal-$charactername.txt |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #log >Appraisal.txt |cost=%cost $currency
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal.txt |metal=%metal
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal.txt }}
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |ilsize=%ilsize
put #log >Appraisal-$charactername.txt |iwsize=%iwsize
put #log >Appraisal-$charactername.txt |ihsize=%ihsize
put #log >Appraisal-$charactername.txt |csize=%csize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return
return


VarBlank:
VarBlank:
var read There is nothing there to read.
var metal no
var metal no
var maxcharge DELETE THIS LINE
var maxcharge DELETE THIS LINE
var wearloc -
var wearloc -
var appcost NOT SET
var lsize NOTSET
var wsize NOTSET
var hsize NOTSET
var ilsize DELETE
var iwsize DELETE
var ihsize DELETE
var csize DELETE
var appcost NOTSET
var mtags DELETE
var mtags DELETE
var mtagg DELETE
var mtagg DELETE
Line 1,090: Line 1,751:
var ctagr DELETE
var ctagr DELETE
var ctago DELETE
var ctago DELETE
var ctagt DELETE
var ctagy DELETE
var ctagy DELETE
var ctagg DELETE
var ctagg DELETE
Line 1,096: Line 1,758:
var ctagn DELETE
var ctagn DELETE
var ctagm DELETE
var ctagm DELETE
var ctagx DELETE
var stagp DELETE
var stagp DELETE
var stagg DELETE
var stagg DELETE
Line 1,103: Line 1,766:
var stagr DELETE
var stagr DELETE
var stagl DELETE
var stagl DELETE
var wtype2 NOT SET
var amtags DELETE
var amtagm DELETE
var amtagf DELETE
var amtagg DELETE
var amtagw DELETE
var actagr DELETE
var actago DELETE
var actagt DELETE
var actagy DELETE
var actagg DELETE
var actagb DELETE
var actagv DELETE
var actagn DELETE
var actagm DELETE
var actagx DELETE
var astagg DELETE
var astagp DELETE
var astagr DELETE
var astage DELETE
var astaga DELETE
var astagh DELETE
var astagl DELETE
var wtype2 NOTSET
var puncturetype No
var puncturetype No
var slicetype No
var slicetype No
Line 1,117: Line 1,802:
var alegs DELETE
var alegs DELETE
var ahands DELETE
var ahands DELETE
var construction NOT SET
var construction NOTSET
var type1 -
var typefunction -
var type2 NOT SET
var typecon DELETE
var type3 NOT SET
var typemagic DELETE
var type4 NOT SET
var typeguild DELETE
var special NOT SET
var typerace DELETE
var special NOTSET
var itype NOTSET
return
return


Tagset:
Tagset:
if (matchre ("%look", "(avaes|imnera|sraeth|dhhresh|hafaltu|indakar|ithridu|keismin|xibaryl|asketine|celstite|lemicule|negnetha|zengalmi|iheaneu'a|chakrel|soulstone)")) then var mtags $1
if (matchre ("%look", "(asketine|avaes|celstite|chakrel|dhhresh|hafaltu|iheaneu'?a|imnera|indakar|ithridu|keismin|lemicule|negnetha|soulstone|sraeth|xibaryl|zengalmi)")) then var mtags $1
if (matchre ("%look", "(aluminum|animite|anlora[- ]avtoma|audrualm|\bbrass\b|chrome|covellite|Damascus steel|damite|darkstone|electrum|Elven silver|gilded|glaes|(black|blighted|blue|crown|Elven green|grey|pink|purple|rose|white|yellow) \bgold\b|haralun|hepatizon|icesteel|ilmenite|iridium|(?<!wrought )\biron\b|ithridu|kadepa|keismin|kertig|lumium|mithril|moen takibena|moonsilver|muracite|negnetha|nickel|niello|niniam|oravir|orichalcum|palladium|pewter|rencate|silver[- ]gilt|silversteel|spangold|sungold|(?<!watered )\bsteel\b|tantalum|\btin\b|titanium|tyrium|vardite|verdigris copper|watered steel|windsteel|wrought iron|\bzinc\b)")) then var mtagm $1
if (matchre ("%look", "(\bbones?\b|\bcoal\b|\bjade\b|onyx|\bopals?\b|\bruby\b|\bagate\b|\bamber\b|beryl|chalk|coral|flint|\bglass\b|ivory|lapis|nacre|pearl|shale|slate|topaz|arkose|basalt|garnet|gneiss|iolite|jasper|\bmarble\b|pumice|pyrite|quartz|rubies|schist|spinel|svelae|zircon|anloral|axinite|azurite|ceramic|citrine|crystal|diamond|diorite|dwalgim|elbaite|eldring|emerald|granite|jadeite|kunzite|kyanite|larimar|lasmodi|olivine|peridot|sjatmal|amethyst|cinnabar|diopside|dolomite|feldspar|grazhite|hematite|ilmenite|ismenite|mudstone|neitrice|obsidian|porphyry|sapphire|selenite|sky opal|sodalite|sunstone|szeldite|verenite|waermodi|xibarite|yavasite|alabaster|ambergris|amlothite|carnelian|claystone|dawgolite|elanthite|erythrite|glowstone|kaolinite|katambite|limestone|malachite|mistglass|moonstone|morganite|penhetite|rhodonite|runestone|sandstone|scheelite|scrimshaw|snow opal|star ruby|tanzanite|tsavorite|turquoise|wulfenite|yoakenite|aevanstone|andalusite|anthracite|aquamarine|blood ruby|bloodstone|chalcedony|cloud ruby|estrildite|fang pearl|fire pearl|flame opal|frost opal|gloamstone|heartstone|lantholite|moon pearl|morleenite|nightstone|seordstone|smoke ruby|star-stone|thealstone|tourmaline|water opal|alexandrite|aurora opal|cherry opal|chrysoberyl|chrysoprase|durgauldite|er'?qutrite|fool's gold|geshi pearl|merewaldite|pitch pearl|smoky topaz|star rubies|sunset opal|talan pearl|Xibar topaz|blood rubies|blue diamond|chalcedonies|cloud rubies|dafora pearl|idopun pearl|lapis lazuli|mystic topaz|ocean jasper|pink diamond|smoke rubies|autumn jasper|black diamond|calav[ae]rite|damaryn pearl|damilyo pearl|draconic opal|firesilk opal|haze sapphire|imperial ruby|lilac diamond|midnight ruby|moonspun ruby|night diamond|nimbus garnet|saffron topaz|smoky diamond|star sapphire|white diamond|zenith spinel|frostfire opal|Ilithi emerald|imperial topaz|nightfire opal|starfire topaz|starlight ruby|Taisidon pearl|winter emerald|frostflare opal|glacier emerald|imperial rubies|midnight rubies|moonspun rubies|sana'?ati heart|crimson sapphire|dragon fire opal|dragonfire amber|katamba'?s spire|phantom sapphire|spiderweb jasper|starlight rubies|Taisidon emerald|tempest sapphire|aurora tourmaline|champagne diamond|dalterein diamond|fire maiden topaz|imperial sapphire|twilight sapphire|wild horse jasper|dragon'?s eye ruby|eventide moonstone|orchid alexandrite|Teiro'?s hate ruby|lion'?s heart topaz|molten-core diamond|royal zoluren topaz|dragon'?s blood ruby|dragon'?s eye rubies|dragon'?s heart ruby|Teiro'?s hate rubies|Hav'?roth'?s ambrosia|jackal'?s heart pearl|lotus flower sapphire|ocean'?s deep emerald|serpent'?s heart ruby|vela'?tohr tourmaline|dragon'?s blood rubies|dragon'?s heart rubies|forest'?s heart garnet|Musparan gold sapphire|shrike'?s eye sapphire|white Zoluren sapphire|Crystalline dragon tear|Eluned'?s tear sapphire|serpent'?s heart rubies|dragon'?s scale sapphire|mermaid'?s tear sapphire|nature'?s canopy emerald|summer'?s heart sapphire|violet'?s heart amethyst|volcano'?s heart citrine)")) then var mtagg $1
if (matchre ("%look", "([cs]endal|angora|armure|arzumodine|\bbast\b|\bbatik\b|batiste|bison[- ]hide|boar[- ]hide|bombazine|bourde|broadcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)brocade|buckskin|burlap|camlet|canvas|cashmere|chainse|chainsil|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)chiffon|\bcire\b|cloth[- ]of[- ]gold|cloth[- ]of[- ]silver|(?<!lipka )cotton|cowhide|cr[ae]pe|crinoline|cuirbouilli|damask|deerskin|dergatine|diamond[- ]hide|doeskin|dragonar|eolienne|\bfaille\b|farandine|\bfelt\b|flannel|\bflax\b|fleece|gabardine|gauze|gingham|gold[- ]weave|grogram|grosgrain|haircloth|\bhemp\b|horsehair|ialalhe|imperial weave|jaalmin |jacquard|\bjaspe\b|\bjute\b|khaddar|khaki|khiynit|kidskin|lambskin|leather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blinen\b|longcloth|muslin|oilcloth|oilskin|onyx[- ]hide|petalette|ramshorn|rawhide|rosecloth|ruazen|sackcloth|sailcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsamite\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsatin\b|scalene |seersucker|\bserge\b|\bshagreen\b|sharkskin|sheepskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsilk\b|silver[- ]weave|silveress|snakeskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)snowlace|spun glitter |straw|suede|taffeta|thornweave|titanese|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\btulle\b|turbaurs|tweed|\btwine\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bvelvet\b|velveteen|voile|whisperlayne|whitleather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bwool\b|woolen|worsted|zenganne|zibeline|(blood|bluefire|dragonfire|duchess|duponi|Elothean|Elven|fae woven|faeweave|fire|gemfire|ice|lava|lipka|marble|moon|moonspun|Musparan|night|night[rw]eaver|nightstalker|oceanmist|ruaz[ei]n|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin) (brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool))")) then var mtagf $1
if (matchre ("%look", "(\btin\b|gold|\biron\b|\blead\b|zinc|brass|glaes|steel|bronze|chrome|copper|damite|gilded|kertig|lumium|nickel|niello|niniam|oravir|pewter|silver|tyrium|animite|haralun|iridium|aluminum|audrualm|electrum|platinum|red gold|spangold|tantalum|titanium|blue gold|darkstone|grey gold|hepatizon|palladium|pink gold|rose gold|black gold|crown gold|green gold|orichalcum|white gold|purple gold|silver-gilt|anlora[- ]avtoma)")) then var mtagm $1
if (matchre ("%look", "((cat'?s?|hawk'?s?|tiger'?s?) eye|(?<!(dragonvein) )agates?|(?<!(orchid|viperscale) )alexandrite|almiris|alshabi stone|ambergris|amlothite|andalusite|anloral|anthracite|arkose|aurora opal|axinite|azurite|basalt|\bberyls?\b|bleeding heart jade|bloodgem|calav[ae]rite|ceramic|chalcedon(y|ies)|\bchalk\b|charoite|chrysoberyl|chrysoprase|cinnabar|(?<!volcano'?s heart )citrine|\bclays?\b|cloudstone|\bcoal\b|\bcorals?\b|\bcrystals?\b|crystalline dragon tear|dawgolite|(?<!(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) )diamond(?!ique)|diamondique|diopside|diorite|dolomite|dragonfire amber|Drogor's Wrath sapphire|durgauldite|dwalgim|elanthite|elbaite|\beldrings?\b|Enelne's eye|er'?qutrite|erythraean|erythrite|estrildite|feldspar|\bflint\b|fool's gold|(?<!(bloodmist|forest'?s heart|nimbus) )garnet|\bglass\b|gneiss|granite|grazhite|Hav'?roth'?s ambrosia|hematite|iahja|ilmenite|iolite|ismenite|jadeite|(?<!(autumn|ocean|spiderweb|wild horse) )jasper|kaolinite|katamba'?s spire|katambite|kunzite|kyanite|lantholite|larimar|lasmodi|(?<!(Hekemhhg|lapis) )lazuli|malachite|\bmarble\b|merewaldite|mistglass|morganite|morleenite|\bnacres?\b|neitrice|obsidian|olivine|(?<!(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) )\bopals?\b|(?<!(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) )\bpearls?\b|penhetite|peridot|porcelain|porphyry|pumice|pyrite|quartz|rhodochrosite|rhodonite|sana'?ati heart|scheelite|schist|scrimshaw|sea[- ]glass|selenite|\bsenci\b|\bshale\b|sjatmal|sodalite|\bspinels?\b|spiritgem|svelae|szeldite|tanzanite|(?<!(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) )topaz|(?<!(aurora|vela'?tohr) )tourmaline|tsavorite|ulhari prism|verenite|volcano'?s heart citrine|waermodi|wulfenite|xibarite|yavasite|yoakenite|zircon|(orchid|viperscale) alexandrite|(lightning|violet'?s heart) amethyst|(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) diamond|(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) emerald|(bloodmist|forest'?s heart|nimbus) garnet|(autumn|ocean|spiderweb|wild horse) jasper|(Hekemhhg|lapis) lazuli|(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) opal|(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) pearl|(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) rub(y|ies)|(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) sapphire|(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) topaz|(aurora|vela'?tohr) tourmaline)")) then var mtagg $1
if (matchre ("%look", "(\bwood\b|paper|\bash\b|\belm\b|\bfir\b|\boak\b|\byew\b|haon|\bpine\b|\breed\b|\bteak\b|\balder\b|aspen|balsa|beech|birch|cedar|ebony|lunat|maple|rowan|shaal|acanth|bamboo|deobar|halmik|huljik|modwir|poplar|spruce|vellum|walnut|willow|cypress|dogwood|hickory|papyrus|redwood|chestnut|ebonwood|gethwood|goldbark|hardwood|ironwood|mahogany|mistwood|plumwood|softwood|wiirwood|wormwood|adderwood|bloodwood|flamewood|gloomwood|goldenoak|parchment|sana'?ati|satinwood|smokewood|taborwood|witchclaw|wyndewood|cherrywood|copperleaf|copperwood|cottonwood|dragonwood|e'?erdream|eucalyptus|flamethorn|khor-?vela|sandalwood|silverwood|whitethorn|diamondwood|aganylosh'?a|bricklebranch|hhr'?lav'?geluhh)")) then var mtagw $1
if (matchre ("%look", "(\w+-stone)")) then var mtagg $1
if (matchre ("%look", "(\bfur\b|\bfelt\b|\bhemp\b|\blace\b|\bsilk\b|\bwool\b|khaki|linen|satin|sinew|straw|suede|tweed|\btwine\b|angora|burlap|canvas|cotton|muslin|\bsamite\b|velvet|\bbrocades?\b|chiffon|feather|flannel|gingham|khiynit|leather|rawhide|worsted|shagreen|grosgrain|haircloth|horsehair|longcloth|broadcloth|lava samite|cloth-of-gold|cloth-of-silver|(ice|fire|moon|blood|Elven|night|shade|steel|storm|water|marble|shadow|spider|duchess|bluefire|Elothean|Musparan|fae woven|oceanmist|starlight|nightreaver|nightweaver|nightstalker) ?(lace|silk|satin|velvet|snowlace))")) then var mtagf $1
if (matchre ("%look", "(\w+stone)")) then var mtagg $1
if (matchre ("%look", "(\bred\b|\bpink\b|gules|auburn|cerise|maroon|murrey|carmine|crimson|magenta|reddish|scarlet|burgundy|cardinal|chestnut|haematic|sanguine|blood-red|carnelian|vermilion|vinaceous|coquelicot|orange-red|rubiginose|rubiginous)")) then var ctagr $1
if (matchre ("%look", "(\bwooden\b|\bpaper\b|acacia|acanth|adderwood|aganylosh'?a|\balder\b|alerce|\baspen\b|\bbalsa\b|bamboo|basswood|\bbeech\b|(?<!curly )\bbirch\b|black ironwood|black maple|black walnut|black willow|blackwood|bloodwood|boxwood|bricklebranch|burlwood|\bcedar\b|cherrywood|cocobolo|copperleaf|copperwood|\bcork\b|curly birch|cypress|deobar|desert palm|diamondwood|dogwood|dragonwood|driftwood|e'?erdream|ebonwood|\belm\b|eucalyptus|\bfir\b|fishtail oak|flamethorn|flamewood|fruitwood|gethwood|glitvire|gloomwood|goldbark|goldenoak|halmik|\bhaon\b|hawthorn|hhr'?lav'?geluhh|hickory|huljik|Ilithian cedar|iroko|ironwood|juniper|khor'?vela|khor-?vela|lacewood|lemonwood|linden|linwood|\blunat\b|(?<!(black|silver) )\bmaple\b|mikkhalbamar|mistwood|modwir|(?<!(fishtail|golden) )\boak\b|\bosage\b|palmwood|papyrus|parchment|pearwood|\bpine\b|plumwood|poplar|pozumshi|purpleheart|redwood|\breed\b|rosewood|\browan\b|sana'?ati|sandalwood|sanrisi|satinwood|\bshaal\b|silver maple|silverwillow|silverwood|smokewood|\bspruce\b|taborwood|tamboti|\bteak\b|tulvora|\bvedda\b|vellum|(?<!black )walnut|white ironwood|whitethorn|wiirwood|(?<!(black|silver) )\bwillow\b|witchclaw|wyndewood|\byew\b|zingana|zulnatha)")) then var mtagw $1, wood
if (matchre ("%look", "(orange|\btan\b|brown|fiery|ochre|sepia|tawny|tenne|umber|russet|\bsienna\b|sorrel|persimmon|red-orange|yellow-orange)")) then var ctago $1
if (matchre ("%look", "(yellow|\becru\b|gold|amber|green|lemon|flaxen|saffron|xanthic|aurulent|green-yellow|canary[- ]yellow)")) then var ctagy $1
if (matchre ("%look", "(\w+-wood)")) then var mtagw $1, wood
if (matchre ("%look", "(\w+wood)")) then var mtagw $1, wood
if (matchre ("%look", "(green|\blime\b|\bvert\b|clover|celadon|viridian|asparagus|blue-green|chartreuse|olivaceous|sea[- ]green|yellow-green|olive[- ]drab|olive[- ]green|forest[- ]green|hunter[- ]green)")) then var ctagg $1
if (matchre ("%look", "(\bgods?\b|Immortal|Alamhif|Albreda|Aldauth|Aliesa|Aniek|Asketi|Be'?ort|Bereng[ae]ria|Botolf|Chadatru|Coshivi|Damaris|Demrris|Dergati|Divyaush|Drogor|Eerayn|Eimeuz|Elide|Eluned|Enelne|\bEu\b|Everild|Eylhaar|Faenella|Faiyka|Firulf|Gizzbolf|Glacis|Glythtide|Harawep|Hav'?roth|Hodierna|Huldah|\bIdon\b|Iladza|Issendar|Kerenhappuch|Kertigen|Kirmhara|Krigglin|Kuniyo|Lemicus|Meraud|Merion|Misiumos|\bMrod\b|Murrula|Orisas|Peri'?el|Phelim|Rutilor|Saemaus|Shariza|Sieben|Sildua|Spangklud|Sraxaec|Tamsine|Tenemlor|Thirteen|Tieheq|Triquetra|Trothfang|Truffenyi|Urrem'?tier|Ushnish|World Dragon|Xosiurion|Zachriedek)")) then var stagg $1
if (matchre ("%look", "(\bblue\b|\bceil\b|\bcyan\b|\bteal\b|azure|bluish|cobalt|indigo|cerulean|cyaneous|turquoise|sky[- ]blue|ultramarine|baby[- ]blue|navy[- ]blue|royal[- ]blue|cobalt[- ]blue|blue[- ]celeste)")) then var ctagb $1
if (matchre ("%look", "(acolyte|adventurer|alchemist|amazon|apothecary|\barchers?\b|armorsmith|assassin|bandit|Barbarian|\bBards?\b|barmaid|bartender|beggar|blacksmith|blasphemer|bowm[ae]n|\bbrewers?\b|brigand|buccaneer|burglar|captain|celebrant|champion|\bchefe?s?\b|citizen|clergy|clergy(man|clergy(man|woman)|Cleric|combatant|commoner|convict|criminal|dancer|diviner|doctor|druid|duelist|ecclesiastic|elemancer|elementalist|embalmer|Empath|enchanter|enchantress|engineer|executioner|farmer|felon|fencer|forester|gladiator|hangm[ae]n|healer|herald|heretic|\bheroe?s?\b|hierophant|highwaym[ae]n|historian|hunter|huntsm[ae]n|Inquisitor|inquisitress|\bjudges?\b|justiciar|knight|locksmith|lumberjack|\bmages?\b|marshal|martyr|mastermind|\bmedics?\b|medicine (m[ae]n|medicine (m[ae]n|wom[ae]n)|merchant|messenger|minister|minstrel|\bmonks?\b|Moon Mage|mortician|musician|mystic|navigator|Necromancer|nurse|outlaw|Paladin|pastor|peddler|philosopher|physician|pilgrim|pirate|\bpoets?\b|preacher|priest|prisoner|prophet|psychic|Ranger|researcher|rogue|\bsages?\b|sailor|scholar|\bseers?\b|sham[ae]n|shepherd|smuggler|sniper|soldier|spiritualist|surgeon|swashbuckler|Thief|Thieves|Trader|travell?er|undertaker|urchin|villager|villain|warrior|Warrior Mage|weaponsmith|weaver|\bwitche?s?\b|witche?|wizard|wom[ae]n)|woman)|woodcutter|woodsm[ae]n)")) then var stagp $1
if (matchre ("%look", "(violet|lilac|mauve|orchid|purple|fuchsia|purpure|thistle|eggplant|lavender|purplish|aubergine|periwinkle|red-violet|violescent)")) then var ctagv $1
if (matchre ("%look", "(\bebon\b|\bashen\b|beige|black|\bcream\b|eisen|ivory|sable|\btaupe\b|white|argent|silver|arsenic|gr[ae]y|eggshell|feldgrau|glaucous|pellucid|platinum|cinereous|colorless|ash[- ]gray|slate[- ]gray|midnight[- ]black|rainbow)")) then var ctagn $1
if (matchre ("%look", "(Adan'?f|Dwarf|Dwarves|\bElfs?\b|Elothean (?!(lace|silk))|Elven (?!(lace|silk|silver))|\bElves\b|Gnome|Gor'?Tog|Gorbesh|Halfling|Human|Kaldar|Lohogi'?hhs'?ur|Lohogi'?tel'?tegreis|\bm[ae]n\b|mer-?(folk|m[ae]n|people|wom[ae]n)|Ocular|\bOlvis?\b|Olvis?|\bpeople\b|Prydaen|Rakash|S'?[Kk]ra ?Mur|S'?[Kk]ra'?ur|\bwom[ae]n\b)")) then var stagr $1
if (matchre ("%look", "(pavonine|iridescent|multi-?hued|multi-?colored)")) then var ctagm $1
if (matchre ("%look", "(\ba?ether\b|\bearth\b|electricity|\bfires?\b|\bflames?\b|\bice\b|inferno|lightning|\bpyre\b|\bsnow\b|snowflake|thunder|water|\bair\b)")) then var stage $1
if (matchre ("%look", "(aardvark|adder|albatross|alfar|alligator|alpaca|alphyn|anchovy|antelope|antler|\bapes?\b|apparition|arachnid|armadillo|\bass\b|aurochs|badger|bagwyn|banshee|barnacle|barracuda|basilisk|\bbats?\b|\bbears?\b|\bbeasts?\b|beaver|\bbees?\b|beetle|behemoth|bird|black widow|blackbird|bloodworm|blue ?jay|boggart|boobrie|buffalo|\bbulls?\b|bumble ?bee|burro|bustard|butterflies|butterfly|buzzard|calopus|camel|camelopard|canary|capybara|caracal|\bcats?\b|caterpillar|cattle|celpeze|centaur|centipede|chameleon|cheetah|chimera|chimpanzee|chinchilla|chipmunk|cicada|civet|\bclams?\b|cobra|cockatrice|cockroach|collie|condor|coney|cottontail|cougar|\bcows?\b|coyote|\bcrabs?\b|crane|cricket|\bcrows?\b|curlew|damselfly|demon|\bdevils?\b|\bdingos?\b|\bdogs?\b|dolphin|donkey|\bdoves?\b|\bdragons?\b|dragonfly|dryad|duck|eagle|echidna|\beels?\b|elephant|\belk\b|\bewes?\b|\bfae\b|fairy|falcon|\bfauns?\b|ferret|fiend|\bfinchs?\b|fish|\bfleas?\b|flounder|\bfox\b|\bfrog\b|gazelle|gecko|genie|gerbil|\bghosts?\b|\bghouls?\b|gidii|giraffe|goat|goblin|goose|gopher|gorilla|goshawk|gr[iy]ff[io]n|gr[iy]ph[io]n|grasshopper|greyhound|groundhog|grouse|guinea pig|hamster|\bhares?\b|harpy|\bhawks?\b|hedgehog|heron|\bherring\b|hinny|hippocamp|hippogr[iy]ff|hippogr[iy]ph|\bhogs?\b|honey ?bee|hornet|horse|hound|hydra|hyena|\bibexs?\b|iguana|\bimps?\b|impala|inkhorne|insect|jackal|jaguar|kangaroo|katydid|kelpie|kestrel|king ?snake|kingfisher|kirin|kitten|kobold|ladybug|\blamb\b|\blarks?\b|lemming|lemur|leopard|\blions?\b|lioness|lizard|llama|lobster|locust|\blynxs?\b|maggot|magpie|manatee|manta ray|manticore|mantis|marmot|marten|martlet|mastiff|meerkat|merelew|mermaid|merman|\bminks?\b|minnow|minotaur|mockingbird|mongoose|monkey|moose|mosquito|\bmoth\b|mouflon|mountain lion|mouse|\bmules?\b|musimon|muskox|nightingale|\bnyads?\b|ocelot|octopus|onager|opossum|osprey|ostrich|\botters?\b|\bowls?\b|\boxe?n?\b|panther|parakeet|parrot|partridge|peacock|pegasus|pelican|pheasant|phoenix|\bpigs?\b|pigeon|pika|platypus|polecat|popinjay|porcupine|possum|prairie ?dog|prawn|primate|puma|puppy|python|quail|rabbit|raccoon|raptor|\brats?\b|raven|reindeer|remora|rhinoceros|robin|rooster|salamander|sardine|satyr|scarab|scorpion|seagull|selkie|serpent|shrew|shrike|shrimp|skeleton|\bskulls?\b|snail|snowbeast|sparrow|specter|sphinx|\bspiders?\b|\bspirits?\b|springbok|\bsprites?\b|squirrel|\bstags?\b|starling|stoat|stork|sturgeon|swallow|\bswans?\b|swine|swordfish|talbot|tarantula|termite|terrapin|thrush|\btigers?\b|tityrus|\btoads?\b|tortoise|toucan|trout|turkey|turtle|undead|unicorn|viper|vole|vulture|walrus|weasel|welkin|werewolf|whale|wildcat|winged horse|\bwolfs?\b|wolverine|woodchuck|wraith|wren|wyvern|\byaks?\b|\byales?\b|zebra|zombie)")) then var staga $1
if (matchre ("%look", "(Bard|\bheroe?s?\b|\bmages?\b|\bmonks?\b|\bpoets?\b|\bsages?\b|\bseers?\b|druid|felon|judge|\bmedics?\b|nurse|rogue|Thief|amazon|bandit|beggar|clergy|Cleric|doctor|Empath|farmer|fencer|healer|herald|hunter|knight|martyr|mystic|outlaw|pastor|pirate|priest|Ranger|sailor|Trader|weaver|wizard|acolyte|brigand|burglar|captain|citizen|convict|diviner|duelist|heretic|marshal|Paladin|peddler|pilgrim|prophet|psychic|scholar|soldier|surgeon|Thieves|villain|warrior|assassin|champion|commoner|criminal|embalmer|engineer|merchant|minister|minstrel|preacher|prisoner|shepherd|smuggler|villager|alchemist|Barbarian|buccaneer|celebrant|combatant|elemancer|gladiator|historian|justiciar|locksmith|messenger|Moon Mage|mortician|navigator|physician|sham[ae]n|apothecary|armorsmith|blacksmith|blasphemer|hangm[ae]n|hierophant|Inquisitor|mastermind|researcher|undertaker|executioner|Necromancer|philosopher|weaponsmith|woodsm[ae]n|ecclesiastic|elementalist|inquisitress|spiritualist|swashbuckler|Warrior Mage|highwaym[ae]n|clergy(man|woman)|medicine (m[ae]n|wom[ae]n))")) then var stagp $1
if (matchre ("%look", "(aevaes|\baloe\b|belladonna|blocil|\bcebi\b|Datura|draconeaia|eghmok|foxglove|genich|georin|glaysker|hemlock|hisan|hulij|hulnik|ithor|jadice|junliar|lujeakave|muljin|nemoih|nightshade|nilos|nuloe|ojhenik|plovik|\bquns?\b|riolur|sufil|yelith)")) then var stagh $1
if (matchre ("%look", "(\bgods?\b|avatar|Immortal|\bEu\b|\bIdon\b|Mrod|Aniek|Elide|Aliesa|Asketi|Botolf|Drogor|Eerayn|Eimeuz|Eluned|Enelne|Faiyka|Firulf|Glacis|Huldah|Iladza|Kuniyo|Meraud|Merion|Orisas|Phelim|Sieben|Sildua|Tieheq|Alamhif|Albreda|Aldauth|Be'?ort|Coshivi|Damaris|Demrris|Dergati|Everild|Eylhaar|Harawep|Lemicus|Murrula|Rutilor|Saemaus|Shariza|Sraxaec|Tamsine|Ushnish|Chadatru|Divyaush|Faenella|Gizzbolf|Hodierna|Issendar|Kertigen|Kirmhara|Krigglin|Misiumos|Peri'?el|Tenemlor|Thirteen|Glythtide|Hav'?roth|Spangklud|Triquetra|Trothfang|Truffenyi|Xosiurion|Berengaria|Zachriedek|Urrem'?tier|Kerenhappuch|World Dragon)")) then var stagg $1
if (matchre ("%look", "(\bAesry\b|Aesry Surlaenis'?a|Ain Ghazal|Amlothi|Arthe Dale|bayou|Belarritaco|Boar Clan|\bbogs?\b|canyon|Chyolvea Tayeu'?a|comet|constellation|Crossing|Dawgolesh|Dirge|Durgaulda|El'?Bain'?s|Elanthia|Empire|Er'?qutra|Estrilda|Faldesu|Fayrin'?s Rest|\bfens?\b|Forfedhdar|Fornsted|grassland|Grazhir|Gwenalion|Hara'?jaal|Hekemhhg|Hibarnhvidar|iceberg|Ilaya Taipa|Ilithi(?! emerald)|Irasushen|\bislands?\b|Ismenia|Jantspyre|jungle|Kaerna Village|\bKatamba\b|Kermoria|Knife Clan|\blakes?\b|Langenfirth|Leth Deriel|M'?Riss|\bmarshe?s?\b|meadow|Mer'?Kresh|Merewalda|\bmoons?\b|morass|Morleena|mountain|Muspar'?i|Nenav Dalar|Oxenwaithe|Penhetia|Pi'?Qanah|\bplanets?\b|prairie|Qi'?Reshalia|quagmire|rainforest|Ratamipak|\bRatha\b|Raven'?s Point|\bReshal\b|Reshalia|\brivers?\b|Riverhaven|Rossman'?s Landing|Sarasunath|savanna|Sawstwar|Segoltha|Shamilho|\bShard\b|shrubland|Siksraja|Steelclaw Clan|steppe|Stone Clan|\bsuns?\b|sunburst|Surlaenis|swamp|Szeldia|taiga|Taisgath|The Crossing|Therenborough|Therengia|Throne City|Tiger Clan|tundra|Velaka|Verena|volcano|wetland|Wolf Clan|woodland|\bXibar\b|Yavash|Yoakena|Zaulfung|Zhamikhh|Zoluren)")) then var stagl $1
if (matchre ("%look", "(animal|\bbeasts?\b|insect|\boxe?n?\b|\bapes?\b|\bass\b|\bbats?\b|\bbees?\b|\bcats?\b|\bcows?\b|\bdoes?\b|\bdogs?\b|\beels?\b|\belk\b|\bewes?\b|\bfly\b|\bfox\b|\bhogs?\b|\bimps?\b|\bowls?\b|\bpigs?\b|\brams?\b|\brats?\b|\byaks?\b|\bbears?\b|bird|\bboars?\b|\bbucks?\b|\bbulls?\b|\bclams?\b|\bcocks?\b|\bcrabs?\b|\bcrows?\b|\bdeers?\b|\bdoves?\b|duck|\bfauns?\b|fish|\bfleas?\b|\bflies\b|frog|goat|\bhares?\b|\bhawks?\b|ibex|\blambs?\b|\blarks?\b|\blions?\b|lynx|mink|\bmoths?\b|\bmules?\b|nyad|pika|puma|\bstags?\b|\bswans?\b|toad|\bvoles?\b|wasp|\bwings?\b|wolf|\bwrens?\b|yale|adder|alfar|bison|burro|camel|civet|cobra|coney|crane|\bdemons?\b|\bdevils?\b|dingo|dryad|eagle|fairy|\bfiends?\b|finch|gecko|genie|\bghosts?\b|\bghouls?\b|goose|harpy|heron|hinny|horse|hound|hydra|hyena|kirin|leech|lemur|llama|moose|mouse|otter|prawn|puppy|quail|raven|robin|satyr|shark|sheep|shrew|skull|snail|snake|stoat|stork|swine|tiger|troll|trout|viper|whale|zebra|alpaca|alphyn|antler|badger|bagwyn|beaver|beetle|canary|cattle|cicada|collie|condor|cougar|coyote|curlew|donkey|\bdragons?\b|ermine|falcon|ferret|gerbil|goblin|gopher|grouse|hornet|iguana|impala|jackal|jaguar|kelpie|kitten|kobold|lizard|locust|maggot|magpie|mantis|marmot|marten|merman|minnow|monkey|muskox|ocelot|onager|osprey|oyster|parrot|pigeon|possum|python|rabbit|remora|salmon|scarab|selkie|shrike|shrimp|sphinx|spider|\bspirits?\b|sprite|talbot|thrush|toucan|turkey|turtle|undead|walrus|weasel|welkin|wraith|wyvern|yeehar|zombie|anchovy|aurochs|banshee|boggart|boobrie|buffalo|bustard|buzzard|calopus|caracal|centaur|cheetah|chimera|cricket|dolphin|echidna|gazelle|giraffe|gorilla|goshawk|griffin|griffon|gryphon|hamster|herring|katydid|kestrel|ladybug|lemming|leopard|lioness|lobster|mammoth|manatee|martlet|mastiff|meerkat|merelew|mermaid|mouflon|musimon|opossum|ostrich|panther|peacock|pegasus|pelican|phoenix|polecat|primate|raccoon|rooster|sardine|seagull|serpent|sparrow|specter|swallow|termite|tityrus|unicorn|vulture|wildcat|aardvark|antelope|arachnid|barnacle|basilisk|behemoth|capybara|cardinal|chipmunk|elephant|flounder|hedgehog|inkhorne|kangaroo|minotaur|mongoose|mosquito|parakeet|pheasant|platypus|popinjay|reindeer|scorpion|skeleton|squirrel|starling|sturgeon|terrapin|tortoise|werewolf|albatross|alligator|armadillo|blackbird|bloodworm|blue ?jay|butterfly|centipede|chameleon|cockroach|crocodile|damselfly|dragonfly|greyhound|groundhog|hippocamp|manticore|partridge|porcupine|springbok|swordfish|tarantula|wolverine|woodchuck|apparition|camelopard|chimpanzee|chinchilla|cockatrice|cottontail|guinea pig|hippogriff|honey ?bee|kingfisher|rhinoceros|salamander|black widow|bumble ?bee|butterflies|caterpillar|grasshopper|king ?snake|mockingbird|nightingale|prairie ?dog|winged horse|mountain lion)")) then var staga $1
if (matchre ("%look", "((?i:crest of the (Barbarians?'?|Barbarian'?s?) Guild|(Barbarians?'?|Barbarian'?s?) Guild crest))")) then var stagp crest of the barbarians' guild
if (matchre ("%look", "(\bquns?\b|aloe|\bcebi\b|herb|hisan|hulij|ithor|nilos|nuloe|sufil|aevaes|blocil|Datura|eghmok|genich|georin|hulnik|jadice|muljin|nemoih|plovik|riolur|yelith|hemlock|junliar|ojhenik|foxglove|glaysker|lujeakave|belladonna|draconeaia|nightshade)")) then var stagh $1
if (matchre ("%look", "(\belement\b|\bair|\bice|fire|wind|earth|\bflames?\b|water|a?ether|inferno|thunder|lightning|electricity)")) then var stage $1
if (matchre ("%look", "((?i:crest of the (Bards?'?|Bard'?s?) Guild|(Bards?'?|Bard'?s?) Guild crest))")) then var stagp crest of the bards' guild
if (matchre ("%look", "(\bElfs?\b|\bOlvis?\b|Dwarf|\bElves\b|Gnome|Human|Kaldar|Ocular|Rakash|Dwarves|Gorbesh|Prydaen|Elothean|Gor'?Tog|Halfling|S'?Kra ?Mur)")) then var stagr $1
if (matchre ("%look", "((?i:crest of the (Clerics?'?|Cleric'?s?) Guild|(Clerics?'?|Cleric'?s?) Guild crest))")) then var stagp crest of the clerics' guild
if (matchre ("%look", "((?i:crest of the (Empaths?'?|Empath'?s?) Guild|(Empaths?'?|Empath'?s?) Guild crest))")) then var stagp crest of the empaths' guild
if (matchre ("%look", "(\bplanets?\b|constellation|\bbogs?\b|\bfens?\b|\bseas?\b|\bsuns?\b|\blakes?\b|\bmoons?\b|\bstars?\b|\bislands?\b|\bdeserts?\b|Empire|\bforests?\b|\brivers?\b|\bAesry\b|bayou|comet|Dirge|\bfields?\b|marsh|\boceans?\b|\bRatha\b|\bShard\b|swamp|taiga|\bXibar\b|canyon|Ilithi|jungle|meadow|morass|\bReshal\b|steppe|tundra|Velaka|Verena|Yavash|Amlothi|Faldesu|Grazhir|Ismenia|\bKatamba\b|M'?Riss|prairie|savanna|volcano|Szeldia|wetland|Yoakena|Zoluren|Elanthia|Estrilda|Fornsted|Hekemhhg|Kermoria|Morleena|mountain|Penhetia|quagmire|Reshalia|Sawstwar|Segoltha|Shamilho|Siksraja|Taisgath|woodland|Zaulfung|Zhamikhh|Boar Clan|Dawgolesh|Durgaulda|Er'?qutra|grassland|Gwenalion|Irasushen|Jantspyre|Merewalda|Muspar'?i|Pi'?Qanah|Ratamipak|shrubland|Surlaenis|Therengia|Wolf Clan|Ain Ghazal|Arthe Dale|Forfedhdar|Hara'?jaal|Knife Clan|Mer'?Kresh|Oxenwaithe|rainforest|Riverhaven|Sarasunath|Stone Clan|Tiger Clan|Belarritaco|El'?Bain'?s|Ilaya Taipa|Langenfirth|Leth Deriel|Nenav Dalar|Throne City|Hibarnhvidar|Qi'?Reshalia|The Crossing|Therenborough|Fayrin'?s Rest|Kaerna Village|Raven'?s Point|Steelclaw Clan|Chyolvea Tayeu'?a|Aesry Surlaenis'?a|Rossman'?s Landing)")) then var stagl $1
if (matchre ("%look", "((?i:crest of the (Moon ?Mages?'?|Moon ?Mage'?s?) Guild|(Moon ?Mages?'?|Moon ?Mage'?s?) Guild crest))")) then var stagp crest of the moon mages' guild
if (matchre ("%tap", "(avaes|imnera|sraeth|dhhresh|hafaltu|indakar|ithridu|keismin|xibaryl|asketine|celstite|lemicule|negnetha|zengalmi|iheaneu'a|chakrel|soulstone)")) then var mtags $1
if (matchre ("%look", "((?i:crest of the (Necromancers?'?|Necromancer'?s?) Guild|(Necromancers?'?|Necromancer'?s?) Guild crest))")) then var stagp crest of the necromancers' guild
if (matchre ("%tap", "(\bbones?\b|\bcoal\b|\bjade\b|onyx|\bopals?\b|\bruby\b|\bagate\b|\bamber\b|beryl|chalk|coral|flint|\bglass\b|ivory|lapis|nacre|pearl|shale|slate|topaz|arkose|basalt|garnet|gneiss|iolite|jasper|\bmarble\b|pumice|pyrite|quartz|rubies|schist|spinel|svelae|zircon|anloral|axinite|azurite|ceramic|citrine|crystal|diamond|diorite|dwalgim|elbaite|eldring|emerald|granite|jadeite|kunzite|kyanite|larimar|lasmodi|olivine|peridot|sjatmal|amethyst|cinnabar|diopside|dolomite|feldspar|grazhite|hematite|ilmenite|ismenite|mudstone|neitrice|obsidian|porphyry|sapphire|selenite|sky opal|sodalite|sunstone|szeldite|verenite|waermodi|xibarite|yavasite|alabaster|ambergris|amlothite|carnelian|claystone|dawgolite|elanthite|erythrite|glowstone|kaolinite|katambite|limestone|malachite|mistglass|moonstone|morganite|penhetite|rhodonite|runestone|sandstone|scheelite|scrimshaw|snow opal|star ruby|tanzanite|tsavorite|turquoise|wulfenite|yoakenite|aevanstone|andalusite|anthracite|aquamarine|blood ruby|bloodstone|chalcedony|cloud ruby|estrildite|fang pearl|fire pearl|flame opal|frost opal|gloamstone|heartstone|lantholite|moon pearl|morleenite|nightstone|seordstone|smoke ruby|star-stone|thealstone|tourmaline|water opal|alexandrite|aurora opal|cherry opal|chrysoberyl|chrysoprase|durgauldite|er'?qutrite|fool's gold|geshi pearl|merewaldite|pitch pearl|smoky topaz|star rubies|sunset opal|talan pearl|Xibar topaz|blood rubies|blue diamond|chalcedonies|cloud rubies|dafora pearl|idopun pearl|lapis lazuli|mystic topaz|ocean jasper|pink diamond|smoke rubies|autumn jasper|black diamond|calav[ae]rite|damaryn pearl|damilyo pearl|draconic opal|firesilk opal|haze sapphire|imperial ruby|lilac diamond|midnight ruby|moonspun ruby|night diamond|nimbus garnet|saffron topaz|smoky diamond|star sapphire|white diamond|zenith spinel|frostfire opal|Ilithi emerald|imperial topaz|nightfire opal|starfire topaz|starlight ruby|Taisidon pearl|winter emerald|frostflare opal|glacier emerald|imperial rubies|midnight rubies|moonspun rubies|sana'?ati heart|crimson sapphire|dragon fire opal|dragonfire amber|katamba'?s spire|phantom sapphire|spiderweb jasper|starlight rubies|Taisidon emerald|tempest sapphire|aurora tourmaline|champagne diamond|dalterein diamond|fire maiden topaz|imperial sapphire|twilight sapphire|wild horse jasper|dragon'?s eye ruby|eventide moonstone|orchid alexandrite|Teiro'?s hate ruby|lion'?s heart topaz|molten-core diamond|royal zoluren topaz|dragon'?s blood ruby|dragon'?s eye rubies|dragon'?s heart ruby|Teiro'?s hate rubies|Hav'?roth'?s ambrosia|jackal'?s heart pearl|lotus flower sapphire|ocean'?s deep emerald|serpent'?s heart ruby|vela'?tohr tourmaline|dragon'?s blood rubies|dragon'?s heart rubies|forest'?s heart garnet|Musparan gold sapphire|shrike'?s eye sapphire|white Zoluren sapphire|Crystalline dragon tear|Eluned'?s tear sapphire|serpent'?s heart rubies|dragon'?s scale sapphire|mermaid'?s tear sapphire|nature'?s canopy emerald|summer'?s heart sapphire|violet'?s heart amethyst|volcano'?s heart citrine)")) then var mtagg $1
if (matchre ("%look", "((?i:crest of the (Paladins?'?|Paladin'?s?) Guild|(Paladins?'?|Paladin'?s?) Guild crest))")) then var stagp crest of the paladins' guild
if (matchre ("%tap", "(\btin\b|gold|\biron\b|\blead\b|zinc|brass|glaes|steel|bronze|chrome|copper|damite|gilded|kertig|lumium|nickel|niello|niniam|oravir|pewter|silver|tyrium|animite|haralun|iridium|aluminum|audrualm|electrum|platinum|red gold|spangold|tantalum|titanium|blue gold|darkstone|grey gold|hepatizon|palladium|pink gold|rose gold|black gold|crown gold|green gold|orichalcum|white gold|purple gold|silver-gilt|anlora[- ]avtoma)")) then var mtagm $1
if (matchre ("%look", "((?i:crest of the (Rangers?'?|Ranger'?s?) Guild|(Rangers?'?|Ranger'?s?) Guild crest))")) then var stagp crest of the rangers' guild
if (matchre ("%tap", "(\bwood\b|paper|\bash\b|\belm\b|\bfir\b|\boak\b|\byew\b|haon|\bpine\b|\breed\b|\bteak\b|\balder\b|aspen|balsa|beech|birch|cedar|ebony|lunat|maple|rowan|shaal|acanth|bamboo|deobar|halmik|huljik|modwir|poplar|spruce|vellum|walnut|willow|cypress|dogwood|hickory|papyrus|redwood|chestnut|ebonwood|gethwood|goldbark|hardwood|ironwood|mahogany|mistwood|plumwood|softwood|wiirwood|wormwood|adderwood|bloodwood|flamewood|gloomwood|goldenoak|parchment|sana'?ati|satinwood|smokewood|taborwood|witchclaw|wyndewood|cherrywood|copperleaf|copperwood|cottonwood|dragonwood|e'?erdream|eucalyptus|flamethorn|khor-?vela|sandalwood|silverwood|whitethorn|diamondwood|aganylosh'?a|bricklebranch|hhr'?lav'?geluhh)")) then var mtagw $1
if (matchre ("%look", "((?i:crest of the (Thiefs?'?|Thief'?s?|Thieves'?) Guild|(Thiefs?'?|Thief'?s?|Thieves'?) Guild crest))")) then var stagp crest of the thieves' guild
if (matchre ("%tap", "(\bfur\b|\bfelt\b|\bhemp\b|\blace\b|\bsilk\b|\bwool\b|khaki|linen|satin|sinew|straw|suede|tweed|\btwine\b|angora|burlap|canvas|cotton|muslin|\bsamite\b|velvet|\bbrocades?\b|chiffon|feather|flannel|gingham|khiynit|leather|rawhide|worsted|shagreen|grosgrain|haircloth|horsehair|longcloth|broadcloth|lava samite|cloth-of-gold|cloth-of-silver|(ice|fire|moon|blood|Elven|night|shade|steel|storm|water|marble|shadow|spider|duchess|bluefire|Elothean|Musparan|fae woven|oceanmist|starlight|nightreaver|nightweaver|nightstalker) ?(lace|silk|satin|velvet|snowlace))")) then var mtagf $1
if (matchre ("%look", "((?i:crest of the (Traders?'?|Trader'?s?) Guild|(Traders?'?|Trader'?s?) Guild crest))")) then var stagp crest of the traders' guild
if (matchre ("%tap", "(\bred\b|\bpink\b|gules|auburn|cerise|maroon|murrey|carmine|crimson|magenta|reddish|scarlet|burgundy|cardinal|chestnut|haematic|sanguine|blood-red|carnelian|vermilion|vinaceous|coquelicot|orange-red|rubiginose|rubiginous)")) then var ctagr $1
if (matchre ("%look", "((?i:crest of the (Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild|(Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild crest))")) then var stagp crest of the warrior mages' guild
if (matchre ("%tap", "(orange|\btan\b|brown|fiery|ochre|sepia|tawny|tenne|umber|russet|\bsienna\b|sorrel|persimmon|red-orange|yellow-orange)")) then var ctago $1
if (matchre ("%tap", "(yellow|\becru\b|gold|amber|green|lemon|flaxen|saffron|xanthic|aurulent|green-yellow|canary[- ]yellow)")) then var ctagy $1
if (matchre ("%look", "((\w+)(?=[- ](colored|highlighted|hued|tinted|toned)))")) then var ctagx $1
if (matchre ("%look", "((\bred\b|amaranth|auburn|blood red|burgundy|carmine|cerise|claret|coquelicot|crimson|gules|haematic|incarnadine|magenta|maroon|murrey|orange red|\bpink\b|\breddish\b|\brosy\b|rubiginose|rubiginous|ruddy|sanguine|scarlet|vermilion|vinaceous)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagr $1, red
if (matchre ("%tap", "(green|\blime\b|\bvert\b|clover|celadon|viridian|asparagus|blue-green|chartreuse|olivaceous|sea[- ]green|yellow-green|olive[- ]drab|olive[- ]green|forest[- ]green|hunter[- ]green)")) then var ctagg $1
if (matchre ("%tap", "(\bblue\b|\bceil\b|\bcyan\b|\bteal\b|azure|bluish|cobalt|indigo|cerulean|cyaneous|turquoise|sky[- ]blue|ultramarine|baby[- ]blue|navy[- ]blue|royal[- ]blue|cobalt[- ]blue|blue[- ]celeste)")) then var ctagb $1
if (matchre ("%look", "((\borange\b|fiery|\bpeach\b|persimmon|red orange|reddish orange|tangerine|yellow orange)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctago $1, orange
if (matchre ("%tap", "(violet|lilac|mauve|orchid|purple|fuchsia|purpure|thistle|eggplant|lavender|purplish|aubergine|periwinkle|red-violet|violescent)")) then var ctagv $1
if (matchre ("%look", "((\bbrown\b|ochre|russet|sepia|sienna|\bsorrel\b|\btan\b|tawny|tenne|\bumber\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagt $1, brown
if (matchre ("%tap", "(\bebon\b|\bashen\b|beige|black|\bcream\b|eisen|ivory|sable|\btaupe\b|white|argent|silver|arsenic|gr[ae]y|eggshell|feldgrau|glaucous|pellucid|platinum|cinereous|colorless|ash[- ]gray|slate[- ]gray|midnight[- ]black|rainbow)")) then var ctagn $1
if (matchre ("%look", "((\byellow\b|aurulent|champagne|\becru\b|flaxen|green yellow|jonquil|lemon|saffron|xanthic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagy $1, yellow
if (matchre ("%tap", "(pavonine|iridescent|multi-?hued|multi-?colored)")) then var ctagm $1
if (matchre ("%look", "((\bgreen\b|asparagus|blue green|celadon|chartreuse|\blime\b|olivaceous|olive drab|smalt|\bvert\b|viridian|yellow green)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagg $1, green
if (matchre ("%look", "((\bblue\b|azure|bluish|\bceil\b|cerulean|cobalt|\bcyan\b|cyaneous|indigo|\bteal\b|ultramarine)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagb $1, blue
if (matchre ("%tap", "(Bard|\bheroe?s?\b|\bmages?\b|\bmonks?\b|\bpoets?\b|\bsages?\b|\bseers?\b|druid|felon|judge|\bmedics?\b|nurse|rogue|Thief|amazon|bandit|beggar|clergy|Cleric|doctor|Empath|farmer|fencer|healer|herald|hunter|knight|martyr|mystic|outlaw|pastor|pirate|priest|Ranger|sailor|Trader|weaver|wizard|acolyte|brigand|burglar|captain|citizen|convict|diviner|duelist|heretic|marshal|Paladin|peddler|pilgrim|prophet|psychic|scholar|soldier|surgeon|Thieves|villain|warrior|assassin|champion|commoner|criminal|embalmer|engineer|merchant|minister|minstrel|preacher|prisoner|shepherd|smuggler|villager|alchemist|Barbarian|buccaneer|celebrant|combatant|elemancer|gladiator|historian|justiciar|locksmith|messenger|Moon Mage|mortician|navigator|physician|sham[ae]n|apothecary|armorsmith|blacksmith|blasphemer|hangm[ae]n|hierophant|Inquisitor|mastermind|researcher|undertaker|executioner|Necromancer|philosopher|weaponsmith|woodsm[ae]n|ecclesiastic|elementalist|inquisitress|spiritualist|swashbuckler|Warrior Mage|highwaym[ae]n|clergy(man|woman)|medicine (m[ae]n|wom[ae]n))")) then var stagp $1
if (matchre ("%look", "((\bpurple\b|aubergine|eggplant|fuchsia|lavender|lilac|mauve|orchid|periwinkle|\bpuce\b|purplish|purpure|red violet|violescent)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagv $1, purple
if (matchre ("%tap", "(\bgods?\b|avatar|Immortal|\bEu\b|\bIdon\b|Mrod|Aniek|Elide|Aliesa|Asketi|Botolf|Drogor|Eerayn|Eimeuz|Eluned|Enelne|Faiyka|Firulf|Glacis|Huldah|Iladza|Kuniyo|Meraud|Merion|Orisas|Phelim|Sieben|Sildua|Tieheq|Alamhif|Albreda|Aldauth|Be'?ort|Coshivi|Damaris|Demrris|Dergati|Everild|Eylhaar|Harawep|Lemicus|Murrula|Rutilor|Saemaus|Shariza|Sraxaec|Tamsine|Ushnish|Chadatru|Divyaush|Faenella|Gizzbolf|Hodierna|Issendar|Kertigen|Kirmhara|Krigglin|Misiumos|Peri'?el|Tenemlor|Thirteen|Glythtide|Hav'?roth|Spangklud|Triquetra|Trothfang|Truffenyi|Xosiurion|Berengaria|Zachriedek|Urrem'?tier|Kerenhappuch|World Dragon)")) then var stagg $1
if (matchre ("%look", "((\bblack\b|\bgr[ae]y\b|white|argent|arsenic|\bashen\b|beige|camouflage|cinereous|colorless|\bcream\b|\bebon\b|eggshell|eisen|feldgrau|glaucous|pellucid|\bsable\b|taupe\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagn $1, grey
if (matchre ("%tap", "(animal|\bbeasts?\b|insect|\boxe?n?\b|\bapes?\b|\bass\b|\bbats?\b|\bbees?\b|\bcats?\b|\bcows?\b|\bdoes?\b|\bdogs?\b|\beels?\b|\belk\b|\bewes?\b|\bfly\b|\bfox\b|\bhogs?\b|\bimps?\b|\bowls?\b|\bpigs?\b|\brams?\b|\brats?\b|\byaks?\b|\bbears?\b|bird|\bboars?\b|\bbucks?\b|\bbulls?\b|\bclams?\b|\bcocks?\b|\bcrabs?\b|\bcrows?\b|\bdeers?\b|\bdoves?\b|duck|\bfauns?\b|fish|\bfleas?\b|\bflies\b|frog|goat|\bhares?\b|\bhawks?\b|ibex|\blambs?\b|\blarks?\b|\blions?\b|lynx|mink|\bmoths?\b|\bmules?\b|nyad|pika|puma|\bstags?\b|\bswans?\b|toad|\bvoles?\b|wasp|\bwings?\b|wolf|\bwrens?\b|yale|adder|alfar|bison|burro|camel|civet|cobra|coney|crane|\bdemons?\b|\bdevils?\b|dingo|dryad|eagle|fairy|\bfiends?\b|finch|gecko|genie|\bghosts?\b|\bghouls?\b|goose|harpy|heron|hinny|horse|hound|hydra|hyena|kirin|leech|lemur|llama|moose|mouse|otter|prawn|puppy|quail|raven|robin|satyr|shark|sheep|shrew|skull|snail|snake|stoat|stork|swine|tiger|troll|trout|viper|whale|zebra|alpaca|alphyn|antler|badger|bagwyn|beaver|beetle|canary|cattle|cicada|collie|condor|cougar|coyote|curlew|donkey|\bdragons?\b|ermine|falcon|ferret|gerbil|goblin|gopher|grouse|hornet|iguana|impala|jackal|jaguar|kelpie|kitten|kobold|lizard|locust|maggot|magpie|mantis|marmot|marten|merman|minnow|monkey|muskox|ocelot|onager|osprey|oyster|parrot|pigeon|possum|python|rabbit|remora|salmon|scarab|selkie|shrike|shrimp|sphinx|spider|\bspirits?\b|sprite|talbot|thrush|toucan|turkey|turtle|undead|walrus|weasel|welkin|wraith|wyvern|yeehar|zombie|anchovy|aurochs|banshee|boggart|boobrie|buffalo|bustard|buzzard|calopus|caracal|centaur|cheetah|chimera|cricket|dolphin|echidna|gazelle|giraffe|gorilla|goshawk|griffin|griffon|gryphon|hamster|herring|katydid|kestrel|ladybug|lemming|leopard|lioness|lobster|mammoth|manatee|martlet|mastiff|meerkat|merelew|mermaid|mouflon|musimon|opossum|ostrich|panther|peacock|pegasus|pelican|phoenix|polecat|primate|raccoon|rooster|sardine|seagull|serpent|sparrow|specter|swallow|termite|tityrus|unicorn|vulture|wildcat|aardvark|antelope|arachnid|barnacle|basilisk|behemoth|capybara|cardinal|chipmunk|elephant|flounder|hedgehog|inkhorne|kangaroo|minotaur|mongoose|mosquito|parakeet|pheasant|platypus|popinjay|reindeer|scorpion|skeleton|squirrel|starling|sturgeon|terrapin|tortoise|werewolf|albatross|alligator|armadillo|blackbird|bloodworm|blue ?jay|butterfly|centipede|chameleon|cockroach|crocodile|damselfly|dragonfly|greyhound|groundhog|hippocamp|manticore|partridge|porcupine|springbok|swordfish|tarantula|wolverine|woodchuck|apparition|camelopard|chimpanzee|chinchilla|cockatrice|cottontail|guinea pig|hippogriff|honey ?bee|kingfisher|rhinoceros|salamander|black widow|bumble ?bee|butterflies|caterpillar|grasshopper|king ?snake|mockingbird|nightingale|prairie ?dog|winged horse|mountain lion)")) then var staga $1
if (matchre ("%look", "((rainbow|iridescent|pavonine|polychromatic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagm $1, rainbow
if (matchre ("%tap", "(\bquns?\b|aloe|\bcebi\b|herb|hisan|hulij|ithor|nilos|nuloe|sufil|aevaes|blocil|Datura|eghmok|genich|georin|hulnik|jadice|muljin|nemoih|plovik|riolur|yelith|hemlock|junliar|ojhenik|foxglove|glaysker|lujeakave|belladonna|draconeaia|nightshade)")) then var stagh $1
if (matchre ("%tap", "(\belement\b|\bair|\bice|fire|wind|earth|\bflames?\b|water|a?ether|inferno|thunder|lightning|electricity)")) then var stage $1
if (matchre ("%look", "((\w+)-\bred\b)")) then var ctagr $1, $2, red
if (matchre ("%tap", "(\bElfs?\b|\bOlvis?\b|Dwarf|\bElves\b|Gnome|Human|Kaldar|Ocular|Rakash|Dwarves|Gorbesh|Prydaen|Elothean|Gor'?Tog|Halfling|S'?Kra ?Mur)")) then var stagr $1
if (matchre ("%look", "((\w+)-\borange\b)")) then var ctago $1, $2, orange
if (matchre ("%look", "((\w+)-\bbrown\b)")) then var ctagt $1, $2, brown
if (matchre ("%tap", "(\bplanets?\b|constellation|\bbogs?\b|\bfens?\b|\bseas?\b|\bsuns?\b|\blakes?\b|\bmoons?\b|\bstars?\b|\bislands?\b|\bdeserts?\b|Empire|\bforests?\b|\brivers?\b|\bAesry\b|bayou|comet|Dirge|\bfields?\b|marsh|\boceans?\b|\bRatha\b|\bShard\b|swamp|taiga|\bXibar\b|canyon|Ilithi|jungle|meadow|morass|\bReshal\b|steppe|tundra|Velaka|Verena|Yavash|Amlothi|Faldesu|Grazhir|Ismenia|\bKatamba\b|M'?Riss|prairie|savanna|volcano|Szeldia|wetland|Yoakena|Zoluren|Elanthia|Estrilda|Fornsted|Hekemhhg|Kermoria|Morleena|mountain|Penhetia|quagmire|Reshalia|Sawstwar|Segoltha|Shamilho|Siksraja|Taisgath|woodland|Zaulfung|Zhamikhh|Boar Clan|Dawgolesh|Durgaulda|Er'?qutra|grassland|Gwenalion|Irasushen|Jantspyre|Merewalda|Muspar'?i|Pi'?Qanah|Ratamipak|shrubland|Surlaenis|Therengia|Wolf Clan|Ain Ghazal|Arthe Dale|Forfedhdar|Hara'?jaal|Knife Clan|Mer'?Kresh|Oxenwaithe|rainforest|Riverhaven|Sarasunath|Stone Clan|Tiger Clan|Belarritaco|El'?Bain'?s|Ilaya Taipa|Langenfirth|Leth Deriel|Nenav Dalar|Throne City|Hibarnhvidar|Qi'?Reshalia|The Crossing|Therenborough|Fayrin'?s Rest|Kaerna Village|Raven'?s Point|Steelclaw Clan|Chyolvea Tayeu'?a|Aesry Surlaenis'?a|Rossman'?s Landing)")) then var stagl $1
if (matchre ("%look", "((\w+)-\byellow\b)")) then var $1, $2, yellow
if (matchre ("%look", "((\w+)-\bgreen\b)")) then var ctagg $1, $2, green
if (matchre ("%look", "((\w+)-\bblue\b)")) then var ctagb $1, $2, blue
if (matchre ("%look", "((\w+)-\b(purple|violet)\b)")) then var ctagv $1, $2, purple
if (matchre ("%look", "((\w+)-\bblack\b)")) then var ctagn $1, $2, black
if (matchre ("%look", "((\w+)-\bwhite\b)")) then var ctagn $1, $2, white
if (matchre ("%look", "((\w+)-\bgr[ae]y\b)")) then var ctagn $1, $2, grey
if (matchre ("%look", "(bronze|\bcoal\b|(?<!verdigris )\bcopper\b|(?<!(black|blighted|blue|crown|Elven|fool's|green|grey|pink|purple|red|rose|white|yellow) |cloth[- ]of[- ])\bgold\b|\blead\b|platinum|(?<!Elven |cloth[- ]of[- ])\bsilver\b)")) then var amtagm $1
if (matchre ("%look", "(\bermine\b|feather|\bfur\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)gossamer|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blace\b)")) then var amtagf $1
if (matchre ("%look", "(alabaster|(?<!dragonfire )\bamber\b|(?<!(lightning|violet'?s heart) )amethyst|aquamarine|\bbones?\b|carnelian|(?<!(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) )emerald|heliotrope|ivory|(?<!bleeding heart )\bjades?\b|\bonyxe?s?\b|(?<!(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) )\brub(y|ies)\b|(?<!(crimson|dalaeji black|dragon'?s scale|Drogor'?s Wrath|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) )sapphire|\bslate\b|turquoise)")) then var amtagg $1
if (matchre ("%look", "(\bapple\b|\bash\b|\bcherry\b|chestnut|\bebony\b|\belder\b|laurel|mahogany)")) then var amtagw $1
if (matchre ("%look", "(\belements?\b|\bwind\b)")) then var astage $1
if (matchre ("%look", "(bison|\bboars?\b|\bbucks?\b|cardinal|\bcocks?\b|crocodile|\bdeers?\b|\bdoe\b|ermine|flies|\bfly\b|leech|mammoth|oyster|\brams?\b|salmon|shark|sheep|\bsnakes?\b|\btrolls?\b|\bwasps?\b|\bwings?\b|yeehar)")) then var astaga $1
if (matchre ("%look", "(\bblooms?\b|\bblossoms?\b|\bbuds?\b|\bflorets?\b|\bflowers?\b|\bherbs?\b|\bvines?\b)")) then var astagh $1
if (matchre ("%look", "(\bdeserts?\b|forest(?![- ]green)|\boceans?\b|\bseas?\b|\bstars?\b)")) then var astagl $1
if (matchre ("%look", "((bronze|chestnut|copper)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagt $1
if (matchre ("%look", "(red gold(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagy $1
if (matchre ("%look", "((\bplum\b|thistle|\bviolet\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagv $1
if (matchre ("%tap", "(asketine|avaes|celstite|chakrel|dhhresh|hafaltu|iheaneu'?a|imnera|indakar|ithridu|keismin|lemicule|negnetha|soulstone|sraeth|xibaryl|zengalmi)")) then var mtags $1
if (matchre ("%tap", "(aluminum|animite|anlora[- ]avtoma|audrualm|\bbrass\b|chrome|covellite|Damascus steel|damite|darkstone|electrum|Elven silver|gilded|glaes|(black|blighted|blue|crown|Elven green|grey|pink|purple|rose|white|yellow) \bgold\b|haralun|hepatizon|icesteel|ilmenite|iridium|(?<!wrought )\biron\b|ithridu|kadepa|keismin|kertig|lumium|mithril|moen takibena|moonsilver|muracite|negnetha|nickel|niello|niniam|oravir|orichalcum|palladium|pewter|rencate|silver[- ]gilt|silversteel|spangold|sungold|(?<!watered )\bsteel\b|tantalum|\btin\b|titanium|tyrium|vardite|verdigris copper|watered steel|windsteel|wrought iron|\bzinc\b)")) then var mtagm $1
if (matchre ("%tap", "([cs]endal|angora|armure|arzumodine|\bbast\b|\bbatik\b|batiste|bison[- ]hide|boar[- ]hide|bombazine|bourde|broadcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)brocade|buckskin|burlap|camlet|canvas|cashmere|chainse|chainsil|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)chiffon|\bcire\b|cloth[- ]of[- ]gold|cloth[- ]of[- ]silver|(?<!lipka )cotton|cowhide|cr[ae]pe|crinoline|cuirbouilli|damask|deerskin|dergatine|diamond[- ]hide|doeskin|dragonar|eolienne|\bfaille\b|farandine|\bfelt\b|flannel|\bflax\b|fleece|gabardine|gauze|gingham|gold[- ]weave|grogram|grosgrain|haircloth|\bhemp\b|horsehair|ialalhe|imperial weave|jaalmin |jacquard|\bjaspe\b|\bjute\b|khaddar|khaki|khiynit|kidskin|lambskin|leather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blinen\b|longcloth|muslin|oilcloth|oilskin|onyx[- ]hide|petalette|ramshorn|rawhide|rosecloth|ruazen|sackcloth|sailcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsamite\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsatin\b|scalene |seersucker|\bserge\b|\bshagreen\b|sharkskin|sheepskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsilk\b|silver[- ]weave|silveress|snakeskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)snowlace|spun glitter |straw|suede|taffeta|thornweave|titanese|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\btulle\b|turbaurs|tweed|\btwine\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bvelvet\b|velveteen|voile|whisperlayne|whitleather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bwool\b|woolen|worsted|zenganne|zibeline|(blood|bluefire|dragonfire|duchess|duponi|Elothean|Elven|fae woven|faeweave|fire|gemfire|ice|lava|lipka|marble|moon|moonspun|Musparan|night|night[rw]eaver|nightstalker|oceanmist|ruaz[ei]n|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin) (brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool))")) then var mtagf $1
if (matchre ("%tap", "((cat'?s?|hawk'?s?|tiger'?s?) eye|(?<!(dragonvein) )agates?|(?<!(orchid|viperscale) )alexandrite|almiris|alshabi stone|ambergris|amlothite|andalusite|anloral|anthracite|arkose|aurora opal|axinite|azurite|basalt|\bberyls?\b|bleeding heart jade|bloodgem|calav[ae]rite|ceramic|chalcedon(y|ies)|\bchalk\b|charoite|chrysoberyl|chrysoprase|cinnabar|(?<!volcano'?s heart )citrine|\bclays?\b|cloudstone|\bcoal\b|\bcorals?\b|\bcrystals?\b|crystalline dragon tear|dawgolite|(?<!(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) )diamond(?!ique)|diamondique|diopside|diorite|dolomite|dragonfire amber|Drogor's Wrath sapphire|durgauldite|dwalgim|elanthite|elbaite|\beldrings?\b|Enelne's eye|er'?qutrite|erythraean|erythrite|estrildite|feldspar|\bflint\b|fool's gold|(?<!(bloodmist|forest'?s heart|nimbus) )garnet|\bglass\b|gneiss|granite|grazhite|Hav'?roth'?s ambrosia|hematite|iahja|ilmenite|iolite|ismenite|jadeite|(?<!(autumn|ocean|spiderweb|wild horse) )jasper|kaolinite|katamba'?s spire|katambite|kunzite|kyanite|lantholite|larimar|lasmodi|(?<!(Hekemhhg|lapis) )lazuli|malachite|\bmarble\b|merewaldite|mistglass|morganite|morleenite|\bnacres?\b|neitrice|obsidian|olivine|(?<!(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) )\bopals?\b|(?<!(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) )\bpearls?\b|penhetite|peridot|porcelain|porphyry|pumice|pyrite|quartz|rhodochrosite|rhodonite|sana'?ati heart|scheelite|schist|scrimshaw|sea[- ]glass|selenite|\bsenci\b|\bshale\b|sjatmal|sodalite|\bspinels?\b|spiritgem|svelae|szeldite|tanzanite|(?<!(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) )topaz|(?<!(aurora|vela'?tohr) )tourmaline|tsavorite|ulhari prism|verenite|volcano'?s heart citrine|waermodi|wulfenite|xibarite|yavasite|yoakenite|zircon|(orchid|viperscale) alexandrite|(lightning|violet'?s heart) amethyst|(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) diamond|(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) emerald|(bloodmist|forest'?s heart|nimbus) garnet|(autumn|ocean|spiderweb|wild horse) jasper|(Hekemhhg|lapis) lazuli|(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) opal|(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) pearl|(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) rub(y|ies)|(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) sapphire|(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) topaz|(aurora|vela'?tohr) tourmaline)")) then var mtagg $1
if (matchre ("%tap", "(\w+-stone)")) then var mtagg $1
if (matchre ("%tap", "(\w+stone)")) then var mtagg $1
if (matchre ("%tap", "(\bwooden\b|\bpaper\b|acacia|acanth|adderwood|aganylosh'?a|\balder\b|alerce|\baspen\b|\bbalsa\b|bamboo|basswood|\bbeech\b|(?<!curly )\bbirch\b|black ironwood|black maple|black walnut|black willow|blackwood|bloodwood|boxwood|bricklebranch|burlwood|\bcedar\b|cherrywood|cocobolo|copperleaf|copperwood|\bcork\b|curly birch|cypress|deobar|desert palm|diamondwood|dogwood|dragonwood|driftwood|e'?erdream|ebonwood|\belm\b|eucalyptus|\bfir\b|fishtail oak|flamethorn|flamewood|fruitwood|gethwood|glitvire|gloomwood|goldbark|goldenoak|halmik|\bhaon\b|hawthorn|hhr'?lav'?geluhh|hickory|huljik|Ilithian cedar|iroko|ironwood|juniper|khor'?vela|khor-?vela|lacewood|lemonwood|linden|linwood|\blunat\b|(?<!(black|silver) )\bmaple\b|mikkhalbamar|mistwood|modwir|(?<!(fishtail|golden) )\boak\b|\bosage\b|palmwood|papyrus|parchment|pearwood|\bpine\b|plumwood|poplar|pozumshi|purpleheart|redwood|\breed\b|rosewood|\browan\b|sana'?ati|sandalwood|sanrisi|satinwood|\bshaal\b|silver maple|silverwillow|silverwood|smokewood|\bspruce\b|taborwood|tamboti|\bteak\b|tulvora|\bvedda\b|vellum|(?<!black )walnut|white ironwood|whitethorn|wiirwood|(?<!(black|silver) )\bwillow\b|witchclaw|wyndewood|\byew\b|zingana|zulnatha)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+-wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\bgods?\b|Immortal|Alamhif|Albreda|Aldauth|Aliesa|Aniek|Asketi|Be'?ort|Bereng[ae]ria|Botolf|Chadatru|Coshivi|Damaris|Demrris|Dergati|Divyaush|Drogor|Eerayn|Eimeuz|Elide|Eluned|Enelne|\bEu\b|Everild|Eylhaar|Faenella|Faiyka|Firulf|Gizzbolf|Glacis|Glythtide|Harawep|Hav'?roth|Hodierna|Huldah|\bIdon\b|Iladza|Issendar|Kerenhappuch|Kertigen|Kirmhara|Krigglin|Kuniyo|Lemicus|Meraud|Merion|Misiumos|\bMrod\b|Murrula|Orisas|Peri'?el|Phelim|Rutilor|Saemaus|Shariza|Sieben|Sildua|Spangklud|Sraxaec|Tamsine|Tenemlor|Thirteen|Tieheq|Triquetra|Trothfang|Truffenyi|Urrem'?tier|Ushnish|World Dragon|Xosiurion|Zachriedek)")) then var stagg $1
if (matchre ("%tap", "(acolyte|adventurer|alchemist|amazon|apothecary|\barchers?\b|armorsmith|assassin|bandit|Barbarian|\bBards?\b|barmaid|bartender|beggar|blacksmith|blasphemer|bowm[ae]n|\bbrewers?\b|brigand|buccaneer|burglar|captain|celebrant|champion|\bchefe?s?\b|citizen|clergy|clergy(man|clergy(man|woman)|Cleric|combatant|commoner|convict|criminal|dancer|diviner|doctor|druid|duelist|ecclesiastic|elemancer|elementalist|embalmer|Empath|enchanter|enchantress|engineer|executioner|farmer|felon|fencer|forester|gladiator|hangm[ae]n|healer|herald|heretic|\bheroe?s?\b|hierophant|highwaym[ae]n|historian|hunter|huntsm[ae]n|Inquisitor|inquisitress|\bjudges?\b|justiciar|knight|locksmith|lumberjack|\bmages?\b|marshal|martyr|mastermind|\bmedics?\b|medicine (m[ae]n|medicine (m[ae]n|wom[ae]n)|merchant|messenger|minister|minstrel|\bmonks?\b|Moon Mage|mortician|musician|mystic|navigator|Necromancer|nurse|outlaw|Paladin|pastor|peddler|philosopher|physician|pilgrim|pirate|\bpoets?\b|preacher|priest|prisoner|prophet|psychic|Ranger|researcher|rogue|\bsages?\b|sailor|scholar|\bseers?\b|sham[ae]n|shepherd|smuggler|sniper|soldier|spiritualist|surgeon|swashbuckler|Thief|Thieves|Trader|travell?er|undertaker|urchin|villager|villain|warrior|Warrior Mage|weaponsmith|weaver|\bwitche?s?\b|witche?|wizard|wom[ae]n)|woman)|woodcutter|woodsm[ae]n)")) then var stagp $1
if (matchre ("%tap", "(Adan'?f|Dwarf|Dwarves|\bElfs?\b|Elothean (?!(lace|silk))|Elven (?!(lace|silk|silver))|\bElves\b|Gnome|Gor'?Tog|Gorbesh|Halfling|Human|Kaldar|Lohogi'?hhs'?ur|Lohogi'?tel'?tegreis|\bm[ae]n\b|mer-?(folk|m[ae]n|people|wom[ae]n)|Ocular|\bOlvis?\b|Olvis?|\bpeople\b|Prydaen|Rakash|S'?[Kk]ra ?Mur|S'?[Kk]ra'?ur|\bwom[ae]n\b)")) then var stagr $1
if (matchre ("%tap", "(\ba?ether\b|\bearth\b|electricity|\bfires?\b|\bflames?\b|\bice\b|inferno|lightning|\bpyre\b|\bsnow\b|snowflake|thunder|water|\bair\b)")) then var stage $1
if (matchre ("%tap", "(aardvark|adder|albatross|alfar|alligator|alpaca|alphyn|anchovy|antelope|antler|\bapes?\b|apparition|arachnid|armadillo|\bass\b|aurochs|badger|bagwyn|banshee|barnacle|barracuda|basilisk|\bbats?\b|\bbears?\b|\bbeasts?\b|beaver|\bbees?\b|beetle|behemoth|bird|black widow|blackbird|bloodworm|blue ?jay|boggart|boobrie|buffalo|\bbulls?\b|bumble ?bee|burro|bustard|butterflies|butterfly|buzzard|calopus|camel|camelopard|canary|capybara|caracal|\bcats?\b|caterpillar|cattle|celpeze|centaur|centipede|chameleon|cheetah|chimera|chimpanzee|chinchilla|chipmunk|cicada|civet|\bclams?\b|cobra|cockatrice|cockroach|collie|condor|coney|cottontail|cougar|\bcows?\b|coyote|\bcrabs?\b|crane|cricket|\bcrows?\b|curlew|damselfly|demon|\bdevils?\b|\bdingos?\b|\bdogs?\b|dolphin|donkey|\bdoves?\b|\bdragons?\b|dragonfly|dryad|duck|eagle|echidna|\beels?\b|elephant|\belk\b|\bewes?\b|\bfae\b|fairy|falcon|\bfauns?\b|ferret|fiend|\bfinchs?\b|fish|\bfleas?\b|flounder|\bfox\b|\bfrog\b|gazelle|gecko|genie|gerbil|\bghosts?\b|\bghouls?\b|gidii|giraffe|goat|goblin|goose|gopher|gorilla|goshawk|gr[iy]ff[io]n|gr[iy]ph[io]n|grasshopper|greyhound|groundhog|grouse|guinea pig|hamster|\bhares?\b|harpy|\bhawks?\b|hedgehog|heron|\bherring\b|hinny|hippocamp|hippogr[iy]ff|hippogr[iy]ph|\bhogs?\b|honey ?bee|hornet|horse|hound|hydra|hyena|\bibexs?\b|iguana|\bimps?\b|impala|inkhorne|insect|jackal|jaguar|kangaroo|katydid|kelpie|kestrel|king ?snake|kingfisher|kirin|kitten|kobold|ladybug|\blamb\b|\blarks?\b|lemming|lemur|leopard|\blions?\b|lioness|lizard|llama|lobster|locust|\blynxs?\b|maggot|magpie|manatee|manta ray|manticore|mantis|marmot|marten|martlet|mastiff|meerkat|merelew|mermaid|merman|\bminks?\b|minnow|minotaur|mockingbird|mongoose|monkey|moose|mosquito|\bmoth\b|mouflon|mountain lion|mouse|\bmules?\b|musimon|muskox|nightingale|\bnyads?\b|ocelot|octopus|onager|opossum|osprey|ostrich|\botters?\b|\bowls?\b|\boxe?n?\b|panther|parakeet|parrot|partridge|peacock|pegasus|pelican|pheasant|phoenix|\bpigs?\b|pigeon|pika|platypus|polecat|popinjay|porcupine|possum|prairie ?dog|prawn|primate|puma|puppy|python|quail|rabbit|raccoon|raptor|\brats?\b|raven|reindeer|remora|rhinoceros|robin|rooster|salamander|sardine|satyr|scarab|scorpion|seagull|selkie|serpent|shrew|shrike|shrimp|skeleton|\bskulls?\b|snail|snowbeast|sparrow|specter|sphinx|\bspiders?\b|\bspirits?\b|springbok|\bsprites?\b|squirrel|\bstags?\b|starling|stoat|stork|sturgeon|swallow|\bswans?\b|swine|swordfish|talbot|tarantula|termite|terrapin|thrush|\btigers?\b|tityrus|\btoads?\b|tortoise|toucan|trout|turkey|turtle|undead|unicorn|viper|vole|vulture|walrus|weasel|welkin|werewolf|whale|wildcat|winged horse|\bwolfs?\b|wolverine|woodchuck|wraith|wren|wyvern|\byaks?\b|\byales?\b|zebra|zombie)")) then var staga $1
if (matchre ("%tap", "(aevaes|\baloe\b|belladonna|blocil|\bcebi\b|Datura|draconeaia|eghmok|foxglove|genich|georin|glaysker|hemlock|hisan|hulij|hulnik|ithor|jadice|junliar|lujeakave|muljin|nemoih|nightshade|nilos|nuloe|ojhenik|plovik|\bquns?\b|riolur|sufil|yelith)")) then var stagh $1
if (matchre ("%tap", "(\bAesry\b|Aesry Surlaenis'?a|Ain Ghazal|Amlothi|Arthe Dale|bayou|Belarritaco|Boar Clan|\bbogs?\b|canyon|Chyolvea Tayeu'?a|comet|constellation|Crossing|Dawgolesh|Dirge|Durgaulda|El'?Bain'?s|Elanthia|Empire|Er'?qutra|Estrilda|Faldesu|Fayrin'?s Rest|\bfens?\b|Forfedhdar|Fornsted|grassland|Grazhir|Gwenalion|Hara'?jaal|Hekemhhg|Hibarnhvidar|iceberg|Ilaya Taipa|Ilithi(?! emerald)|Irasushen|\bislands?\b|Ismenia|Jantspyre|jungle|Kaerna Village|\bKatamba\b|Kermoria|Knife Clan|\blakes?\b|Langenfirth|Leth Deriel|M'?Riss|\bmarshe?s?\b|meadow|Mer'?Kresh|Merewalda|\bmoons?\b|morass|Morleena|mountain|Muspar'?i|Nenav Dalar|Oxenwaithe|Penhetia|Pi'?Qanah|\bplanets?\b|prairie|Qi'?Reshalia|quagmire|rainforest|Ratamipak|\bRatha\b|Raven'?s Point|\bReshal\b|Reshalia|\brivers?\b|Riverhaven|Rossman'?s Landing|Sarasunath|savanna|Sawstwar|Segoltha|Shamilho|\bShard\b|shrubland|Siksraja|Steelclaw Clan|steppe|Stone Clan|\bsuns?\b|sunburst|Surlaenis|swamp|Szeldia|taiga|Taisgath|The Crossing|Therenborough|Therengia|Throne City|Tiger Clan|tundra|Velaka|Verena|volcano|wetland|Wolf Clan|woodland|\bXibar\b|Yavash|Yoakena|Zaulfung|Zhamikhh|Zoluren)")) then var stagl $1
if (matchre ("%tap", "((?i:crest of the (Barbarians?'?|Barbarian'?s?) Guild|(Barbarians?'?|Barbarian'?s?) Guild crest))")) then var stagp crest of the barbarians' guild
if (matchre ("%tap", "((?i:crest of the (Bards?'?|Bard'?s?) Guild|(Bards?'?|Bard'?s?) Guild crest))")) then var stagp crest of the bards' guild
if (matchre ("%tap", "((?i:crest of the (Clerics?'?|Cleric'?s?) Guild|(Clerics?'?|Cleric'?s?) Guild crest))")) then var stagp crest of the clerics' guild
if (matchre ("%tap", "((?i:crest of the (Empaths?'?|Empath'?s?) Guild|(Empaths?'?|Empath'?s?) Guild crest))")) then var stagp crest of the empaths' guild
if (matchre ("%tap", "((?i:crest of the (Moon ?Mages?'?|Moon ?Mage'?s?) Guild|(Moon ?Mages?'?|Moon ?Mage'?s?) Guild crest))")) then var stagp crest of the moon mages' guild
if (matchre ("%tap", "((?i:crest of the (Necromancers?'?|Necromancer'?s?) Guild|(Necromancers?'?|Necromancer'?s?) Guild crest))")) then var stagp crest of the necromancers' guild
if (matchre ("%tap", "((?i:crest of the (Paladins?'?|Paladin'?s?) Guild|(Paladins?'?|Paladin'?s?) Guild crest))")) then var stagp crest of the paladins' guild
if (matchre ("%tap", "((?i:crest of the (Rangers?'?|Ranger'?s?) Guild|(Rangers?'?|Ranger'?s?) Guild crest))")) then var stagp crest of the rangers' guild
if (matchre ("%tap", "((?i:crest of the (Thiefs?'?|Thief'?s?|Thieves'?) Guild|(Thiefs?'?|Thief'?s?|Thieves'?) Guild crest))")) then var stagp crest of the thieves' guild
if (matchre ("%tap", "((?i:crest of the (Traders?'?|Trader'?s?) Guild|(Traders?'?|Trader'?s?) Guild crest))")) then var stagp crest of the traders' guild
if (matchre ("%tap", "((?i:crest of the (Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild|(Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild crest))")) then var stagp crest of the warrior mages' guild
if (matchre ("%tap", "((\w+)(?=[- ](colored|highlighted|hued|tinted|toned)))")) then var ctagx $1
if (matchre ("%tap", "((\bred\b|amaranth|auburn|blood red|burgundy|carmine|cerise|claret|coquelicot|crimson|gules|haematic|incarnadine|magenta|maroon|murrey|orange red|\bpink\b|\breddish\b|\brosy\b|rubiginose|rubiginous|ruddy|sanguine|scarlet|vermilion|vinaceous)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagr $1, red
if (matchre ("%tap", "((\borange\b|fiery|\bpeach\b|persimmon|red orange|reddish orange|tangerine|yellow orange)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctago $1, orange
if (matchre ("%tap", "((\bbrown\b|ochre|russet|sepia|sienna|\bsorrel\b|\btan\b|tawny|tenne|\bumber\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagt $1, brown
if (matchre ("%tap", "((\byellow\b|aurulent|champagne|\becru\b|flaxen|green yellow|jonquil|lemon|saffron|xanthic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagy $1, yellow
if (matchre ("%tap", "((\bgreen\b|asparagus|blue green|celadon|chartreuse|\blime\b|olivaceous|olive drab|smalt|\bvert\b|viridian|yellow green)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagg $1, green
if (matchre ("%tap", "((\bblue\b|azure|bluish|\bceil\b|cerulean|cobalt|\bcyan\b|cyaneous|indigo|\bteal\b|ultramarine)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagb $1, blue
if (matchre ("%tap", "((\bpurple\b|aubergine|eggplant|fuchsia|lavender|lilac|mauve|orchid|periwinkle|\bpuce\b|purplish|purpure|red violet|violescent)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagv $1, purple
if (matchre ("%tap", "((\bblack\b|\bgr[ae]y\b|white|argent|arsenic|\bashen\b|beige|camouflage|cinereous|colorless|\bcream\b|\bebon\b|eggshell|eisen|feldgrau|glaucous|pellucid|\bsable\b|taupe\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagn $1, grey
if (matchre ("%tap", "((rainbow|iridescent|pavonine|polychromatic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagm $1, rainbow
if (matchre ("%tap", "((\w+)-\bred\b)")) then var ctagr $1, $2, red
if (matchre ("%tap", "((\w+)-\borange\b)")) then var ctago $1, $2, orange
if (matchre ("%tap", "((\w+)-\bbrown\b)")) then var ctagt $1, $2, brown
if (matchre ("%tap", "((\w+)-\byellow\b)")) then var $1, $2, yellow
if (matchre ("%tap", "((\w+)-\bgreen\b)")) then var ctagg $1, $2, green
if (matchre ("%tap", "((\w+)-\bblue\b)")) then var ctagb $1, $2, blue
if (matchre ("%tap", "((\w+)-\b(purple|violet)\b)")) then var ctagv $1, $2, purple
if (matchre ("%tap", "((\w+)-\bblack\b)")) then var ctagn $1, $2, black
if (matchre ("%tap", "((\w+)-\bwhite\b)")) then var ctagn $1, $2, white
if (matchre ("%tap", "((\w+)-\bgr[ae]y\b)")) then var ctagn $1, $2, grey
if (matchre ("%tap", "(bronze|\bcoal\b|(?<!verdigris )\bcopper\b|(?<!(black|blighted|blue|crown|Elven|fool's|green|grey|pink|purple|red|rose|white|yellow) |cloth[- ]of[- ])\bgold\b|\blead\b|platinum|(?<!Elven |cloth[- ]of[- ])\bsilver\b)")) then var amtagm $1
if (matchre ("%tap", "(\bermine\b|feather|\bfur\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)gossamer|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blace\b)")) then var amtagf $1
if (matchre ("%tap", "(alabaster|(?<!dragonfire )\bamber\b|(?<!(lightning|violet'?s heart) )amethyst|aquamarine|\bbones?\b|carnelian|(?<!(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) )emerald|heliotrope|ivory|(?<!bleeding heart )\bjades?\b|\bonyxe?s?\b|(?<!(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) )\brub(y|ies)\b|(?<!(crimson|dalaeji black|dragon'?s scale|Drogor'?s Wrath|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) )sapphire|\bslate\b|turquoise)")) then var amtagg $1
if (matchre ("%tap", "(\bapple\b|\bash\b|\bcherry\b|chestnut|\bebony\b|\belder\b|laurel|mahogany)")) then var amtagw $1
if (matchre ("%tap", "(\belements?\b|\bwind\b)")) then var astage $1
if (matchre ("%tap", "(bison|\bboars?\b|\bbucks?\b|cardinal|\bcocks?\b|crocodile|\bdeers?\b|\bdoe\b|ermine|flies|\bfly\b|leech|mammoth|oyster|\brams?\b|salmon|shark|sheep|\bsnakes?\b|\btrolls?\b|\bwasps?\b|\bwings?\b|yeehar)")) then var astaga $1
if (matchre ("%tap", "(\bblooms?\b|\bblossoms?\b|\bbuds?\b|\bflorets?\b|\bflowers?\b|\bherbs?\b|\bvines?\b)")) then var astagh $1
if (matchre ("%tap", "(\bdeserts?\b|forest(?![- ]green)|\boceans?\b|\bseas?\b|\bstars?\b)")) then var astagl $1
if (matchre ("%tap", "((bronze|chestnut|copper)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagt $1
if (matchre ("%tap", "(red gold(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagy $1
if (matchre ("%tap", "((\bplum\b|thistle|\bviolet\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagv $1
if (matchre ("%mtagm", "(black|blue|crown|green|grey|pink|purple|red|rose|white|yellow) gold")) then var mtagm $1 gold, gold
if (matchre ("%mtagg", "(?i:(orchid|viperscale)) alexandrite")) then var mtagg $1 alexandrite, alexandrite
if (matchre ("%mtagg", "(?i:(lightning|violet'?s heart)) amethyst")) then var mtagg $1 amethyst, amethyst
if (matchre ("%mtagg", "(?i:(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white)) diamond")) then var mtagg $1 diamond, diamond
if (matchre ("%mtagg", "(?i:(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter)) emerald")) then var mtagg $1 emerald, emerald
if (matchre ("%mtagg", "(?i:(bloodmist|forest'?s heart|nimbus)) garnet")) then var mtagg $1 garnet, garnet
if (matchre ("%mtagg", "(?i:(autumn|ocean|spiderweb|wild horse)) jasper")) then var mtagg $1 jasper, jasper
if (matchre ("%mtagg", "(?i:(Hekemhhg|lapis)) lazuli")) then var mtagg $1 lazuli, lazuli
if (matchre ("%mtagg", "(?i:(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water)) opal")) then var mtagg $1 opal, opal
if (matchre ("%mtagg", "(?i:(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan)) pearl")) then var mtagg $1 pearl, pearl
if (matchre ("%mtagg", "(?i:(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate)) rub(y|ies)")) then var mtagg $1 ruby, ruby
if (matchre ("%mtagg", "(?i:(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren)) sapphire")) then var mtagg $1 sapphire, sapphire
if (matchre ("%mtagg", "(?i:(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar)) topaz")) then var mtagg $1 topaz, topaz
if (matchre ("%mtagg", "(?i:(aurora|vela'?tohr)) tourmaline")) then var mtagg $1 tourmaline, tourmaline
if (matchre ("%mtagf", "(?i:(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin)) ?(brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool)")) then var mtagf %mtagf, $2
if %mtagm = Damascus steel then var mtagg Damascus steel, steel
if %mtagm = Elven silver then var mtagg Elven silver, silver
if %mtagm = moonsilver then var mtagg moonsilver, silver
if %mtagm = silver-gilt then var mtagg silver-gilt, silver, gold
if %mtagm = sungold then var mtagg sungold, gold
if %mtagm = windsteel then var mtagg windsteel, steel
if %mtagg = chalcedon(y|ies) then var mtagg chalcedony
if %mtagg = rubies then var mtagg ruby
if %mtagg = soulstone then var mtagg DELETE
if %ctagr = pink, red then var ctagr pink
if %ctagr = cerise, red then var ctagr cerise, pink
if %ctagr = magenta, red then var ctagr magenta, pink
if %ctagr = rosy, red then var ctagr rosy, pink
if %ctagv = fuchsia, purple then var ctagv fuchsia, pink
if %ctagv = puce, purple then var ctagv puce, pink
if %ctagn = camouflage, grey then var ctagn camouflage, brown
if %ctagn = black, grey then var ctagn black
if %ctagn = ebon, grey then var ctagn ebon, black
if %ctagn = sable, grey then var ctagn sable, black
if %ctagn = white, grey then var ctagn white
if %ctagn = alabaster, grey then var ctagn alabaster, white
if %ctagn = beige, grey then var ctagn beige, white
if %ctagn = colorless, grey then var ctagn colorless, white
if %ctagn = cream, grey then var ctagn cream, white
if %ctagn = eggshell, grey then var ctagn eggshell, white
if %ctagn = ivory, grey then var ctagn ivory, white
if %ctagr = red, red then var ctagr red
if %ctago = orange, orange then var ctago orange
if %ctagt = brown, brown then var ctagt brown
if %ctagy = yellow, yellow then var ctagy yellow
if %ctagg = green, green then var ctagg green
if %ctagb = blue, blue then var ctagb blue
if %ctagv = purple, purple then var ctagv purple
if %ctagn = grey, grey then var ctagn grey
if %ctagn = black, black then var ctagn black
if %ctagn = white, white then var ctagn white
if %ctagm = rainbow, rainbow then var ctagm rainbow
return
return


Specialset:
Specialset:
if (matchre ("%look", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%look", "(Bard|Bardic|neithrel)")) then var special bard style
if (matchre ("%look", "(cambrinth)")) then var special cambrinth
if (matchre ("%look", "(cambrinth)")) then var special cambrinth
if (matchre ("%look", "(Cleric|benediction|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|monk|\bnun\b|pastor|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%look", "(Dwarf|Dwarve[ns]|Haakish)")) then var special dwarf style
if (matchre ("%look", "(Elf|Elve[ns]|Elvish|Ilithic|sana'ati dyaus)")) then var special elf style
if (matchre ("%look", "(Eloth|Gerenshuge)")) then var special elothean style
if (matchre ("%look", "(Empath|alfar|apothecaries|apothecary|colepexies|colepexy|dirnel|doctor|empathic|foraging|healer|healing|herbs?|medicine|medic|narmorbreth|nurse|physician|surgeon|woodwisp)")) then var special empath style
if (matchre ("%look", "(gaethzen)")) then var special gaethzen
if (matchre ("%look", "(gaethzen)")) then var special gaethzen
if (matchre ("%look", "(Gnome|Gnomic|Gnomish|Gizzbolf|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%look", "((percussion|string|wind) instrument)")) then var special $1 instrument
if (matchre ("%look", "(Gor'Tog|Toggish|Toggler)")) then var special gortog style
if (matchre ("%look", "(This customization can be used with any normal.+home)")) then var special housing
if (matchre ("%look", "(Halfling|Olvi)")) then var special halfling style
if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var special jewelry
if (matchre ("%look", "(Human|Gamgweth)")) then var special human style
if (matchre ("%look", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%look", "(Kaldar|Gorbesh|Aliesa|Aniek|Eimeuz|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%look", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var special bard style
if (matchre ("%look", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%look", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%look", "(anloral)")) then var special cleric style, paladin style
if (matchre ("%look", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var special empath style
if (matchre ("%look", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%look", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var special necromancer style
if (matchre ("%look", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%look", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%look", "(Prydaen|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Tenemlor)")) then var special prydaen style
if (matchre ("%look", "(Rakash|Moonskin|Coshivi|Enelne|Mrod)")) then var special rakash style
if (matchre ("%look", "(Ranger)")) then var special ranger style
if (matchre ("%look", "(Ranger)")) then var special ranger style
if (matchre ("%look", "(S'?Kra|Eth'ral'khh|ama'hhrsk|Hav'roth|Indakar|Irhhnth|Malk|mehath|Mhhg|Nehgris|Peri'el|Rasha|ru'at|sharmiit'mhhg|Smolg|Sraan|tail drape|T'Lar Venda)")) then var special skra mur style
if (matchre ("%look", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var special thief style
if (matchre ("%look", "(Thief|Thieves|brigand|burglar|highwaym[ae]n|pirate|robber|smuggler)")) then var special thief style
if (matchre ("%look", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%look", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%look", "(Warrior Mage|\ba?ether\b|element|talisman)")) then var special warrior mage style
if (matchre ("%look", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var special warrior mage style
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%look", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var special dwarf style
if (matchre ("%tap", "(Bard|Bardic|neithrel)")) then var special bard style
if (matchre ("%look", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var special elf style
if (matchre ("%look", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var special elothean style
if (matchre ("%look", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%look", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var special gortog style
if (matchre ("%look", "(Halfling|\bOlvi\b)")) then var special halfling style
if (matchre ("%look", "(Human|Gamgweth)")) then var special human style
if (matchre ("%look", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%look", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var special prydaen style
if (matchre ("%look", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var special rakash style
if (matchre ("%look", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var special skra mur style
if (matchre ("%tap", "(cambrinth)")) then var special cambrinth
if (matchre ("%tap", "(cambrinth)")) then var special cambrinth
if (matchre ("%tap", "(Cleric|benediction|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|monk|\bnun\b|pastor|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%tap", "(Dwarf|Dwarve[ns]|Haakish)")) then var special dwarf style
if (matchre ("%tap", "(Elf|Elve[ns]|Elvish|Ilithic|sana'ati dyaus)")) then var special elf style
if (matchre ("%tap", "(Eloth|Gerenshuge)")) then var special elothean style
if (matchre ("%tap", "(Empath|alfar|apothecaries|apothecary|colepexies|colepexy|dirnel|doctor|empathic|foraging|healer|healing|herbs?|medicine|medic|narmorbreth|nurse|physician|surgeon|woodwisp)")) then var special empath style
if (matchre ("%tap", "(gaethzen)")) then var special gaethzen
if (matchre ("%tap", "(gaethzen)")) then var special gaethzen
if (matchre ("%tap", "(Gnome|Gnomic|Gnomish|Gizzbolf|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var special creation
if (matchre ("%tap", "(Gor'Tog|Toggish|Toggler)")) then var special gortog style
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var special alchemy
if (matchre ("%tap", "(Halfling|Olvi)")) then var special halfling style
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var special $1 instrument
if (matchre ("%tap", "(Human|Gamgweth)")) then var special human style
if (matchre ("%tap", "(anatomy chart)")) then var special anatomy chart, empath style
if (matchre ("%tap", "(Kaldar|Gorbesh|Aliesa|Aniek|Eimeuz|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var special tack
if (matchre ("%tap", "(\btoy\b)")) then var special toy
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var special bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var special cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var special empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var special necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%tap", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%tap", "(Prydaen|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Tenemlor)")) then var special prydaen style
if (matchre ("%tap", "(Ranger|trail map)")) then var special ranger style
if (matchre ("%tap", "(Rakash|Moonskin|Coshivi|Enelne|Mrod)")) then var special rakash style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var special thief style
if (matchre ("%tap", "(Ranger)")) then var special ranger style
if (matchre ("%tap", "(S'?Kra|Eth'ral'khh|ama'hhrsk|Hav'roth|Indakar|Irhhnth|Malk|mehath|Mhhg|Nehgris|Peri'el|Rasha|ru'at|sharmiit'mhhg|Smolg|Sraan|tail drape|T'Lar Venda)")) then var special skra mur style
if (matchre ("%tap", "(Thief|Thieves|brigand|burglar|highwaym[ae]n|pirate|robber|smuggler)")) then var special thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|element|talisman)")) then var special warrior mage style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var special warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var special dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var special elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var special elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var special gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var special halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var special human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var special prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var special rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var special skra mur style
if (matchre ("%1", "(ashcloak|mysanda)")) then var special magic
if (matchre ("%1", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var special creation
if (matchre ("%1", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var special alchemy
if (matchre ("%1", "(candle|lamp|lantern|torch)")) then var special gives light
if (matchre ("%1", "(bridle|caparison|halter|saddle)")) then var special tack
if (matchre ("%1", "(doll|marionette|puppet|toy)")) then var special toy
if (matchre ("%1", "(warhorn)")) then var special barbarian style, bard style
if (matchre ("%1", "(cassock|chalice)")) then var special cleric style
if (matchre ("%1", "(sigilbook|starchart|telescope)")) then var special moon mage style
if (matchre ("%1", "(feedbag)")) then var special trader style
if (matchre ("%1", "(ashcloak)")) then var special warrior mage style
if (matchre ("%1", "(bulhawf)")) then var special dwarf style
if (matchre ("%1", "(\barca\b|\bbalac\b|catils|\bcelya\b|coinec|gelnutre|\bgerri\b|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|\bmahai\b|oinurte|\bpalta\b|\btago\b|takbahn|\btelo\b)")) then var special elf style
if (matchre ("%1", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var special elothean style
if (matchre ("%1", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var special kaldar style
if (matchre ("%1", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var special prydaen style
if (matchre ("%1", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var special rakash style
if (matchre ("%1", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var special skra mur style
return

Itypeset:
if (matchre ("%tap", "((awgravet|bar|bastard|battle|belaying|boarding|carving|dire|double|double-headed|duraka|elbow|flanged|footman's|giant|half-handled|hand|heavy|horseman's|hunting|hurlable|hurling|igorat|ilglaiks|imperial|k'trinni|knee|leaf blade|light|lochaber|marauder|military|mus|periperiu|pike|pole|ridged|robe|round|short|skinning|spiked|splitting|sterak|thick-bladed|thin-bladed|throwing|thrusting|twin-point|two-handed|two-headed|two-pronged|vilks|war|warring) (abassi|adze|akabo|allarh|arzfilt|ava|axe|back-sword|ball and chain|bardiche|baselard|blade|bludgeon|boko|bola|boomerang|briquet|broadaxe|broadsword|bulhawf|cane|chain|cinqueda|claws|claymore|club|condottiere|coresca|cosh|cudgel|curlade|cuska|cutlass|dagasse|dagger|dao|dart|falcata|falchion|fan|fauchard|flail|flamberge|fork|garz|gauntlet|gavel|gladius|glaive|greataxe|greathammer|greatsword|guisarme|halberd|hammer|hanger|hara|hatchet|hawkbill|hhr'ata|hhr'tami|hunthsleg|iltesh|jambiya|javelin|karambit|kasai|kaskara|katar|khuj|knife|knuckles|kodur|komno|koummya|kris|kudalata|kythe|lance|longsword|mace|mallet|mambeli|marlingspike|mattock|maul|misericorde|morning star|namkomba|nehdelata|nehlata|ngalio|nightstick|nimsha|oben|parang|partisan|pasabas|pike|pin|poignard|prod|pugio|quarterstaff|ranseur|rapier|recade|riste|sabre|sashqa|scepter|schiavona|scimitar|scythe|sha-tai|shh'oi'ata|shotel|skefne|sledgehammer|spatha|spear|spetum|spike|spikes|staff|stiletto|sunblade|sword|takouba|telek|tzece|ukabi|war hammer|zubke))")) then var itype $1
if (matchre ("%tap", "((assassin's|battle|competition|competition-balanced|dako'gi|drop-trigger|flat|flight|forester's|hirdu|horseman's|hunter's|pirate's|plains|recurved?|reflex|repeater|repeating|riot|s'rnhhl|saddle|savannah|siege|sniper's|steppe|tei'oloh|war) (arbalest|bow|chunenguti|composite bow|crossbow|hhr'ibu|jranoki|long ?bow|mahil|short ?bow|slurbow|stonebow|taisgwelduan|uku'uanstaho)|staff sling)")) then var itype $1
if (matchre ("%tap", "((battle|ceremonial|circular|crescent|curved|gladiator's|heater|jousting|kite|medium|ordinary|oval|pageant|rectangular|riot|round|rounded|shuri-kota|siege|skirmisher's|target|tower|triangular|valnik|wall|war|warrior's|wickerwork) (aegis|buckler|heater|pavise|scutum|shield|sipar|targe))")) then var itype $1
if (matchre ("%tap", "((brigandine|chain|closed|cloth|coarse|dome|field|full|great|half|heavy|insulated|lamellar|leather|light|mail|padded|plate|quilted|ring|rugged|scale|thick|visored) (aventail|backplate|balaclava|barbute|bascinet|breastplate|cap|coat|cowl|cuirass|fauld|gauntlets|gloves|greaves|hauberk|helm|hood|jerkin|leathers|lorica|mantle|mask|morion|pants|plate|robe|sallet|shirt|sleeves|tabard|tailcoat|tasset|thorakes|vambraces|vest))")) then var itype $1
if (matchre ("%tap", "((engagement|thumb|toe|wedding) (band|ring|tailband))")) then var itype $1
return
return


Typeset:
Typeset:
if (matchre ("%look", "(cambrinth)")) then var typemagic cambrinth
if (matchre ("%1", "(aggahhpel|amulet|anklet|armband|armlet|badge|band|bangle|barrette|bead|boutonniere|bracelet|bracer|brooch|button|chain|charm|choker|circlet|clasp|claw|crown|cuff|earcuff|earring|feather|fetish|garland|haircomb|hairnet|hairpin|lei|locket|medal|medallion|necklace|pendant|periapt|pilonu|pin|por'nidrel|ribbon|ring|stud|sur'nidrel|tailband|torque|trinket|venda|wristband|wristcuff|wristlet)")) then var type1 jewelry
if (matchre ("%1", "(aggahhpel|gamantang|pel'hhsmur|pilonu|por'nidrel|rasha'hhsograth|sur'nidrel|uaro's'sugi)")) then var type3 skra mur style
if (matchre ("%look", "(gaethzen)")) then var typemagic gaethzen
if (matchre ("%look", "((percussion|string|wind) instrument)")) then var typefunction $1 instrument
if (matchre ("%1", "(alb|apron|bandeau|belt|beret|blouse|bodice|bonnet|boots|breeches|caftan|cape|cassock|chemise|cloak|clogs|coat|corset|dirndl|doublet|drape|dress|eyepatch|fabric|fedora|fillet|frock|gamantang|gloves|gown|hat|hood|hose|jacket|jerkin|josta|kilt|kimono|krekls|leggings|loincloth|mantle|mask|moccasins|mra'sin|nauda|odaj|overalls|pall|pants|pelt|robe|safros|sandals|sarong|sarrak|sash|scarf|shawl|shirt|shoes|skirt|skullcap|slippers|smock|snood|sochi|socks|stockings|stole|tabard|tam|tights|toga|trousers|tunic|turban|uaro's'sugi|veil|vest|vikses|vluze|wimple|wing|wrap)")) then var type1 clothing
if (matchre ("%1", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|mortar|pattern|primer|shears|thread)")) then var type1 creation
if (matchre ("%look", "(This customization can be used with any normal.+home)")) then var typefunction housing
if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var typefunction jewelry
if (matchre ("%1", "(bagpipes|bassoon|cane flute|clarin|cornet|didjeridu|fife|flute|gemshorn|hichiriki|horn|minjayrah|mirliton|mitbiq|oboe|ocarina|physalis|recorder|sackbut|serpent|shakuhachi|shawm|syrinx|txistu|whistle|yarghul|zurna)")) then var type1 wind instrument
if (matchre ("%look", "(Barbarian|chakrel|warpaint)")) then var typeguild barbarian style
if (matchre ("%1", "(banjo|cistre|cittern|faenellica|fiddle|gittern|guti'adar|harp|khurmary|kithara|lute|lyre|mandolin|psaltery|rebec|sarangi|sitar|sra'ajahh|tambura|violin|zither)")) then var type1 string instrument
if (matchre ("%1", "(bodhran|bones|castanets|cymbals|damaru|darje|doumbec|frottoir|gansa-gambang|guiro|naqqara|spoons|tabla|tambourine|tapani|zills)")) then var type1 percussion instrument
if (matchre ("%look", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var typeguild bard style
if (matchre ("%look", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var typeguild cleric style
if (matchre ("%1", "(cassock|censer)")) then var type3 cleric style
if (matchre ("%1", "(doll|puppet)")) then var type1 toy
if (matchre ("%look", "(anloral)")) then var typeguild cleric style, paladin style
if (matchre ("%1", "(feedbag)")) then var type1 trader style
if (matchre ("%look", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var typeguild empath style
if (matchre ("%look", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var typeguild moon mage style
if (matchre ("%1", "(kimono)")) then var type3 elothean style
if (matchre ("%1", "(mra'sin|josta|krekls|rugursora|safros|sarrak|sega|sochi|vikses|vluze)")) then var type3 prydaen style
if (matchre ("%look", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var typeguild necromancer style
if (matchre ("%1", "(nauda|odaj)")) then var type3 rakash style
if (matchre ("%look", "(Paladin|soulstone)")) then var typeguild paladin style
if (matchre ("%1", "(sigilbook|starchart|telescope)")) then var type1 moon mage style
if (matchre ("%look", "(Ranger)")) then var typeguild ranger style
if (matchre ("%1", "(warhorn)")) then var type1 barbarian style
if (matchre ("%look", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var typeguild thief style
if (matchre ("%1", "(warhorn)")) then var type2 bard style
if (matchre ("%look", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var typeguild trader style
if (matchre ("%look", "(cambrinth)")) then var type4 cambrinth
if (matchre ("%look", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var typeguild warrior mage style
if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var type1 jewelry
if (matchre ("%look", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var typerace dwarf style
if (matchre ("%look", "(gaethzen)")) then var type4 gaethzen
if (matchre ("%look", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var typerace elf style
if (matchre ("%look", "(This customization can be used with any normal.+home)")) then var type1 housing
if (matchre ("%look", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var typerace elothean style
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|Wayerd pyramid|wood shaper)")) then var type1 creation
if (matchre ("%look", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var typerace gnome style
if (matchre ("%tap", "(acolyte|clergy|clerical|Cleric|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|monk|\bnun\b|pastor|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var type3 cleric style
if (matchre ("%look", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var typerace gortog style
if (matchre ("%tap", "(anatomy chart)")) then var type1 anatomy chart
if (matchre ("%look", "(Halfling|\bOlvi\b)")) then var typerace halfling style
if (matchre ("%tap", "(anatomy chart)")) then var type2 empath style
if (matchre ("%look", "(Human|Gamgweth)")) then var typerace human style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var type2 cleric style
if (matchre ("%look", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var typerace kaldar style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var type3 paladin style
if (matchre ("%look", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var typerace prydaen style
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var type3 barbarian style
if (matchre ("%look", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var typerace rakash style
if (matchre ("%look", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var typerace skra mur style
if (matchre ("%tap", "(Bard|Bardic|neithrel)")) then var type3 bard style
if (matchre ("%tap", "(cambrinth)")) then var type4 cambrinth
if (matchre ("%tap", "(cambrinth)")) then var typemagic cambrinth
if (matchre ("%tap", "(Dwarf|Dwarve[ns]|Haakish)")) then var type3 dwarf style
if (matchre ("%tap", "(gaethzen)")) then var typemagic gaethzen
if (matchre ("%tap", "(Elf|Elve[ns]|Elvish|Ilithic|sana'ati dyaus)")) then var type3 elf style
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var typefunction creation
if (matchre ("%tap", "(Eloth|Gerenshuge)")) then var type3 elothean style
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var typefunction alchemy
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medicine|medic|nurse|physician|surgeon)")) then var type3 empath style
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var typefunction $1 instrument
if (matchre ("%tap", "(gaethzen)")) then var type4 gaethzen
if (matchre ("%tap", "(anatomy chart)")) then var typefunction anatomy chart, empath style
if (matchre ("%tap", "(Gnome|Gnomic|Gnomish|Gizzbolf|Krigglin|Spangklud)")) then var type3 gnome style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var typefunction tack
if (matchre ("%tap", "(Gor'Tog|Toggish|Toggler)")) then var type3 gortog style
if (matchre ("%tap", "(\btoy\b)")) then var typefunction toy
if (matchre ("%tap", "(Halfling|Olvi)")) then var halfling race style
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var typeguild barbarian style
if (matchre ("%tap", "(Human|Gamgweth)")) then var human race style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var typeguild bard style
if (matchre ("%tap", "(Kaldar|Gorbesh|Aliesa|Aniek|Eimeuz|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var type3 kaldar style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var typeguild cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var typeguild cleric style, paladin style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var type3 moon mage style
if (matchre ("%tap", "(Paladin|soulstone)")) then var type3 paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var typeguild empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var typeguild moon mage style
if (matchre ("%tap", "(Prydaen|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Tenemlor)")) then var type3 prydaen style
if (matchre ("%tap", "(Rakash|Moonskin|Coshivi|Enelne|Mrod)")) then var type3 rakash style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var typeguild necromancer style
if (matchre ("%tap", "(Ranger)")) then var type3 ranger style
if (matchre ("%tap", "(Paladin|soulstone)")) then var typeguild paladin style
if (matchre ("%tap", "(S'?Kra|Eth'ral'khh|ama'hhrsk|Hav'roth|Indakar|Irhhnth|Malk|mehath|Mhhg|Nehgris|Peri'el|Rasha|ru'at|sharmiit'mhhg|Smolg|Sraan|tail drape|T'Lar Venda)")) then var type3 skra mur style
if (matchre ("%tap", "(Ranger|trail map)")) then var typeguild ranger style
if (matchre ("%tap", "(Thief|Thieves|brigand|burglar|highwaym[ae]n|pirate|robber|smuggler)")) then var type3 thief style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var typeguild thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var type3 trader style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var typeguild trader style
if (matchre ("%tap", "(trail map)")) then var type1 ranger style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var typeguild warrior mage style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|element|talisman)")) then var type3 warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var typerace dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var typerace elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var typerace elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var typerace gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var typerace gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var typerace halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var typerace human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var typerace kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var typerace prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var typerace rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var typerace skra mur style
if (matchre ("%1", "(\balb\b|apron|\barek\b|ashcloak|balac|baladrana|ballgown|bandeau|\bbelt\b|beret|blazer|blouse|bodice|bodysuit|bonnet|boots|breeches|britches|brogans|bustier|caftan|\bcap\b|\bcape\b|cassock|catils|chemise|cheongsam|chmir|chola|choli|cloak|cloche|clogs|\bcoat\b|coinec|corset|cummerbund|deerstalker|derby|dirndl|domisaha|doublet|drape|dress|eyepatch|fabric|fedora|fillet|frock|galoshes|gamantang|garter|gerri|gloves|\bgown\b|\bhac\b|\bhat\b|headband|\bhood\b|\bhose\b|ilalish|jacket|jerkin|jodhpurs|josta|khandur|\bkilt\b|kimono|kirtle|kisti|knickers|krekls|laufisana|leggings|leine|loafers|loincloth|longcoat|lusks|mantle|\bmask\b|mittens|mocc?asins|mra'?sin|\bmuff\b|muffler|nauda|\bodaj\b|overalls|\bpall\b|pantaloons|pants|pel'?hhsmur|\bpelt\b|poncho|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|pumps|ra'?sarrak|rantija|\brobes?\b|\bruff\b|ruven|safos|safros|sandals|\bsari\b|sarong|sarrak|\bsash\b|scarf|shawl|shift|shirt|shoes|shroud|skirt|skullcap|slacks|slippers|smock|snood|sochi|socks|spats|stockings|stole|\bsuit\b|sundress|surcoat|suspenders|sweater|tabard|tailcoat|takbahn|\btam\b|tights|\btoga\b|trews|trousers|tunic|turban|uaro'?s'?sugi|vakoti|\bveil\b|\bvest\b|vestments?|vikses|vluze|waistcoat|wimple|\bwings?\b|\bwrap\b)")) then var typefunction clothing
if (matchre ("%1", "(\bafis\b|aggahhpel|amulet|anklet|armband|armlet|badge|\bband\b|bangle|barrette|\bbead\b|boutonniere|bracelet|bracer|breastpin|brooch|buckle|button|\bchains?\b|charm|choker|circlet|clasp|\bclaw\b|collar|\bcord\b|crown|\bcuff\b|diadem|earcuff|earring|feather|ferroniere|fetish|garland|haircomb|hairnet|hairpin|hairsticks|handflower|hip-chain|jewels|\blei\b|locket|medal|medallion|muhenta|necklace|pearls|pendant|periapt|peyvu|pilonu|\bpin\b|por'?nidrel|rasha'?hhsograth|ribbon|\bring\b|sharmiit'?mhhg|\bstud\b|sur'?nidrel|tailband|thighband|torque|trinket|turinstil|varna|venda|wreath|wristband|wristcuff|wristlet)")) then var typefunction jewelry
if (matchre ("%1", "(ashcloak|mysanda)")) then var typemagic magic
if (matchre ("%1", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var typefunction creation
if (matchre ("%1", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var typefunction alchemy
if (matchre ("%1", "(bodhran|bones|castanets|cymbals|damaru|darje|doumbec|drum|frottoir|gansa-gambang|guiro|naqqara|sonajero|spoons|tabla|tambourine|tapani|zills)")) then var typefunction percussion instrument
if (matchre ("%1", "(banjo|bow|cistre|cittern|dulcimer|faenellica|fiddle|gittern|guti'?adar|harp|khurmary|kithara|lute|lyre|mandolin|nehpar'?i|psaltery|ramkie|rebec|sarangi|sitar|sra'?aja?hh|strings|tambura|\bviol\b|violin|zither)")) then var typefunction string instrument
if (matchre ("%1", "(bagpipes|bassoon|cane flute|chalumeaux|clarin|cornemuse|cornet|didjeridu|fife|flute|gemshorn|hichiriki|horn|minjayrah|mirliton|mitbiq|nguru|oboe|ocarina|pan-pipes|physalis|piccolo|recorder|sackbut|serpent|shakuhachi|shawm|shintu|syrinx|txistu|whistle|yarghul|zurna)")) then var typefunction wind instrument
if (matchre ("%1", "(candle|lamp|lantern|torch)")) then var typefunction gives light
if (matchre ("%1", "(bridle|caparison|halter|saddle)")) then var typefunction tack
if (matchre ("%1", "(doll|marionette|puppet|toy)")) then var typefunction toy
if (matchre ("%1", "(warhorn)")) then var typeguild barbarian style, bard style
if (matchre ("%1", "(cassock|chalice)")) then var typeguild cleric style
if (matchre ("%1", "(sigilbook|starchart|telescope)")) then var typeguild moon mage style
if (matchre ("%1", "(feedbag)")) then var typeguild trader style
if (matchre ("%1", "(ashcloak)")) then var typeguild warrior mage style
if (matchre ("%1", "(bulhawf)")) then var typerace dwarf style
if (matchre ("%1", "(\barca\b|balac|catils|celya|coinec|gelnutre|gerri|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|mahai|oinurte|palta|\btago\b|takbahn|\btelo\b)")) then var typerace elf style
if (matchre ("%1", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var typerace elothean style
if (matchre ("%1", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var typerace kaldar style
if (matchre ("%1", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var typerace prydaen style
if (matchre ("%1", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var typerace rakash style
if (matchre ("%1", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var typerace skra mur style
if %typefunction = clothing && %wearloc = DELETE then var wearloc -
if %typefunction = jewelry && %wearloc = DELETE then var wearloc -
if %typecon = container && %wearloc = DELETE then var wearloc -
return
return


CommaAppcost:
CommaAppcost:
var commanumber %appcosti
var commanumber %appcostk
eval length len(%commanumber)
eval length len(%commanumber)
var appcost %commanumber
var appcost %commanumber
Line 1,285: Line 2,175:
lastapp:
lastapp:
if %length > 0 then
if %length > 0 then
{
{eval temp substr(%commanumber, 0, %length)
eval temp substr(%commanumber, 0, %length)
var appcost %temp,%appcost
var appcost %temp,%appcost
}
}goto return
goto return


CommaCost:
CommaCost:
Line 1,305: Line 2,197:
lastcost:
lastcost:
if %length > 0 then
if %length > 0 then
{
{eval temp substr(%commanumber, 0, %length)
eval temp substr(%commanumber, 0, %length)
var cost %temp,%cost
var cost %temp,%cost
}
}goto return
goto return


return:
return:
return

verbcheck:
send study %number %1 $preposition $shop
wait
pause .5
send analyze %number %1 $preposition $shop
wait
pause .5
send focus %number %1 $preposition $shop
wait
pause .5
return
return


end:
end:
send shop
send shop
waitfor [Type SHOP [ITEM] to see what's on it.]
waitforre ^\[Type SHOP \[ITEM\] to see what's on it|^There is nothing to buy here
send shop $shop
send shop $shop
waitfor [Type SHOP [GOOD] to see some details about it.]
waitforre ^\[Type SHOP \[GOOD\] to see some details about it|^There is nothing to buy here
echo Last noun: %1 ($preposition $shop)
put #echo Last noun: %1 ($preposition $shop)
put #class racial on
put #play ScriptEnd
put #flash
put #parse SCRIPT DONE
exit</pre>

==Script (Held Items and Measuring)==

<pre>#debuglevel 10
put #class rp on
put #class arrive off
put #class joust off
put #class combat off
put #class racial off
put #class shop off
setvariable short $righthand

var appcostl 0
var appcostd 0
var newshieldapp no
action goto end when ^I could not find what (you|you were) referring to\.$

if $lefthand = Empty then
{
send get my $yardstick
waitforre ^You get|^You are already holding that
}

#action goto enderror1 when ^You .+ a quality of \d+, placing it at .+ on the official Trader's Scale\.$|^You.+the \S+ in the .+ is of .+ quality\.$
#action goto enderror2 when ^The .+ looks? to be custom-made\.$
action setvariable tap $2 when ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying
action setvariable tap $2 when ^On the.+you see (a|an|some|the) (.+)\.$
action setvariable tap $2 when ^You glance at (a|an|some|the) (.+)\.$|^Considering the security around the Phelim starblade
action setvariable tap $2 when ^You quietly examine (a|an|some|the) (.+) and notice a price tag indicating
action setvariable tap $2 when ^You tap (a|an|some|the) (.+)\.$
action setvariable tap $2;setvariable look $3 when ^\w+ shows you (an?|some|the) (.+?)\.\s+(.+)
action setvariable tap $2;setvariable look - when ^\w+ shows you (an?|some|the) (.+)\.$
action setvariable short $2 when ^Considering the security around (a|an|some|the) (.+), it would be ill advised to tamper with it.
action setvariable short $2 when ^Short: (a|an|some|the) (.+)
action setvariable look $1 when ^Look: (.+)
action setvariable look - when ^Look: You see nothing unusual\.$
action setvariable look - when ^You see nothing unusual\.$
action setvariable read $1 when ^Read:\s+(.+)$
action setvariable typefunction tack when ^This is specifically designed to be worn by a horse\.$
action setvariable special tack when ^This is specifically designed to be worn by a horse\.$
action setvariable typecon container when ^The .+ (are|is) a container, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) a container\.$
action setvariable typecon container when ^The .+ (are|is) pocketed, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) pocketed\.$
action setvariable typecon container when ^The gem pouch is made for easy storage of gems
action setvariable typeguild trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable special trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable wearloc $2 when ^It appears that .+ can be worn (around|in|on) the (.+)\.$
action setvariable wearloc $1 when ^It appears that .+ can be draped over the (.+)\.$
action setvariable wearloc generic when ^It appears that .+ can be worn\.$
action setvariable wearloc belt when ^It appears that .+ can be worn attached to a belt\.$
action setvariable wearloc belt when ^The gem pouch is made for easy storage of gems
action setvariable wearloc ear when ^It appears that .+ can be worn in one ear
action setvariable wearloc ears when ^It appears that .+ can be worn in both ears
action setvariable wearloc hair (placed) when ^It appears that .+ can be worn in the hair\.$
action setvariable wearloc pants when ^It appears that .+ can be worn like pants or a skirt\.$
action setvariable wearloc shirt (with armor) when ^It appears that .+ can be worn as a shirt or robe, even with armor\.$
action setvariable wearloc shirt (without armor) when ^It appears that .+ can be worn like a shirt or robe\.$
action setvariable wearloc shoulder when ^It appears that .+ can be slung over one shoulder\.$
action setvariable wearloc upper arm when ^It appears that .+ can be worn on the upper ?arm\.$
action setvariable weight $1 when ^You are certain that .+ weighs exactly (\d+) (stones?)\.$
action setvariable lsize $1;setvariable wsize $2;setvariable hsize $3 when ^You compare your .+ with the .+ yardstick several times and are certain the length measures (.+) spans?, the width measures (.+) spans? and the height measures (.+) spans?\.$
action setvariable ilsize $1;setvariable iwsize $2;setvariable ihsize $3;setvariable csize $4 when ^You compare your .+ with the .+ yardstick several times and are certain the interior length measures (.+) spans?, the interior width measures (.+) spans?, the interior height measures (.+) spans? and the .+ appears capable of holding about (\d+) stones of weight\.$
action setvariable appcostk $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:kronars)\.$
action setvariable appcostk 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:kronar)\.$
action setvariable appcostk 0 when ^You are certain that .+ (is|are) worth exactly nothing\.$
action setvariable appcostk - when ^There doesn't appear to be anything in the gem pouch\.$
action setvariable appcostk - when is made for easy storage of gems, and is used by gemshops everywhere to handle bulk transactions\.$
action setvariable appcostl $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:lirums)\.$
action setvariable appcostl 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:lirum)\.$
action setvariable appcostd $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:dokoras)\.$
action setvariable appcostd 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:dokora)\.$
action setvariable costi $1 when ^Cost: (\d+)
action setvariable maxcharge $1 when ^You are certain that the .+ holds? exactly (\d+) mana\.$
action setvariable metal yes when ^The .+ (is|are) made with metal\.$

action setvariable wtype1 LE;setvariable wtypename1 light edged;setvariable wskill1 small edged when (is a|are a|and) light edged .+ weapon
action setvariable wtype1 ME;setvariable wtypename1 medium edged;setvariable wskill1 small edged when (is a|are a|and) medium edged .+ weapon
action setvariable wtype1 HE;setvariable wtypename1 heavy edged;setvariable wskill1 large edged when (is a|are a|and) heavy edged .+ weapon
action setvariable wtype1 2HE;setvariable wtypename1 two-handed edged;setvariable wskill1 twohanded edged when (is a|are a|and) two-handed edged .+ weapon
action setvariable wtype1 LB;setvariable wtypename1 light blunt;setvariable wskill1 small blunt when (is a|are a|and) light blunt .+ weapon
action setvariable wtype1 MB;setvariable wtypename1 medium blunt;setvariable wskill1 small blunt when (is a|are a|and) medium blunt .+ weapon
action setvariable wtype1 HB;setvariable wtypename1 heavy blunt;setvariable wskill1 large blunt when (is a|are a|and) heavy blunt .+ weapon
action setvariable wtype1 2HB;setvariable wtypename1 two-handed blunt;setvariable wskill1 twohanded blunt when (is a|are a|and) two-handed blunt .+ weapon
action setvariable wtype1 SL;setvariable wtypename1 sling;setvariable wskill1 slings when (is|are) a sling .+ weapon
action setvariable wtype1 StS;setvariable wtypename1 staff sling;setvariable wskill1 slings when (is|are) a staff sling .+ weapon
action setvariable wtype1 rock;setvariable wtypename1 sling ammo;setvariable wskill1 slings when ^This appears to be ammunition for slings\.$
action setvariable wtype1 SB;setvariable wtypename1 short bow;setvariable wskill1 bow when (is|are) a short bow .+ weapon
action setvariable wtype1 LoB;setvariable wtypename1 long bow;setvariable wskill1 bow when (is|are) a long bow .+ weapon
action setvariable wtype1 CB;setvariable wtypename1 composite bow;setvariable wskill1 bow when (is|are) a composite bow .+ weapon
action setvariable wtype1 arrow;setvariable wtypename1 bow ammo;setvariable wskill1 slings when ^This appears to be ammunition for bows\.$
action setvariable wtype1 LX;setvariable wtypename1 light crossbow;setvariable wskill1 crossbow when (is|are) a light crossbow .+ weapon
action setvariable wtype1 HX;setvariable wtypename1 heavy crossbow;setvariable wskill1 crossbow when (is|are) a heavy crossbow .+ weapon
action setvariable wtype1 bolt;setvariable wtypename1 crossbow ammo;setvariable wskill1 slings when ^This appears to be ammunition for crossbows\.$
action setvariable wtype1 SS;setvariable wtypename1 short staff;setvariable wskill1 staves when (is a|are a|and) short staff .+ weapon
action setvariable wtype1 QS;setvariable wtypename1 quarter staff;setvariable wskill1 staves when (is a|are a|and) quarter staff .+ weapon
action setvariable wtype1 PI;setvariable wtypename1 pike;setvariable wskill1 polearms when (is a|are a|and) pike .+ weapon
action setvariable wtype1 HAL;setvariable wtypename1 halberd;setvariable wskill1 polearms when (is a|are a|and) halberd .+ weapon
action setvariable wtype1 parry;setvariable wskill1 brawling when ^You are certain that the .+ is a purely defensive item\.$
action setvariable wtype1 elbows;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the elbows\.$
action setvariable wtype1 hands;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the hands\.$
action setvariable wtype1 knees;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the knees\.$
action setvariable wtype1 feet;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the feet\.$
action setvariable wtype2 LT;setvariable wtypename2 light thrown;setvariable wskill2 light thrown when (is|are) a light thrown and .+ weapon
action setvariable wtype2 HT;setvariable wtypename2 heavy thrown;setvariable wskill2 heavy thrown when (is|are) a heavy thrown and .+ weapon
action setvariable range melee when melee-ranged weapon
action setvariable range pole when pole-ranged weapon
action setvariable puncture $1 when ^\s+(.*) puncture damage
action setvariable slice $1 when ^\s+(.*) slice damage
action setvariable impact $1 when ^\s+(.*) impact damage
action setvariable fire $1 when ^\s+(.*) fire damage
action setvariable cold $1 when ^\s+(.*) cold damage
action setvariable electric $1 when ^\s+(.*) electric damage
action setvariable puncture quite a bit when ^\s+quite a bit of puncture damage
action setvariable slice quite a bit when ^\s+quite a bit of slice damage
action setvariable impact quite a bit when ^\s+quite a bit of impact damage
action setvariable fire quite a bit when ^\s+quite a bit of fire damage
action setvariable cold quite a bit when ^\s+quite a bit of cold damage
action setvariable electric quite a bit when ^\s+quite a bit of electric damage
action setvariable puncturetypename Yes when ^\s+(.*) puncture damage increase
action setvariable slicetypename Yes when ^\s+(.*) slice damage increase
action setvariable impacttypename Yes when ^\s+(.*) impact damage increase
action setvariable foi $1 when .+ is (.*) designed for improving the force of your attacks\.$
action setvariable balance $1 when .+ is (.*) balanced
action setvariable power $1 when .+ is (.*) suited
action setvariable drawstrength $1 when ^The .+ appears set for a draw strength that is (.+) for a bow of this type\.$
action setvariable adraw Yes when ^The .+ appears to have an adjustable draw strength\.$
action setvariable adraw No when ^The .+ does not appear to have an adjustable draw strength\.$

action setvariable stype lsh;setvariable stypename large when is large in size\.$
action setvariable stype msh;setvariable stypename medium when is medium in size\.$
action setvariable stype ssh;setvariable stypename small when is small in size\.$
action setvariable newshieldapp Yes when ^Your experience with shields allows a better appraisal of the protection capabilities\.$
action setvariable sprotection $1 when .+ offers (.*) protection
action setvariable smin $1 when ^You are certain that .+ offers (.*) to .+ protection\.
action setvariable smax $1 when ^You are certain that .+ offers .+ to (.*) protection\.
action setvariable shindrance $1 when .+ it imposes? (.*) maneuvering hindrance.

action setvariable atype plate armor when (is|are) plate armor\.$
action setvariable atype brigandine when (is|are) brigandine armor\.$
action setvariable atype chain armor when (is|are) chain armor\.$
action setvariable atype light armor when (is|are) light armor\.$
action setvariable abpuncture $1 when .+ \s(.*) for puncture attacks
action setvariable abslice $1 when .+ \s(.*) for slice attacks
action setvariable abimpact $1 when .+ \s(.*) for impact attacks
action setvariable abfire $1 when .+ \s(.*) for fire attacks
action setvariable abcold $1 when .+ \s(.*) for cold attacks
action setvariable abelectrical $1 when .+ \s(.*) for electrical attacks
action setvariable appuncture $1 when .+ \s(.*) protection and .+ damage absorption for puncture attacks
action setvariable apslice $1 when .+ \s(.*) protection and .+ damage absorption for slice attacks
action setvariable apimpact $1 when .+ \s(.*) protection and .+ damage absorption for impact attacks
action setvariable apfire $1 when .+ \s(.*) protection and .+ damage absorption for fire attacks
action setvariable apcold $1 when .+ \s(.*) protection and .+ damage absorption for cold attacks
action setvariable apelectrical $1 when .+ \s(.*) protection and .+ damage absorption for electrical attacks
action setvariable aapuncture $1 when .+ protection and (.*) damage absorption for puncture attacks
action setvariable aaslice $1 when .+ protection and (.*) damage absorption for slice attacks
action setvariable aaimpact $1 when .+ protection and (.*) damage absorption for impact attacks
action setvariable aafire $1 when .+ protection and (.*) damage absorption for fire attacks
action setvariable aacold $1 when .+ protection and (.*) damage absorption for cold attacks
action setvariable aaelectrical $1 when .+ protection and (.*) damage absorption for electrical attacks
action setvariable ahindrance $1 when .+ appears? to impose (.*), offering
action setvariable mhindrance $1 when .+ appears? to impose (.*) maneuvering hindrance and
action setvariable shindrance $1 when .+ appears? to impose .+ maneuvering hindrance and (.*) stealth hindrance
action setvariable ahead head when ^\s+head$
action setvariable aeyes eyes when ^\s+right eye$
action setvariable aneck neck when ^\s+neck$
action setvariable achest chest when ^\s+chest$
action setvariable aback back when ^\s+back$
action setvariable aabdomen abdomen when ^\s+abdomen$
action setvariable aarms arms when ^\s+right arm$
action setvariable aarms arms when ^\s+right front leg$
action setvariable alegs legs when ^\s+right leg$
action setvariable alegs legs when ^\s+right rear leg$
action setvariable ahands hands when ^\s+right hand$

action setvariable construction $2 when ^You are certain that the .+ (is|are) (.*) (and easily damaged|against damage|to damage)
action setvariable construction average construction when ^You are certain that the .+ (is|are) of average construction

put #echo
put #echo ITEM TYPE:
put #echo
put #echo 1: Weapon: Melee/Thrown
put #echo
put #echo 2: Weapon: Ranged
put #echo
put #echo 3: Weapon: Ammunition
put #echo
put #echo 4: Weapon: Brawling
put #echo
put #echo 5: Weapon: Parry Stick
put #echo
put #echo 6: Shield
put #echo
put #echo 7: Armor/Barding
put #echo
put #echo 8: Item
put #echo
put #echo Enter Type Number:

matchre WeaponApp1 ^1$
matchre WeaponApp2 ^2$
matchre WeaponApp3 ^3$
matchre WeaponApp4 ^4$
matchre WeaponApp5 ^5$
matchre ShieldApp ^6$
matchre ArmorApp ^7$
matchre ItemApp ^8$
matchre ItemApp ^9$
matchwait

WeaponApp1:
var number %numbers(%numbers.index)
gosub AppraiseWeapon1
goto verbcheck

WeaponApp2:
var number %numbers(%numbers.index)
gosub AppraiseWeapon2
goto verbcheck

WeaponApp3:
var number %numbers(%numbers.index)
gosub AppraiseWeapon3
goto verbcheck

WeaponApp4:
var number %numbers(%numbers.index)
gosub AppraiseWeapon4
goto verbcheck

WeaponApp5:
var number %numbers(%numbers.index)
gosub AppraiseWeapon5
goto verbcheck

ShieldApp:
var number %numbers(%numbers.index)
gosub AppraiseShield
goto verbcheck

ArmorApp:
var number %numbers(%numbers.index)
gosub AppraiseArmor
goto verbcheck

ItemApp:
var number %numbers(%numbers.index)
gosub AppraiseItem
goto verbcheck

AppraiseWeapon1:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |range=%range
put #echo |type=%wtype1
put #echo |type2=%wtype2
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=%foi
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (%weight stones)
put #echo note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |range=%range
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |type2=%wtype2
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon2:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |range=ranged
put #echo |ammo=%ammo
put #echo |ammocap=
put #echo |rangedRT=
put #echo |drawstrength=%drawstrength
put #echo |adraw=%adraw
put #echo |type=%wtype1
put #echo |puncture=-
put #echo |foi=%foi
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |range=ranged
put #log >Appraisal-$charactername.txt |ammo=%ammo
put #log >Appraisal-$charactername.txt |ammocap=
put #log >Appraisal-$charactername.txt |rangedRT=
put #log >Appraisal-$charactername.txt |drawstrength=%drawstrength
put #log >Appraisal-$charactername.txt |adraw=%adraw
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon3:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%wtype1
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=-
put #echo |balance=-
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon4:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |brawl=yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%wtype1
put #echo |puncture=%puncture
put #echo |puncturetype=%puncturetype
put #echo |slice=%slice
put #echo |slicetype=%slicetype
put #echo |impact=%impact
put #echo |impacttype=%impacttype
put #echo |foi=%foi
put #echo |balance=-
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo brawling (%wtype1)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |puncturetype=%puncturetype
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |slicetype=%slicetype
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |impacttype=%impacttype
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (%wtype1)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon5:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |brawl=yes
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=parry
put #echo |puncture=-
put #echo |puncturetype=No
put #echo |slicetype=No
put #echo |impacttype=No
put #echo |foi=-
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo brawling (parry)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=parry
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal-$charactername.txt |puncturetype=No
put #log >Appraisal-$charactername.txt |slicetype=No
put #log >Appraisal-$charactername.txt |impacttype=No
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (parry)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseShield:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what

if %newshieldapp = no then var smin NOTSET
if %newshieldapp = no then var smax NOTSET
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #echo
put #echo {{Shield
put #echo |newshieldapp=%newshieldapp
put #echo |name=%tap
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%stype
put #echo |hindrance=%shindrance
put #echo |minprotection=%smin
put #echo |maxprotection=%smax
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=-
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Shield
put #log >Appraisal-$charactername.txt |newshieldapp=%newshieldapp
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%stype
put #log >Appraisal-$charactername.txt |hindrance=%shindrance
put #log >Appraisal-$charactername.txt |minprotection=%smin
put #log >Appraisal-$charactername.txt |maxprotection=%smax
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseArmor:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if %aapuncture = %aaslice && %aapuncture = %aaimpact && %aapuncture = %aafire && %aapuncture = %aacold && %aapuncture = %aaelectrical then var absorbance %aapuncture
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #echo
put #echo {{Armor
put #echo |name=%tap
put #echo |newarmorapp=Yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%atype
put #echo |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #echo |hindrance=%mhindrance
put #echo |stealth=%shindrance
put #echo |puncture=%appuncture
put #echo |slice=%apslice
put #echo |impact=%apimpact
put #echo |fire=%apfire
put #echo |cold=%apcold
put #echo |electric=%apelectrical
put #echo |absorbance=%absorbance
put #echo |punctureab=%aapuncture
put #echo |sliceab=%aaslice
put #echo |impactab=%aaimpact
put #echo |fireab=%aafire
put #echo |coldab=%aacold
put #echo |electricab=%aaelectrical
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |appcost=%appcost
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Armor
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newarmorapp=Yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%atype
put #log >Appraisal-$charactername.txt |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #log >Appraisal-$charactername.txt |hindrance=%mhindrance
put #log >Appraisal-$charactername.txt |stealth=%shindrance
put #log >Appraisal-$charactername.txt |puncture=%appuncture
put #log >Appraisal-$charactername.txt |slice=%apslice
put #log >Appraisal-$charactername.txt |impact=%apimpact
put #log >Appraisal-$charactername.txt |fire=%apfire
put #log >Appraisal-$charactername.txt |cold=%apcold
put #log >Appraisal-$charactername.txt |electric=%apelectrical
put #log >Appraisal-$charactername.txt |absorbance=%absorbance
put #log >Appraisal-$charactername.txt |punctureab=%aapuncture
put #log >Appraisal-$charactername.txt |sliceab=%aaslice
put #log >Appraisal-$charactername.txt |impactab=%aaimpact
put #log >Appraisal-$charactername.txt |fireab=%aafire
put #log >Appraisal-$charactername.txt |coldab=%aacold
put #log >Appraisal-$charactername.txt |electricab=%aaelectrical
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseItem:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
MeasureItem1:
if %lsize = NOTSET then
{
send close my $righthandnoun
matchre MeasureItem2 ^You can't close that|^(That|This) is not possible|^There is no way to do that
matchwait 1
pause .5
send measure my $righthandnoun with $yardstick
wait
pause .5
}
MeasureItem2:
if %ilsize = DELETE then
{
send open my $righthandnoun
pause .5
matchwait 1
pause .5
send measure my $righthandnoun with $yardstick
wait
pause .5
}

MeasuredItem:
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Typeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #echo
put #echo {{Item
put #echo |name=%tap
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #echo |wearloc=%wearloc
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |ilsize=%ilsize
put #echo |iwsize=%iwsize
put #echo |ihsize=%ihsize
put #echo |csize=%csize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |metal=%metal
put #echo }}
put #echo note=%wearloc: %ilsize x %iwsize x %ihsize (%csize stones)
put #echo note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Item
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |ilsize=%ilsize
put #log >Appraisal-$charactername.txt |iwsize=%iwsize
put #log >Appraisal-$charactername.txt |ihsize=%ihsize
put #log >Appraisal-$charactername.txt |csize=%csize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wearloc: %ilsize x %iwsize x %ihsize (%csize stones)
put #log >Appraisal-$charactername.txt note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

VarBlank:
var metal no
var maxcharge DELETE THIS LINE
var wearloc -
var lsize NOTSET
var wsize NOTSET
var hsize NOTSET
var ilsize DELETE
var iwsize DELETE
var ihsize DELETE
var csize DELETE
var appcost NOTSET
var mtags DELETE
var mtagg DELETE
var mtagm DELETE
var mtagw DELETE
var mtagf DELETE
var ctagr DELETE
var ctago DELETE
var ctagt DELETE
var ctagy DELETE
var ctagg DELETE
var ctagb DELETE
var ctagv DELETE
var ctagn DELETE
var ctagm DELETE
var ctagx DELETE
var stagp DELETE
var stagg DELETE
var staga DELETE
var stagh DELETE
var stage DELETE
var stagr DELETE
var stagl DELETE
var amtags DELETE
var amtagm DELETE
var amtagf DELETE
var amtagg DELETE
var amtagw DELETE
var actagr DELETE
var actago DELETE
var actagt DELETE
var actagy DELETE
var actagg DELETE
var actagb DELETE
var actagv DELETE
var actagn DELETE
var actagm DELETE
var actagx DELETE
var astagg DELETE
var astagp DELETE
var astagr DELETE
var astage DELETE
var astaga DELETE
var astagh DELETE
var astagl DELETE
var wtype2 NOTSET
var puncturetype No
var slicetype No
var impacttype No
var absorbance VALUES NOT EQUAL
var ahead DELETE
var aeyes DELETE
var aneck DELETE
var achest DELETE
var aback DELETE
var aabdomen DELETE
var aarms DELETE
var alegs DELETE
var ahands DELETE
var construction NOTSET
var typefunction -
var typecon DELETE
var typemagic DELETE
var typeguild DELETE
var typerace DELETE
var special NOTSET
var itype NOTSET
return

Tagset:
if (matchre ("%tap", "(asketine|avaes|celstite|chakrel|dhhresh|hafaltu|iheaneu'?a|imnera|indakar|ithridu|keismin|lemicule|negnetha|soulstone|sraeth|xibaryl|zengalmi)")) then var mtags $1
if (matchre ("%tap", "(aluminum|animite|anlora[- ]avtoma|audrualm|\bbrass\b|chrome|covellite|Damascus steel|damite|darkstone|electrum|Elven silver|gilded|glaes|(black|blighted|blue|crown|Elven green|grey|pink|purple|rose|white|yellow) \bgold\b|haralun|hepatizon|icesteel|ilmenite|iridium|(?<!wrought )\biron\b|ithridu|kadepa|keismin|kertig|lumium|mithril|moen takibena|moonsilver|muracite|negnetha|nickel|niello|niniam|oravir|orichalcum|palladium|pewter|rencate|silver[- ]gilt|silversteel|spangold|sungold|(?<!watered )\bsteel\b|tantalum|\btin\b|titanium|tyrium|vardite|verdigris copper|watered steel|windsteel|wrought iron|\bzinc\b)")) then var mtagm $1
if (matchre ("%tap", "([cs]endal|angora|armure|arzumodine|\bbast\b|\bbatik\b|batiste|bison[- ]hide|boar[- ]hide|bombazine|bourde|broadcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)brocade|buckskin|burlap|camlet|canvas|cashmere|chainse|chainsil|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)chiffon|\bcire\b|cloth[- ]of[- ]gold|cloth[- ]of[- ]silver|(?<!lipka )cotton|cowhide|cr[ae]pe|crinoline|cuirbouilli|damask|deerskin|dergatine|diamond[- ]hide|doeskin|dragonar|eolienne|\bfaille\b|farandine|\bfelt\b|flannel|\bflax\b|fleece|gabardine|gauze|gingham|gold[- ]weave|grogram|grosgrain|haircloth|\bhemp\b|horsehair|ialalhe|imperial weave|jaalmin |jacquard|\bjaspe\b|\bjute\b|khaddar|khaki|khiynit|kidskin|lambskin|leather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blinen\b|longcloth|muslin|oilcloth|oilskin|onyx[- ]hide|petalette|ramshorn|rawhide|rosecloth|ruazen|sackcloth|sailcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsamite\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsatin\b|scalene |seersucker|\bserge\b|\bshagreen\b|sharkskin|sheepskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsilk\b|silver[- ]weave|silveress|snakeskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)snowlace|spun glitter |straw|suede|taffeta|thornweave|titanese|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\btulle\b|turbaurs|tweed|\btwine\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bvelvet\b|velveteen|voile|whisperlayne|whitleather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bwool\b|woolen|worsted|zenganne|zibeline|(blood|bluefire|dragonfire|duchess|duponi|Elothean|Elven|fae woven|faeweave|fire|gemfire|ice|lava|lipka|marble|moon|moonspun|Musparan|night|night[rw]eaver|nightstalker|oceanmist|ruaz[ei]n|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin) (brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool))")) then var mtagf $1
if (matchre ("%tap", "((cat'?s?|hawk'?s?|tiger'?s?) eye|(?<!(dragonvein) )agates?|(?<!(orchid|viperscale) )alexandrite|almiris|alshabi stone|ambergris|amlothite|andalusite|anloral|anthracite|arkose|aurora opal|axinite|azurite|basalt|\bberyls?\b|bleeding heart jade|bloodgem|calav[ae]rite|ceramic|chalcedon(y|ies)|\bchalk\b|charoite|chrysoberyl|chrysoprase|cinnabar|(?<!volcano'?s heart )citrine|\bclays?\b|cloudstone|\bcoal\b|\bcorals?\b|\bcrystals?\b|crystalline dragon tear|dawgolite|(?<!(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) )diamond(?!ique)|diamondique|diopside|diorite|dolomite|dragonfire amber|Drogor's Wrath sapphire|durgauldite|dwalgim|elanthite|elbaite|\beldrings?\b|Enelne's eye|er'?qutrite|erythraean|erythrite|estrildite|feldspar|\bflint\b|fool's gold|(?<!(bloodmist|forest'?s heart|nimbus) )garnet|\bglass\b|gneiss|granite|grazhite|Hav'?roth'?s ambrosia|hematite|iahja|ilmenite|iolite|ismenite|jadeite|(?<!(autumn|ocean|spiderweb|wild horse) )jasper|kaolinite|katamba'?s spire|katambite|kunzite|kyanite|lantholite|larimar|lasmodi|(?<!(Hekemhhg|lapis) )lazuli|malachite|\bmarble\b|merewaldite|mistglass|morganite|morleenite|\bnacres?\b|neitrice|obsidian|olivine|(?<!(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) )\bopals?\b|(?<!(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) )\bpearls?\b|penhetite|peridot|porcelain|porphyry|pumice|pyrite|quartz|rhodochrosite|rhodonite|sana'?ati heart|scheelite|schist|scrimshaw|sea[- ]glass|selenite|\bsenci\b|\bshale\b|sjatmal|sodalite|\bspinels?\b|spiritgem|svelae|szeldite|tanzanite|(?<!(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) )topaz|(?<!(aurora|vela'?tohr) )tourmaline|tsavorite|ulhari prism|verenite|volcano'?s heart citrine|waermodi|wulfenite|xibarite|yavasite|yoakenite|zircon|(orchid|viperscale) alexandrite|(lightning|violet'?s heart) amethyst|(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) diamond|(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) emerald|(bloodmist|forest'?s heart|nimbus) garnet|(autumn|ocean|spiderweb|wild horse) jasper|(Hekemhhg|lapis) lazuli|(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) opal|(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) pearl|(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) rub(y|ies)|(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) sapphire|(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) topaz|(aurora|vela'?tohr) tourmaline)")) then var mtagg $1
if (matchre ("%tap", "(\w+-stone)")) then var mtagg $1
if (matchre ("%tap", "(\w+stone)")) then var mtagg $1
if (matchre ("%tap", "(\bwooden\b|\bpaper\b|acacia|acanth|adderwood|aganylosh'?a|\balder\b|alerce|\baspen\b|\bbalsa\b|bamboo|basswood|\bbeech\b|(?<!curly )\bbirch\b|black ironwood|black maple|black walnut|black willow|blackwood|bloodwood|boxwood|bricklebranch|burlwood|\bcedar\b|cherrywood|cocobolo|copperleaf|copperwood|\bcork\b|curly birch|cypress|deobar|desert palm|diamondwood|dogwood|dragonwood|driftwood|e'?erdream|ebonwood|\belm\b|eucalyptus|\bfir\b|fishtail oak|flamethorn|flamewood|fruitwood|gethwood|glitvire|gloomwood|goldbark|goldenoak|halmik|\bhaon\b|hawthorn|hhr'?lav'?geluhh|hickory|huljik|Ilithian cedar|iroko|ironwood|juniper|khor'?vela|khor-?vela|lacewood|lemonwood|linden|linwood|\blunat\b|(?<!(black|silver) )\bmaple\b|mikkhalbamar|mistwood|modwir|(?<!(fishtail|golden) )\boak\b|\bosage\b|palmwood|papyrus|parchment|pearwood|\bpine\b|plumwood|poplar|pozumshi|purpleheart|redwood|\breed\b|rosewood|\browan\b|sana'?ati|sandalwood|sanrisi|satinwood|\bshaal\b|silver maple|silverwillow|silverwood|smokewood|\bspruce\b|taborwood|tamboti|\bteak\b|tulvora|\bvedda\b|vellum|(?<!black )walnut|white ironwood|whitethorn|wiirwood|(?<!(black|silver) )\bwillow\b|witchclaw|wyndewood|\byew\b|zingana|zulnatha)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+-wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\bgods?\b|Immortal|Alamhif|Albreda|Aldauth|Aliesa|Aniek|Asketi|Be'?ort|Bereng[ae]ria|Botolf|Chadatru|Coshivi|Damaris|Demrris|Dergati|Divyaush|Drogor|Eerayn|Eimeuz|Elide|Eluned|Enelne|\bEu\b|Everild|Eylhaar|Faenella|Faiyka|Firulf|Gizzbolf|Glacis|Glythtide|Harawep|Hav'?roth|Hodierna|Huldah|\bIdon\b|Iladza|Issendar|Kerenhappuch|Kertigen|Kirmhara|Krigglin|Kuniyo|Lemicus|Meraud|Merion|Misiumos|\bMrod\b|Murrula|Orisas|Peri'?el|Phelim|Rutilor|Saemaus|Shariza|Sieben|Sildua|Spangklud|Sraxaec|Tamsine|Tenemlor|Thirteen|Tieheq|Triquetra|Trothfang|Truffenyi|Urrem'?tier|Ushnish|World Dragon|Xosiurion|Zachriedek)")) then var stagg $1
if (matchre ("%tap", "(acolyte|adventurer|alchemist|amazon|apothecary|\barchers?\b|armorsmith|assassin|bandit|Barbarian|\bBards?\b|barmaid|bartender|beggar|blacksmith|blasphemer|bowm[ae]n|\bbrewers?\b|brigand|buccaneer|burglar|captain|celebrant|champion|\bchefe?s?\b|citizen|clergy|clergy(man|clergy(man|woman)|Cleric|combatant|commoner|convict|criminal|dancer|diviner|doctor|druid|duelist|ecclesiastic|elemancer|elementalist|embalmer|Empath|enchanter|enchantress|engineer|executioner|farmer|felon|fencer|forester|gladiator|hangm[ae]n|healer|herald|heretic|\bheroe?s?\b|hierophant|highwaym[ae]n|historian|hunter|huntsm[ae]n|Inquisitor|inquisitress|\bjudges?\b|justiciar|knight|locksmith|lumberjack|\bmages?\b|marshal|martyr|mastermind|\bmedics?\b|medicine (m[ae]n|medicine (m[ae]n|wom[ae]n)|merchant|messenger|minister|minstrel|\bmonks?\b|Moon Mage|mortician|musician|mystic|navigator|Necromancer|nurse|outlaw|Paladin|pastor|peddler|philosopher|physician|pilgrim|pirate|\bpoets?\b|preacher|priest|prisoner|prophet|psychic|Ranger|researcher|rogue|\bsages?\b|sailor|scholar|\bseers?\b|sham[ae]n|shepherd|smuggler|sniper|soldier|spiritualist|surgeon|swashbuckler|Thief|Thieves|Trader|travell?er|undertaker|urchin|villager|villain|warrior|Warrior Mage|weaponsmith|weaver|\bwitche?s?\b|witche?|wizard|wom[ae]n)|woman)|woodcutter|woodsm[ae]n)")) then var stagp $1
if (matchre ("%tap", "(Adan'?f|Dwarf|Dwarves|\bElfs?\b|Elothean (?!(lace|silk))|Elven (?!(lace|silk|silver))|\bElves\b|Gnome|Gor'?Tog|Gorbesh|Halfling|Human|Kaldar|Lohogi'?hhs'?ur|Lohogi'?tel'?tegreis|\bm[ae]n\b|mer-?(folk|m[ae]n|people|wom[ae]n)|Ocular|\bOlvis?\b|Olvis?|\bpeople\b|Prydaen|Rakash|S'?[Kk]ra ?Mur|S'?[Kk]ra'?ur|\bwom[ae]n\b)")) then var stagr $1
if (matchre ("%tap", "(\ba?ether\b|\bearth\b|electricity|\bfires?\b|\bflames?\b|\bice\b|inferno|lightning|\bpyre\b|\bsnow\b|snowflake|thunder|water|\bair\b)")) then var stage $1
if (matchre ("%tap", "(aardvark|adder|albatross|alfar|alligator|alpaca|alphyn|anchovy|antelope|antler|\bapes?\b|apparition|arachnid|armadillo|\bass\b|aurochs|badger|bagwyn|banshee|barnacle|barracuda|basilisk|\bbats?\b|\bbears?\b|\bbeasts?\b|beaver|\bbees?\b|beetle|behemoth|bird|black widow|blackbird|bloodworm|blue ?jay|boggart|boobrie|buffalo|\bbulls?\b|bumble ?bee|burro|bustard|butterflies|butterfly|buzzard|calopus|camel|camelopard|canary|capybara|caracal|\bcats?\b|caterpillar|cattle|celpeze|centaur|centipede|chameleon|cheetah|chimera|chimpanzee|chinchilla|chipmunk|cicada|civet|\bclams?\b|cobra|cockatrice|cockroach|collie|condor|coney|cottontail|cougar|\bcows?\b|coyote|\bcrabs?\b|crane|cricket|\bcrows?\b|curlew|damselfly|demon|\bdevils?\b|\bdingos?\b|\bdogs?\b|dolphin|donkey|\bdoves?\b|\bdragons?\b|dragonfly|dryad|duck|eagle|echidna|\beels?\b|elephant|\belk\b|\bewes?\b|\bfae\b|fairy|falcon|\bfauns?\b|ferret|fiend|\bfinchs?\b|fish|\bfleas?\b|flounder|\bfox\b|\bfrog\b|gazelle|gecko|genie|gerbil|\bghosts?\b|\bghouls?\b|gidii|giraffe|goat|goblin|goose|gopher|gorilla|goshawk|gr[iy]ff[io]n|gr[iy]ph[io]n|grasshopper|greyhound|groundhog|grouse|guinea pig|hamster|\bhares?\b|harpy|\bhawks?\b|hedgehog|heron|\bherring\b|hinny|hippocamp|hippogr[iy]ff|hippogr[iy]ph|\bhogs?\b|honey ?bee|hornet|horse|hound|hydra|hyena|\bibexs?\b|iguana|\bimps?\b|impala|inkhorne|insect|jackal|jaguar|kangaroo|katydid|kelpie|kestrel|king ?snake|kingfisher|kirin|kitten|kobold|ladybug|\blamb\b|\blarks?\b|lemming|lemur|leopard|\blions?\b|lioness|lizard|llama|lobster|locust|\blynxs?\b|maggot|magpie|manatee|manta ray|manticore|mantis|marmot|marten|martlet|mastiff|meerkat|merelew|mermaid|merman|\bminks?\b|minnow|minotaur|mockingbird|mongoose|monkey|moose|mosquito|\bmoth\b|mouflon|mountain lion|mouse|\bmules?\b|musimon|muskox|nightingale|\bnyads?\b|ocelot|octopus|onager|opossum|osprey|ostrich|\botters?\b|\bowls?\b|\boxe?n?\b|panther|parakeet|parrot|partridge|peacock|pegasus|pelican|pheasant|phoenix|\bpigs?\b|pigeon|pika|platypus|polecat|popinjay|porcupine|possum|prairie ?dog|prawn|primate|puma|puppy|python|quail|rabbit|raccoon|raptor|\brats?\b|raven|reindeer|remora|rhinoceros|robin|rooster|salamander|sardine|satyr|scarab|scorpion|seagull|selkie|serpent|shrew|shrike|shrimp|skeleton|\bskulls?\b|snail|snowbeast|sparrow|specter|sphinx|\bspiders?\b|\bspirits?\b|springbok|\bsprites?\b|squirrel|\bstags?\b|starling|stoat|stork|sturgeon|swallow|\bswans?\b|swine|swordfish|talbot|tarantula|termite|terrapin|thrush|\btigers?\b|tityrus|\btoads?\b|tortoise|toucan|trout|turkey|turtle|undead|unicorn|viper|vole|vulture|walrus|weasel|welkin|werewolf|whale|wildcat|winged horse|\bwolfs?\b|wolverine|woodchuck|wraith|wren|wyvern|\byaks?\b|\byales?\b|zebra|zombie)")) then var staga $1
if (matchre ("%tap", "(aevaes|\baloe\b|belladonna|blocil|\bcebi\b|Datura|draconeaia|eghmok|foxglove|genich|georin|glaysker|hemlock|hisan|hulij|hulnik|ithor|jadice|junliar|lujeakave|muljin|nemoih|nightshade|nilos|nuloe|ojhenik|plovik|\bquns?\b|riolur|sufil|yelith)")) then var stagh $1
if (matchre ("%tap", "(\bAesry\b|Aesry Surlaenis'?a|Ain Ghazal|Amlothi|Arthe Dale|bayou|Belarritaco|Boar Clan|\bbogs?\b|canyon|Chyolvea Tayeu'?a|comet|constellation|Crossing|Dawgolesh|Dirge|Durgaulda|El'?Bain'?s|Elanthia|Empire|Er'?qutra|Estrilda|Faldesu|Fayrin'?s Rest|\bfens?\b|Forfedhdar|Fornsted|grassland|Grazhir|Gwenalion|Hara'?jaal|Hekemhhg|Hibarnhvidar|iceberg|Ilaya Taipa|Ilithi(?! emerald)|Irasushen|\bislands?\b|Ismenia|Jantspyre|jungle|Kaerna Village|\bKatamba\b|Kermoria|Knife Clan|\blakes?\b|Langenfirth|Leth Deriel|M'?Riss|\bmarshe?s?\b|meadow|Mer'?Kresh|Merewalda|\bmoons?\b|morass|Morleena|mountain|Muspar'?i|Nenav Dalar|Oxenwaithe|Penhetia|Pi'?Qanah|\bplanets?\b|prairie|Qi'?Reshalia|quagmire|rainforest|Ratamipak|\bRatha\b|Raven'?s Point|\bReshal\b|Reshalia|\brivers?\b|Riverhaven|Rossman'?s Landing|Sarasunath|savanna|Sawstwar|Segoltha|Shamilho|\bShard\b|shrubland|Siksraja|Steelclaw Clan|steppe|Stone Clan|\bsuns?\b|sunburst|Surlaenis|swamp|Szeldia|taiga|Taisgath|The Crossing|Therenborough|Therengia|Throne City|Tiger Clan|tundra|Velaka|Verena|volcano|wetland|Wolf Clan|woodland|\bXibar\b|Yavash|Yoakena|Zaulfung|Zhamikhh|Zoluren)")) then var stagl $1
if (matchre ("%tap", "((?i:crest of the (Barbarians?'?|Barbarian'?s?) Guild|(Barbarians?'?|Barbarian'?s?) Guild crest))")) then var stagp crest of the barbarians' guild
if (matchre ("%tap", "((?i:crest of the (Bards?'?|Bard'?s?) Guild|(Bards?'?|Bard'?s?) Guild crest))")) then var stagp crest of the bards' guild
if (matchre ("%tap", "((?i:crest of the (Clerics?'?|Cleric'?s?) Guild|(Clerics?'?|Cleric'?s?) Guild crest))")) then var stagp crest of the clerics' guild
if (matchre ("%tap", "((?i:crest of the (Empaths?'?|Empath'?s?) Guild|(Empaths?'?|Empath'?s?) Guild crest))")) then var stagp crest of the empaths' guild
if (matchre ("%tap", "((?i:crest of the (Moon ?Mages?'?|Moon ?Mage'?s?) Guild|(Moon ?Mages?'?|Moon ?Mage'?s?) Guild crest))")) then var stagp crest of the moon mages' guild
if (matchre ("%tap", "((?i:crest of the (Necromancers?'?|Necromancer'?s?) Guild|(Necromancers?'?|Necromancer'?s?) Guild crest))")) then var stagp crest of the necromancers' guild
if (matchre ("%tap", "((?i:crest of the (Paladins?'?|Paladin'?s?) Guild|(Paladins?'?|Paladin'?s?) Guild crest))")) then var stagp crest of the paladins' guild
if (matchre ("%tap", "((?i:crest of the (Rangers?'?|Ranger'?s?) Guild|(Rangers?'?|Ranger'?s?) Guild crest))")) then var stagp crest of the rangers' guild
if (matchre ("%tap", "((?i:crest of the (Thiefs?'?|Thief'?s?|Thieves'?) Guild|(Thiefs?'?|Thief'?s?|Thieves'?) Guild crest))")) then var stagp crest of the thieves' guild
if (matchre ("%tap", "((?i:crest of the (Traders?'?|Trader'?s?) Guild|(Traders?'?|Trader'?s?) Guild crest))")) then var stagp crest of the traders' guild
if (matchre ("%tap", "((?i:crest of the (Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild|(Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild crest))")) then var stagp crest of the warrior mages' guild
if (matchre ("%tap", "((\w+)(?=[- ](colored|highlighted|hued|tinted|toned)))")) then var ctagx $1
if (matchre ("%tap", "((\bred\b|amaranth|auburn|blood red|burgundy|carmine|cerise|claret|coquelicot|crimson|gules|haematic|incarnadine|magenta|maroon|murrey|orange red|\bpink\b|\breddish\b|\brosy\b|rubiginose|rubiginous|ruddy|sanguine|scarlet|vermilion|vinaceous)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagr $1, red
if (matchre ("%tap", "((\borange\b|fiery|\bpeach\b|persimmon|red orange|reddish orange|tangerine|yellow orange)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctago $1, orange
if (matchre ("%tap", "((\bbrown\b|ochre|russet|sepia|sienna|\bsorrel\b|\btan\b|tawny|tenne|\bumber\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagt $1, brown
if (matchre ("%tap", "((\byellow\b|aurulent|champagne|\becru\b|flaxen|green yellow|jonquil|lemon|saffron|xanthic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagy $1, yellow
if (matchre ("%tap", "((\bgreen\b|asparagus|blue green|celadon|chartreuse|\blime\b|olivaceous|olive drab|smalt|\bvert\b|viridian|yellow green)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagg $1, green
if (matchre ("%tap", "((\bblue\b|azure|bluish|\bceil\b|cerulean|cobalt|\bcyan\b|cyaneous|indigo|\bteal\b|ultramarine)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagb $1, blue
if (matchre ("%tap", "((\bpurple\b|aubergine|eggplant|fuchsia|lavender|lilac|mauve|orchid|periwinkle|\bpuce\b|purplish|purpure|red violet|violescent)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagv $1, purple
if (matchre ("%tap", "((\bblack\b|\bgr[ae]y\b|white|argent|arsenic|\bashen\b|beige|camouflage|cinereous|colorless|\bcream\b|\bebon\b|eggshell|eisen|feldgrau|glaucous|pellucid|\bsable\b|taupe\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagn $1, grey
if (matchre ("%tap", "((rainbow|iridescent|pavonine|polychromatic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagm $1, rainbow
if (matchre ("%tap", "((\w+)-\bred\b)")) then var ctagr $1, $2, red
if (matchre ("%tap", "((\w+)-\borange\b)")) then var ctago $1, $2, orange
if (matchre ("%tap", "((\w+)-\bbrown\b)")) then var ctagt $1, $2, brown
if (matchre ("%tap", "((\w+)-\byellow\b)")) then var $1, $2, yellow
if (matchre ("%tap", "((\w+)-\bgreen\b)")) then var ctagg $1, $2, green
if (matchre ("%tap", "((\w+)-\bblue\b)")) then var ctagb $1, $2, blue
if (matchre ("%tap", "((\w+)-\b(purple|violet)\b)")) then var ctagv $1, $2, purple
if (matchre ("%tap", "((\w+)-\bblack\b)")) then var ctagn $1, $2, black
if (matchre ("%tap", "((\w+)-\bwhite\b)")) then var ctagn $1, $2, white
if (matchre ("%tap", "((\w+)-\bgr[ae]y\b)")) then var ctagn $1, $2, grey
if (matchre ("%tap", "(bronze|\bcoal\b|(?<!verdigris )\bcopper\b|(?<!(black|blighted|blue|crown|Elven|fool's|green|grey|pink|purple|red|rose|white|yellow) |cloth[- ]of[- ])\bgold\b|\blead\b|platinum|(?<!Elven |cloth[- ]of[- ])\bsilver\b)")) then var amtagm $1
if (matchre ("%tap", "(\bermine\b|feather|\bfur\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)gossamer|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blace\b)")) then var amtagf $1
if (matchre ("%tap", "(alabaster|(?<!dragonfire )\bamber\b|(?<!(lightning|violet'?s heart) )amethyst|aquamarine|\bbones?\b|carnelian|(?<!(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) )emerald|heliotrope|ivory|(?<!bleeding heart )\bjades?\b|\bonyxe?s?\b|(?<!(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) )\brub(y|ies)\b|(?<!(crimson|dalaeji black|dragon'?s scale|Drogor'?s Wrath|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) )sapphire|\bslate\b|turquoise)")) then var amtagg $1
if (matchre ("%tap", "(\bapple\b|\bash\b|\bcherry\b|chestnut|\bebony\b|\belder\b|laurel|mahogany)")) then var amtagw $1
if (matchre ("%tap", "(\belements?\b|\bwind\b)")) then var astage $1
if (matchre ("%tap", "(bison|\bboars?\b|\bbucks?\b|cardinal|\bcocks?\b|crocodile|\bdeers?\b|\bdoe\b|ermine|flies|\bfly\b|leech|mammoth|oyster|\brams?\b|salmon|shark|sheep|\bsnakes?\b|\btrolls?\b|\bwasps?\b|\bwings?\b|yeehar)")) then var astaga $1
if (matchre ("%tap", "(\bblooms?\b|\bblossoms?\b|\bbuds?\b|\bflorets?\b|\bflowers?\b|\bherbs?\b|\bvines?\b)")) then var astagh $1
if (matchre ("%tap", "(\bdeserts?\b|forest(?![- ]green)|\boceans?\b|\bseas?\b|\bstars?\b)")) then var astagl $1
if (matchre ("%tap", "((bronze|chestnut|copper)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagt $1
if (matchre ("%tap", "(red gold(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagy $1
if (matchre ("%tap", "((\bplum\b|thistle|\bviolet\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagv $1
if (matchre ("%mtagm", "(black|blue|crown|green|grey|pink|purple|red|rose|white|yellow) gold")) then var mtagm $1 gold, gold
if (matchre ("%mtagg", "(?i:(orchid|viperscale)) alexandrite")) then var mtagg $1 alexandrite, alexandrite
if (matchre ("%mtagg", "(?i:(lightning|violet'?s heart)) amethyst")) then var mtagg $1 amethyst, amethyst
if (matchre ("%mtagg", "(?i:(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white)) diamond")) then var mtagg $1 diamond, diamond
if (matchre ("%mtagg", "(?i:(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter)) emerald")) then var mtagg $1 emerald, emerald
if (matchre ("%mtagg", "(?i:(bloodmist|forest'?s heart|nimbus)) garnet")) then var mtagg $1 garnet, garnet
if (matchre ("%mtagg", "(?i:(autumn|ocean|spiderweb|wild horse)) jasper")) then var mtagg $1 jasper, jasper
if (matchre ("%mtagg", "(?i:(Hekemhhg|lapis)) lazuli")) then var mtagg $1 lazuli, lazuli
if (matchre ("%mtagg", "(?i:(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water)) opal")) then var mtagg $1 opal, opal
if (matchre ("%mtagg", "(?i:(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan)) pearl")) then var mtagg $1 pearl, pearl
if (matchre ("%mtagg", "(?i:(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate)) rub(y|ies)")) then var mtagg $1 ruby, ruby
if (matchre ("%mtagg", "(?i:(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren)) sapphire")) then var mtagg $1 sapphire, sapphire
if (matchre ("%mtagg", "(?i:(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar)) topaz")) then var mtagg $1 topaz, topaz
if (matchre ("%mtagg", "(?i:(aurora|vela'?tohr)) tourmaline")) then var mtagg $1 tourmaline, tourmaline
if (matchre ("%mtagf", "(?i:(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin)) ?(brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool)")) then var mtagf %mtagf, $2
if %mtagm = Damascus steel then var mtagg Damascus steel, steel
if %mtagm = Elven silver then var mtagg Elven silver, silver
if %mtagm = moonsilver then var mtagg moonsilver, silver
if %mtagm = silver-gilt then var mtagg silver-gilt, silver, gold
if %mtagm = sungold then var mtagg sungold, gold
if %mtagm = windsteel then var mtagg windsteel, steel
if %mtagg = chalcedon(y|ies) then var mtagg chalcedony
if %mtagg = rubies then var mtagg ruby
if %mtagg = soulstone then var mtagg DELETE
if %ctagr = pink, red then var ctagr pink
if %ctagr = cerise, red then var ctagr cerise, pink
if %ctagr = magenta, red then var ctagr magenta, pink
if %ctagr = rosy, red then var ctagr rosy, pink
if %ctagv = fuchsia, purple then var ctagv fuchsia, pink
if %ctagv = puce, purple then var ctagv puce, pink
if %ctagn = camouflage, grey then var ctagn camouflage, brown
if %ctagn = black, grey then var ctagn black
if %ctagn = ebon, grey then var ctagn ebon, black
if %ctagn = sable, grey then var ctagn sable, black
if %ctagn = white, grey then var ctagn white
if %ctagn = alabaster, grey then var ctagn alabaster, white
if %ctagn = beige, grey then var ctagn beige, white
if %ctagn = colorless, grey then var ctagn colorless, white
if %ctagn = cream, grey then var ctagn cream, white
if %ctagn = eggshell, grey then var ctagn eggshell, white
if %ctagn = ivory, grey then var ctagn ivory, white
if %ctagr = red, red then var ctagr red
if %ctago = orange, orange then var ctago orange
if %ctagt = brown, brown then var ctagt brown
if %ctagy = yellow, yellow then var ctagy yellow
if %ctagg = green, green then var ctagg green
if %ctagb = blue, blue then var ctagb blue
if %ctagv = purple, purple then var ctagv purple
if %ctagn = grey, grey then var ctagn grey
if %ctagn = black, black then var ctagn black
if %ctagn = white, white then var ctagn white
if %ctagm = rainbow, rainbow then var ctagm rainbow
return

Specialset:
if (matchre ("%tap", "(cambrinth)")) then var special cambrinth
if (matchre ("%tap", "(gaethzen)")) then var special gaethzen
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var special creation
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var special alchemy
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var special $1 instrument
if (matchre ("%tap", "(anatomy chart)")) then var special anatomy chart, empath style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var special tack
if (matchre ("%tap", "(\btoy\b)")) then var special toy
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var special bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var special cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var special empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var special necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%tap", "(Ranger|trail map)")) then var special ranger style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var special thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var special warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var special dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var special elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var special elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var special gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var special halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var special human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var special prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var special rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var special skra mur style
if (matchre ("$righthandnoun", "(ashcloak|mysanda)")) then var special magic
if (matchre ("$righthandnoun", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var special creation
if (matchre ("$righthandnoun", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var special alchemy
if (matchre ("$righthandnoun", "(candle|lamp|lantern|torch)")) then var special gives light
if (matchre ("$righthandnoun", "(bridle|caparison|halter|saddle)")) then var special tack
if (matchre ("$righthandnoun", "(doll|marionette|puppet|toy)")) then var special toy
if (matchre ("$righthandnoun", "(warhorn)")) then var special barbarian style, bard style
if (matchre ("$righthandnoun", "(cassock|chalice)")) then var special cleric style
if (matchre ("$righthandnoun", "(sigilbook|starchart|telescope)")) then var special moon mage style
if (matchre ("$righthandnoun", "(feedbag)")) then var special trader style
if (matchre ("$righthandnoun", "(ashcloak)")) then var special warrior mage style
if (matchre ("$righthandnoun", "(bulhawf)")) then var special dwarf style
if (matchre ("$righthandnoun", "(\barca\b|\bbalac\b|catils|\bcelya\b|coinec|gelnutre|\bgerri\b|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|\bmahai\b|oinurte|\bpalta\b|\btago\b|takbahn|\btelo\b)")) then var special elf style
if (matchre ("$righthandnoun", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var special elothean style
if (matchre ("$righthandnoun", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var special kaldar style
if (matchre ("$righthandnoun", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var special prydaen style
if (matchre ("$righthandnoun", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var special rakash style
if (matchre ("$righthandnoun", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var special skra mur style
return

Itypeset:
if (matchre ("%tap", "((awgravet|bar|bastard|battle|belaying|boarding|carving|dire|double|double-headed|duraka|elbow|flanged|footman's|giant|half-handled|hand|heavy|horseman's|hunting|hurlable|hurling|igorat|ilglaiks|imperial|k'trinni|knee|leaf blade|light|lochaber|marauder|military|mus|periperiu|pike|pole|ridged|robe|round|short|skinning|spiked|splitting|sterak|thick-bladed|thin-bladed|throwing|thrusting|twin-point|two-handed|two-headed|two-pronged|vilks|war|warring) (abassi|adze|akabo|allarh|arzfilt|ava|axe|back-sword|ball and chain|bardiche|baselard|blade|bludgeon|boko|bola|boomerang|briquet|broadaxe|broadsword|bulhawf|cane|chain|cinqueda|claws|claymore|club|condottiere|coresca|cosh|cudgel|curlade|cuska|cutlass|dagasse|dagger|dao|dart|falcata|falchion|fan|fauchard|flail|flamberge|fork|garz|gauntlet|gavel|gladius|glaive|greataxe|greathammer|greatsword|guisarme|halberd|hammer|hanger|hara|hatchet|hawkbill|hhr'ata|hhr'tami|hunthsleg|iltesh|jambiya|javelin|karambit|kasai|kaskara|katar|khuj|knife|knuckles|kodur|komno|koummya|kris|kudalata|kythe|lance|longsword|mace|mallet|mambeli|marlingspike|mattock|maul|misericorde|morning star|namkomba|nehdelata|nehlata|ngalio|nightstick|nimsha|oben|parang|partisan|pasabas|pike|pin|poignard|prod|pugio|quarterstaff|ranseur|rapier|recade|riste|sabre|sashqa|scepter|schiavona|scimitar|scythe|sha-tai|shh'oi'ata|shotel|skefne|sledgehammer|spatha|spear|spetum|spike|spikes|staff|stiletto|sunblade|sword|takouba|telek|tzece|ukabi|war hammer|zubke))")) then var itype $1
if (matchre ("%tap", "((assassin's|battle|competition|competition-balanced|dako'gi|drop-trigger|flat|flight|forester's|hirdu|horseman's|hunter's|pirate's|plains|recurved?|reflex|repeater|repeating|riot|s'rnhhl|saddle|savannah|siege|sniper's|steppe|tei'oloh|war) (arbalest|bow|chunenguti|composite bow|crossbow|hhr'ibu|jranoki|long ?bow|mahil|short ?bow|slurbow|stonebow|taisgwelduan|uku'uanstaho)|staff sling)")) then var itype $1
if (matchre ("%tap", "((battle|ceremonial|circular|crescent|curved|gladiator's|heater|jousting|kite|medium|ordinary|oval|pageant|rectangular|riot|round|rounded|shuri-kota|siege|skirmisher's|target|tower|triangular|valnik|wall|war|warrior's|wickerwork) (aegis|buckler|heater|pavise|scutum|shield|sipar|targe))")) then var itype $1
if (matchre ("%tap", "((brigandine|chain|closed|cloth|coarse|dome|field|full|great|half|heavy|insulated|lamellar|leather|light|mail|padded|plate|quilted|ring|rugged|scale|thick|visored) (aventail|backplate|balaclava|barbute|bascinet|breastplate|cap|coat|cowl|cuirass|fauld|gauntlets|gloves|greaves|hauberk|helm|hood|jerkin|leathers|lorica|mantle|mask|morion|pants|plate|robe|sallet|shirt|sleeves|tabard|tailcoat|tasset|thorakes|vambraces|vest))")) then var itype $1
if (matchre ("%tap", "((engagement|thumb|toe|wedding) (band|ring|tailband))")) then var itype $1
return



Typeset:
if (matchre ("%tap", "(cambrinth)")) then var typemagic cambrinth
if (matchre ("%tap", "(gaethzen)")) then var typemagic gaethzen
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var typefunction creation
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var typefunction alchemy
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var typefunction $1 instrument
if (matchre ("%tap", "(anatomy chart)")) then var typefunction anatomy chart, empath style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var typefunction tack
if (matchre ("%tap", "(\btoy\b)")) then var typefunction toy
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var typeguild barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var typeguild bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var typeguild cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var typeguild cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var typeguild empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var typeguild moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var typeguild necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var typeguild paladin style
if (matchre ("%tap", "(Ranger|trail map)")) then var typeguild ranger style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var typeguild thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var typeguild trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var typeguild warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var typerace dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var typerace elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var typerace elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var typerace gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var typerace gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var typerace halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var typerace human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var typerace kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var typerace prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var typerace rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var typerace skra mur style
if (matchre ("$righthandnoun", "(\balb\b|apron|\barek\b|ashcloak|balac|baladrana|ballgown|bandeau|\bbelt\b|beret|blazer|blouse|bodice|bodysuit|bonnet|boots|breeches|britches|brogans|bustier|caftan|\bcap\b|\bcape\b|cassock|catils|chemise|cheongsam|chmir|chola|choli|cloak|cloche|clogs|\bcoat\b|coinec|corset|cummerbund|deerstalker|derby|dirndl|domisaha|doublet|drape|dress|eyepatch|fabric|fedora|fillet|frock|galoshes|gamantang|garter|gerri|gloves|\bgown\b|\bhac\b|\bhat\b|headband|\bhood\b|\bhose\b|ilalish|jacket|jerkin|jodhpurs|josta|khandur|\bkilt\b|kimono|kirtle|kisti|knickers|krekls|laufisana|leggings|leine|loafers|loincloth|longcoat|lusks|mantle|\bmask\b|mittens|mocc?asins|mra'?sin|\bmuff\b|muffler|nauda|\bodaj\b|overalls|\bpall\b|pantaloons|pants|pel'?hhsmur|\bpelt\b|poncho|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|pumps|ra'?sarrak|rantija|\brobes?\b|\bruff\b|ruven|safos|safros|sandals|\bsari\b|sarong|sarrak|\bsash\b|scarf|shawl|shift|shirt|shoes|shroud|skirt|skullcap|slacks|slippers|smock|snood|sochi|socks|spats|stockings|stole|\bsuit\b|sundress|surcoat|suspenders|sweater|tabard|tailcoat|takbahn|\btam\b|tights|\btoga\b|trews|trousers|tunic|turban|uaro'?s'?sugi|vakoti|\bveil\b|\bvest\b|vestments?|vikses|vluze|waistcoat|wimple|\bwings?\b|\bwrap\b)")) then var typefunction clothing
if (matchre ("$righthandnoun", "(\bafis\b|aggahhpel|amulet|anklet|armband|armlet|badge|\bband\b|bangle|barrette|\bbead\b|boutonniere|bracelet|bracer|breastpin|brooch|buckle|button|\bchains?\b|charm|choker|circlet|clasp|\bclaw\b|collar|\bcord\b|crown|\bcuff\b|diadem|earcuff|earring|feather|ferroniere|fetish|garland|haircomb|hairnet|hairpin|hairsticks|handflower|hip-chain|jewels|\blei\b|locket|medal|medallion|muhenta|necklace|pearls|pendant|periapt|peyvu|pilonu|\bpin\b|por'?nidrel|rasha'?hhsograth|ribbon|\bring\b|sharmiit'?mhhg|\bstud\b|sur'?nidrel|tailband|thighband|torque|trinket|turinstil|varna|venda|wreath|wristband|wristcuff|wristlet)")) then var typefunction jewelry
if (matchre ("$righthandnoun", "(ashcloak|mysanda)")) then var typemagic magic
if (matchre ("$righthandnoun", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var typefunction creation
if (matchre ("$righthandnoun", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var typefunction alchemy
if (matchre ("$righthandnoun", "(bodhran|bones|castanets|cymbals|damaru|darje|doumbec|drum|frottoir|gansa-gambang|guiro|naqqara|sonajero|spoons|tabla|tambourine|tapani|zills)")) then var typefunction percussion instrument
if (matchre ("$righthandnoun", "(banjo|bow|cistre|cittern|dulcimer|faenellica|fiddle|gittern|guti'?adar|harp|khurmary|kithara|lute|lyre|mandolin|nehpar'?i|psaltery|ramkie|rebec|sarangi|sitar|sra'?aja?hh|strings|tambura|\bviol\b|violin|zither)")) then var typefunction string instrument
if (matchre ("$righthandnoun", "(bagpipes|bassoon|cane flute|chalumeaux|clarin|cornemuse|cornet|didjeridu|fife|flute|gemshorn|hichiriki|horn|minjayrah|mirliton|mitbiq|nguru|oboe|ocarina|pan-pipes|physalis|piccolo|recorder|sackbut|serpent|shakuhachi|shawm|shintu|syrinx|txistu|whistle|yarghul|zurna)")) then var typefunction wind instrument
if (matchre ("$righthandnoun", "(candle|lamp|lantern|torch)")) then var typefunction gives light
if (matchre ("$righthandnoun", "(bridle|caparison|halter|saddle)")) then var typefunction tack
if (matchre ("$righthandnoun", "(doll|marionette|puppet|toy)")) then var typefunction toy
if (matchre ("$righthandnoun", "(warhorn)")) then var typeguild barbarian style, bard style
if (matchre ("$righthandnoun", "(cassock|chalice)")) then var typeguild cleric style
if (matchre ("$righthandnoun", "(sigilbook|starchart|telescope)")) then var typeguild moon mage style
if (matchre ("$righthandnoun", "(feedbag)")) then var typeguild trader style
if (matchre ("$righthandnoun", "(ashcloak)")) then var typeguild warrior mage style
if (matchre ("$righthandnoun", "(bulhawf)")) then var typerace dwarf style
if (matchre ("$righthandnoun", "(\barca\b|balac|catils|celya|coinec|gelnutre|gerri|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|mahai|oinurte|palta|\btago\b|takbahn|\btelo\b)")) then var typerace elf style
if (matchre ("$righthandnoun", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var typerace elothean style
if (matchre ("$righthandnoun", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var typerace kaldar style
if (matchre ("$righthandnoun", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var typerace prydaen style
if (matchre ("$righthandnoun", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var typerace rakash style
if (matchre ("$righthandnoun", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var typerace skra mur style
if %typefunction = clothing && %wearloc = DELETE then var wearloc -
if %typefunction = jewelry && %wearloc = DELETE then var wearloc -
if %typecon = container && %wearloc = DELETE then var wearloc -
return

CommaAppcost:
var commanumber %appcostk
eval length len(%commanumber)
var appcost %commanumber
if %length < 4 then goto return
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var appcost %temp
topapp:
if %length < 3 then goto lastapp
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var appcost %temp,%appcost
goto topapp
lastapp:
if %length > 0 then
{
eval temp substr(%commanumber, 0, %length)
var appcost %temp,%appcost
}
goto return

CommaCost:
var commanumber %costi
eval length len(%commanumber)
var cost %commanumber
if %length < 4 then goto return
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var cost %temp
topcost:
if %length < 3 then goto lastcost
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var cost %temp,%cost
goto topcost
lastcost:
if %length > 0 then
{
eval temp substr(%commanumber, 0, %length)
var cost %temp,%cost
}
goto return

Dimensionset:
if %lsize = one then var lsize 1
if %lsize = two then var lsize 2
if %lsize = three then var lsize 3
if %lsize = four then var lsize 4
if %lsize = five then var lsize 5
if %lsize = six then var lsize 6
if %lsize = seven then var lsize 7
if %lsize = eight then var lsize 8
if %lsize = nine then var lsize 9
if %lsize = ten then var lsize 10
if %lsize = eleven then var lsize 11
if %lsize = twelve then var lsize 12
if %lsize = thirteen then var lsize 13
if %lsize = fourteen then var lsize 14
if %lsize = fifteen then var lsize 15
if %lsize = sixteen then var lsize 16
if %lsize = seventeen then var lsize 17
if %lsize = eighteen then var lsize 18
if %lsize = nineteen then var lsize 19
if %lsize = twenty then var lsize 20
if %lsize = twenty-one then var lsize 21
if %lsize = twenty-two then var lsize 22
if %lsize = twenty-three then var lsize 23
if %lsize = twenty-four then var lsize 24
if %lsize = twenty-five then var lsize 25
if %lsize = twenty-six then var lsize 26
if %lsize = twenty-seven then var lsize 27
if %lsize = twenty-eight then var lsize 28
if %lsize = twenty-nine then var lsize 29
if %lsize = thirty then var lsize 30
if %lsize = thirty-five then var lsize 35
if %lsize = forty then var lsize 40
if %lsize = forty-five then var lsize 45
if %lsize = fifty then var lsize 50
if %lsize = fifty-five then var lsize 55
if %lsize = sixty then var lsize 60
if %lsize = sixty-five then var lsize 65
if %lsize = seventy then var lsize 70
if %lsize = seventy-five then var lsize 75
if %lsize = eighty then var lsize 80
if %lsize = eighty-five then var lsize 85
if %lsize = ninety then var lsize 90
if %lsize = ninety-five then var lsize 95
if %lsize = one hundred then var lsize 100
if %lsize = one hundred ten then var lsize 110
if %lsize = one hundred twenty then var lsize 120
if %wsize = one then var wsize 1
if %wsize = two then var wsize 2
if %wsize = three then var wsize 3
if %wsize = four then var wsize 4
if %wsize = five then var wsize 5
if %wsize = six then var wsize 6
if %wsize = seven then var wsize 7
if %wsize = eight then var wsize 8
if %wsize = nine then var wsize 9
if %wsize = ten then var wsize 10
if %wsize = eleven then var wsize 11
if %wsize = twelve then var wsize 12
if %wsize = thirteen then var wsize 13
if %wsize = fourteen then var wsize 14
if %wsize = fifteen then var wsize 15
if %wsize = sixteen then var wsize 16
if %wsize = seventeen then var wsize 17
if %wsize = eighteen then var wsize 18
if %wsize = nineteen then var wsize 19
if %wsize = twenty then var wsize 20
if %wsize = twenty-one then var wsize 21
if %wsize = twenty-two then var wsize 22
if %wsize = twenty-three then var wsize 23
if %wsize = twenty-four then var wsize 24
if %wsize = twenty-five then var wsize 25
if %wsize = twenty-six then var wsize 26
if %wsize = twenty-seven then var wsize 27
if %wsize = twenty-eight then var wsize 28
if %wsize = twenty-nine then var wsize 29
if %wsize = thirty then var wsize 30
if %wsize = thirty-five then var wsize 35
if %wsize = forty then var wsize 40
if %wsize = forty-five then var wsize 45
if %wsize = fifty then var wsize 50
if %wsize = fifty-five then var wsize 55
if %wsize = sixty then var wsize 60
if %wsize = sixty-five then var wsize 65
if %wsize = seventy then var wsize 70
if %wsize = seventy-five then var wsize 75
if %wsize = eighty then var wsize 80
if %wsize = eighty-five then var wsize 85
if %wsize = ninety then var wsize 90
if %wsize = ninety-five then var wsize 95
if %wsize = one hundred then var wsize 100
if %wsize = one hundred ten then var wsize 110
if %wsize = one hundred twenty then var wsize 120
if %hsize = one then var hsize 1
if %hsize = two then var hsize 2
if %hsize = three then var hsize 3
if %hsize = four then var hsize 4
if %hsize = five then var hsize 5
if %hsize = six then var hsize 6
if %hsize = seven then var hsize 7
if %hsize = eight then var hsize 8
if %hsize = nine then var hsize 9
if %hsize = ten then var hsize 10
if %hsize = eleven then var hsize 11
if %hsize = twelve then var hsize 12
if %hsize = thirteen then var hsize 13
if %hsize = fourteen then var hsize 14
if %hsize = fifteen then var hsize 15
if %hsize = sixteen then var hsize 16
if %hsize = seventeen then var hsize 17
if %hsize = eighteen then var hsize 18
if %hsize = nineteen then var hsize 19
if %hsize = twenty then var hsize 20
if %hsize = twenty-one then var hsize 21
if %hsize = twenty-two then var hsize 22
if %hsize = twenty-three then var hsize 23
if %hsize = twenty-four then var hsize 24
if %hsize = twenty-five then var hsize 25
if %hsize = twenty-six then var hsize 26
if %hsize = twenty-seven then var hsize 27
if %hsize = twenty-eight then var hsize 28
if %hsize = twenty-nine then var hsize 29
if %hsize = thirty then var hsize 30
if %hsize = thirty-five then var hsize 35
if %hsize = forty then var hsize 40
if %hsize = forty-five then var hsize 45
if %hsize = fifty then var hsize 50
if %hsize = fifty-five then var hsize 55
if %hsize = sixty then var hsize 60
if %hsize = sixty-five then var hsize 65
if %hsize = seventy then var hsize 70
if %hsize = seventy-five then var hsize 75
if %hsize = eighty then var hsize 80
if %hsize = eighty-five then var hsize 85
if %hsize = ninety then var hsize 90
if %hsize = ninety-five then var hsize 95
if %hsize = one hundred then var hsize 100
if %hsize = one hundred ten then var hsize 110
if %hsize = one hundred twenty then var hsize 120
if %ilsize = one then var ilsize 1
if %ilsize = two then var ilsize 2
if %ilsize = three then var ilsize 3
if %ilsize = four then var ilsize 4
if %ilsize = five then var ilsize 5
if %ilsize = six then var ilsize 6
if %ilsize = seven then var ilsize 7
if %ilsize = eight then var ilsize 8
if %ilsize = nine then var ilsize 9
if %ilsize = ten then var ilsize 10
if %ilsize = eleven then var ilsize 11
if %ilsize = twelve then var ilsize 12
if %ilsize = thirteen then var ilsize 13
if %ilsize = fourteen then var ilsize 14
if %ilsize = fifteen then var ilsize 15
if %ilsize = sixteen then var ilsize 16
if %ilsize = seventeen then var ilsize 17
if %ilsize = eighteen then var ilsize 18
if %ilsize = nineteen then var ilsize 19
if %ilsize = twenty then var ilsize 20
if %ilsize = twenty-one then var ilsize 21
if %ilsize = twenty-two then var ilsize 22
if %ilsize = twenty-three then var ilsize 23
if %ilsize = twenty-four then var ilsize 24
if %ilsize = twenty-five then var ilsize 25
if %ilsize = twenty-six then var ilsize 26
if %ilsize = twenty-seven then var ilsize 27
if %ilsize = twenty-eight then var ilsize 28
if %ilsize = twenty-nine then var ilsize 29
if %ilsize = thirty then var ilsize 30
if %ilsize = thirty-five then var ilsize 35
if %ilsize = forty then var ilsize 40
if %ilsize = forty-five then var ilsize 45
if %ilsize = fifty then var ilsize 50
if %ilsize = fifty-five then var ilsize 55
if %ilsize = sixty then var ilsize 60
if %ilsize = sixty-five then var ilsize 65
if %ilsize = seventy then var ilsize 70
if %ilsize = seventy-five then var ilsize 75
if %ilsize = eighty then var ilsize 80
if %ilsize = eighty-five then var ilsize 85
if %ilsize = ninety then var ilsize 90
if %ilsize = ninety-five then var ilsize 95
if %ilsize = one hundred then var ilsize 100
if %ilsize = one hundred ten then var ilsize 110
if %ilsize = one hundred twenty then var ilsize 120
if %iwsize = one then var iwsize 1
if %iwsize = two then var iwsize 2
if %iwsize = three then var iwsize 3
if %iwsize = four then var iwsize 4
if %iwsize = five then var iwsize 5
if %iwsize = six then var iwsize 6
if %iwsize = seven then var iwsize 7
if %iwsize = eight then var iwsize 8
if %iwsize = nine then var iwsize 9
if %iwsize = ten then var iwsize 10
if %iwsize = eleven then var iwsize 11
if %iwsize = twelve then var iwsize 12
if %iwsize = thirteen then var iwsize 13
if %iwsize = fourteen then var iwsize 14
if %iwsize = fifteen then var iwsize 15
if %iwsize = sixteen then var iwsize 16
if %iwsize = seventeen then var iwsize 17
if %iwsize = eighteen then var iwsize 18
if %iwsize = nineteen then var iwsize 19
if %iwsize = twenty then var iwsize 20
if %iwsize = twenty-one then var iwsize 21
if %iwsize = twenty-two then var iwsize 22
if %iwsize = twenty-three then var iwsize 23
if %iwsize = twenty-four then var iwsize 24
if %iwsize = twenty-five then var iwsize 25
if %iwsize = twenty-six then var iwsize 26
if %iwsize = twenty-seven then var iwsize 27
if %iwsize = twenty-eight then var iwsize 28
if %iwsize = twenty-nine then var iwsize 29
if %iwsize = thirty then var iwsize 30
if %iwsize = thirty-five then var iwsize 35
if %iwsize = forty then var iwsize 40
if %iwsize = forty-five then var iwsize 45
if %iwsize = fifty then var iwsize 50
if %iwsize = fifty-five then var iwsize 55
if %iwsize = sixty then var iwsize 60
if %iwsize = sixty-five then var iwsize 65
if %iwsize = seventy then var iwsize 70
if %iwsize = seventy-five then var iwsize 75
if %iwsize = eighty then var iwsize 80
if %iwsize = eighty-five then var iwsize 85
if %iwsize = ninety then var iwsize 90
if %iwsize = ninety-five then var iwsize 95
if %iwsize = one hundred then var iwsize 100
if %iwsize = one hundred ten then var iwsize 110
if %iwsize = one hundred twenty then var iwsize 120
if %ihsize = one then var ihsize 1
if %ihsize = two then var ihsize 2
if %ihsize = three then var ihsize 3
if %ihsize = four then var ihsize 4
if %ihsize = five then var ihsize 5
if %ihsize = six then var ihsize 6
if %ihsize = seven then var ihsize 7
if %ihsize = eight then var ihsize 8
if %ihsize = nine then var ihsize 9
if %ihsize = ten then var ihsize 10
if %ihsize = eleven then var ihsize 11
if %ihsize = twelve then var ihsize 12
if %ihsize = thirteen then var ihsize 13
if %ihsize = fourteen then var ihsize 14
if %ihsize = fifteen then var ihsize 15
if %ihsize = sixteen then var ihsize 16
if %ihsize = seventeen then var ihsize 17
if %ihsize = eighteen then var ihsize 18
if %ihsize = nineteen then var ihsize 19
if %ihsize = twenty then var ihsize 20
if %ihsize = twenty-one then var ihsize 21
if %ihsize = twenty-two then var ihsize 22
if %ihsize = twenty-three then var ihsize 23
if %ihsize = twenty-four then var ihsize 24
if %ihsize = twenty-five then var ihsize 25
if %ihsize = twenty-six then var ihsize 26
if %ihsize = twenty-seven then var ihsize 27
if %ihsize = twenty-eight then var ihsize 28
if %ihsize = twenty-nine then var ihsize 29
if %ihsize = thirty then var ihsize 30
if %ihsize = thirty-five then var ihsize 35
if %ihsize = forty then var ihsize 40
if %ihsize = forty-five then var ihsize 45
if %ihsize = fifty then var ihsize 50
if %ihsize = fifty-five then var ihsize 55
if %ihsize = sixty then var ihsize 60
if %ihsize = sixty-five then var ihsize 65
if %ihsize = seventy then var ihsize 70
if %ihsize = seventy-five then var ihsize 75
if %ihsize = eighty then var ihsize 80
if %ihsize = eighty-five then var ihsize 85
if %ihsize = ninety then var ihsize 90
if %ihsize = ninety-five then var ihsize 95
if %ihsize = one hundred then var ihsize 100
if %ihsize = one hundred ten then var ihsize 110
if %ihsize = one hundred twenty then var ihsize 120
goto return

return:
return

verbcheck:
send look my $righthandnoun
pause .5
send read my $righthandnoun
pause .5
send study my $righthandnoun
wait
pause .5
send analyze my $righthandnoun
wait
pause .5
send focus my $righthandnoun
wait
pause .5
send recall my $righthandnoun
wait
pause .5

end:
put #class racial on
put #play ScriptEnd
put #flash
put #parse SCRIPT DONE
exit

enderror1:
wait
pause .5
put #echo
put #echo *** This item is crafted. Please do not make an item page for it on Elanthipedia. ***
put #echo
put #class racial on
put #play Error
put #flash
put #parse SCRIPT DONE
exit

enderror2:
wait
pause .5
put #echo
put #echo *** This item is altered. Please do not make an item page for it on Elanthipedia. ***
put #echo
put #class racial on
put #play Error
put #flash
put #parse SCRIPT DONE
pause .5
exit</pre>

==Script (Shown Items)==

<pre>#debuglevel 10
put #class rp on
put #class arrive off
put #class joust off
put #class combat off
put #class racial off
put #class shop off

var appcostl 0
var appcostd 0
var newshieldapp no
action goto end when ^I could not find what (you|you were) referring to\.$

#action goto enderror1 when ^You .+ a quality of \d+, placing it at .+ on the official Trader's Scale\.$|^You.+the \S+ in the .+ is of .+ quality\.$
#action goto enderror2 when ^The .+ looks? to be custom-made\.$
action setvariable tap $2 when ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying
action setvariable tap $2 when ^On the.+you see (a|an|some|the) (.+)\.$
action setvariable tap $2 when ^You glance at (a|an|some|the) (.+)\.$|^Considering the security around the Phelim starblade
action setvariable tap $2 when ^You quietly examine (a|an|some|the) (.+) and notice a price tag indicating
action setvariable tap $2 when ^You tap (a|an|some|the) (.+)\.$
action setvariable tap $2;setvariable look $3 when ^\w+ shows you (an?|some|the) (.+?)\.\s+(.+)
action setvariable tap $2;setvariable look - when ^\w+ shows you (an?|some|the) (.+)\.$
action setvariable short $2 when ^Considering the security around (a|an|some|the) (.+), it would be ill advised to tamper with it.
action setvariable short $2 when ^Short: (a|an|some|the) (.+)
action setvariable look $1 when ^Look: (.+)
action setvariable look - when ^Look: You see nothing unusual\.$
action setvariable look - when ^You see nothing unusual\.$
action setvariable read $1 when ^Read:\s+(.+)$
action setvariable typefunction tack when ^This is specifically designed to be worn by a horse\.$
action setvariable special tack when ^This is specifically designed to be worn by a horse\.$
action setvariable typecon container when ^The .+ (are|is) a container, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) a container\.$
action setvariable typecon container when ^The .+ (are|is) pocketed, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) pocketed\.$
action setvariable typecon container when ^The gem pouch is made for easy storage of gems
action setvariable typeguild trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable special trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable wearloc $2 when ^It appears that .+ can be worn (around|in|on) the (.+)\.$
action setvariable wearloc $1 when ^It appears that .+ can be draped over the (.+)\.$
action setvariable wearloc generic when ^It appears that .+ can be worn\.$
action setvariable wearloc belt when ^It appears that .+ can be worn attached to a belt\.$
action setvariable wearloc belt when ^The gem pouch is made for easy storage of gems
action setvariable wearloc ear when ^It appears that .+ can be worn in one ear
action setvariable wearloc ears when ^It appears that .+ can be worn in both ears
action setvariable wearloc hair (placed) when ^It appears that .+ can be worn in the hair\.$
action setvariable wearloc pants when ^It appears that .+ can be worn like pants or a skirt\.$
action setvariable wearloc shirt (with armor) when ^It appears that .+ can be worn as a shirt or robe, even with armor\.$
action setvariable wearloc shirt (without armor) when ^It appears that .+ can be worn like a shirt or robe\.$
action setvariable wearloc shoulder when ^It appears that .+ can be slung over one shoulder\.$
action setvariable wearloc upper arm when ^It appears that .+ can be worn on the upper ?arm\.$
action setvariable weight $1 when ^You are certain that .+ weighs exactly (\d+) (stones?)\.$
action setvariable lsize $1;setvariable wsize $2;setvariable hsize $3 when ^You compare your .+ with the .+ yardstick several times and are certain the length measures (.+) spans?, the width measures (.+) spans? and the height measures (.+) spans?\.$
action setvariable ilsize $1;setvariable iwsize $2;setvariable ihsize $3;setvariable csize $4 when ^You compare your .+ with the .+ yardstick several times and are certain the interior length measures (.+) spans?, the interior width measures (.+) spans?, the interior height measures (.+) spans? and the .+ appears capable of holding about (\d+) stones of weight\.$
action setvariable appcostk $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:kronars)\.$
action setvariable appcostk 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:kronar)\.$
action setvariable appcostk 0 when ^You are certain that .+ (is|are) worth exactly nothing\.$
action setvariable appcostk - when ^There doesn't appear to be anything in the gem pouch\.$
action setvariable appcostk - when is made for easy storage of gems, and is used by gemshops everywhere to handle bulk transactions\.$
action setvariable appcostl $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:lirums)\.$
action setvariable appcostl 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:lirum)\.$
action setvariable appcostd $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:dokoras)\.$
action setvariable appcostd 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:dokora)\.$
action setvariable costi $1 when ^Cost: (\d+)
action setvariable maxcharge $1 when ^You are certain that the .+ holds? exactly (\d+) mana\.$
action setvariable metal yes when ^The .+ (is|are) made with metal\.$

action setvariable wtype1 LE;setvariable wtypename1 light edged;setvariable wskill1 small edged when (is a|are a|and) light edged .+ weapon
action setvariable wtype1 ME;setvariable wtypename1 medium edged;setvariable wskill1 small edged when (is a|are a|and) medium edged .+ weapon
action setvariable wtype1 HE;setvariable wtypename1 heavy edged;setvariable wskill1 large edged when (is a|are a|and) heavy edged .+ weapon
action setvariable wtype1 2HE;setvariable wtypename1 two-handed edged;setvariable wskill1 twohanded edged when (is a|are a|and) two-handed edged .+ weapon
action setvariable wtype1 LB;setvariable wtypename1 light blunt;setvariable wskill1 small blunt when (is a|are a|and) light blunt .+ weapon
action setvariable wtype1 MB;setvariable wtypename1 medium blunt;setvariable wskill1 small blunt when (is a|are a|and) medium blunt .+ weapon
action setvariable wtype1 HB;setvariable wtypename1 heavy blunt;setvariable wskill1 large blunt when (is a|are a|and) heavy blunt .+ weapon
action setvariable wtype1 2HB;setvariable wtypename1 two-handed blunt;setvariable wskill1 twohanded blunt when (is a|are a|and) two-handed blunt .+ weapon
action setvariable wtype1 SL;setvariable wtypename1 sling;setvariable wskill1 slings when (is|are) a sling .+ weapon
action setvariable wtype1 StS;setvariable wtypename1 staff sling;setvariable wskill1 slings when (is|are) a staff sling .+ weapon
action setvariable wtype1 rock;setvariable wtypename1 sling ammo;setvariable wskill1 slings when ^This appears to be ammunition for slings\.$
action setvariable wtype1 SB;setvariable wtypename1 short bow;setvariable wskill1 bow when (is|are) a short bow .+ weapon
action setvariable wtype1 LoB;setvariable wtypename1 long bow;setvariable wskill1 bow when (is|are) a long bow .+ weapon
action setvariable wtype1 CB;setvariable wtypename1 composite bow;setvariable wskill1 bow when (is|are) a composite bow .+ weapon
action setvariable wtype1 arrow;setvariable wtypename1 bow ammo;setvariable wskill1 slings when ^This appears to be ammunition for bows\.$
action setvariable wtype1 LX;setvariable wtypename1 light crossbow;setvariable wskill1 crossbow when (is|are) a light crossbow .+ weapon
action setvariable wtype1 HX;setvariable wtypename1 heavy crossbow;setvariable wskill1 crossbow when (is|are) a heavy crossbow .+ weapon
action setvariable wtype1 bolt;setvariable wtypename1 crossbow ammo;setvariable wskill1 slings when ^This appears to be ammunition for crossbows\.$
action setvariable wtype1 SS;setvariable wtypename1 short staff;setvariable wskill1 staves when (is a|are a|and) short staff .+ weapon
action setvariable wtype1 QS;setvariable wtypename1 quarter staff;setvariable wskill1 staves when (is a|are a|and) quarter staff .+ weapon
action setvariable wtype1 PI;setvariable wtypename1 pike;setvariable wskill1 polearms when (is a|are a|and) pike .+ weapon
action setvariable wtype1 HAL;setvariable wtypename1 halberd;setvariable wskill1 polearms when (is a|are a|and) halberd .+ weapon
action setvariable wtype1 parry;setvariable wskill1 brawling when ^You are certain that the .+ is a purely defensive item\.$
action setvariable wtype1 elbows;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the elbows\.$
action setvariable wtype1 hands;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the hands\.$
action setvariable wtype1 knees;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the knees\.$
action setvariable wtype1 feet;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the feet\.$
action setvariable wtype2 LT;setvariable wtypename2 light thrown;setvariable wskill2 light thrown when (is|are) a light thrown and .+ weapon
action setvariable wtype2 HT;setvariable wtypename2 heavy thrown;setvariable wskill2 heavy thrown when (is|are) a heavy thrown and .+ weapon
action setvariable range melee when melee-ranged weapon
action setvariable range pole when pole-ranged weapon
action setvariable puncture $1 when ^\s+(.*) puncture damage
action setvariable slice $1 when ^\s+(.*) slice damage
action setvariable impact $1 when ^\s+(.*) impact damage
action setvariable fire $1 when ^\s+(.*) fire damage
action setvariable cold $1 when ^\s+(.*) cold damage
action setvariable electric $1 when ^\s+(.*) electric damage
action setvariable puncture quite a bit when ^\s+quite a bit of puncture damage
action setvariable slice quite a bit when ^\s+quite a bit of slice damage
action setvariable impact quite a bit when ^\s+quite a bit of impact damage
action setvariable fire quite a bit when ^\s+quite a bit of fire damage
action setvariable cold quite a bit when ^\s+quite a bit of cold damage
action setvariable electric quite a bit when ^\s+quite a bit of electric damage
action setvariable puncturetypename Yes when ^\s+(.*) puncture damage increase
action setvariable slicetypename Yes when ^\s+(.*) slice damage increase
action setvariable impacttypename Yes when ^\s+(.*) impact damage increase
action setvariable foi $1 when .+ is (.*) designed for improving the force of your attacks\.$
action setvariable balance $1 when .+ is (.*) balanced
action setvariable power $1 when .+ is (.*) suited
action setvariable drawstrength $1 when ^The .+ appears set for a draw strength that is (.+) for a bow of this type\.$
action setvariable adraw Yes when ^The .+ appears to have an adjustable draw strength\.$
action setvariable adraw No when ^The .+ does not appear to have an adjustable draw strength\.$

action setvariable stype lsh;setvariable stypename large when is large in size\.$
action setvariable stype msh;setvariable stypename medium when is medium in size\.$
action setvariable stype ssh;setvariable stypename small when is small in size\.$
action setvariable newshieldapp Yes when ^Your experience with shields allows a better appraisal of the protection capabilities\.$
action setvariable sprotection $1 when .+ offers (.*) protection
action setvariable smin $1 when ^You are certain that .+ offers (.*) to .+ protection\.
action setvariable smax $1 when ^You are certain that .+ offers .+ to (.*) protection\.
action setvariable shindrance $1 when .+ it imposes? (.*) maneuvering hindrance.

action setvariable atype plate armor when (is|are) plate armor\.$
action setvariable atype brigandine when (is|are) brigandine armor\.$
action setvariable atype chain armor when (is|are) chain armor\.$
action setvariable atype light armor when (is|are) light armor\.$
action setvariable abpuncture $1 when .+ \s(.*) for puncture attacks
action setvariable abslice $1 when .+ \s(.*) for slice attacks
action setvariable abimpact $1 when .+ \s(.*) for impact attacks
action setvariable abfire $1 when .+ \s(.*) for fire attacks
action setvariable abcold $1 when .+ \s(.*) for cold attacks
action setvariable abelectrical $1 when .+ \s(.*) for electrical attacks
action setvariable appuncture $1 when .+ \s(.*) protection and .+ damage absorption for puncture attacks
action setvariable apslice $1 when .+ \s(.*) protection and .+ damage absorption for slice attacks
action setvariable apimpact $1 when .+ \s(.*) protection and .+ damage absorption for impact attacks
action setvariable apfire $1 when .+ \s(.*) protection and .+ damage absorption for fire attacks
action setvariable apcold $1 when .+ \s(.*) protection and .+ damage absorption for cold attacks
action setvariable apelectrical $1 when .+ \s(.*) protection and .+ damage absorption for electrical attacks
action setvariable aapuncture $1 when .+ protection and (.*) damage absorption for puncture attacks
action setvariable aaslice $1 when .+ protection and (.*) damage absorption for slice attacks
action setvariable aaimpact $1 when .+ protection and (.*) damage absorption for impact attacks
action setvariable aafire $1 when .+ protection and (.*) damage absorption for fire attacks
action setvariable aacold $1 when .+ protection and (.*) damage absorption for cold attacks
action setvariable aaelectrical $1 when .+ protection and (.*) damage absorption for electrical attacks
action setvariable ahindrance $1 when .+ appears? to impose (.*), offering
action setvariable mhindrance $1 when .+ appears? to impose (.*) maneuvering hindrance and
action setvariable shindrance $1 when .+ appears? to impose .+ maneuvering hindrance and (.*) stealth hindrance
action setvariable ahead head when ^\s+head$
action setvariable aeyes eyes when ^\s+right eye$
action setvariable aneck neck when ^\s+neck$
action setvariable achest chest when ^\s+chest$
action setvariable aback back when ^\s+back$
action setvariable aabdomen abdomen when ^\s+abdomen$
action setvariable aarms arms when ^\s+right arm$
action setvariable aarms arms when ^\s+right front leg$
action setvariable alegs legs when ^\s+right leg$
action setvariable alegs legs when ^\s+right rear leg$
action setvariable ahands hands when ^\s+right hand$

action setvariable construction $2 when ^You are certain that the .+ (is|are) (.*) (and easily damaged|against damage|to damage)
action setvariable construction average construction when ^You are certain that the .+ (is|are) of average construction

put #echo
put #echo ITEM TYPE:
put #echo
put #echo 1: Weapon: Melee/Thrown
put #echo
put #echo 2: Weapon: Ranged
put #echo
put #echo 3: Weapon: Ammunition
put #echo
put #echo 4: Weapon: Brawling
put #echo
put #echo 5: Weapon: Parry Stick
put #echo
put #echo 6: Shield
put #echo
put #echo 7: Armor/Barding
put #echo
put #echo 8: Item
put #echo
put #echo Enter Type Number:

matchre WeaponApp1 ^1$
matchre WeaponApp2 ^2$
matchre WeaponApp3 ^3$
matchre WeaponApp4 ^4$
matchre WeaponApp5 ^5$
matchre ShieldApp ^6$
matchre ArmorApp ^7$
matchre ItemApp ^8$
matchre ItemApp ^9$
matchwait

WeaponApp1:
var number %numbers(%numbers.index)
gosub AppraiseWeapon1
goto end

WeaponApp2:
var number %numbers(%numbers.index)
gosub AppraiseWeapon2
goto end

WeaponApp3:
var number %numbers(%numbers.index)
gosub AppraiseWeapon3
goto end

WeaponApp4:
var number %numbers(%numbers.index)
gosub AppraiseWeapon4
goto end

WeaponApp5:
var number %numbers(%numbers.index)
gosub AppraiseWeapon5
goto end

ShieldApp:
var number %numbers(%numbers.index)
gosub AppraiseShield
goto end

ArmorApp:
var number %numbers(%numbers.index)
gosub AppraiseArmor
goto end

ItemApp:
var number %numbers(%numbers.index)
gosub AppraiseItem
goto end

AppraiseWeapon1:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |range=%range
put #echo |type=%wtype1
put #echo |type2=%wtype2
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=%foi
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (%weight stones)
put #echo note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |range=%range
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |type2=%wtype2
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon2:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |range=ranged
put #echo |ammo=%ammo
put #echo |ammocap=
put #echo |rangedRT=
put #echo |drawstrength=%drawstrength
put #echo |adraw=%adraw
put #echo |type=%wtype1
put #echo |puncture=-
put #echo |foi=%foi
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |range=ranged
put #log >Appraisal-$charactername.txt |ammo=%ammo
put #log >Appraisal-$charactername.txt |ammocap=
put #log >Appraisal-$charactername.txt |rangedRT=
put #log >Appraisal-$charactername.txt |drawstrength=%drawstrength
put #log >Appraisal-$charactername.txt |adraw=%adraw
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon3:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%2", "(arrows?)")) then var wtype1 arrow
if (matchre ("%2", "(bolts?|quadrellos?|quarrels?|pulzones?)")) then var wtype1 bolt
if (matchre ("%2", "(bullets?|clumps?|lumps?|pellets?|rocks?)")) then var wtype1 rock
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%wtype1
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=-
put #echo |balance=-
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon4:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |brawl=yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%wtype1
put #echo |puncture=%puncture
put #echo |puncturetype=%puncturetype
put #echo |slice=%slice
put #echo |slicetype=%slicetype
put #echo |impact=%impact
put #echo |impacttype=%impacttype
put #echo |foi=%foi
put #echo |balance=-
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (%weight stones)
put #echo note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |puncturetype=%puncturetype
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |slicetype=%slicetype
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |impacttype=%impacttype
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (%wtype1)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon5:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |brawl=yes
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=parry
put #echo |puncture=-
put #echo |puncturetype=No
put #echo |slicetype=No
put #echo |impacttype=No
put #echo |foi=-
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo brawling (parry)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=parry
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal-$charactername.txt |puncturetype=No
put #log >Appraisal-$charactername.txt |slicetype=No
put #log >Appraisal-$charactername.txt |impacttype=No
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (parry)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseShield:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %newshieldapp = no then var smin NOTSET
if %newshieldapp = no then var smax NOTSET
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #echo
put #echo {{Shield
put #echo |newshieldapp=%newshieldapp
put #echo |name=%tap
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%stype
put #echo |hindrance=%shindrance
put #echo |minprotection=%smin
put #echo |maxprotection=%smax
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=-
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Shield
put #log >Appraisal-$charactername.txt |newshieldapp=%newshieldapp
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%stype
put #log >Appraisal-$charactername.txt |hindrance=%shindrance
put #log >Appraisal-$charactername.txt |minprotection=%smin
put #log >Appraisal-$charactername.txt |maxprotection=%smax
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseArmor:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if %aapuncture = %aaslice && %aapuncture = %aaimpact && %aapuncture = %aafire && %aapuncture = %aacold && %aapuncture = %aaelectrical then var absorbance %aapuncture
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #echo
put #echo {{Armor
put #echo |name=%tap
put #echo |newarmorapp=Yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%atype
put #echo |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #echo |hindrance=%mhindrance
put #echo |stealth=%shindrance
put #echo |puncture=%appuncture
put #echo |slice=%apslice
put #echo |impact=%apimpact
put #echo |fire=%apfire
put #echo |cold=%apcold
put #echo |electric=%apelectrical
put #echo |absorbance=%absorbance
put #echo |punctureab=%aapuncture
put #echo |sliceab=%aaslice
put #echo |impactab=%aaimpact
put #echo |fireab=%aafire
put #echo |coldab=%aacold
put #echo |electricab=%aaelectrical
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |appcost=%appcost
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Armor
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newarmorapp=Yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%atype
put #log >Appraisal-$charactername.txt |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #log >Appraisal-$charactername.txt |hindrance=%mhindrance
put #log >Appraisal-$charactername.txt |stealth=%shindrance
put #log >Appraisal-$charactername.txt |puncture=%appuncture
put #log >Appraisal-$charactername.txt |slice=%apslice
put #log >Appraisal-$charactername.txt |impact=%apimpact
put #log >Appraisal-$charactername.txt |fire=%apfire
put #log >Appraisal-$charactername.txt |cold=%apcold
put #log >Appraisal-$charactername.txt |electric=%apelectrical
put #log >Appraisal-$charactername.txt |absorbance=%absorbance
put #log >Appraisal-$charactername.txt |punctureab=%aapuncture
put #log >Appraisal-$charactername.txt |sliceab=%aaslice
put #log >Appraisal-$charactername.txt |impactab=%aaimpact
put #log >Appraisal-$charactername.txt |fireab=%aafire
put #log >Appraisal-$charactername.txt |coldab=%aacold
put #log >Appraisal-$charactername.txt |electricab=%aaelectrical
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseItem:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Typeset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #echo
put #echo {{Item
put #echo |name=%tap
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #echo |wearloc=%wearloc
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |ilsize=%ilsize
put #echo |iwsize=%iwsize
put #echo |ihsize=%ihsize
put #echo |csize=%csize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |metal=%metal
put #echo }}
put #echo note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Item
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |ilsize=%ilsize
put #log >Appraisal-$charactername.txt |iwsize=%iwsize
put #log >Appraisal-$charactername.txt |ihsize=%ihsize
put #log >Appraisal-$charactername.txt |csize=%csize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

VarBlank:
var metal no
var maxcharge DELETE THIS LINE
var wearloc -
var lsize NOTSET
var wsize NOTSET
var hsize NOTSET
var ilsize DELETE
var iwsize DELETE
var ihsize DELETE
var csize DELETE
var appcost NOTSET
var mtags DELETE
var mtagg DELETE
var mtagm DELETE
var mtagw DELETE
var mtagf DELETE
var ctagr DELETE
var ctago DELETE
var ctagt DELETE
var ctagy DELETE
var ctagg DELETE
var ctagb DELETE
var ctagv DELETE
var ctagn DELETE
var ctagm DELETE
var ctagx DELETE
var stagp DELETE
var stagg DELETE
var staga DELETE
var stagh DELETE
var stage DELETE
var stagr DELETE
var stagl DELETE
var amtags DELETE
var amtagm DELETE
var amtagf DELETE
var amtagg DELETE
var amtagw DELETE
var actagr DELETE
var actago DELETE
var actagt DELETE
var actagy DELETE
var actagg DELETE
var actagb DELETE
var actagv DELETE
var actagn DELETE
var actagm DELETE
var actagx DELETE
var astagg DELETE
var astagp DELETE
var astagr DELETE
var astage DELETE
var astaga DELETE
var astagh DELETE
var astagl DELETE
var wtype2 NOTSET
var puncturetype No
var slicetype No
var impacttype No
var absorbance VALUES NOT EQUAL
var ahead DELETE
var aeyes DELETE
var aneck DELETE
var achest DELETE
var aback DELETE
var aabdomen DELETE
var aarms DELETE
var alegs DELETE
var ahands DELETE
var construction NOTSET
var typefunction -
var typecon DELETE
var typemagic DELETE
var typeguild DELETE
var typerace DELETE
var special NOTSET
var itype NOTSET
return

Tagset:
if (matchre ("%look", "(asketine|avaes|celstite|chakrel|dhhresh|hafaltu|iheaneu'?a|imnera|indakar|ithridu|keismin|lemicule|negnetha|soulstone|sraeth|xibaryl|zengalmi)")) then var mtags $1
if (matchre ("%look", "(aluminum|animite|anlora[- ]avtoma|audrualm|\bbrass\b|chrome|covellite|Damascus steel|damite|darkstone|electrum|Elven silver|gilded|glaes|(black|blighted|blue|crown|Elven green|grey|pink|purple|rose|white|yellow) \bgold\b|haralun|hepatizon|icesteel|ilmenite|iridium|(?<!wrought )\biron\b|ithridu|kadepa|keismin|kertig|lumium|mithril|moen takibena|moonsilver|muracite|negnetha|nickel|niello|niniam|oravir|orichalcum|palladium|pewter|rencate|silver[- ]gilt|silversteel|spangold|sungold|(?<!watered )\bsteel\b|tantalum|\btin\b|titanium|tyrium|vardite|verdigris copper|watered steel|windsteel|wrought iron|\bzinc\b)")) then var mtagm $1
if (matchre ("%look", "([cs]endal|angora|armure|arzumodine|\bbast\b|\bbatik\b|batiste|bison[- ]hide|boar[- ]hide|bombazine|bourde|broadcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)brocade|buckskin|burlap|camlet|canvas|cashmere|chainse|chainsil|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)chiffon|\bcire\b|cloth[- ]of[- ]gold|cloth[- ]of[- ]silver|(?<!lipka )cotton|cowhide|cr[ae]pe|crinoline|cuirbouilli|damask|deerskin|dergatine|diamond[- ]hide|doeskin|dragonar|eolienne|\bfaille\b|farandine|\bfelt\b|flannel|\bflax\b|fleece|gabardine|gauze|gingham|gold[- ]weave|grogram|grosgrain|haircloth|\bhemp\b|horsehair|ialalhe|imperial weave|jaalmin |jacquard|\bjaspe\b|\bjute\b|khaddar|khaki|khiynit|kidskin|lambskin|leather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blinen\b|longcloth|muslin|oilcloth|oilskin|onyx[- ]hide|petalette|ramshorn|rawhide|rosecloth|ruazen|sackcloth|sailcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsamite\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsatin\b|scalene |seersucker|\bserge\b|\bshagreen\b|sharkskin|sheepskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsilk\b|silver[- ]weave|silveress|snakeskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)snowlace|spun glitter |straw|suede|taffeta|thornweave|titanese|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\btulle\b|turbaurs|tweed|\btwine\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bvelvet\b|velveteen|voile|whisperlayne|whitleather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bwool\b|woolen|worsted|zenganne|zibeline|(blood|bluefire|dragonfire|duchess|duponi|Elothean|Elven|fae woven|faeweave|fire|gemfire|ice|lava|lipka|marble|moon|moonspun|Musparan|night|night[rw]eaver|nightstalker|oceanmist|ruaz[ei]n|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin) (brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool))")) then var mtagf $1
if (matchre ("%look", "((cat'?s?|hawk'?s?|tiger'?s?) eye|(?<!(dragonvein) )agates?|(?<!(orchid|viperscale) )alexandrite|almiris|alshabi stone|ambergris|amlothite|andalusite|anloral|anthracite|arkose|aurora opal|axinite|azurite|basalt|\bberyls?\b|bleeding heart jade|bloodgem|calav[ae]rite|ceramic|chalcedon(y|ies)|\bchalk\b|charoite|chrysoberyl|chrysoprase|cinnabar|(?<!volcano'?s heart )citrine|\bclays?\b|cloudstone|\bcoal\b|\bcorals?\b|\bcrystals?\b|crystalline dragon tear|dawgolite|(?<!(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) )diamond(?!ique)|diamondique|diopside|diorite|dolomite|dragonfire amber|Drogor's Wrath sapphire|durgauldite|dwalgim|elanthite|elbaite|\beldrings?\b|Enelne's eye|er'?qutrite|erythraean|erythrite|estrildite|feldspar|\bflint\b|fool's gold|(?<!(bloodmist|forest'?s heart|nimbus) )garnet|\bglass\b|gneiss|granite|grazhite|Hav'?roth'?s ambrosia|hematite|iahja|ilmenite|iolite|ismenite|jadeite|(?<!(autumn|ocean|spiderweb|wild horse) )jasper|kaolinite|katamba'?s spire|katambite|kunzite|kyanite|lantholite|larimar|lasmodi|(?<!(Hekemhhg|lapis) )lazuli|malachite|\bmarble\b|merewaldite|mistglass|morganite|morleenite|\bnacres?\b|neitrice|obsidian|olivine|(?<!(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) )\bopals?\b|(?<!(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) )\bpearls?\b|penhetite|peridot|porcelain|porphyry|pumice|pyrite|quartz|rhodochrosite|rhodonite|sana'?ati heart|scheelite|schist|scrimshaw|sea[- ]glass|selenite|\bsenci\b|\bshale\b|sjatmal|sodalite|\bspinels?\b|spiritgem|svelae|szeldite|tanzanite|(?<!(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) )topaz|(?<!(aurora|vela'?tohr) )tourmaline|tsavorite|ulhari prism|verenite|volcano'?s heart citrine|waermodi|wulfenite|xibarite|yavasite|yoakenite|zircon|(orchid|viperscale) alexandrite|(lightning|violet'?s heart) amethyst|(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) diamond|(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) emerald|(bloodmist|forest'?s heart|nimbus) garnet|(autumn|ocean|spiderweb|wild horse) jasper|(Hekemhhg|lapis) lazuli|(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) opal|(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) pearl|(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) rub(y|ies)|(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) sapphire|(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) topaz|(aurora|vela'?tohr) tourmaline)")) then var mtagg $1
if (matchre ("%look", "(\w+-stone)")) then var mtagg $1
if (matchre ("%look", "(\w+stone)")) then var mtagg $1
if (matchre ("%look", "(\bwooden\b|\bpaper\b|acacia|acanth|adderwood|aganylosh'?a|\balder\b|alerce|\baspen\b|\bbalsa\b|bamboo|basswood|\bbeech\b|(?<!curly )\bbirch\b|black ironwood|black maple|black walnut|black willow|blackwood|bloodwood|boxwood|bricklebranch|burlwood|\bcedar\b|cherrywood|cocobolo|copperleaf|copperwood|\bcork\b|curly birch|cypress|deobar|desert palm|diamondwood|dogwood|dragonwood|driftwood|e'?erdream|ebonwood|\belm\b|eucalyptus|\bfir\b|fishtail oak|flamethorn|flamewood|fruitwood|gethwood|glitvire|gloomwood|goldbark|goldenoak|halmik|\bhaon\b|hawthorn|hhr'?lav'?geluhh|hickory|huljik|Ilithian cedar|iroko|ironwood|juniper|khor'?vela|khor-?vela|lacewood|lemonwood|linden|linwood|\blunat\b|(?<!(black|silver) )\bmaple\b|mikkhalbamar|mistwood|modwir|(?<!(fishtail|golden) )\boak\b|\bosage\b|palmwood|papyrus|parchment|pearwood|\bpine\b|plumwood|poplar|pozumshi|purpleheart|redwood|\breed\b|rosewood|\browan\b|sana'?ati|sandalwood|sanrisi|satinwood|\bshaal\b|silver maple|silverwillow|silverwood|smokewood|\bspruce\b|taborwood|tamboti|\bteak\b|tulvora|\bvedda\b|vellum|(?<!black )walnut|white ironwood|whitethorn|wiirwood|(?<!(black|silver) )\bwillow\b|witchclaw|wyndewood|\byew\b|zingana|zulnatha)")) then var mtagw $1, wood
if (matchre ("%look", "(\w+-wood)")) then var mtagw $1, wood
if (matchre ("%look", "(\w+wood)")) then var mtagw $1, wood
if (matchre ("%look", "(\bgods?\b|Immortal|Alamhif|Albreda|Aldauth|Aliesa|Aniek|Asketi|Be'?ort|Bereng[ae]ria|Botolf|Chadatru|Coshivi|Damaris|Demrris|Dergati|Divyaush|Drogor|Eerayn|Eimeuz|Elide|Eluned|Enelne|\bEu\b|Everild|Eylhaar|Faenella|Faiyka|Firulf|Gizzbolf|Glacis|Glythtide|Harawep|Hav'?roth|Hodierna|Huldah|\bIdon\b|Iladza|Issendar|Kerenhappuch|Kertigen|Kirmhara|Krigglin|Kuniyo|Lemicus|Meraud|Merion|Misiumos|\bMrod\b|Murrula|Orisas|Peri'?el|Phelim|Rutilor|Saemaus|Shariza|Sieben|Sildua|Spangklud|Sraxaec|Tamsine|Tenemlor|Thirteen|Tieheq|Triquetra|Trothfang|Truffenyi|Urrem'?tier|Ushnish|World Dragon|Xosiurion|Zachriedek)")) then var stagg $1
if (matchre ("%look", "(acolyte|adventurer|alchemist|amazon|apothecary|\barchers?\b|armorsmith|assassin|bandit|Barbarian|\bBards?\b|barmaid|bartender|beggar|blacksmith|blasphemer|bowm[ae]n|\bbrewers?\b|brigand|buccaneer|burglar|captain|celebrant|champion|\bchefe?s?\b|citizen|clergy|clergy(man|clergy(man|woman)|Cleric|combatant|commoner|convict|criminal|dancer|diviner|doctor|druid|duelist|ecclesiastic|elemancer|elementalist|embalmer|Empath|enchanter|enchantress|engineer|executioner|farmer|felon|fencer|forester|gladiator|hangm[ae]n|healer|herald|heretic|\bheroe?s?\b|hierophant|highwaym[ae]n|historian|hunter|huntsm[ae]n|Inquisitor|inquisitress|\bjudges?\b|justiciar|knight|locksmith|lumberjack|\bmages?\b|marshal|martyr|mastermind|\bmedics?\b|medicine (m[ae]n|medicine (m[ae]n|wom[ae]n)|merchant|messenger|minister|minstrel|\bmonks?\b|Moon Mage|mortician|musician|mystic|navigator|Necromancer|nurse|outlaw|Paladin|pastor|peddler|philosopher|physician|pilgrim|pirate|\bpoets?\b|preacher|priest|prisoner|prophet|psychic|Ranger|researcher|rogue|\bsages?\b|sailor|scholar|\bseers?\b|sham[ae]n|shepherd|smuggler|sniper|soldier|spiritualist|surgeon|swashbuckler|Thief|Thieves|Trader|travell?er|undertaker|urchin|villager|villain|warrior|Warrior Mage|weaponsmith|weaver|\bwitche?s?\b|witche?|wizard|wom[ae]n)|woman)|woodcutter|woodsm[ae]n)")) then var stagp $1
if (matchre ("%look", "(Adan'?f|Dwarf|Dwarves|\bElfs?\b|Elothean (?!(lace|silk))|Elven (?!(lace|silk|silver))|\bElves\b|Gnome|Gor'?Tog|Gorbesh|Halfling|Human|Kaldar|Lohogi'?hhs'?ur|Lohogi'?tel'?tegreis|\bm[ae]n\b|mer-?(folk|m[ae]n|people|wom[ae]n)|Ocular|\bOlvis?\b|Olvis?|\bpeople\b|Prydaen|Rakash|S'?[Kk]ra ?Mur|S'?[Kk]ra'?ur|\bwom[ae]n\b)")) then var stagr $1
if (matchre ("%look", "(\ba?ether\b|\bearth\b|electricity|\bfires?\b|\bflames?\b|\bice\b|inferno|lightning|\bpyre\b|\bsnow\b|snowflake|thunder|water|\bair\b)")) then var stage $1
if (matchre ("%look", "(aardvark|adder|albatross|alfar|alligator|alpaca|alphyn|anchovy|antelope|antler|\bapes?\b|apparition|arachnid|armadillo|\bass\b|aurochs|badger|bagwyn|banshee|barnacle|barracuda|basilisk|\bbats?\b|\bbears?\b|\bbeasts?\b|beaver|\bbees?\b|beetle|behemoth|bird|black widow|blackbird|bloodworm|blue ?jay|boggart|boobrie|buffalo|\bbulls?\b|bumble ?bee|burro|bustard|butterflies|butterfly|buzzard|calopus|camel|camelopard|canary|capybara|caracal|\bcats?\b|caterpillar|cattle|celpeze|centaur|centipede|chameleon|cheetah|chimera|chimpanzee|chinchilla|chipmunk|cicada|civet|\bclams?\b|cobra|cockatrice|cockroach|collie|condor|coney|cottontail|cougar|\bcows?\b|coyote|\bcrabs?\b|crane|cricket|\bcrows?\b|curlew|damselfly|demon|\bdevils?\b|\bdingos?\b|\bdogs?\b|dolphin|donkey|\bdoves?\b|\bdragons?\b|dragonfly|dryad|duck|eagle|echidna|\beels?\b|elephant|\belk\b|\bewes?\b|\bfae\b|fairy|falcon|\bfauns?\b|ferret|fiend|\bfinchs?\b|fish|\bfleas?\b|flounder|\bfox\b|\bfrog\b|gazelle|gecko|genie|gerbil|\bghosts?\b|\bghouls?\b|gidii|giraffe|goat|goblin|goose|gopher|gorilla|goshawk|gr[iy]ff[io]n|gr[iy]ph[io]n|grasshopper|greyhound|groundhog|grouse|guinea pig|hamster|\bhares?\b|harpy|\bhawks?\b|hedgehog|heron|\bherring\b|hinny|hippocamp|hippogr[iy]ff|hippogr[iy]ph|\bhogs?\b|honey ?bee|hornet|horse|hound|hydra|hyena|\bibexs?\b|iguana|\bimps?\b|impala|inkhorne|insect|jackal|jaguar|kangaroo|katydid|kelpie|kestrel|king ?snake|kingfisher|kirin|kitten|kobold|ladybug|\blamb\b|\blarks?\b|lemming|lemur|leopard|\blions?\b|lioness|lizard|llama|lobster|locust|\blynxs?\b|maggot|magpie|manatee|manta ray|manticore|mantis|marmot|marten|martlet|mastiff|meerkat|merelew|mermaid|merman|\bminks?\b|minnow|minotaur|mockingbird|mongoose|monkey|moose|mosquito|\bmoth\b|mouflon|mountain lion|mouse|\bmules?\b|musimon|muskox|nightingale|\bnyads?\b|ocelot|octopus|onager|opossum|osprey|ostrich|\botters?\b|\bowls?\b|\boxe?n?\b|panther|parakeet|parrot|partridge|peacock|pegasus|pelican|pheasant|phoenix|\bpigs?\b|pigeon|pika|platypus|polecat|popinjay|porcupine|possum|prairie ?dog|prawn|primate|puma|puppy|python|quail|rabbit|raccoon|raptor|\brats?\b|raven|reindeer|remora|rhinoceros|robin|rooster|salamander|sardine|satyr|scarab|scorpion|seagull|selkie|serpent|shrew|shrike|shrimp|skeleton|\bskulls?\b|snail|snowbeast|sparrow|specter|sphinx|\bspiders?\b|\bspirits?\b|springbok|\bsprites?\b|squirrel|\bstags?\b|starling|stoat|stork|sturgeon|swallow|\bswans?\b|swine|swordfish|talbot|tarantula|termite|terrapin|thrush|\btigers?\b|tityrus|\btoads?\b|tortoise|toucan|trout|turkey|turtle|undead|unicorn|viper|vole|vulture|walrus|weasel|welkin|werewolf|whale|wildcat|winged horse|\bwolfs?\b|wolverine|woodchuck|wraith|wren|wyvern|\byaks?\b|\byales?\b|zebra|zombie)")) then var staga $1
if (matchre ("%look", "(aevaes|\baloe\b|belladonna|blocil|\bcebi\b|Datura|draconeaia|eghmok|foxglove|genich|georin|glaysker|hemlock|hisan|hulij|hulnik|ithor|jadice|junliar|lujeakave|muljin|nemoih|nightshade|nilos|nuloe|ojhenik|plovik|\bquns?\b|riolur|sufil|yelith)")) then var stagh $1
if (matchre ("%look", "(\bAesry\b|Aesry Surlaenis'?a|Ain Ghazal|Amlothi|Arthe Dale|bayou|Belarritaco|Boar Clan|\bbogs?\b|canyon|Chyolvea Tayeu'?a|comet|constellation|Crossing|Dawgolesh|Dirge|Durgaulda|El'?Bain'?s|Elanthia|Empire|Er'?qutra|Estrilda|Faldesu|Fayrin'?s Rest|\bfens?\b|Forfedhdar|Fornsted|grassland|Grazhir|Gwenalion|Hara'?jaal|Hekemhhg|Hibarnhvidar|iceberg|Ilaya Taipa|Ilithi(?! emerald)|Irasushen|\bislands?\b|Ismenia|Jantspyre|jungle|Kaerna Village|\bKatamba\b|Kermoria|Knife Clan|\blakes?\b|Langenfirth|Leth Deriel|M'?Riss|\bmarshe?s?\b|meadow|Mer'?Kresh|Merewalda|\bmoons?\b|morass|Morleena|mountain|Muspar'?i|Nenav Dalar|Oxenwaithe|Penhetia|Pi'?Qanah|\bplanets?\b|prairie|Qi'?Reshalia|quagmire|rainforest|Ratamipak|\bRatha\b|Raven'?s Point|\bReshal\b|Reshalia|\brivers?\b|Riverhaven|Rossman'?s Landing|Sarasunath|savanna|Sawstwar|Segoltha|Shamilho|\bShard\b|shrubland|Siksraja|Steelclaw Clan|steppe|Stone Clan|\bsuns?\b|sunburst|Surlaenis|swamp|Szeldia|taiga|Taisgath|The Crossing|Therenborough|Therengia|Throne City|Tiger Clan|tundra|Velaka|Verena|volcano|wetland|Wolf Clan|woodland|\bXibar\b|Yavash|Yoakena|Zaulfung|Zhamikhh|Zoluren)")) then var stagl $1
if (matchre ("%look", "((?i:crest of the (Barbarians?'?|Barbarian'?s?) Guild|(Barbarians?'?|Barbarian'?s?) Guild crest))")) then var stagp crest of the barbarians' guild
if (matchre ("%look", "((?i:crest of the (Bards?'?|Bard'?s?) Guild|(Bards?'?|Bard'?s?) Guild crest))")) then var stagp crest of the bards' guild
if (matchre ("%look", "((?i:crest of the (Clerics?'?|Cleric'?s?) Guild|(Clerics?'?|Cleric'?s?) Guild crest))")) then var stagp crest of the clerics' guild
if (matchre ("%look", "((?i:crest of the (Empaths?'?|Empath'?s?) Guild|(Empaths?'?|Empath'?s?) Guild crest))")) then var stagp crest of the empaths' guild
if (matchre ("%look", "((?i:crest of the (Moon ?Mages?'?|Moon ?Mage'?s?) Guild|(Moon ?Mages?'?|Moon ?Mage'?s?) Guild crest))")) then var stagp crest of the moon mages' guild
if (matchre ("%look", "((?i:crest of the (Necromancers?'?|Necromancer'?s?) Guild|(Necromancers?'?|Necromancer'?s?) Guild crest))")) then var stagp crest of the necromancers' guild
if (matchre ("%look", "((?i:crest of the (Paladins?'?|Paladin'?s?) Guild|(Paladins?'?|Paladin'?s?) Guild crest))")) then var stagp crest of the paladins' guild
if (matchre ("%look", "((?i:crest of the (Rangers?'?|Ranger'?s?) Guild|(Rangers?'?|Ranger'?s?) Guild crest))")) then var stagp crest of the rangers' guild
if (matchre ("%look", "((?i:crest of the (Thiefs?'?|Thief'?s?|Thieves'?) Guild|(Thiefs?'?|Thief'?s?|Thieves'?) Guild crest))")) then var stagp crest of the thieves' guild
if (matchre ("%look", "((?i:crest of the (Traders?'?|Trader'?s?) Guild|(Traders?'?|Trader'?s?) Guild crest))")) then var stagp crest of the traders' guild
if (matchre ("%look", "((?i:crest of the (Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild|(Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild crest))")) then var stagp crest of the warrior mages' guild
if (matchre ("%look", "((\w+)(?=[- ](colored|highlighted|hued|tinted|toned)))")) then var ctagx $1
if (matchre ("%look", "((\bred\b|amaranth|auburn|blood red|burgundy|carmine|cerise|claret|coquelicot|crimson|gules|haematic|incarnadine|magenta|maroon|murrey|orange red|\bpink\b|\breddish\b|\brosy\b|rubiginose|rubiginous|ruddy|sanguine|scarlet|vermilion|vinaceous)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagr $1, red
if (matchre ("%look", "((\borange\b|fiery|\bpeach\b|persimmon|red orange|reddish orange|tangerine|yellow orange)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctago $1, orange
if (matchre ("%look", "((\bbrown\b|ochre|russet|sepia|sienna|\bsorrel\b|\btan\b|tawny|tenne|\bumber\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagt $1, brown
if (matchre ("%look", "((\byellow\b|aurulent|champagne|\becru\b|flaxen|green yellow|jonquil|lemon|saffron|xanthic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagy $1, yellow
if (matchre ("%look", "((\bgreen\b|asparagus|blue green|celadon|chartreuse|\blime\b|olivaceous|olive drab|smalt|\bvert\b|viridian|yellow green)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagg $1, green
if (matchre ("%look", "((\bblue\b|azure|bluish|\bceil\b|cerulean|cobalt|\bcyan\b|cyaneous|indigo|\bteal\b|ultramarine)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagb $1, blue
if (matchre ("%look", "((\bpurple\b|aubergine|eggplant|fuchsia|lavender|lilac|mauve|orchid|periwinkle|\bpuce\b|purplish|purpure|red violet|violescent)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagv $1, purple
if (matchre ("%look", "((\bblack\b|\bgr[ae]y\b|white|argent|arsenic|\bashen\b|beige|camouflage|cinereous|colorless|\bcream\b|\bebon\b|eggshell|eisen|feldgrau|glaucous|pellucid|\bsable\b|taupe\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagn $1, grey
if (matchre ("%look", "((rainbow|iridescent|pavonine|polychromatic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagm $1, rainbow
if (matchre ("%look", "((\w+)-\bred\b)")) then var ctagr $1, $2, red
if (matchre ("%look", "((\w+)-\borange\b)")) then var ctago $1, $2, orange
if (matchre ("%look", "((\w+)-\bbrown\b)")) then var ctagt $1, $2, brown
if (matchre ("%look", "((\w+)-\byellow\b)")) then var $1, $2, yellow
if (matchre ("%look", "((\w+)-\bgreen\b)")) then var ctagg $1, $2, green
if (matchre ("%look", "((\w+)-\bblue\b)")) then var ctagb $1, $2, blue
if (matchre ("%look", "((\w+)-\b(purple|violet)\b)")) then var ctagv $1, $2, purple
if (matchre ("%look", "((\w+)-\bblack\b)")) then var ctagn $1, $2, black
if (matchre ("%look", "((\w+)-\bwhite\b)")) then var ctagn $1, $2, white
if (matchre ("%look", "((\w+)-\bgr[ae]y\b)")) then var ctagn $1, $2, grey
if (matchre ("%look", "(bronze|\bcoal\b|(?<!verdigris )\bcopper\b|(?<!(black|blighted|blue|crown|Elven|fool's|green|grey|pink|purple|red|rose|white|yellow) |cloth[- ]of[- ])\bgold\b|\blead\b|platinum|(?<!Elven |cloth[- ]of[- ])\bsilver\b)")) then var amtagm $1
if (matchre ("%look", "(\bermine\b|feather|\bfur\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)gossamer|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blace\b)")) then var amtagf $1
if (matchre ("%look", "(alabaster|(?<!dragonfire )\bamber\b|(?<!(lightning|violet'?s heart) )amethyst|aquamarine|\bbones?\b|carnelian|(?<!(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) )emerald|heliotrope|ivory|(?<!bleeding heart )\bjades?\b|\bonyxe?s?\b|(?<!(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) )\brub(y|ies)\b|(?<!(crimson|dalaeji black|dragon'?s scale|Drogor'?s Wrath|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) )sapphire|\bslate\b|turquoise)")) then var amtagg $1
if (matchre ("%look", "(\bapple\b|\bash\b|\bcherry\b|chestnut|\bebony\b|\belder\b|laurel|mahogany)")) then var amtagw $1
if (matchre ("%look", "(\belements?\b|\bwind\b)")) then var astage $1
if (matchre ("%look", "(bison|\bboars?\b|\bbucks?\b|cardinal|\bcocks?\b|crocodile|\bdeers?\b|\bdoe\b|ermine|flies|\bfly\b|leech|mammoth|oyster|\brams?\b|salmon|shark|sheep|\bsnakes?\b|\btrolls?\b|\bwasps?\b|\bwings?\b|yeehar)")) then var astaga $1
if (matchre ("%look", "(\bblooms?\b|\bblossoms?\b|\bbuds?\b|\bflorets?\b|\bflowers?\b|\bherbs?\b|\bvines?\b)")) then var astagh $1
if (matchre ("%look", "(\bdeserts?\b|forest(?![- ]green)|\boceans?\b|\bseas?\b|\bstars?\b)")) then var astagl $1
if (matchre ("%look", "((bronze|chestnut|copper)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagt $1
if (matchre ("%look", "(red gold(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagy $1
if (matchre ("%look", "((\bplum\b|thistle|\bviolet\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagv $1
if (matchre ("%tap", "(asketine|avaes|celstite|chakrel|dhhresh|hafaltu|iheaneu'?a|imnera|indakar|ithridu|keismin|lemicule|negnetha|soulstone|sraeth|xibaryl|zengalmi)")) then var mtags $1
if (matchre ("%tap", "(aluminum|animite|anlora[- ]avtoma|audrualm|\bbrass\b|chrome|covellite|Damascus steel|damite|darkstone|electrum|Elven silver|gilded|glaes|(black|blighted|blue|crown|Elven green|grey|pink|purple|rose|white|yellow) \bgold\b|haralun|hepatizon|icesteel|ilmenite|iridium|(?<!wrought )\biron\b|ithridu|kadepa|keismin|kertig|lumium|mithril|moen takibena|moonsilver|muracite|negnetha|nickel|niello|niniam|oravir|orichalcum|palladium|pewter|rencate|silver[- ]gilt|silversteel|spangold|sungold|(?<!watered )\bsteel\b|tantalum|\btin\b|titanium|tyrium|vardite|verdigris copper|watered steel|windsteel|wrought iron|\bzinc\b)")) then var mtagm $1
if (matchre ("%tap", "([cs]endal|angora|armure|arzumodine|\bbast\b|\bbatik\b|batiste|bison[- ]hide|boar[- ]hide|bombazine|bourde|broadcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)brocade|buckskin|burlap|camlet|canvas|cashmere|chainse|chainsil|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)chiffon|\bcire\b|cloth[- ]of[- ]gold|cloth[- ]of[- ]silver|(?<!lipka )cotton|cowhide|cr[ae]pe|crinoline|cuirbouilli|damask|deerskin|dergatine|diamond[- ]hide|doeskin|dragonar|eolienne|\bfaille\b|farandine|\bfelt\b|flannel|\bflax\b|fleece|gabardine|gauze|gingham|gold[- ]weave|grogram|grosgrain|haircloth|\bhemp\b|horsehair|ialalhe|imperial weave|jaalmin |jacquard|\bjaspe\b|\bjute\b|khaddar|khaki|khiynit|kidskin|lambskin|leather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blinen\b|longcloth|muslin|oilcloth|oilskin|onyx[- ]hide|petalette|ramshorn|rawhide|rosecloth|ruazen|sackcloth|sailcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsamite\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsatin\b|scalene |seersucker|\bserge\b|\bshagreen\b|sharkskin|sheepskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsilk\b|silver[- ]weave|silveress|snakeskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)snowlace|spun glitter |straw|suede|taffeta|thornweave|titanese|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\btulle\b|turbaurs|tweed|\btwine\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bvelvet\b|velveteen|voile|whisperlayne|whitleather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bwool\b|woolen|worsted|zenganne|zibeline|(blood|bluefire|dragonfire|duchess|duponi|Elothean|Elven|fae woven|faeweave|fire|gemfire|ice|lava|lipka|marble|moon|moonspun|Musparan|night|night[rw]eaver|nightstalker|oceanmist|ruaz[ei]n|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin) (brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool))")) then var mtagf $1
if (matchre ("%tap", "((cat'?s?|hawk'?s?|tiger'?s?) eye|(?<!(dragonvein) )agates?|(?<!(orchid|viperscale) )alexandrite|almiris|alshabi stone|ambergris|amlothite|andalusite|anloral|anthracite|arkose|aurora opal|axinite|azurite|basalt|\bberyls?\b|bleeding heart jade|bloodgem|calav[ae]rite|ceramic|chalcedon(y|ies)|\bchalk\b|charoite|chrysoberyl|chrysoprase|cinnabar|(?<!volcano'?s heart )citrine|\bclays?\b|cloudstone|\bcoal\b|\bcorals?\b|\bcrystals?\b|crystalline dragon tear|dawgolite|(?<!(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) )diamond(?!ique)|diamondique|diopside|diorite|dolomite|dragonfire amber|Drogor's Wrath sapphire|durgauldite|dwalgim|elanthite|elbaite|\beldrings?\b|Enelne's eye|er'?qutrite|erythraean|erythrite|estrildite|feldspar|\bflint\b|fool's gold|(?<!(bloodmist|forest'?s heart|nimbus) )garnet|\bglass\b|gneiss|granite|grazhite|Hav'?roth'?s ambrosia|hematite|iahja|ilmenite|iolite|ismenite|jadeite|(?<!(autumn|ocean|spiderweb|wild horse) )jasper|kaolinite|katamba'?s spire|katambite|kunzite|kyanite|lantholite|larimar|lasmodi|(?<!(Hekemhhg|lapis) )lazuli|malachite|\bmarble\b|merewaldite|mistglass|morganite|morleenite|\bnacres?\b|neitrice|obsidian|olivine|(?<!(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) )\bopals?\b|(?<!(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) )\bpearls?\b|penhetite|peridot|porcelain|porphyry|pumice|pyrite|quartz|rhodochrosite|rhodonite|sana'?ati heart|scheelite|schist|scrimshaw|sea[- ]glass|selenite|\bsenci\b|\bshale\b|sjatmal|sodalite|\bspinels?\b|spiritgem|svelae|szeldite|tanzanite|(?<!(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) )topaz|(?<!(aurora|vela'?tohr) )tourmaline|tsavorite|ulhari prism|verenite|volcano'?s heart citrine|waermodi|wulfenite|xibarite|yavasite|yoakenite|zircon|(orchid|viperscale) alexandrite|(lightning|violet'?s heart) amethyst|(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) diamond|(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) emerald|(bloodmist|forest'?s heart|nimbus) garnet|(autumn|ocean|spiderweb|wild horse) jasper|(Hekemhhg|lapis) lazuli|(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) opal|(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) pearl|(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) rub(y|ies)|(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) sapphire|(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) topaz|(aurora|vela'?tohr) tourmaline)")) then var mtagg $1
if (matchre ("%tap", "(\w+-stone)")) then var mtagg $1
if (matchre ("%tap", "(\w+stone)")) then var mtagg $1
if (matchre ("%tap", "(\bwooden\b|\bpaper\b|acacia|acanth|adderwood|aganylosh'?a|\balder\b|alerce|\baspen\b|\bbalsa\b|bamboo|basswood|\bbeech\b|(?<!curly )\bbirch\b|black ironwood|black maple|black walnut|black willow|blackwood|bloodwood|boxwood|bricklebranch|burlwood|\bcedar\b|cherrywood|cocobolo|copperleaf|copperwood|\bcork\b|curly birch|cypress|deobar|desert palm|diamondwood|dogwood|dragonwood|driftwood|e'?erdream|ebonwood|\belm\b|eucalyptus|\bfir\b|fishtail oak|flamethorn|flamewood|fruitwood|gethwood|glitvire|gloomwood|goldbark|goldenoak|halmik|\bhaon\b|hawthorn|hhr'?lav'?geluhh|hickory|huljik|Ilithian cedar|iroko|ironwood|juniper|khor'?vela|khor-?vela|lacewood|lemonwood|linden|linwood|\blunat\b|(?<!(black|silver) )\bmaple\b|mikkhalbamar|mistwood|modwir|(?<!(fishtail|golden) )\boak\b|\bosage\b|palmwood|papyrus|parchment|pearwood|\bpine\b|plumwood|poplar|pozumshi|purpleheart|redwood|\breed\b|rosewood|\browan\b|sana'?ati|sandalwood|sanrisi|satinwood|\bshaal\b|silver maple|silverwillow|silverwood|smokewood|\bspruce\b|taborwood|tamboti|\bteak\b|tulvora|\bvedda\b|vellum|(?<!black )walnut|white ironwood|whitethorn|wiirwood|(?<!(black|silver) )\bwillow\b|witchclaw|wyndewood|\byew\b|zingana|zulnatha)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+-wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\bgods?\b|Immortal|Alamhif|Albreda|Aldauth|Aliesa|Aniek|Asketi|Be'?ort|Bereng[ae]ria|Botolf|Chadatru|Coshivi|Damaris|Demrris|Dergati|Divyaush|Drogor|Eerayn|Eimeuz|Elide|Eluned|Enelne|\bEu\b|Everild|Eylhaar|Faenella|Faiyka|Firulf|Gizzbolf|Glacis|Glythtide|Harawep|Hav'?roth|Hodierna|Huldah|\bIdon\b|Iladza|Issendar|Kerenhappuch|Kertigen|Kirmhara|Krigglin|Kuniyo|Lemicus|Meraud|Merion|Misiumos|\bMrod\b|Murrula|Orisas|Peri'?el|Phelim|Rutilor|Saemaus|Shariza|Sieben|Sildua|Spangklud|Sraxaec|Tamsine|Tenemlor|Thirteen|Tieheq|Triquetra|Trothfang|Truffenyi|Urrem'?tier|Ushnish|World Dragon|Xosiurion|Zachriedek)")) then var stagg $1
if (matchre ("%tap", "(acolyte|adventurer|alchemist|amazon|apothecary|\barchers?\b|armorsmith|assassin|bandit|Barbarian|\bBards?\b|barmaid|bartender|beggar|blacksmith|blasphemer|bowm[ae]n|\bbrewers?\b|brigand|buccaneer|burglar|captain|celebrant|champion|\bchefe?s?\b|citizen|clergy|clergy(man|clergy(man|woman)|Cleric|combatant|commoner|convict|criminal|dancer|diviner|doctor|druid|duelist|ecclesiastic|elemancer|elementalist|embalmer|Empath|enchanter|enchantress|engineer|executioner|farmer|felon|fencer|forester|gladiator|hangm[ae]n|healer|herald|heretic|\bheroe?s?\b|hierophant|highwaym[ae]n|historian|hunter|huntsm[ae]n|Inquisitor|inquisitress|\bjudges?\b|justiciar|knight|locksmith|lumberjack|\bmages?\b|marshal|martyr|mastermind|\bmedics?\b|medicine (m[ae]n|medicine (m[ae]n|wom[ae]n)|merchant|messenger|minister|minstrel|\bmonks?\b|Moon Mage|mortician|musician|mystic|navigator|Necromancer|nurse|outlaw|Paladin|pastor|peddler|philosopher|physician|pilgrim|pirate|\bpoets?\b|preacher|priest|prisoner|prophet|psychic|Ranger|researcher|rogue|\bsages?\b|sailor|scholar|\bseers?\b|sham[ae]n|shepherd|smuggler|sniper|soldier|spiritualist|surgeon|swashbuckler|Thief|Thieves|Trader|travell?er|undertaker|urchin|villager|villain|warrior|Warrior Mage|weaponsmith|weaver|\bwitche?s?\b|witche?|wizard|wom[ae]n)|woman)|woodcutter|woodsm[ae]n)")) then var stagp $1
if (matchre ("%tap", "(Adan'?f|Dwarf|Dwarves|\bElfs?\b|Elothean (?!(lace|silk))|Elven (?!(lace|silk|silver))|\bElves\b|Gnome|Gor'?Tog|Gorbesh|Halfling|Human|Kaldar|Lohogi'?hhs'?ur|Lohogi'?tel'?tegreis|\bm[ae]n\b|mer-?(folk|m[ae]n|people|wom[ae]n)|Ocular|\bOlvis?\b|Olvis?|\bpeople\b|Prydaen|Rakash|S'?[Kk]ra ?Mur|S'?[Kk]ra'?ur|\bwom[ae]n\b)")) then var stagr $1
if (matchre ("%tap", "(\ba?ether\b|\bearth\b|electricity|\bfires?\b|\bflames?\b|\bice\b|inferno|lightning|\bpyre\b|\bsnow\b|snowflake|thunder|water|\bair\b)")) then var stage $1
if (matchre ("%tap", "(aardvark|adder|albatross|alfar|alligator|alpaca|alphyn|anchovy|antelope|antler|\bapes?\b|apparition|arachnid|armadillo|\bass\b|aurochs|badger|bagwyn|banshee|barnacle|barracuda|basilisk|\bbats?\b|\bbears?\b|\bbeasts?\b|beaver|\bbees?\b|beetle|behemoth|bird|black widow|blackbird|bloodworm|blue ?jay|boggart|boobrie|buffalo|\bbulls?\b|bumble ?bee|burro|bustard|butterflies|butterfly|buzzard|calopus|camel|camelopard|canary|capybara|caracal|\bcats?\b|caterpillar|cattle|celpeze|centaur|centipede|chameleon|cheetah|chimera|chimpanzee|chinchilla|chipmunk|cicada|civet|\bclams?\b|cobra|cockatrice|cockroach|collie|condor|coney|cottontail|cougar|\bcows?\b|coyote|\bcrabs?\b|crane|cricket|\bcrows?\b|curlew|damselfly|demon|\bdevils?\b|\bdingos?\b|\bdogs?\b|dolphin|donkey|\bdoves?\b|\bdragons?\b|dragonfly|dryad|duck|eagle|echidna|\beels?\b|elephant|\belk\b|\bewes?\b|\bfae\b|fairy|falcon|\bfauns?\b|ferret|fiend|\bfinchs?\b|fish|\bfleas?\b|flounder|\bfox\b|\bfrog\b|gazelle|gecko|genie|gerbil|\bghosts?\b|\bghouls?\b|gidii|giraffe|goat|goblin|goose|gopher|gorilla|goshawk|gr[iy]ff[io]n|gr[iy]ph[io]n|grasshopper|greyhound|groundhog|grouse|guinea pig|hamster|\bhares?\b|harpy|\bhawks?\b|hedgehog|heron|\bherring\b|hinny|hippocamp|hippogr[iy]ff|hippogr[iy]ph|\bhogs?\b|honey ?bee|hornet|horse|hound|hydra|hyena|\bibexs?\b|iguana|\bimps?\b|impala|inkhorne|insect|jackal|jaguar|kangaroo|katydid|kelpie|kestrel|king ?snake|kingfisher|kirin|kitten|kobold|ladybug|\blamb\b|\blarks?\b|lemming|lemur|leopard|\blions?\b|lioness|lizard|llama|lobster|locust|\blynxs?\b|maggot|magpie|manatee|manta ray|manticore|mantis|marmot|marten|martlet|mastiff|meerkat|merelew|mermaid|merman|\bminks?\b|minnow|minotaur|mockingbird|mongoose|monkey|moose|mosquito|\bmoth\b|mouflon|mountain lion|mouse|\bmules?\b|musimon|muskox|nightingale|\bnyads?\b|ocelot|octopus|onager|opossum|osprey|ostrich|\botters?\b|\bowls?\b|\boxe?n?\b|panther|parakeet|parrot|partridge|peacock|pegasus|pelican|pheasant|phoenix|\bpigs?\b|pigeon|pika|platypus|polecat|popinjay|porcupine|possum|prairie ?dog|prawn|primate|puma|puppy|python|quail|rabbit|raccoon|raptor|\brats?\b|raven|reindeer|remora|rhinoceros|robin|rooster|salamander|sardine|satyr|scarab|scorpion|seagull|selkie|serpent|shrew|shrike|shrimp|skeleton|\bskulls?\b|snail|snowbeast|sparrow|specter|sphinx|\bspiders?\b|\bspirits?\b|springbok|\bsprites?\b|squirrel|\bstags?\b|starling|stoat|stork|sturgeon|swallow|\bswans?\b|swine|swordfish|talbot|tarantula|termite|terrapin|thrush|\btigers?\b|tityrus|\btoads?\b|tortoise|toucan|trout|turkey|turtle|undead|unicorn|viper|vole|vulture|walrus|weasel|welkin|werewolf|whale|wildcat|winged horse|\bwolfs?\b|wolverine|woodchuck|wraith|wren|wyvern|\byaks?\b|\byales?\b|zebra|zombie)")) then var staga $1
if (matchre ("%tap", "(aevaes|\baloe\b|belladonna|blocil|\bcebi\b|Datura|draconeaia|eghmok|foxglove|genich|georin|glaysker|hemlock|hisan|hulij|hulnik|ithor|jadice|junliar|lujeakave|muljin|nemoih|nightshade|nilos|nuloe|ojhenik|plovik|\bquns?\b|riolur|sufil|yelith)")) then var stagh $1
if (matchre ("%tap", "(\bAesry\b|Aesry Surlaenis'?a|Ain Ghazal|Amlothi|Arthe Dale|bayou|Belarritaco|Boar Clan|\bbogs?\b|canyon|Chyolvea Tayeu'?a|comet|constellation|Crossing|Dawgolesh|Dirge|Durgaulda|El'?Bain'?s|Elanthia|Empire|Er'?qutra|Estrilda|Faldesu|Fayrin'?s Rest|\bfens?\b|Forfedhdar|Fornsted|grassland|Grazhir|Gwenalion|Hara'?jaal|Hekemhhg|Hibarnhvidar|iceberg|Ilaya Taipa|Ilithi(?! emerald)|Irasushen|\bislands?\b|Ismenia|Jantspyre|jungle|Kaerna Village|\bKatamba\b|Kermoria|Knife Clan|\blakes?\b|Langenfirth|Leth Deriel|M'?Riss|\bmarshe?s?\b|meadow|Mer'?Kresh|Merewalda|\bmoons?\b|morass|Morleena|mountain|Muspar'?i|Nenav Dalar|Oxenwaithe|Penhetia|Pi'?Qanah|\bplanets?\b|prairie|Qi'?Reshalia|quagmire|rainforest|Ratamipak|\bRatha\b|Raven'?s Point|\bReshal\b|Reshalia|\brivers?\b|Riverhaven|Rossman'?s Landing|Sarasunath|savanna|Sawstwar|Segoltha|Shamilho|\bShard\b|shrubland|Siksraja|Steelclaw Clan|steppe|Stone Clan|\bsuns?\b|sunburst|Surlaenis|swamp|Szeldia|taiga|Taisgath|The Crossing|Therenborough|Therengia|Throne City|Tiger Clan|tundra|Velaka|Verena|volcano|wetland|Wolf Clan|woodland|\bXibar\b|Yavash|Yoakena|Zaulfung|Zhamikhh|Zoluren)")) then var stagl $1
if (matchre ("%tap", "((?i:crest of the (Barbarians?'?|Barbarian'?s?) Guild|(Barbarians?'?|Barbarian'?s?) Guild crest))")) then var stagp crest of the barbarians' guild
if (matchre ("%tap", "((?i:crest of the (Bards?'?|Bard'?s?) Guild|(Bards?'?|Bard'?s?) Guild crest))")) then var stagp crest of the bards' guild
if (matchre ("%tap", "((?i:crest of the (Clerics?'?|Cleric'?s?) Guild|(Clerics?'?|Cleric'?s?) Guild crest))")) then var stagp crest of the clerics' guild
if (matchre ("%tap", "((?i:crest of the (Empaths?'?|Empath'?s?) Guild|(Empaths?'?|Empath'?s?) Guild crest))")) then var stagp crest of the empaths' guild
if (matchre ("%tap", "((?i:crest of the (Moon ?Mages?'?|Moon ?Mage'?s?) Guild|(Moon ?Mages?'?|Moon ?Mage'?s?) Guild crest))")) then var stagp crest of the moon mages' guild
if (matchre ("%tap", "((?i:crest of the (Necromancers?'?|Necromancer'?s?) Guild|(Necromancers?'?|Necromancer'?s?) Guild crest))")) then var stagp crest of the necromancers' guild
if (matchre ("%tap", "((?i:crest of the (Paladins?'?|Paladin'?s?) Guild|(Paladins?'?|Paladin'?s?) Guild crest))")) then var stagp crest of the paladins' guild
if (matchre ("%tap", "((?i:crest of the (Rangers?'?|Ranger'?s?) Guild|(Rangers?'?|Ranger'?s?) Guild crest))")) then var stagp crest of the rangers' guild
if (matchre ("%tap", "((?i:crest of the (Thiefs?'?|Thief'?s?|Thieves'?) Guild|(Thiefs?'?|Thief'?s?|Thieves'?) Guild crest))")) then var stagp crest of the thieves' guild
if (matchre ("%tap", "((?i:crest of the (Traders?'?|Trader'?s?) Guild|(Traders?'?|Trader'?s?) Guild crest))")) then var stagp crest of the traders' guild
if (matchre ("%tap", "((?i:crest of the (Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild|(Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild crest))")) then var stagp crest of the warrior mages' guild
if (matchre ("%tap", "((\w+)(?=[- ](colored|highlighted|hued|tinted|toned)))")) then var ctagx $1
if (matchre ("%tap", "((\bred\b|amaranth|auburn|blood red|burgundy|carmine|cerise|claret|coquelicot|crimson|gules|haematic|incarnadine|magenta|maroon|murrey|orange red|\bpink\b|\breddish\b|\brosy\b|rubiginose|rubiginous|ruddy|sanguine|scarlet|vermilion|vinaceous)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagr $1, red
if (matchre ("%tap", "((\borange\b|fiery|\bpeach\b|persimmon|red orange|reddish orange|tangerine|yellow orange)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctago $1, orange
if (matchre ("%tap", "((\bbrown\b|ochre|russet|sepia|sienna|\bsorrel\b|\btan\b|tawny|tenne|\bumber\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagt $1, brown
if (matchre ("%tap", "((\byellow\b|aurulent|champagne|\becru\b|flaxen|green yellow|jonquil|lemon|saffron|xanthic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagy $1, yellow
if (matchre ("%tap", "((\bgreen\b|asparagus|blue green|celadon|chartreuse|\blime\b|olivaceous|olive drab|smalt|\bvert\b|viridian|yellow green)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagg $1, green
if (matchre ("%tap", "((\bblue\b|azure|bluish|\bceil\b|cerulean|cobalt|\bcyan\b|cyaneous|indigo|\bteal\b|ultramarine)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagb $1, blue
if (matchre ("%tap", "((\bpurple\b|aubergine|eggplant|fuchsia|lavender|lilac|mauve|orchid|periwinkle|\bpuce\b|purplish|purpure|red violet|violescent)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagv $1, purple
if (matchre ("%tap", "((\bblack\b|\bgr[ae]y\b|white|argent|arsenic|\bashen\b|beige|camouflage|cinereous|colorless|\bcream\b|\bebon\b|eggshell|eisen|feldgrau|glaucous|pellucid|\bsable\b|taupe\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagn $1, grey
if (matchre ("%tap", "((rainbow|iridescent|pavonine|polychromatic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagm $1, rainbow
if (matchre ("%tap", "((\w+)-\bred\b)")) then var ctagr $1, $2, red
if (matchre ("%tap", "((\w+)-\borange\b)")) then var ctago $1, $2, orange
if (matchre ("%tap", "((\w+)-\bbrown\b)")) then var ctagt $1, $2, brown
if (matchre ("%tap", "((\w+)-\byellow\b)")) then var $1, $2, yellow
if (matchre ("%tap", "((\w+)-\bgreen\b)")) then var ctagg $1, $2, green
if (matchre ("%tap", "((\w+)-\bblue\b)")) then var ctagb $1, $2, blue
if (matchre ("%tap", "((\w+)-\b(purple|violet)\b)")) then var ctagv $1, $2, purple
if (matchre ("%tap", "((\w+)-\bblack\b)")) then var ctagn $1, $2, black
if (matchre ("%tap", "((\w+)-\bwhite\b)")) then var ctagn $1, $2, white
if (matchre ("%tap", "((\w+)-\bgr[ae]y\b)")) then var ctagn $1, $2, grey
if (matchre ("%tap", "(bronze|\bcoal\b|(?<!verdigris )\bcopper\b|(?<!(black|blighted|blue|crown|Elven|fool's|green|grey|pink|purple|red|rose|white|yellow) |cloth[- ]of[- ])\bgold\b|\blead\b|platinum|(?<!Elven |cloth[- ]of[- ])\bsilver\b)")) then var amtagm $1
if (matchre ("%tap", "(\bermine\b|feather|\bfur\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)gossamer|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blace\b)")) then var amtagf $1
if (matchre ("%tap", "(alabaster|(?<!dragonfire )\bamber\b|(?<!(lightning|violet'?s heart) )amethyst|aquamarine|\bbones?\b|carnelian|(?<!(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) )emerald|heliotrope|ivory|(?<!bleeding heart )\bjades?\b|\bonyxe?s?\b|(?<!(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) )\brub(y|ies)\b|(?<!(crimson|dalaeji black|dragon'?s scale|Drogor'?s Wrath|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) )sapphire|\bslate\b|turquoise)")) then var amtagg $1
if (matchre ("%tap", "(\bapple\b|\bash\b|\bcherry\b|chestnut|\bebony\b|\belder\b|laurel|mahogany)")) then var amtagw $1
if (matchre ("%tap", "(\belements?\b|\bwind\b)")) then var astage $1
if (matchre ("%tap", "(bison|\bboars?\b|\bbucks?\b|cardinal|\bcocks?\b|crocodile|\bdeers?\b|\bdoe\b|ermine|flies|\bfly\b|leech|mammoth|oyster|\brams?\b|salmon|shark|sheep|\bsnakes?\b|\btrolls?\b|\bwasps?\b|\bwings?\b|yeehar)")) then var astaga $1
if (matchre ("%tap", "(\bblooms?\b|\bblossoms?\b|\bbuds?\b|\bflorets?\b|\bflowers?\b|\bherbs?\b|\bvines?\b)")) then var astagh $1
if (matchre ("%tap", "(\bdeserts?\b|forest(?![- ]green)|\boceans?\b|\bseas?\b|\bstars?\b)")) then var astagl $1
if (matchre ("%tap", "((bronze|chestnut|copper)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagt $1
if (matchre ("%tap", "(red gold(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagy $1
if (matchre ("%tap", "((\bplum\b|thistle|\bviolet\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagv $1
if (matchre ("%mtagm", "(black|blue|crown|green|grey|pink|purple|red|rose|white|yellow) gold")) then var mtagm $1 gold, gold
if (matchre ("%mtagg", "(?i:(orchid|viperscale)) alexandrite")) then var mtagg $1 alexandrite, alexandrite
if (matchre ("%mtagg", "(?i:(lightning|violet'?s heart)) amethyst")) then var mtagg $1 amethyst, amethyst
if (matchre ("%mtagg", "(?i:(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white)) diamond")) then var mtagg $1 diamond, diamond
if (matchre ("%mtagg", "(?i:(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter)) emerald")) then var mtagg $1 emerald, emerald
if (matchre ("%mtagg", "(?i:(bloodmist|forest'?s heart|nimbus)) garnet")) then var mtagg $1 garnet, garnet
if (matchre ("%mtagg", "(?i:(autumn|ocean|spiderweb|wild horse)) jasper")) then var mtagg $1 jasper, jasper
if (matchre ("%mtagg", "(?i:(Hekemhhg|lapis)) lazuli")) then var mtagg $1 lazuli, lazuli
if (matchre ("%mtagg", "(?i:(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water)) opal")) then var mtagg $1 opal, opal
if (matchre ("%mtagg", "(?i:(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan)) pearl")) then var mtagg $1 pearl, pearl
if (matchre ("%mtagg", "(?i:(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate)) rub(y|ies)")) then var mtagg $1 ruby, ruby
if (matchre ("%mtagg", "(?i:(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren)) sapphire")) then var mtagg $1 sapphire, sapphire
if (matchre ("%mtagg", "(?i:(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar)) topaz")) then var mtagg $1 topaz, topaz
if (matchre ("%mtagg", "(?i:(aurora|vela'?tohr)) tourmaline")) then var mtagg $1 tourmaline, tourmaline
if (matchre ("%mtagf", "(?i:(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin)) ?(brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool)")) then var mtagf %mtagf, $2
if %mtagm = Damascus steel then var mtagg Damascus steel, steel
if %mtagm = Elven silver then var mtagg Elven silver, silver
if %mtagm = moonsilver then var mtagg moonsilver, silver
if %mtagm = silver-gilt then var mtagg silver-gilt, silver, gold
if %mtagm = sungold then var mtagg sungold, gold
if %mtagm = windsteel then var mtagg windsteel, steel
if %mtagg = chalcedon(y|ies) then var mtagg chalcedony
if %mtagg = rubies then var mtagg ruby
if %mtagg = soulstone then var mtagg DELETE
if %ctagr = pink, red then var ctagr pink
if %ctagr = cerise, red then var ctagr cerise, pink
if %ctagr = magenta, red then var ctagr magenta, pink
if %ctagr = rosy, red then var ctagr rosy, pink
if %ctagv = fuchsia, purple then var ctagv fuchsia, pink
if %ctagv = puce, purple then var ctagv puce, pink
if %ctagn = camouflage, grey then var ctagn camouflage, brown
if %ctagn = black, grey then var ctagn black
if %ctagn = ebon, grey then var ctagn ebon, black
if %ctagn = sable, grey then var ctagn sable, black
if %ctagn = white, grey then var ctagn white
if %ctagn = alabaster, grey then var ctagn alabaster, white
if %ctagn = beige, grey then var ctagn beige, white
if %ctagn = colorless, grey then var ctagn colorless, white
if %ctagn = cream, grey then var ctagn cream, white
if %ctagn = eggshell, grey then var ctagn eggshell, white
if %ctagn = ivory, grey then var ctagn ivory, white
if %ctagr = red, red then var ctagr red
if %ctago = orange, orange then var ctago orange
if %ctagt = brown, brown then var ctagt brown
if %ctagy = yellow, yellow then var ctagy yellow
if %ctagg = green, green then var ctagg green
if %ctagb = blue, blue then var ctagb blue
if %ctagv = purple, purple then var ctagv purple
if %ctagn = grey, grey then var ctagn grey
if %ctagn = black, black then var ctagn black
if %ctagn = white, white then var ctagn white
if %ctagm = rainbow, rainbow then var ctagm rainbow
return

Specialset:
if (matchre ("%look", "(cambrinth)")) then var special cambrinth
if (matchre ("%look", "(gaethzen)")) then var special gaethzen
if (matchre ("%look", "((percussion|string|wind) instrument)")) then var special $1 instrument
if (matchre ("%look", "(This customization can be used with any normal.+home)")) then var special housing
if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var special jewelry
if (matchre ("%look", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%look", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var special bard style
if (matchre ("%look", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%look", "(anloral)")) then var special cleric style, paladin style
if (matchre ("%look", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var special empath style
if (matchre ("%look", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%look", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var special necromancer style
if (matchre ("%look", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%look", "(Ranger)")) then var special ranger style
if (matchre ("%look", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var special thief style
if (matchre ("%look", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%look", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var special warrior mage style
if (matchre ("%look", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var special dwarf style
if (matchre ("%look", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var special elf style
if (matchre ("%look", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var special elothean style
if (matchre ("%look", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%look", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var special gortog style
if (matchre ("%look", "(Halfling|\bOlvi\b)")) then var special halfling style
if (matchre ("%look", "(Human|Gamgweth)")) then var special human style
if (matchre ("%look", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%look", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var special prydaen style
if (matchre ("%look", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var special rakash style
if (matchre ("%look", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var special skra mur style
if (matchre ("%tap", "(cambrinth)")) then var special cambrinth
if (matchre ("%tap", "(gaethzen)")) then var special gaethzen
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var special creation
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var special alchemy
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var special $1 instrument
if (matchre ("%tap", "(anatomy chart)")) then var special anatomy chart, empath style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var special tack
if (matchre ("%tap", "(\btoy\b)")) then var special toy
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var special bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var special cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var special empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var special necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%tap", "(Ranger|trail map)")) then var special ranger style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var special thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var special warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var special dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var special elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var special elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var special gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var special halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var special human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var special prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var special rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var special skra mur style
if (matchre ("%1", "(ashcloak|mysanda)")) then var special magic
if (matchre ("%1", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var special creation
if (matchre ("%1", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var special alchemy
if (matchre ("%1", "(candle|lamp|lantern|torch)")) then var special gives light
if (matchre ("%1", "(bridle|caparison|halter|saddle)")) then var special tack
if (matchre ("%1", "(doll|marionette|puppet|toy)")) then var special toy
if (matchre ("%1", "(warhorn)")) then var special barbarian style, bard style
if (matchre ("%1", "(cassock|chalice)")) then var special cleric style
if (matchre ("%1", "(sigilbook|starchart|telescope)")) then var special moon mage style
if (matchre ("%1", "(feedbag)")) then var special trader style
if (matchre ("%1", "(ashcloak)")) then var special warrior mage style
if (matchre ("%1", "(bulhawf)")) then var special dwarf style
if (matchre ("%1", "(\barca\b|\bbalac\b|catils|\bcelya\b|coinec|gelnutre|\bgerri\b|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|\bmahai\b|oinurte|\bpalta\b|\btago\b|takbahn|\btelo\b)")) then var special elf style
if (matchre ("%1", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var special elothean style
if (matchre ("%1", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var special kaldar style
if (matchre ("%1", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var special prydaen style
if (matchre ("%1", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var special rakash style
if (matchre ("%1", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var special skra mur style
return

Itypeset:
if (matchre ("%tap", "((awgravet|bar|bastard|battle|belaying|boarding|carving|dire|double|double-headed|duraka|elbow|flanged|footman's|giant|half-handled|hand|heavy|horseman's|hunting|hurlable|hurling|igorat|ilglaiks|imperial|k'trinni|knee|leaf blade|light|lochaber|marauder|military|mus|periperiu|pike|pole|ridged|robe|round|short|skinning|spiked|splitting|sterak|thick-bladed|thin-bladed|throwing|thrusting|twin-point|two-handed|two-headed|two-pronged|vilks|war|warring) (abassi|adze|akabo|allarh|arzfilt|ava|axe|back-sword|ball and chain|bardiche|baselard|blade|bludgeon|boko|bola|boomerang|briquet|broadaxe|broadsword|bulhawf|cane|chain|cinqueda|claws|claymore|club|condottiere|coresca|cosh|cudgel|curlade|cuska|cutlass|dagasse|dagger|dao|dart|falcata|falchion|fan|fauchard|flail|flamberge|fork|garz|gauntlet|gavel|gladius|glaive|greataxe|greathammer|greatsword|guisarme|halberd|hammer|hanger|hara|hatchet|hawkbill|hhr'ata|hhr'tami|hunthsleg|iltesh|jambiya|javelin|karambit|kasai|kaskara|katar|khuj|knife|knuckles|kodur|komno|koummya|kris|kudalata|kythe|lance|longsword|mace|mallet|mambeli|marlingspike|mattock|maul|misericorde|morning star|namkomba|nehdelata|nehlata|ngalio|nightstick|nimsha|oben|parang|partisan|pasabas|pike|pin|poignard|prod|pugio|quarterstaff|ranseur|rapier|recade|riste|sabre|sashqa|scepter|schiavona|scimitar|scythe|sha-tai|shh'oi'ata|shotel|skefne|sledgehammer|spatha|spear|spetum|spike|spikes|staff|stiletto|sunblade|sword|takouba|telek|tzece|ukabi|war hammer|zubke))")) then var itype $1
if (matchre ("%tap", "((assassin's|battle|competition|competition-balanced|dako'gi|drop-trigger|flat|flight|forester's|hirdu|horseman's|hunter's|pirate's|plains|recurved?|reflex|repeater|repeating|riot|s'rnhhl|saddle|savannah|siege|sniper's|steppe|tei'oloh|war) (arbalest|bow|chunenguti|composite bow|crossbow|hhr'ibu|jranoki|long ?bow|mahil|short ?bow|slurbow|stonebow|taisgwelduan|uku'uanstaho)|staff sling)")) then var itype $1
if (matchre ("%tap", "((battle|ceremonial|circular|crescent|curved|gladiator's|heater|jousting|kite|medium|ordinary|oval|pageant|rectangular|riot|round|rounded|shuri-kota|siege|skirmisher's|target|tower|triangular|valnik|wall|war|warrior's|wickerwork) (aegis|buckler|heater|pavise|scutum|shield|sipar|targe))")) then var itype $1
if (matchre ("%tap", "((brigandine|chain|closed|cloth|coarse|dome|field|full|great|half|heavy|insulated|lamellar|leather|light|mail|padded|plate|quilted|ring|rugged|scale|thick|visored) (aventail|backplate|balaclava|barbute|bascinet|breastplate|cap|coat|cowl|cuirass|fauld|gauntlets|gloves|greaves|hauberk|helm|hood|jerkin|leathers|lorica|mantle|mask|morion|pants|plate|robe|sallet|shirt|sleeves|tabard|tailcoat|tasset|thorakes|vambraces|vest))")) then var itype $1
if (matchre ("%tap", "((engagement|thumb|toe|wedding) (band|ring|tailband))")) then var itype $1
return



Typeset:
if (matchre ("%look", "(cambrinth)")) then var typemagic cambrinth
if (matchre ("%look", "(gaethzen)")) then var typemagic gaethzen
if (matchre ("%look", "((percussion|string|wind) instrument)")) then var typefunction $1 instrument
if (matchre ("%look", "(This customization can be used with any normal.+home)")) then var typefunction housing
if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var typefunction jewelry
if (matchre ("%look", "(Barbarian|chakrel|warpaint)")) then var typeguild barbarian style
if (matchre ("%look", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var typeguild bard style
if (matchre ("%look", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var typeguild cleric style
if (matchre ("%look", "(anloral)")) then var typeguild cleric style, paladin style
if (matchre ("%look", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var typeguild empath style
if (matchre ("%look", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var typeguild moon mage style
if (matchre ("%look", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var typeguild necromancer style
if (matchre ("%look", "(Paladin|soulstone)")) then var typeguild paladin style
if (matchre ("%look", "(Ranger)")) then var typeguild ranger style
if (matchre ("%look", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var typeguild thief style
if (matchre ("%look", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var typeguild trader style
if (matchre ("%look", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var typeguild warrior mage style
if (matchre ("%look", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var typerace dwarf style
if (matchre ("%look", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var typerace elf style
if (matchre ("%look", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var typerace elothean style
if (matchre ("%look", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var typerace gnome style
if (matchre ("%look", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var typerace gortog style
if (matchre ("%look", "(Halfling|\bOlvi\b)")) then var typerace halfling style
if (matchre ("%look", "(Human|Gamgweth)")) then var typerace human style
if (matchre ("%look", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var typerace kaldar style
if (matchre ("%look", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var typerace prydaen style
if (matchre ("%look", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var typerace rakash style
if (matchre ("%look", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var typerace skra mur style
if (matchre ("%tap", "(cambrinth)")) then var typemagic cambrinth
if (matchre ("%tap", "(gaethzen)")) then var typemagic gaethzen
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var typefunction creation
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var typefunction alchemy
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var typefunction $1 instrument
if (matchre ("%tap", "(anatomy chart)")) then var typefunction anatomy chart, empath style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var typefunction tack
if (matchre ("%tap", "(\btoy\b)")) then var typefunction toy
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var typeguild barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var typeguild bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var typeguild cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var typeguild cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var typeguild empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var typeguild moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var typeguild necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var typeguild paladin style
if (matchre ("%tap", "(Ranger|trail map)")) then var typeguild ranger style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var typeguild thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var typeguild trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var typeguild warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var typerace dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var typerace elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var typerace elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var typerace gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var typerace gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var typerace halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var typerace human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var typerace kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var typerace prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var typerace rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var typerace skra mur style
if (matchre ("%1", "(\balb\b|apron|\barek\b|ashcloak|balac|baladrana|ballgown|bandeau|\bbelt\b|beret|blazer|blouse|bodice|bodysuit|bonnet|boots|breeches|britches|brogans|bustier|caftan|\bcap\b|\bcape\b|cassock|catils|chemise|cheongsam|chmir|chola|choli|cloak|cloche|clogs|\bcoat\b|coinec|corset|cummerbund|deerstalker|derby|dirndl|domisaha|doublet|drape|dress|eyepatch|fabric|fedora|fillet|frock|galoshes|gamantang|garter|gerri|gloves|\bgown\b|\bhac\b|\bhat\b|headband|\bhood\b|\bhose\b|ilalish|jacket|jerkin|jodhpurs|josta|khandur|\bkilt\b|kimono|kirtle|kisti|knickers|krekls|laufisana|leggings|leine|loafers|loincloth|longcoat|lusks|mantle|\bmask\b|mittens|mocc?asins|mra'?sin|\bmuff\b|muffler|nauda|\bodaj\b|overalls|\bpall\b|pantaloons|pants|pel'?hhsmur|\bpelt\b|poncho|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|pumps|ra'?sarrak|rantija|\brobes?\b|\bruff\b|ruven|safos|safros|sandals|\bsari\b|sarong|sarrak|\bsash\b|scarf|shawl|shift|shirt|shoes|shroud|skirt|skullcap|slacks|slippers|smock|snood|sochi|socks|spats|stockings|stole|\bsuit\b|sundress|surcoat|suspenders|sweater|tabard|tailcoat|takbahn|\btam\b|tights|\btoga\b|trews|trousers|tunic|turban|uaro'?s'?sugi|vakoti|\bveil\b|\bvest\b|vestments?|vikses|vluze|waistcoat|wimple|\bwings?\b|\bwrap\b)")) then var typefunction clothing
if (matchre ("%1", "(\bafis\b|aggahhpel|amulet|anklet|armband|armlet|badge|\bband\b|bangle|barrette|\bbead\b|boutonniere|bracelet|bracer|breastpin|brooch|buckle|button|\bchains?\b|charm|choker|circlet|clasp|\bclaw\b|collar|\bcord\b|crown|\bcuff\b|diadem|earcuff|earring|feather|ferroniere|fetish|garland|haircomb|hairnet|hairpin|hairsticks|handflower|hip-chain|jewels|\blei\b|locket|medal|medallion|muhenta|necklace|pearls|pendant|periapt|peyvu|pilonu|\bpin\b|por'?nidrel|rasha'?hhsograth|ribbon|\bring\b|sharmiit'?mhhg|\bstud\b|sur'?nidrel|tailband|thighband|torque|trinket|turinstil|varna|venda|wreath|wristband|wristcuff|wristlet)")) then var typefunction jewelry
if (matchre ("%1", "(ashcloak|mysanda)")) then var typemagic magic
if (matchre ("%1", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var typefunction creation
if (matchre ("%1", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var typefunction alchemy
if (matchre ("%1", "(bodhran|bones|castanets|cymbals|damaru|darje|doumbec|drum|frottoir|gansa-gambang|guiro|naqqara|sonajero|spoons|tabla|tambourine|tapani|zills)")) then var typefunction percussion instrument
if (matchre ("%1", "(banjo|bow|cistre|cittern|dulcimer|faenellica|fiddle|gittern|guti'?adar|harp|khurmary|kithara|lute|lyre|mandolin|nehpar'?i|psaltery|ramkie|rebec|sarangi|sitar|sra'?aja?hh|strings|tambura|\bviol\b|violin|zither)")) then var typefunction string instrument
if (matchre ("%1", "(bagpipes|bassoon|cane flute|chalumeaux|clarin|cornemuse|cornet|didjeridu|fife|flute|gemshorn|hichiriki|horn|minjayrah|mirliton|mitbiq|nguru|oboe|ocarina|pan-pipes|physalis|piccolo|recorder|sackbut|serpent|shakuhachi|shawm|shintu|syrinx|txistu|whistle|yarghul|zurna)")) then var typefunction wind instrument
if (matchre ("%1", "(candle|lamp|lantern|torch)")) then var typefunction gives light
if (matchre ("%1", "(bridle|caparison|halter|saddle)")) then var typefunction tack
if (matchre ("%1", "(doll|marionette|puppet|toy)")) then var typefunction toy
if (matchre ("%1", "(warhorn)")) then var typeguild barbarian style, bard style
if (matchre ("%1", "(cassock|chalice)")) then var typeguild cleric style
if (matchre ("%1", "(sigilbook|starchart|telescope)")) then var typeguild moon mage style
if (matchre ("%1", "(feedbag)")) then var typeguild trader style
if (matchre ("%1", "(ashcloak)")) then var typeguild warrior mage style
if (matchre ("%1", "(bulhawf)")) then var typerace dwarf style
if (matchre ("%1", "(\barca\b|balac|catils|celya|coinec|gelnutre|gerri|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|mahai|oinurte|palta|\btago\b|takbahn|\btelo\b)")) then var typerace elf style
if (matchre ("%1", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var typerace elothean style
if (matchre ("%1", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var typerace kaldar style
if (matchre ("%1", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var typerace prydaen style
if (matchre ("%1", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var typerace rakash style
if (matchre ("%1", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var typerace skra mur style
if %typefunction = clothing && %wearloc = DELETE then var wearloc -
if %typefunction = jewelry && %wearloc = DELETE then var wearloc -
if %typecon = container && %wearloc = DELETE then var wearloc -
return

CommaAppcost:
var commanumber %appcostk
eval length len(%commanumber)
var appcost %commanumber
if %length < 4 then goto return
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var appcost %temp
topapp:
if %length < 3 then goto lastapp
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var appcost %temp,%appcost
goto topapp
lastapp:
if %length > 0 then
{
eval temp substr(%commanumber, 0, %length)
var appcost %temp,%appcost
}
goto return

CommaCost:
var commanumber %costi
eval length len(%commanumber)
var cost %commanumber
if %length < 4 then goto return
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var cost %temp
topcost:
if %length < 3 then goto lastcost
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var cost %temp,%cost
goto topcost
lastcost:
if %length > 0 then
{
eval temp substr(%commanumber, 0, %length)
var cost %temp,%cost
}
goto return

return:
return

end:
put #class racial on
put #play ScriptEnd
put #flash
put #parse SCRIPT DONE
exit

enderror1:
wait
pause .5
put #echo
put #echo *** This item is crafted. Please do not make an item page for it on Elanthipedia. ***
put #echo
put #class racial on
put #play Error
put #flash
put #parse SCRIPT DONE
exit

enderror2:
wait
pause .5
put #echo
put #echo *** This item is altered. Please do not make an item page for it on Elanthipedia. ***
put #echo
put #class racial on
put #play Error
put #flash
put #parse SCRIPT DONE
exit</pre>
exit</pre>

Latest revision as of 18:29, 11 November 2019

Elanthipedia Items (script)
Category information
Front-end Genie
Author Isharon


This script creates Elanthipedia forms for weapons, shields, armor, and items that you appraise in shops. The results are both echoed to the game window and logged to the Appraisal-$charactername.txt file in Genie's Logs folder.

This script is intended for experienced Elanthipedia contributors only. The forms that are created by this script often require some manual editing. (See below for details.) Please check for errors before posting them to Elanthipedia.

Field values are not defined unless you are "certain" about the stat that you are appraising.

Instructions

Syntax

.ELANTH [ITEM NOUN]: You must type the entire noun. (For example, if you're appraising a greatsword, you must type greatsword; greats wouldn't work.)

When the script loads, it will send shop $shopv to check the surface that the item is on. (This is not required, but I find it helpful.) A menu will then prompt you to select the type of item you're appraising:

  1. Weapon: Melee/Thrown: most weapons (except types 2-5)
  2. Weapon: Ranged: bows, crossbows, and slings
  3. Weapon: Ammunition: for bows, crossbows, and slings
  4. Weapon: Brawling: worn brawling gear (excluding parry sticks)
  5. Weapon: Parry Stick
  6. Shield
  7. Armor/Barding
  8. Item: all other items


Required Genie Settings

You must install and use this alias to set the shop surface variable.

#alias {aps} {appraise $0 $preposition $shop quick}
#alias {sh} {shop $0 on $shop}
#alias {sha} {shop $0 on $shop;appraise $0 on $shop careful}
#alias {shs} {shop;shop $shop}
#alias {svar} {#var shop $0;shop;shop $shop}


The "shop surface" is the thing on which the item is placed (for example, table, second rack, or oak shelf). Every time you change shop surfaces (via the sv alias), you need to use the shs alias to set the preposition.


You must install these triggers to set the currency variable. (Appraise something once to set it.)

#trigger {^You .+ worth .+ dokoras} {#var currency Dokoras}
#trigger {^You .+ worth .+ kronars} {#var currency Kronars}
#trigger {^You .+ worth .+ lirums} {#var currency Lirums}

You must install these triggers to set the preposition variable. (Use the shs alias to set it every time you change shop surfaces.)

#trigger {^Behind .+, you see:$} {#var preposition behind}
#trigger {^In .+, you see:$} {#var preposition in}
#trigger {^On .+, you see:$} {#var preposition on}
#trigger {^Under .+, you see:$} {#var preposition under}

If you want to hear the sound effect, you need to download my sounds.

Sample Usage (Walkthrough)

Running the Script

> shop
The following items contain goods for sale:

a wall

The item that you want to appraise is on the wall, so you type svar wall to set the shop surface variable. (You won't see anything when you do this.)

The preposition variable should set itself when you use the svar alias.

> shs
On the wall, you see:

a heavy steel shield laced with gold etching for 9.5 platinum Kronars
a gleaming silvery tower shield etched with gold for 248063 copper Kronars
a matte black aegis etched with gold for 66875 copper Kronars
a highly polished silvery shield engraved with a prancing war horse for 27175 copper Kronars

The inventory of a wall rotates.

You want to appraise the heavy steel shield laced with gold etching, so you type .elanth shield to run the script.

ITEM TYPE:

1:	Weapon: Melee/Thrown

2:	Weapon: Ranged

3:	Weapon: Ammunition

4:	Weapon: Brawling

5:	Weapon: Parry Stick

6:	Shield

7:	Armor/Barding

8:	Item

This is a shield, so you enter 7. The script taps, shops, and appraises the shield:

> tap first shield on wall
You tap a heavy steel shield laced with gold etching atop a wall.
> shop first shield on wall

Short: a heavy steel shield
Worn:  Shoulder-worn.
Cost:  95000 Kronars
Read:  There is nothing there to read.
Look:  A thick circle of polished steel plates joins with sturdy dark leather bindings to make this shield complete.  Fine gold etching outlines the shield face, taking the shape of a glorious winged dragon in flight.

You can buy this item if you like.
> appraise first shield on wall careful
You are certain that it imposes significant maneuvering hindrance.

This shield is large in size.

Your experience with shields allows a better appraisal of the protection capabilities.

You are certain that the shield offers very poor to high protection.

You are certain that it could do:
no puncture damage
no slice damage
very great impact damage
no fire damage
no cold damage
no electric damage

You are certain that the shield is poorly balanced and is reasonably suited to gaining extra attack power from your strength.

You are certain that the steel shield is marginally vulnerable to damage, and is in pristine condition.

The steel shield is made with metal.
It appears that the steel shield can be slung over one shoulder.
You are certain that the steel shield weighs exactly 200 stones.
You are certain that the steel shield is worth exactly 95000 Kronars.
Roundtime: 16 seconds.

And generates this Elanthipedia item form:

http://www.elanthipedia.org/wiki/Shield:heavy steel shield laced with gold etching&action=edit
{{Shield
|newshieldapp=yes
|name=heavy steel shield laced with gold etching
|noun=shield
|look=A thick circle of polished steel plates joins with sturdy dark leather bindings to make this shield complete. Fine gold etching outlines the shield face, taking the shape of a glorious winged dragon in flight.
<br />'''Read''': There is nothing there to read.
|MTag=DELETE, steel, leather, DELETE, DELETE
|CTag=DELETE, DELETE, DELETE, gold, yellow, DELETE, DELETE, DELETE, DELETE, DELETE, DELETE
|STag=DELETE, DELETE, DELETE, DELETE, dragon, DELETE, DELETE
|type=lsh
|hindrance=significant
|minprotection=very poor
|maxprotection=high
|puncture=no
|slice=no
|impact=very great
|balance=poorly
|suitedness=reasonably
|construction=marginally vulnerable
|metal=yes
|weight=200
|lsize=NOT SET
|wsize=NOT SET
|hsize=NOT SET
|appcost=95,000
|sourcetype=-
|fname=No
|maxcharge=DELETE THIS LINE
|special=NOT SET
|itype=NOT SET
}}

Editing the Item Form

See Fields That Require Manual Editing (below) for details about required edits.

The URL at the top of the form is not actually part of the item page. It's there for your convenience. Copy and paste it into your browser to go to the edit page for the holy water sprinkler studded with stony basilisk fangs.

Everything that says "DELETE" in the form needs to be deleted. Those fields were not used for this item.

{{Shield
|newshieldapp=yes
|name=heavy steel shield laced with gold etching
|noun=shield
|look=A thick circle of polished steel plates joins with sturdy dark leather bindings to make this shield complete. Fine gold etching outlines the shield face, taking the shape of a glorious winged dragon in flight.
<br />'''Read''': There is nothing there to read.
|MTag=steel, leather
|CTag=gold, yellow
|STag=dragon
|type=lsh
|hindrance=significant
|minprotection=very poor
|maxprotection=high
|puncture=no
|slice=no
|impact=very great
|balance=poorly
|suitedness=reasonably
|construction=marginally vulnerable
|metal=yes
|weight=200
|lsize=NOT SET
|wsize=NOT SET
|hsize=NOT SET
|appcost=95,000
|sourcetype=-
|fname=No
|special=NOT SET
|itype=NOT SET
}}

You also need to delete any fields that were not set.

{{Shield
|newshieldapp=yes
|name=heavy steel shield laced with gold etching
|noun=shield
|look=A thick circle of polished steel plates joins with sturdy dark leather bindings to make this shield complete. Fine gold etching outlines the shield face, taking the shape of a glorious winged dragon in flight.
<br />'''Read''': There is nothing there to read.
|MTag=steel, leather
|CTag=gold, yellow
|STag=dragon
|type=lsh
|hindrance=significant
|minprotection=very poor
|maxprotection=high
|puncture=no
|slice=no
|impact=very great
|balance=poorly
|suitedness=reasonably
|construction=marginally vulnerable
|metal=yes
|weight=200
|appcost=95,000
|sourcetype=-
|fname=No
}}

Now that the form has been cleaned up, it's time to put on the finishing touches so that it complies with Elanthipedia standards.

  1. Since the name= field is exactly the same as the page name, delete that. If the name had been capitalized in an unusual way (such as mammoth Botolf war icon set atop a bloodstained haft of hickory), you would have left the name= field in place.
  2. This item doesn't have a read, so delete that line.
  3. Now for the tags. These are used with Elanthipedia's search function, so it's nice if they are filled out. The script recognized that this item contains steel and leather, so it added that for you. However, it's also made of gold, so add that. (Note: just use the singular, even if the description calls for more than one of that material.) The order of these tags does not matter.
  4. CTags are for colors. The script recognized that this item contains gold, which, for Elanthipedia purposes, is a shade of yellow. Nothing needs to be added to this line.
  5. STags are for symbols. The script recognized that this item has a dragon on it. Nothing needs to be added to this line.
  6. The fname field indicates whether the first word in the item's tap is capitalized. For most items, this should be set to "No."

Now your form is ready for Elanthipedia. Copy and paste it to the edit page in your browser, and click "Save page."

{{Shield
|newshieldapp=yes
|noun=shield
|look=A thick circle of polished steel plates joins with sturdy dark leather bindings to make this shield complete. Fine gold etching outlines the shield face, taking the shape of a glorious winged dragon in flight.
|MTag=steel, gold, leather
|CTag=gold, yellow
|STag=dragon
|type=lsh
|hindrance=significant
|minprotection=very poor
|maxprotection=high
|puncture=no
|slice=no
|impact=very great
|balance=poorly
|suitedness=reasonably
|construction=marginally vulnerable
|metal=yes
|weight=200
|appcost=95,000
|sourcetype=-
|fname=No
}}

Working More Efficiently

You may be wondering if using this script is worth the effort. Having done my share of manual item additions, I can say that this is a big time saver. It also reduces human error on item stats. However, editing item forms is still a little work, especially if you do the MTags, CTags, and STags.

One way to speed up this process is to edit these forms in batch. Instead of appraising one item, editing the form, and then posting that item, appraise all of the items that you want to appraise in the shop and then edit your Appraisal-$charactername.txt log file. Use the find and replace function (usually Ctrl+H) to delete or edit multiple lines at once.

I recommend using Notepad++ for this, because it also supports regular expressions. You can also make your own macros and add your own shortcut keys.

Changelog

4/22/2018

  • fixed a bug with appraisal values of 0

4/21/2018

  • replaced ammo type recognition with the new appraisal line
  • improved recognition of brawling weapons
  • added location and timestamp in the output log to help you track back to your own log if you need to check something
  • added verb and functionality checking to the held version of the script (This will not add the information to your form. It just helps you log it for you to manually add it.)
  • fixed taps and shorts
  • fixed dimensions
  • fixed appraisal values
  • added weapon skills
  • fixed bug with one construction/durability value

7/6/2016

  • fixed hangups at glance
  • added new material tags
  • added timestamp to each item in the log

2/26/2016

  • bug fix
  • added new material and symbol tags
  • added recognition of more racial item styles

9/15/2015

  • Added clothing item types
  • Fixed quiet setting of taps
  • Removed force of impact (FOI) from ammunition

6/19/2015

  • Added support for new bow template (draw strength and adjustable draw strength)

5/23/2015

  • Improved recognition of measurement dimensions
  • Improved conversion of currencies (conversions from Lirums to Kronars should be 100% accurate; conversions from Dokoras to Kronars is accurate 80% of the time due to differences in the way DR does math)
  • Shop version of script will now use GLANCE instead of TAP to set the item tap. This is less likely to cause errors with verby items.
  • Added more recognition of clothing and jewelry.
  • Added Gor'Tog and Prydaen item types.
  • Added new material tags

12/6/2014

  • Added version for items that another player SHOWs to you
  • The versions for held and shown items will now abort when appraising crafted or altered items. (Item pages should not be created for these items.)
  • Added new material tags
  • Added new color tags
  • Added new ambiguous tags
  • Fixed item type/special setting
  • Added to instrument types
  • Added to armor itypes

7/18/2014

  • Fixed issue with the tap unintentionally including the contents of the left hand, but the script now requires a measuring stick to work.

7/16/2014

  • Fixed issue in the hand-held version with script not setting the tap when your left hand is empty.

7/14/2014

  • Fixed issue in the hand-held version with script not using the noun of the item in your right hand.

7/7/2014

  • Added hand-held version of script (with measuring).
  • As reflected in Elanthipedia's new item template, there is a new field for "ambiguous tags" (tags that could be more than one type, such as sapphire, which could be a material or a color). This makes it easier to quickly document items on Elanthipedia without spending a long time reviewing the tags. (The ambiguous tags can be resolved later.)
  • As reflected in Elanthipedia's updated Manual of Style, colors like "dark blue" will only be tagged "blue", not "dark blue, blue".
  • Fixed issue with "extremely weak" construction.
  • Fixed issue with items being incorrectly flagged as "warrior mage style."
  • Updated Elanthipedia URLs to the new site.

12/23/2013

  • Improved recognition of wood and gem MTags.

10/31/2013

  • Updated racial item types
  • Added fname field.
  • Added spaces after commas to be consistent with the Manual of Style.

9/25/2013

  • Added Prydaen item type.
  • Added racial item class to combat/rp class toggles.

6/27/2013

  • Standardized symbol tags for guild crests
  • Fixed error with armor being flagged as clothing or jewelry.

6/18/2013

  • Fixed error with brawling damage types.
  • Fixed error with footwraps being flagged as "clothing."
  • Replaced "quite a bit of" damage with "quite a bit" to match the template.

6/17/2013

  • Updated the new weapon appraisal flag from newapp to newapp2. (This indicates whether a weapon has outdated stats.)
  • Fixed an error that was causing item READs not to be set.
  • Fixed setting of "special" types for weapons, shields, and armor.
  • Revised wear locations to be consistent with the current item templates. Shirt+ and shirt- are now shirt (with armor) and shirt (without armor), respectively. Also, wearloc will not be set to - (not wearable) unless the item is of a type that would normally be wearable, such as clothing, jewelry, or containers.
  • The script will now log appraisals to Appraisal-$charactername.txt. This allows more than one character to run the script at a time. (The charactername variable is supplied automatically by Genie.)

5/15/2013

  • Added elemental damage.

5/6/2013

  • Updated armor types to 3.0 template.

5/5/2013

  • Added force of impact stat for weapons.

5/3/2013

  • Smarter tagging of item types, materials, symbols, and colors.
  • Fixed bugs in metatags.
  • Fixed issue with appraisal values not being set. (The appraisal messaging now capitalizes the currency names, but the script was still looking for lower-case currency names.)

4/28/2013

  • Updated item types and sources to work with the new item template.
  • Script will now set some item types from the look.
  • Script will no longer erroneously flag items made of "Elothean silk" or "Elven silk" as racial symbols or racial item types.
  • Improved color tagging.

4/27/2013

  • Added recognition of Elothean (Asian) clothing.

11/18/2012

  • Added recognition of more item types.
  • Added recognition of more materials.

11/10/2012

  • Added recognition of more item types; shortened pauses by half a second.

11/4/2012

  • Added auto-recognition of Trader "appraisal" items.

5/19/2012

  • Added more item types.
  • Added more metatags.

5/16/2012

  • Fixed bug that prevented taps from being set on items "atop several" surfaces.

5/15/2012

  • Added more item types.
  • Added more recognition of racially named items.
  • Added more metatags.

5/13/2012

  • Added more MTags.
  • Fixed some false matches with colors, materials, and symbols.

5/4/2012

  • The script now supports the new shield hindrance and protection appraisals. Note: If you fail to get the more detailed "Paladin appraisal" (indicated by the "Your experience with shields allows a better appraisal of the protection capabilities" message), the script will not set the shield protection values and will flag the page as outdated. Please do not change this.

4/28/2012

  • Added support for Elanthipedia's new "itype" field. (This field is used to distinguish between items with the same noun.)
  • Added more recognition of item types, particularly for racial items.
  • Fixed a few bugs in item types.

4/27/2012

  • Added more recognition of item, weapon, and shield types.
  • Added more MTags and STags.
  • Fixed a few bugs in CTags and item types.

4/21/2012

  • Changed URLs from elanthipedia.com to elanthipedia.org.

1/4/2012

  • Added support for more recognition of item types.

11/14/2011

  • Added support for items on the surface. (This was preventing certain taps from being read.)

11/12/2011

  • Added more recognition of item and weapon types.
  • Added more MTags and STags.
  • Added sound effect to the end of the script.

11/9/2011

  • Added support for items that are behind a shop surface.

11/5/2011

  • Fixed some tags.
  • Added new CTag.
  • Added support for non-Kronar appraisal values.

11/4/2011

  • Added new MTags.

11/2/2011

  • Added more recognition of clothing.

09/24/2011

  • Added support for tack and barding.
  • Added two new MTag woods.

07/18/2011

  • Changed newapp=yes to newarmorapp=yes in the shield section to work with Elanthipedia's new shield template. (If you use newapp=yes for shields, Elanthipedia will think that the appraisal includes the new construction range but not the new hindrance range.)
  • Fixed shield appraisals to work with the new hindrance scale.

07/17/2011

  • Changed newapp=yes to newarmorapp=yes in the armor section to work with Elanthipedia's new armor template. (If you use newapp=yes for armor, Elanthipedia will think that the appraisal includes the new construction range but not the new protection, absorption, and hindrance ranges.)

07/02/2011

  • Added a new MTag fabric.
  • Fixed bugs with MTags and CTags.

07/01/2011

  • Added more MTag fabrics.
  • Added support for variable colors (for example, X-hued).
  • Added more CTags.
  • Added more STags.

06/29/2011

  • Fixed a bug with MTag fabrics.
  • Fixed a bug with CTags.

06/26/2011

  • Fixed a bug in the price and appraisal sections that was caused by the way Notepad++ deleted extra line breaks.
  • Script now always recognizes when armor absorption values are not equal.

06/20/2011

  • Added support for more MTags, CTags, and STags.

06/16/2011

  • Added support for more MTags, CTags, STags, and item/special types.

06/05/2011

  • Added support for more MTags, CTags, STags, and item/special types.

05/23/2011

  • The script now uses triggers to set the currency and preposition variables.
  • Added support for more MTags, CTags, STags, item/special types.

05/21/2011

  • Added support for more MTags, CTags, STags, item/special types.
  • Cambrinth type will now set even when you fail to appraise the exact amount of mana.

05/20/2011

  • Added support for special types (combat equipment).

05/19/2011

  • Added more MTags, CTags, and STags.
  • Improved output for item reads.

05/18/2011

  • Fixed bug that prevented item types from being set to "cambrinth."
  • Script fills out "area" field for armor.
  • Script fills out some MTags, CTags, and STags.

05/17/2011

  • Added support for instrument types.
  • Script now recognizes when all armor absorption values are equal.

05/16/2011

  • Added support for more fluff item types.

05/15/2011

  • Fixed some bugs with fluff item types.

04/26/2011

  • The script now includes the Elanthipedia URL for each item (assuming that the tap is the same as the page name).

04/18/2011

  • The "Appraisal" log is now saved as a text file.

04/14/2011

  • The script now recognizes appraisal values of 1 Kronar.

04/05/2011

  • The script now sets gem pouch appraisal values to 0.

04/04/2011

  • added "the" as a leading article (to be omitted from page names)
  • fixed a bug that prevented recognition of some weapon types

03/20/2011: The script has the following new features:

  • adds commas to costs and appraisal values
  • adds the currency to the cost field (requires the script above)
  • equipment construction values don't need to be edited to make them consistent with Elanthipedia's template
  • recognizes gaethzen as a type of fluff item
  • recognizes many common guild and race styles for fluff items

Fields That Require Manual Editing

Name

Delete this field unless the item tap differs from the page name (for example, in capitalization).

Quotation marks are removed by Genie, so be sure to supply them if the tap contains quotation marks.

Missing Data

Some fields that the script can't fill are left as placeholders for your convenience.

Likewise, any field with a DELETE or % in the result has not been filled by the script. (These fields are in the script, because the script sometimes has values for them.) These fields should be deleted unless you know the appropriate value.


Look/Read

Delete this line: <br>'''Read''': There is nothing there to read.
(It is only used if there is an actual read.)

Quotation marks are removed by Genie, so be sure to supply them if the look contains quotation marks.

Metatags

If there is more than one match for the same category, it will add the last match. I made the shorter words match first, which causes the script to match the longest, most specific version (e.g., glacier emerald instead of emerald).

If a match appears in both the tap and the look, the script will use the one in the tap.

You can manually add additional tags.

If a category is not set, it will say DELETE.

If there are no tags of a given type (for example, no symbol tags), leave the field blank. Delete all of instances of DELETE, but do not delete the empty fields.

See Elanthipedia's Manual of Style for instructions on how to use tags.

MTags

The script will add up to five different material tags (one per category). The categories are:

  1. mtags: special/magical properties (e.g., chakrel and soulstones).
  2. mtagg: stones (including gems)
  3. mtagm: metals
  4. mtagw: wood
  5. mtagf: fabrics/textiles and leather

CTags

The script will add up to eight different color tags (one per category). The categories are:

  1. ctagr: shades of red
  2. ctago: shades of orange
  3. ctagy: shades of yellow
  4. ctagg: shades of green
  5. ctagb: shades of blue
  6. ctagv: shades of violet
  7. ctagn: shades of grey (including black and white)
  8. ctagm: rainbow/multicolored

STags

The script will add up to seven different symbol tags (one per category). The categories are:

  1. stagp: profession/guild
  2. stagg: gods/Immortals
  3. staga: animals and mythical creatures
  4. stagh: healing herbs
  5. stage: elements
  6. stagr: races
  7. stagl: locations and heavenly bodies

ATags

Ambiguous tags are a new field in Elanthipedia's item templates. There are some words that could fall under more than one type of tag, depending on context. For example, sapphire might be a gem (MTag) or just a color (CTag). There is no easy way for the script to know whether "sapphire" is a gem or a color; the user must read the tap and description and determine which applies. Instead of adding "sapphire" to both the MTags and CTags, the script will now add "sapphire" as an ATag.

This allows for faster documentation of shop items, as the user will no longer have to spend hours poring over the tags to find and remove errors caused by ambiguity. Instead, the user can just dump the item on Elanthipedia, with the potentially ambiguous tags listed in their own field. Later, the user (or another contributor) can resolve the ambiguities by moving the tag from ATag to MTag, CTag, or STag as appropriate.


Item Types

The script will add up to seven different item types (one per category). The categories are:

  1. typefunction: the item's basic function, such as clothing, jewelry, crafting, and instruments.
  2. typecon: for containers and pocketed items
  3. typemagic: cambrinth, gaethzen, and some other magic
  4. typeguild: items with obvious guild functions or styles
  5. typerace: items with obvious race functions or styles

If a type category is not set, it will say DELETE.


Ticket Prices

If the price is in tickets, you need to add the word "Tickets" after the price. For example:

{{ShopItem|t=w|throwing dagger with a buzzard hilt|2 Tickets}}

Swappable Weapons

This script supports thrown weapons, but it does not fully support swappable weapons, such as bastard swords. (It will only generate the damage and balance/power fields for one side of the weapon.)

The easiest way to handle this situation is to let the form supply the one side's values, save changes, and click the "edit with form" button to supply the other side's values.

Brawling Weapons

Replace "quite a bit of" with "quite a bit."

Shields

If you fail to get the more detailed "Paladin appraisal" (indicated by the "Your experience with shields allows a better appraisal of the protection capabilities" message), the script will not set the shield protection values and will flag the page as outdated. Please do not change this.

Armor/Barding

Armor

area: This field is defined by the script, but you need to delete the word(s) DELETE from the "area" field.

Absorption: The absorption fields are filled out twice, and some values need to be deleted.

For most armor, absorption is the same for all damage types. When this is the case, keep the absorbance field and delete the following fields:

  • |punctureab=
  • |sliceab=
  • |impactab=
  • |fireab=
  • |coldab=
  • |electricab=


If absorption values are not the same for every damage type, the script output will be |absorbance=VALUES NOT EQUAL. Delete the absorbance field and use the six specific values (punctureab=, sliceab=, etc.) instead.

Barding

Stats: Barding (horse armor) appraisals do not include most of the standard armor stats, so there are several unset variables. Delete the lines for hindrance, protection, and absorption. (Keep construction.)

Weight: There is no information about weight when appraising barding in shops, so the weight variable will not be set. Delete the weight line.

Coverage areas: The coverage areas of "arms" and "legs" are correct. Elanthipedia will automatically display "front legs" and "rear legs" if you have the special type set to tack. (The script does this for you.)

Script (Shop Inventory)

#debuglevel 10
put #class rp on
put #class arrive off
put #class joust off
put #class combat off
put #class racial off
put #class shop off

var source $roomname
var appcostl 0
var appcostd 0
var newshieldapp no
action goto end when ^I could not find what (you|you were) referring to\.$
var numbers first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|eleventh
var numbers.index 0

#action goto enderror1 when ^You .+ a quality of \d+, placing it at .+ on the official Trader's Scale\.$|^You.+the \S+ in the .+ is of .+ quality\.$
#action goto enderror2 when ^The .+ looks? to be custom-made\.$
action setvariable tap $2 when ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying
action setvariable tap $2 when ^On the.+you see (a|an|some|the) (.+)\.$
action setvariable tap $2 when ^You glance at (a|an|some|the) (.+)\.$|^Considering the security around the Phelim starblade
action setvariable tap $2 when ^You quietly examine (a|an|some|the) (.+) and notice a price tag indicating
action setvariable tap $2 when ^You tap (a|an|some|the) (.+)\.$
action setvariable tap $2;setvariable look $3 when ^\w+ shows you (an?|some|the) (.+?)\.\s+(.+)
action setvariable tap $2;setvariable look - when ^\w+ shows you (an?|some|the) (.+)\.$
action setvariable short $2 when ^Considering the security around (a|an|some|the) (.+), it would be ill advised to tamper with it.
action setvariable short $2 when ^Short: (a|an|some|the) (.+)
action setvariable look $1 when ^Look:  (.+)
action setvariable look - when ^Look:  You see nothing unusual\.$
action setvariable look - when ^You see nothing unusual\.$
action setvariable read $1 when ^Read:\s+(.+)$
action setvariable typefunction tack when ^This is specifically designed to be worn by a horse\.$
action setvariable special tack when ^This is specifically designed to be worn by a horse\.$
action setvariable typecon container when ^The .+ (are|is) a container, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) a container\.$
action setvariable typecon container when ^The .+ (are|is) pocketed, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) pocketed\.$
action setvariable typecon container when ^The gem pouch is made for easy storage of gems
action setvariable typeguild trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable special trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable wearloc $2 when ^It appears that .+ can be worn (around|in|on) the (.+)\.$
action setvariable wearloc $1 when ^It appears that .+ can be draped over the (.+)\.$
action setvariable wearloc generic when ^It appears that .+ can be worn\.$
action setvariable wearloc belt when ^It appears that .+ can be worn attached to a belt\.$
action setvariable wearloc belt when ^The gem pouch is made for easy storage of gems
action setvariable wearloc ear when ^It appears that .+ can be worn in one ear
action setvariable wearloc ears when ^It appears that .+ can be worn in both ears
action setvariable wearloc hair (placed) when ^It appears that .+ can be worn in the hair\.$
action setvariable wearloc pants when ^It appears that .+ can be worn like pants or a skirt\.$
action setvariable wearloc shirt (with armor) when ^It appears that .+ can be worn as a shirt or robe, even with armor\.$
action setvariable wearloc shirt (without armor) when ^It appears that .+ can be worn like a shirt or robe\.$
action setvariable wearloc shoulder when ^It appears that .+ can be slung over one shoulder\.$
action setvariable wearloc upper arm when ^It appears that .+ can be worn on the upper ?arm\.$
action setvariable weight $1 when ^You are certain that .+ weighs exactly (\d+) (stones?)\.$
action setvariable lsize $1;setvariable wsize $2;setvariable hsize $3 when ^You compare your .+ with the .+ yardstick several times and are certain the length measures (.+) spans?, the width measures (.+) spans? and the height measures (.+) spans?\.$
action setvariable ilsize $1;setvariable iwsize $2;setvariable ihsize $3;setvariable csize $4 when ^You compare your .+ with the .+ yardstick several times and are certain the interior length measures (.+) spans?, the interior width measures (.+) spans?, the interior height measures (.+) spans? and the .+ appears capable of holding about (\d+) stones of weight\.$
action setvariable appcostk $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:kronars)\.$
action setvariable appcostk 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:kronar)\.$
action setvariable appcostk 0 when ^You are certain that .+ (is|are) worth exactly nothing\.$
action setvariable appcostk - when ^There doesn't appear to be anything in the gem pouch\.$
action setvariable appcostk - when is made for easy storage of gems, and is used by gemshops everywhere to handle bulk transactions\.$
action setvariable appcostl $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:lirums)\.$
action setvariable appcostl 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:lirum)\.$
action setvariable appcostd $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:dokoras)\.$
action setvariable appcostd 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:dokora)\.$
action setvariable costi $1 when ^Cost:  (\d+)
action setvariable maxcharge $1 when ^You are certain that the .+ holds? exactly (\d+) mana\.$
action setvariable metal yes when ^The .+ (is|are) made with metal\.$

action setvariable wtype1 LE;setvariable wtypename1 light edged;setvariable wskill1 small edged when (is a|are a|and) light edged .+ weapon
action setvariable wtype1 ME;setvariable wtypename1 medium edged;setvariable wskill1 small edged when (is a|are a|and) medium edged .+ weapon
action setvariable wtype1 HE;setvariable wtypename1 heavy edged;setvariable wskill1 large edged when (is a|are a|and) heavy edged .+ weapon
action setvariable wtype1 2HE;setvariable wtypename1 two-handed edged;setvariable wskill1 twohanded edged when (is a|are a|and) two-handed edged .+ weapon
action setvariable wtype1 LB;setvariable wtypename1 light blunt;setvariable wskill1 small blunt when (is a|are a|and) light blunt .+ weapon
action setvariable wtype1 MB;setvariable wtypename1 medium blunt;setvariable wskill1 small blunt when (is a|are a|and) medium blunt .+ weapon
action setvariable wtype1 HB;setvariable wtypename1 heavy blunt;setvariable wskill1 large blunt when (is a|are a|and) heavy blunt .+ weapon
action setvariable wtype1 2HB;setvariable wtypename1 two-handed blunt;setvariable wskill1 twohanded blunt when (is a|are a|and) two-handed blunt .+ weapon
action setvariable wtype1 SL;setvariable wtypename1 sling;setvariable wskill1 slings when (is|are) a sling .+ weapon
action setvariable wtype1 StS;setvariable wtypename1 staff sling;setvariable wskill1 slings when (is|are) a staff sling .+ weapon
action setvariable wtype1 rock;setvariable wtypename1 sling ammo;setvariable wskill1 slings when ^This appears to be ammunition for slings\.$
action setvariable wtype1 SB;setvariable wtypename1 short bow;setvariable wskill1 bow when (is|are) a short bow .+ weapon
action setvariable wtype1 LoB;setvariable wtypename1 long bow;setvariable wskill1 bow when (is|are) a long bow .+ weapon
action setvariable wtype1 CB;setvariable wtypename1 composite bow;setvariable wskill1 bow when (is|are) a composite bow .+ weapon
action setvariable wtype1 arrow;setvariable wtypename1 bow ammo;setvariable wskill1 slings when ^This appears to be ammunition for bows\.$
action setvariable wtype1 LX;setvariable wtypename1 light crossbow;setvariable wskill1 crossbow when (is|are) a light crossbow .+ weapon
action setvariable wtype1 HX;setvariable wtypename1 heavy crossbow;setvariable wskill1 crossbow when (is|are) a heavy crossbow .+ weapon
action setvariable wtype1 bolt;setvariable wtypename1 crossbow ammo;setvariable wskill1 slings when ^This appears to be ammunition for crossbows\.$
action setvariable wtype1 SS;setvariable wtypename1 short staff;setvariable wskill1 staves when (is a|are a|and) short staff .+ weapon
action setvariable wtype1 QS;setvariable wtypename1 quarter staff;setvariable wskill1 staves when (is a|are a|and) quarter staff .+ weapon
action setvariable wtype1 PI;setvariable wtypename1 pike;setvariable wskill1 polearms when (is a|are a|and) pike .+ weapon
action setvariable wtype1 HAL;setvariable wtypename1 halberd;setvariable wskill1 polearms when (is a|are a|and) halberd .+ weapon
action setvariable wtype1 parry;setvariable wskill1 brawling when ^You are certain that the .+ is a purely defensive item\.$
action setvariable wtype1 elbows;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the elbows\.$
action setvariable wtype1 hands;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the hands\.$
action setvariable wtype1 knees;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the knees\.$
action setvariable wtype1 feet;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the feet\.$
action setvariable wtype2 LT;setvariable wtypename2 light thrown;setvariable wskill2 light thrown when (is|are) a light thrown and .+ weapon
action setvariable wtype2 HT;setvariable wtypename2 heavy thrown;setvariable wskill2 heavy thrown when (is|are) a heavy thrown and .+ weapon
action setvariable range melee when melee-ranged weapon
action setvariable range pole when pole-ranged weapon
action setvariable puncture $1 when ^\s+(.*) puncture damage
action setvariable slice $1 when ^\s+(.*) slice damage
action setvariable impact $1 when ^\s+(.*) impact damage
action setvariable fire $1 when ^\s+(.*) fire damage
action setvariable cold $1 when ^\s+(.*) cold damage
action setvariable electric $1 when ^\s+(.*) electric damage
action setvariable puncture quite a bit when ^\s+quite a bit of puncture damage
action setvariable slice quite a bit when ^\s+quite a bit of slice damage
action setvariable impact quite a bit when ^\s+quite a bit of impact damage
action setvariable fire quite a bit when ^\s+quite a bit of fire damage
action setvariable cold quite a bit when ^\s+quite a bit of cold damage
action setvariable electric quite a bit when ^\s+quite a bit of electric damage
action setvariable puncturetypename Yes when ^\s+(.*) puncture damage increase
action setvariable slicetypename Yes when ^\s+(.*) slice damage increase
action setvariable impacttypename Yes when ^\s+(.*) impact damage increase
action setvariable foi $1 when .+ is (.*) designed for improving the force of your attacks\.$
action setvariable balance $1 when .+ is (.*) balanced
action setvariable power $1 when .+ is (.*) suited
action setvariable drawstrength $1 when ^The .+ appears set for a draw strength that is (.+) for a bow of this type\.$
action setvariable adraw Yes when ^The .+ appears to have an adjustable draw strength\.$
action setvariable adraw No when ^The .+ does not appear to have an adjustable draw strength\.$

action setvariable stype lsh;setvariable stypename large when is large in size\.$
action setvariable stype msh;setvariable stypename medium when is medium in size\.$
action setvariable stype ssh;setvariable stypename small when is small in size\.$
action setvariable newshieldapp Yes when ^Your experience with shields allows a better appraisal of the protection capabilities\.$
action setvariable sprotection $1 when .+ offers (.*) protection
action setvariable smin $1 when ^You are certain that .+ offers (.*) to .+ protection\.
action setvariable smax $1 when ^You are certain that .+ offers .+ to (.*) protection\.
action setvariable shindrance $1 when .+ it imposes? (.*) maneuvering hindrance.

action setvariable atype plate armor when (is|are) plate armor\.$
action setvariable atype brigandine when (is|are) brigandine armor\.$
action setvariable atype chain armor when (is|are) chain armor\.$
action setvariable atype light armor when (is|are) light armor\.$
action setvariable abpuncture $1 when .+ \s(.*) for puncture attacks
action setvariable abslice $1 when .+ \s(.*) for slice attacks
action setvariable abimpact $1 when .+ \s(.*) for impact attacks
action setvariable abfire $1 when .+ \s(.*) for fire attacks
action setvariable abcold $1 when .+ \s(.*) for cold attacks
action setvariable abelectrical $1 when .+ \s(.*) for electrical attacks
action setvariable appuncture $1 when .+ \s(.*) protection and .+ damage absorption for puncture attacks
action setvariable apslice $1 when .+ \s(.*) protection and .+ damage absorption for slice attacks
action setvariable apimpact $1 when .+ \s(.*) protection and .+ damage absorption for impact attacks
action setvariable apfire $1 when .+ \s(.*) protection and .+ damage absorption for fire attacks
action setvariable apcold $1 when .+ \s(.*) protection and .+ damage absorption for cold attacks
action setvariable apelectrical $1 when .+ \s(.*) protection and .+ damage absorption for electrical attacks
action setvariable aapuncture $1 when .+ protection and (.*) damage absorption for puncture attacks
action setvariable aaslice $1 when .+ protection and (.*) damage absorption for slice attacks
action setvariable aaimpact $1 when .+ protection and (.*) damage absorption for impact attacks
action setvariable aafire $1 when .+ protection and (.*) damage absorption for fire attacks
action setvariable aacold $1 when .+ protection and (.*) damage absorption for cold attacks
action setvariable aaelectrical $1 when .+ protection and (.*) damage absorption for electrical attacks
action setvariable ahindrance $1 when .+ appears? to impose (.*), offering
action setvariable mhindrance $1 when .+ appears? to impose (.*) maneuvering hindrance and
action setvariable shindrance $1 when .+ appears? to impose .+ maneuvering hindrance and (.*) stealth hindrance
action setvariable ahead head when ^\s+head$
action setvariable aeyes eyes when ^\s+right eye$
action setvariable aneck neck when ^\s+neck$
action setvariable achest chest when ^\s+chest$
action setvariable aback back when ^\s+back$
action setvariable aabdomen abdomen when ^\s+abdomen$
action setvariable aarms arms when ^\s+right arm$
action setvariable aarms arms when ^\s+right front leg$
action setvariable alegs legs when ^\s+right leg$
action setvariable alegs legs when ^\s+right rear leg$
action setvariable ahands hands when ^\s+right hand$

action setvariable construction $2 when ^You are certain that the .+ (is|are) (.*) (and easily damaged|against damage|to damage)
action setvariable construction average construction when ^You are certain that the .+ (is|are) of average construction

put #echo
put #echo ITEM TYPE:
put #echo
put #echo 1:	Weapon: Melee/Thrown
put #echo
put #echo 2:	Weapon: Ranged
put #echo
put #echo 3:	Weapon: Ammunition
put #echo
put #echo 4:	Weapon: Brawling
put #echo
put #echo 5:	Weapon: Parry Stick
put #echo
put #echo 6:	Shield
put #echo
put #echo 7:	Armor/Barding
put #echo
put #echo 8:	Item
put #echo
put #echo Enter Type Number:

matchre WeaponApp1 ^1$
matchre WeaponApp2 ^2$
matchre WeaponApp3 ^3$
matchre WeaponApp4 ^4$
matchre WeaponApp5 ^5$
matchre ShieldApp ^6$
matchre ArmorApp ^7$
matchre ItemApp ^8$
matchre ItemApp ^9$
matchwait

WeaponApp1:
var number %numbers(%numbers.index)
gosub AppraiseWeapon1
math numbers.index add 1
if %numbers.index > 11 then goto end
goto WeaponApp1

WeaponApp2:
var number %numbers(%numbers.index)
gosub AppraiseWeapon2
math numbers.index add 1
if %numbers.index > 11 then goto end
goto WeaponApp2

WeaponApp3:
var number %numbers(%numbers.index)
gosub AppraiseWeapon3
math numbers.index add 1
if %numbers.index > 11 then goto end
goto WeaponApp3

WeaponApp4:
var number %numbers(%numbers.index)
gosub AppraiseWeapon4
math numbers.index add 1
if %numbers.index > 11 then goto end
goto WeaponApp4

WeaponApp5:
var number %numbers(%numbers.index)
gosub AppraiseWeapon5
math numbers.index add 1
if %numbers.index > 11 then goto end
goto WeaponApp5

ShieldApp:
var number %numbers(%numbers.index)
gosub AppraiseShield
math numbers.index add 1
if %numbers.index > 11 then goto end
goto ShieldApp

ArmorApp:
var number %numbers(%numbers.index)
gosub AppraiseArmor
math numbers.index add 1
if %numbers.index > 11 then goto end
goto ArmorApp

ItemApp:
var number %numbers(%numbers.index)
gosub AppraiseItem
math numbers.index add 1
if %numbers.index > 11 then goto end
goto ItemApp

number1:
var number first
return
number2:
var number second
return
number3:
var number third
return
number4:
var number fourth
return
number5:
var number fifth
return
number6:
var number sixth
return
number7:
var number seventh
return
number8:
var number eighth
return
number9:
var number ninth
return
number10:
var number tenth
return
number11:
var number eleventh
return

AppraiseWeapon1:
gosub VarBlank
pause 1
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
send shop %number %1 $preposition $shop
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%1
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |range=%range
put #echo |type=%wtype1
put #echo |type2=%wtype2
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=%foi
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (%weight stones)
put #echo note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |range=%range
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |type2=%wtype2
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return

AppraiseWeapon2:
gosub VarBlank
pause 1
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
send shop %number %1 $preposition $shop
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%1
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |range=ranged
put #echo |ammo=%ammo
put #echo |ammocap=
put #echo |rangedRT=
put #echo |drawstrength=%drawstrength
put #echo |adraw=%adraw
put #echo |type=%wtype1
put #echo |puncture=-
put #echo |foi=%foi
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |range=ranged
put #log >Appraisal-$charactername.txt |ammo=%ammo
put #log >Appraisal-$charactername.txt |ammocap=
put #log >Appraisal-$charactername.txt |rangedRT=
put #log >Appraisal-$charactername.txt |drawstrength=%drawstrength
put #log >Appraisal-$charactername.txt |adraw=%adraw
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return

AppraiseWeapon3:
gosub VarBlank
pause 1
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
send shop %number %1 $preposition $shop
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
gosub Tagset
gosub Specialset
gosub Itypeset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%1
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%wtype1
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=-
put #echo |balance=-
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return

AppraiseWeapon4:
gosub VarBlank
pause 1
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
send shop %number %1 $preposition $shop
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |brawl=yes
put #echo |noun=%number %1 $preposition $shop
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%wtype1
put #echo |puncture=%puncture
put #echo |puncturetype=%puncturetype
put #echo |slice=%slice
put #echo |slicetype=%slicetype
put #echo |impact=%impact
put #echo |impacttype=%impacttype
put #echo |foi=%foi
put #echo |balance=-
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo brawling (%wtype1)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |puncturetype=%puncturetype
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |slicetype=%slicetype
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |impacttype=%impacttype
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (%wtype1)
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return

AppraiseWeapon5:
gosub VarBlank
pause 1
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
send shop %number %1 $preposition $shop
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |brawl=yes
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%1
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=parry
put #echo |puncture=-
put #echo |puncturetype=No
put #echo |slicetype=No
put #echo |impacttype=No
put #echo |foi=-
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo brawling (parry)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=parry
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal-$charactername.txt |puncturetype=No
put #log >Appraisal-$charactername.txt |slicetype=No
put #log >Appraisal-$charactername.txt |impacttype=No
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (parry)
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return

AppraiseShield:
gosub VarBlank
pause 1
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
send shop %number %1 $preposition $shop
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
wait
pause .5
if %newshieldapp = no then var smin NOTSET
if %newshieldapp = no then var smax NOTSET
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #echo
put #echo {{Shield
put #echo |newshieldapp=%newshieldapp
put #echo |name=%tap
put #echo |noun=%1
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%stype
put #echo |hindrance=%shindrance
put #echo |minprotection=%smin
put #echo |maxprotection=%smax
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=-
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Shield
put #log >Appraisal-$charactername.txt |newshieldapp=%newshieldapp
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%stype
put #log >Appraisal-$charactername.txt |hindrance=%shindrance
put #log >Appraisal-$charactername.txt |minprotection=%smin
put #log >Appraisal-$charactername.txt |maxprotection=%smax
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return

AppraiseArmor:
gosub VarBlank
pause 1
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
send shop %number %1 $preposition $shop
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if %aapuncture = %aaslice && %aapuncture = %aaimpact && %aapuncture = %aafire && %aapuncture = %aacold && %aapuncture = %aaelectrical then var absorbance %aapuncture
gosub Tagset
gosub Specialset
gosub Itypeset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #echo
put #echo {{Armor
put #echo |name=%tap
put #echo |newarmorapp=Yes
put #echo |noun=%1
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%atype
put #echo |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #echo |hindrance=%mhindrance
put #echo |stealth=%shindrance
put #echo |puncture=%appuncture
put #echo |slice=%apslice
put #echo |impact=%apimpact
put #echo |fire=%apfire
put #echo |cold=%apcold
put #echo |electric=%apelectrical
put #echo |absorbance=%absorbance
put #echo |punctureab=%aapuncture
put #echo |sliceab=%aaslice
put #echo |impactab=%aaimpact
put #echo |fireab=%aafire
put #echo |coldab=%aacold
put #echo |electricab=%aaelectrical
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |appcost=%appcost
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Armor
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newarmorapp=Yes
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%atype
put #log >Appraisal-$charactername.txt |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #log >Appraisal-$charactername.txt |hindrance=%mhindrance
put #log >Appraisal-$charactername.txt |stealth=%shindrance
put #log >Appraisal-$charactername.txt |puncture=%appuncture
put #log >Appraisal-$charactername.txt |slice=%apslice
put #log >Appraisal-$charactername.txt |impact=%apimpact
put #log >Appraisal-$charactername.txt |fire=%apfire
put #log >Appraisal-$charactername.txt |cold=%apcold
put #log >Appraisal-$charactername.txt |electric=%apelectrical
put #log >Appraisal-$charactername.txt |absorbance=%absorbance
put #log >Appraisal-$charactername.txt |punctureab=%aapuncture
put #log >Appraisal-$charactername.txt |sliceab=%aaslice
put #log >Appraisal-$charactername.txt |impactab=%aaimpact
put #log >Appraisal-$charactername.txt |fireab=%aafire
put #log >Appraisal-$charactername.txt |coldab=%aacold
put #log >Appraisal-$charactername.txt |electricab=%aaelectrical
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return

AppraiseItem:
gosub VarBlank
pause 1
send tap %number %1 $preposition $shop
waitforre ^You glance|^You quietly|^You tap|^Considering the security around|^Somehow, I don't think so
send shop %number %1 $preposition $shop
waitforre ^Short:|^\[Type SHOP|^There is nothing to buy here
send appraise %number %1 $preposition $shop careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Typeset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #echo
put #echo {{Item
put #echo |name=%tap
put #echo |noun=%1
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #echo |wearloc=%wearloc
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |ilsize=%ilsize
put #echo |iwsize=%iwsize
put #echo |ihsize=%ihsize
put #echo |csize=%csize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |metal=%metal
put #echo }}
put #echo note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Item
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |noun=%1
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |ilsize=%ilsize
put #log >Appraisal-$charactername.txt |iwsize=%iwsize
put #log >Appraisal-$charactername.txt |ihsize=%ihsize
put #log >Appraisal-$charactername.txt |csize=%csize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt
#gosub verbcheck
return

VarBlank:
var read There is nothing there to read.
var metal no
var maxcharge DELETE THIS LINE
var wearloc -
var lsize NOTSET
var wsize NOTSET
var hsize NOTSET
var ilsize DELETE
var iwsize DELETE
var ihsize DELETE
var csize DELETE
var appcost NOTSET
var mtags DELETE
var mtagg DELETE
var mtagm DELETE
var mtagw DELETE
var mtagf DELETE
var ctagr DELETE
var ctago DELETE
var ctagt DELETE
var ctagy DELETE
var ctagg DELETE
var ctagb DELETE
var ctagv DELETE
var ctagn DELETE
var ctagm DELETE
var ctagx DELETE
var stagp DELETE
var stagg DELETE
var staga DELETE
var stagh DELETE
var stage DELETE
var stagr DELETE
var stagl DELETE
var amtags DELETE
var amtagm DELETE
var amtagf DELETE
var amtagg DELETE
var amtagw DELETE
var actagr DELETE
var actago DELETE
var actagt DELETE
var actagy DELETE
var actagg DELETE
var actagb DELETE
var actagv DELETE
var actagn DELETE
var actagm DELETE
var actagx DELETE
var astagg DELETE
var astagp DELETE
var astagr DELETE
var astage DELETE
var astaga DELETE
var astagh DELETE
var astagl DELETE
var wtype2 NOTSET
var puncturetype No
var slicetype No
var impacttype No
var absorbance VALUES NOT EQUAL
var ahead DELETE
var aeyes DELETE
var aneck DELETE
var achest DELETE
var aback DELETE
var aabdomen DELETE
var aarms DELETE
var alegs DELETE
var ahands DELETE
var construction NOTSET
var typefunction -
var typecon DELETE
var typemagic DELETE
var typeguild DELETE
var typerace DELETE
var special NOTSET
var itype NOTSET
return

Tagset:
if (matchre ("%look", "(asketine|avaes|celstite|chakrel|dhhresh|hafaltu|iheaneu'?a|imnera|indakar|ithridu|keismin|lemicule|negnetha|soulstone|sraeth|xibaryl|zengalmi)")) then var mtags $1
if (matchre ("%look", "(aluminum|animite|anlora[- ]avtoma|audrualm|\bbrass\b|chrome|covellite|Damascus steel|damite|darkstone|electrum|Elven silver|gilded|glaes|(black|blighted|blue|crown|Elven green|grey|pink|purple|rose|white|yellow) \bgold\b|haralun|hepatizon|icesteel|ilmenite|iridium|(?<!wrought )\biron\b|ithridu|kadepa|keismin|kertig|lumium|mithril|moen takibena|moonsilver|muracite|negnetha|nickel|niello|niniam|oravir|orichalcum|palladium|pewter|rencate|silver[- ]gilt|silversteel|spangold|sungold|(?<!watered )\bsteel\b|tantalum|\btin\b|titanium|tyrium|vardite|verdigris copper|watered steel|windsteel|wrought iron|\bzinc\b)")) then var mtagm $1
if (matchre ("%look", "([cs]endal|angora|armure|arzumodine|\bbast\b|\bbatik\b|batiste|bison[- ]hide|boar[- ]hide|bombazine|bourde|broadcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)brocade|buckskin|burlap|camlet|canvas|cashmere|chainse|chainsil|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)chiffon|\bcire\b|cloth[- ]of[- ]gold|cloth[- ]of[- ]silver|(?<!lipka )cotton|cowhide|cr[ae]pe|crinoline|cuirbouilli|damask|deerskin|dergatine|diamond[- ]hide|doeskin|dragonar|eolienne|\bfaille\b|farandine|\bfelt\b|flannel|\bflax\b|fleece|gabardine|gauze|gingham|gold[- ]weave|grogram|grosgrain|haircloth|\bhemp\b|horsehair|ialalhe|imperial weave|jaalmin |jacquard|\bjaspe\b|\bjute\b|khaddar|khaki|khiynit|kidskin|lambskin|leather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blinen\b|longcloth|muslin|oilcloth|oilskin|onyx[- ]hide|petalette|ramshorn|rawhide|rosecloth|ruazen|sackcloth|sailcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsamite\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsatin\b|scalene |seersucker|\bserge\b|\bshagreen\b|sharkskin|sheepskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsilk\b|silver[- ]weave|silveress|snakeskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)snowlace|spun glitter |straw|suede|taffeta|thornweave|titanese|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\btulle\b|turbaurs|tweed|\btwine\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bvelvet\b|velveteen|voile|whisperlayne|whitleather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bwool\b|woolen|worsted|zenganne|zibeline|(blood|bluefire|dragonfire|duchess|duponi|Elothean|Elven|fae woven|faeweave|fire|gemfire|ice|lava|lipka|marble|moon|moonspun|Musparan|night|night[rw]eaver|nightstalker|oceanmist|ruaz[ei]n|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin) (brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool))")) then var mtagf $1
if (matchre ("%look", "((cat'?s?|hawk'?s?|tiger'?s?) eye|(?<!(dragonvein) )agates?|(?<!(orchid|viperscale) )alexandrite|almiris|alshabi stone|ambergris|amlothite|andalusite|anloral|anthracite|arkose|aurora opal|axinite|azurite|basalt|\bberyls?\b|bleeding heart jade|bloodgem|calav[ae]rite|ceramic|chalcedon(y|ies)|\bchalk\b|charoite|chrysoberyl|chrysoprase|cinnabar|(?<!volcano'?s heart )citrine|\bclays?\b|cloudstone|\bcoal\b|\bcorals?\b|\bcrystals?\b|crystalline dragon tear|dawgolite|(?<!(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) )diamond(?!ique)|diamondique|diopside|diorite|dolomite|dragonfire amber|Drogor's Wrath sapphire|durgauldite|dwalgim|elanthite|elbaite|\beldrings?\b|Enelne's eye|er'?qutrite|erythraean|erythrite|estrildite|feldspar|\bflint\b|fool's gold|(?<!(bloodmist|forest'?s heart|nimbus) )garnet|\bglass\b|gneiss|granite|grazhite|Hav'?roth'?s ambrosia|hematite|iahja|ilmenite|iolite|ismenite|jadeite|(?<!(autumn|ocean|spiderweb|wild horse) )jasper|kaolinite|katamba'?s spire|katambite|kunzite|kyanite|lantholite|larimar|lasmodi|(?<!(Hekemhhg|lapis) )lazuli|malachite|\bmarble\b|merewaldite|mistglass|morganite|morleenite|\bnacres?\b|neitrice|obsidian|olivine|(?<!(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) )\bopals?\b|(?<!(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) )\bpearls?\b|penhetite|peridot|porcelain|porphyry|pumice|pyrite|quartz|rhodochrosite|rhodonite|sana'?ati heart|scheelite|schist|scrimshaw|sea[- ]glass|selenite|\bsenci\b|\bshale\b|sjatmal|sodalite|\bspinels?\b|spiritgem|svelae|szeldite|tanzanite|(?<!(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) )topaz|(?<!(aurora|vela'?tohr) )tourmaline|tsavorite|ulhari prism|verenite|volcano'?s heart citrine|waermodi|wulfenite|xibarite|yavasite|yoakenite|zircon|(orchid|viperscale) alexandrite|(lightning|violet'?s heart) amethyst|(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) diamond|(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) emerald|(bloodmist|forest'?s heart|nimbus) garnet|(autumn|ocean|spiderweb|wild horse) jasper|(Hekemhhg|lapis) lazuli|(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) opal|(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) pearl|(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) rub(y|ies)|(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) sapphire|(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) topaz|(aurora|vela'?tohr) tourmaline)")) then var mtagg $1
if (matchre ("%look", "(\w+-stone)")) then var mtagg $1
if (matchre ("%look", "(\w+stone)")) then var mtagg $1
if (matchre ("%look", "(\bwooden\b|\bpaper\b|acacia|acanth|adderwood|aganylosh'?a|\balder\b|alerce|\baspen\b|\bbalsa\b|bamboo|basswood|\bbeech\b|(?<!curly )\bbirch\b|black ironwood|black maple|black walnut|black willow|blackwood|bloodwood|boxwood|bricklebranch|burlwood|\bcedar\b|cherrywood|cocobolo|copperleaf|copperwood|\bcork\b|curly birch|cypress|deobar|desert palm|diamondwood|dogwood|dragonwood|driftwood|e'?erdream|ebonwood|\belm\b|eucalyptus|\bfir\b|fishtail oak|flamethorn|flamewood|fruitwood|gethwood|glitvire|gloomwood|goldbark|goldenoak|halmik|\bhaon\b|hawthorn|hhr'?lav'?geluhh|hickory|huljik|Ilithian cedar|iroko|ironwood|juniper|khor'?vela|khor-?vela|lacewood|lemonwood|linden|linwood|\blunat\b|(?<!(black|silver) )\bmaple\b|mikkhalbamar|mistwood|modwir|(?<!(fishtail|golden) )\boak\b|\bosage\b|palmwood|papyrus|parchment|pearwood|\bpine\b|plumwood|poplar|pozumshi|purpleheart|redwood|\breed\b|rosewood|\browan\b|sana'?ati|sandalwood|sanrisi|satinwood|\bshaal\b|silver maple|silverwillow|silverwood|smokewood|\bspruce\b|taborwood|tamboti|\bteak\b|tulvora|\bvedda\b|vellum|(?<!black )walnut|white ironwood|whitethorn|wiirwood|(?<!(black|silver) )\bwillow\b|witchclaw|wyndewood|\byew\b|zingana|zulnatha)")) then var mtagw $1, wood
if (matchre ("%look", "(\w+-wood)")) then var mtagw $1, wood
if (matchre ("%look", "(\w+wood)")) then var mtagw $1, wood
if (matchre ("%look", "(\bgods?\b|Immortal|Alamhif|Albreda|Aldauth|Aliesa|Aniek|Asketi|Be'?ort|Bereng[ae]ria|Botolf|Chadatru|Coshivi|Damaris|Demrris|Dergati|Divyaush|Drogor|Eerayn|Eimeuz|Elide|Eluned|Enelne|\bEu\b|Everild|Eylhaar|Faenella|Faiyka|Firulf|Gizzbolf|Glacis|Glythtide|Harawep|Hav'?roth|Hodierna|Huldah|\bIdon\b|Iladza|Issendar|Kerenhappuch|Kertigen|Kirmhara|Krigglin|Kuniyo|Lemicus|Meraud|Merion|Misiumos|\bMrod\b|Murrula|Orisas|Peri'?el|Phelim|Rutilor|Saemaus|Shariza|Sieben|Sildua|Spangklud|Sraxaec|Tamsine|Tenemlor|Thirteen|Tieheq|Triquetra|Trothfang|Truffenyi|Urrem'?tier|Ushnish|World Dragon|Xosiurion|Zachriedek)")) then var stagg $1
if (matchre ("%look", "(acolyte|adventurer|alchemist|amazon|apothecary|\barchers?\b|armorsmith|assassin|bandit|Barbarian|\bBards?\b|barmaid|bartender|beggar|blacksmith|blasphemer|bowm[ae]n|\bbrewers?\b|brigand|buccaneer|burglar|captain|celebrant|champion|\bchefe?s?\b|citizen|clergy|clergy(man|clergy(man|woman)|Cleric|combatant|commoner|convict|criminal|dancer|diviner|doctor|druid|duelist|ecclesiastic|elemancer|elementalist|embalmer|Empath|enchanter|enchantress|engineer|executioner|farmer|felon|fencer|forester|gladiator|hangm[ae]n|healer|herald|heretic|\bheroe?s?\b|hierophant|highwaym[ae]n|historian|hunter|huntsm[ae]n|Inquisitor|inquisitress|\bjudges?\b|justiciar|knight|locksmith|lumberjack|\bmages?\b|marshal|martyr|mastermind|\bmedics?\b|medicine (m[ae]n|medicine (m[ae]n|wom[ae]n)|merchant|messenger|minister|minstrel|\bmonks?\b|Moon Mage|mortician|musician|mystic|navigator|Necromancer|nurse|outlaw|Paladin|pastor|peddler|philosopher|physician|pilgrim|pirate|\bpoets?\b|preacher|priest|prisoner|prophet|psychic|Ranger|researcher|rogue|\bsages?\b|sailor|scholar|\bseers?\b|sham[ae]n|shepherd|smuggler|sniper|soldier|spiritualist|surgeon|swashbuckler|Thief|Thieves|Trader|travell?er|undertaker|urchin|villager|villain|warrior|Warrior Mage|weaponsmith|weaver|\bwitche?s?\b|witche?|wizard|wom[ae]n)|woman)|woodcutter|woodsm[ae]n)")) then var stagp $1
if (matchre ("%look", "(Adan'?f|Dwarf|Dwarves|\bElfs?\b|Elothean (?!(lace|silk))|Elven (?!(lace|silk|silver))|\bElves\b|Gnome|Gor'?Tog|Gorbesh|Halfling|Human|Kaldar|Lohogi'?hhs'?ur|Lohogi'?tel'?tegreis|\bm[ae]n\b|mer-?(folk|m[ae]n|people|wom[ae]n)|Ocular|\bOlvis?\b|Olvis?|\bpeople\b|Prydaen|Rakash|S'?[Kk]ra ?Mur|S'?[Kk]ra'?ur|\bwom[ae]n\b)")) then var stagr $1
if (matchre ("%look", "(\ba?ether\b|\bearth\b|electricity|\bfires?\b|\bflames?\b|\bice\b|inferno|lightning|\bpyre\b|\bsnow\b|snowflake|thunder|water|\bair\b)")) then var stage $1
if (matchre ("%look", "(aardvark|adder|albatross|alfar|alligator|alpaca|alphyn|anchovy|antelope|antler|\bapes?\b|apparition|arachnid|armadillo|\bass\b|aurochs|badger|bagwyn|banshee|barnacle|barracuda|basilisk|\bbats?\b|\bbears?\b|\bbeasts?\b|beaver|\bbees?\b|beetle|behemoth|bird|black widow|blackbird|bloodworm|blue ?jay|boggart|boobrie|buffalo|\bbulls?\b|bumble ?bee|burro|bustard|butterflies|butterfly|buzzard|calopus|camel|camelopard|canary|capybara|caracal|\bcats?\b|caterpillar|cattle|celpeze|centaur|centipede|chameleon|cheetah|chimera|chimpanzee|chinchilla|chipmunk|cicada|civet|\bclams?\b|cobra|cockatrice|cockroach|collie|condor|coney|cottontail|cougar|\bcows?\b|coyote|\bcrabs?\b|crane|cricket|\bcrows?\b|curlew|damselfly|demon|\bdevils?\b|\bdingos?\b|\bdogs?\b|dolphin|donkey|\bdoves?\b|\bdragons?\b|dragonfly|dryad|duck|eagle|echidna|\beels?\b|elephant|\belk\b|\bewes?\b|\bfae\b|fairy|falcon|\bfauns?\b|ferret|fiend|\bfinchs?\b|fish|\bfleas?\b|flounder|\bfox\b|\bfrog\b|gazelle|gecko|genie|gerbil|\bghosts?\b|\bghouls?\b|gidii|giraffe|goat|goblin|goose|gopher|gorilla|goshawk|gr[iy]ff[io]n|gr[iy]ph[io]n|grasshopper|greyhound|groundhog|grouse|guinea pig|hamster|\bhares?\b|harpy|\bhawks?\b|hedgehog|heron|\bherring\b|hinny|hippocamp|hippogr[iy]ff|hippogr[iy]ph|\bhogs?\b|honey ?bee|hornet|horse|hound|hydra|hyena|\bibexs?\b|iguana|\bimps?\b|impala|inkhorne|insect|jackal|jaguar|kangaroo|katydid|kelpie|kestrel|king ?snake|kingfisher|kirin|kitten|kobold|ladybug|\blamb\b|\blarks?\b|lemming|lemur|leopard|\blions?\b|lioness|lizard|llama|lobster|locust|\blynxs?\b|maggot|magpie|manatee|manta ray|manticore|mantis|marmot|marten|martlet|mastiff|meerkat|merelew|mermaid|merman|\bminks?\b|minnow|minotaur|mockingbird|mongoose|monkey|moose|mosquito|\bmoth\b|mouflon|mountain lion|mouse|\bmules?\b|musimon|muskox|nightingale|\bnyads?\b|ocelot|octopus|onager|opossum|osprey|ostrich|\botters?\b|\bowls?\b|\boxe?n?\b|panther|parakeet|parrot|partridge|peacock|pegasus|pelican|pheasant|phoenix|\bpigs?\b|pigeon|pika|platypus|polecat|popinjay|porcupine|possum|prairie ?dog|prawn|primate|puma|puppy|python|quail|rabbit|raccoon|raptor|\brats?\b|raven|reindeer|remora|rhinoceros|robin|rooster|salamander|sardine|satyr|scarab|scorpion|seagull|selkie|serpent|shrew|shrike|shrimp|skeleton|\bskulls?\b|snail|snowbeast|sparrow|specter|sphinx|\bspiders?\b|\bspirits?\b|springbok|\bsprites?\b|squirrel|\bstags?\b|starling|stoat|stork|sturgeon|swallow|\bswans?\b|swine|swordfish|talbot|tarantula|termite|terrapin|thrush|\btigers?\b|tityrus|\btoads?\b|tortoise|toucan|trout|turkey|turtle|undead|unicorn|viper|vole|vulture|walrus|weasel|welkin|werewolf|whale|wildcat|winged horse|\bwolfs?\b|wolverine|woodchuck|wraith|wren|wyvern|\byaks?\b|\byales?\b|zebra|zombie)")) then var staga $1
if (matchre ("%look", "(aevaes|\baloe\b|belladonna|blocil|\bcebi\b|Datura|draconeaia|eghmok|foxglove|genich|georin|glaysker|hemlock|hisan|hulij|hulnik|ithor|jadice|junliar|lujeakave|muljin|nemoih|nightshade|nilos|nuloe|ojhenik|plovik|\bquns?\b|riolur|sufil|yelith)")) then var stagh $1
if (matchre ("%look", "(\bAesry\b|Aesry Surlaenis'?a|Ain Ghazal|Amlothi|Arthe Dale|bayou|Belarritaco|Boar Clan|\bbogs?\b|canyon|Chyolvea Tayeu'?a|comet|constellation|Crossing|Dawgolesh|Dirge|Durgaulda|El'?Bain'?s|Elanthia|Empire|Er'?qutra|Estrilda|Faldesu|Fayrin'?s Rest|\bfens?\b|Forfedhdar|Fornsted|grassland|Grazhir|Gwenalion|Hara'?jaal|Hekemhhg|Hibarnhvidar|iceberg|Ilaya Taipa|Ilithi(?! emerald)|Irasushen|\bislands?\b|Ismenia|Jantspyre|jungle|Kaerna Village|\bKatamba\b|Kermoria|Knife Clan|\blakes?\b|Langenfirth|Leth Deriel|M'?Riss|\bmarshe?s?\b|meadow|Mer'?Kresh|Merewalda|\bmoons?\b|morass|Morleena|mountain|Muspar'?i|Nenav Dalar|Oxenwaithe|Penhetia|Pi'?Qanah|\bplanets?\b|prairie|Qi'?Reshalia|quagmire|rainforest|Ratamipak|\bRatha\b|Raven'?s Point|\bReshal\b|Reshalia|\brivers?\b|Riverhaven|Rossman'?s Landing|Sarasunath|savanna|Sawstwar|Segoltha|Shamilho|\bShard\b|shrubland|Siksraja|Steelclaw Clan|steppe|Stone Clan|\bsuns?\b|sunburst|Surlaenis|swamp|Szeldia|taiga|Taisgath|The Crossing|Therenborough|Therengia|Throne City|Tiger Clan|tundra|Velaka|Verena|volcano|wetland|Wolf Clan|woodland|\bXibar\b|Yavash|Yoakena|Zaulfung|Zhamikhh|Zoluren)")) then var stagl $1
if (matchre ("%look", "((?i:crest of the (Barbarians?'?|Barbarian'?s?) Guild|(Barbarians?'?|Barbarian'?s?) Guild crest))")) then var stagp crest of the barbarians' guild
if (matchre ("%look", "((?i:crest of the (Bards?'?|Bard'?s?) Guild|(Bards?'?|Bard'?s?) Guild crest))")) then var stagp crest of the bards' guild
if (matchre ("%look", "((?i:crest of the (Clerics?'?|Cleric'?s?) Guild|(Clerics?'?|Cleric'?s?) Guild crest))")) then var stagp crest of the clerics' guild
if (matchre ("%look", "((?i:crest of the (Empaths?'?|Empath'?s?) Guild|(Empaths?'?|Empath'?s?) Guild crest))")) then var stagp crest of the empaths' guild
if (matchre ("%look", "((?i:crest of the (Moon ?Mages?'?|Moon ?Mage'?s?) Guild|(Moon ?Mages?'?|Moon ?Mage'?s?) Guild crest))")) then var stagp crest of the moon mages' guild
if (matchre ("%look", "((?i:crest of the (Necromancers?'?|Necromancer'?s?) Guild|(Necromancers?'?|Necromancer'?s?) Guild crest))")) then var stagp crest of the necromancers' guild
if (matchre ("%look", "((?i:crest of the (Paladins?'?|Paladin'?s?) Guild|(Paladins?'?|Paladin'?s?) Guild crest))")) then var stagp crest of the paladins' guild
if (matchre ("%look", "((?i:crest of the (Rangers?'?|Ranger'?s?) Guild|(Rangers?'?|Ranger'?s?) Guild crest))")) then var stagp crest of the rangers' guild
if (matchre ("%look", "((?i:crest of the (Thiefs?'?|Thief'?s?|Thieves'?) Guild|(Thiefs?'?|Thief'?s?|Thieves'?) Guild crest))")) then var stagp crest of the thieves' guild
if (matchre ("%look", "((?i:crest of the (Traders?'?|Trader'?s?) Guild|(Traders?'?|Trader'?s?) Guild crest))")) then var stagp crest of the traders' guild
if (matchre ("%look", "((?i:crest of the (Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild|(Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild crest))")) then var stagp crest of the warrior mages' guild
if (matchre ("%look", "((\w+)(?=[- ](colored|highlighted|hued|tinted|toned)))")) then var ctagx $1
if (matchre ("%look", "((\bred\b|amaranth|auburn|blood red|burgundy|carmine|cerise|claret|coquelicot|crimson|gules|haematic|incarnadine|magenta|maroon|murrey|orange red|\bpink\b|\breddish\b|\brosy\b|rubiginose|rubiginous|ruddy|sanguine|scarlet|vermilion|vinaceous)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagr $1, red
if (matchre ("%look", "((\borange\b|fiery|\bpeach\b|persimmon|red orange|reddish orange|tangerine|yellow orange)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctago $1, orange
if (matchre ("%look", "((\bbrown\b|ochre|russet|sepia|sienna|\bsorrel\b|\btan\b|tawny|tenne|\bumber\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagt $1, brown
if (matchre ("%look", "((\byellow\b|aurulent|champagne|\becru\b|flaxen|green yellow|jonquil|lemon|saffron|xanthic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagy $1, yellow
if (matchre ("%look", "((\bgreen\b|asparagus|blue green|celadon|chartreuse|\blime\b|olivaceous|olive drab|smalt|\bvert\b|viridian|yellow green)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagg $1, green
if (matchre ("%look", "((\bblue\b|azure|bluish|\bceil\b|cerulean|cobalt|\bcyan\b|cyaneous|indigo|\bteal\b|ultramarine)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagb $1, blue
if (matchre ("%look", "((\bpurple\b|aubergine|eggplant|fuchsia|lavender|lilac|mauve|orchid|periwinkle|\bpuce\b|purplish|purpure|red violet|violescent)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagv $1, purple
if (matchre ("%look", "((\bblack\b|\bgr[ae]y\b|white|argent|arsenic|\bashen\b|beige|camouflage|cinereous|colorless|\bcream\b|\bebon\b|eggshell|eisen|feldgrau|glaucous|pellucid|\bsable\b|taupe\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagn $1, grey
if (matchre ("%look", "((rainbow|iridescent|pavonine|polychromatic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagm $1, rainbow
if (matchre ("%look", "((\w+)-\bred\b)")) then var ctagr $1, $2, red
if (matchre ("%look", "((\w+)-\borange\b)")) then var ctago $1, $2, orange
if (matchre ("%look", "((\w+)-\bbrown\b)")) then var ctagt $1, $2, brown
if (matchre ("%look", "((\w+)-\byellow\b)")) then var $1, $2, yellow
if (matchre ("%look", "((\w+)-\bgreen\b)")) then var ctagg $1, $2, green
if (matchre ("%look", "((\w+)-\bblue\b)")) then var ctagb $1, $2, blue
if (matchre ("%look", "((\w+)-\b(purple|violet)\b)")) then var ctagv $1, $2, purple
if (matchre ("%look", "((\w+)-\bblack\b)")) then var ctagn $1, $2, black
if (matchre ("%look", "((\w+)-\bwhite\b)")) then var ctagn $1, $2, white
if (matchre ("%look", "((\w+)-\bgr[ae]y\b)")) then var ctagn $1, $2, grey
if (matchre ("%look", "(bronze|\bcoal\b|(?<!verdigris )\bcopper\b|(?<!(black|blighted|blue|crown|Elven|fool's|green|grey|pink|purple|red|rose|white|yellow) |cloth[- ]of[- ])\bgold\b|\blead\b|platinum|(?<!Elven |cloth[- ]of[- ])\bsilver\b)")) then var amtagm $1
if (matchre ("%look", "(\bermine\b|feather|\bfur\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)gossamer|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blace\b)")) then var amtagf $1
if (matchre ("%look", "(alabaster|(?<!dragonfire )\bamber\b|(?<!(lightning|violet'?s heart) )amethyst|aquamarine|\bbones?\b|carnelian|(?<!(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) )emerald|heliotrope|ivory|(?<!bleeding heart )\bjades?\b|\bonyxe?s?\b|(?<!(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) )\brub(y|ies)\b|(?<!(crimson|dalaeji black|dragon'?s scale|Drogor'?s Wrath|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) )sapphire|\bslate\b|turquoise)")) then var amtagg $1
if (matchre ("%look", "(\bapple\b|\bash\b|\bcherry\b|chestnut|\bebony\b|\belder\b|laurel|mahogany)")) then var amtagw $1
if (matchre ("%look", "(\belements?\b|\bwind\b)")) then var astage $1
if (matchre ("%look", "(bison|\bboars?\b|\bbucks?\b|cardinal|\bcocks?\b|crocodile|\bdeers?\b|\bdoe\b|ermine|flies|\bfly\b|leech|mammoth|oyster|\brams?\b|salmon|shark|sheep|\bsnakes?\b|\btrolls?\b|\bwasps?\b|\bwings?\b|yeehar)")) then var astaga $1
if (matchre ("%look", "(\bblooms?\b|\bblossoms?\b|\bbuds?\b|\bflorets?\b|\bflowers?\b|\bherbs?\b|\bvines?\b)")) then var astagh $1
if (matchre ("%look", "(\bdeserts?\b|forest(?![- ]green)|\boceans?\b|\bseas?\b|\bstars?\b)")) then var astagl $1
if (matchre ("%look", "((bronze|chestnut|copper)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagt $1
if (matchre ("%look", "(red gold(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagy $1
if (matchre ("%look", "((\bplum\b|thistle|\bviolet\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagv $1
if (matchre ("%tap", "(asketine|avaes|celstite|chakrel|dhhresh|hafaltu|iheaneu'?a|imnera|indakar|ithridu|keismin|lemicule|negnetha|soulstone|sraeth|xibaryl|zengalmi)")) then var mtags $1
if (matchre ("%tap", "(aluminum|animite|anlora[- ]avtoma|audrualm|\bbrass\b|chrome|covellite|Damascus steel|damite|darkstone|electrum|Elven silver|gilded|glaes|(black|blighted|blue|crown|Elven green|grey|pink|purple|rose|white|yellow) \bgold\b|haralun|hepatizon|icesteel|ilmenite|iridium|(?<!wrought )\biron\b|ithridu|kadepa|keismin|kertig|lumium|mithril|moen takibena|moonsilver|muracite|negnetha|nickel|niello|niniam|oravir|orichalcum|palladium|pewter|rencate|silver[- ]gilt|silversteel|spangold|sungold|(?<!watered )\bsteel\b|tantalum|\btin\b|titanium|tyrium|vardite|verdigris copper|watered steel|windsteel|wrought iron|\bzinc\b)")) then var mtagm $1
if (matchre ("%tap", "([cs]endal|angora|armure|arzumodine|\bbast\b|\bbatik\b|batiste|bison[- ]hide|boar[- ]hide|bombazine|bourde|broadcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)brocade|buckskin|burlap|camlet|canvas|cashmere|chainse|chainsil|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)chiffon|\bcire\b|cloth[- ]of[- ]gold|cloth[- ]of[- ]silver|(?<!lipka )cotton|cowhide|cr[ae]pe|crinoline|cuirbouilli|damask|deerskin|dergatine|diamond[- ]hide|doeskin|dragonar|eolienne|\bfaille\b|farandine|\bfelt\b|flannel|\bflax\b|fleece|gabardine|gauze|gingham|gold[- ]weave|grogram|grosgrain|haircloth|\bhemp\b|horsehair|ialalhe|imperial weave|jaalmin |jacquard|\bjaspe\b|\bjute\b|khaddar|khaki|khiynit|kidskin|lambskin|leather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blinen\b|longcloth|muslin|oilcloth|oilskin|onyx[- ]hide|petalette|ramshorn|rawhide|rosecloth|ruazen|sackcloth|sailcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsamite\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsatin\b|scalene |seersucker|\bserge\b|\bshagreen\b|sharkskin|sheepskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsilk\b|silver[- ]weave|silveress|snakeskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)snowlace|spun glitter |straw|suede|taffeta|thornweave|titanese|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\btulle\b|turbaurs|tweed|\btwine\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bvelvet\b|velveteen|voile|whisperlayne|whitleather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bwool\b|woolen|worsted|zenganne|zibeline|(blood|bluefire|dragonfire|duchess|duponi|Elothean|Elven|fae woven|faeweave|fire|gemfire|ice|lava|lipka|marble|moon|moonspun|Musparan|night|night[rw]eaver|nightstalker|oceanmist|ruaz[ei]n|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin) (brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool))")) then var mtagf $1
if (matchre ("%tap", "((cat'?s?|hawk'?s?|tiger'?s?) eye|(?<!(dragonvein) )agates?|(?<!(orchid|viperscale) )alexandrite|almiris|alshabi stone|ambergris|amlothite|andalusite|anloral|anthracite|arkose|aurora opal|axinite|azurite|basalt|\bberyls?\b|bleeding heart jade|bloodgem|calav[ae]rite|ceramic|chalcedon(y|ies)|\bchalk\b|charoite|chrysoberyl|chrysoprase|cinnabar|(?<!volcano'?s heart )citrine|\bclays?\b|cloudstone|\bcoal\b|\bcorals?\b|\bcrystals?\b|crystalline dragon tear|dawgolite|(?<!(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) )diamond(?!ique)|diamondique|diopside|diorite|dolomite|dragonfire amber|Drogor's Wrath sapphire|durgauldite|dwalgim|elanthite|elbaite|\beldrings?\b|Enelne's eye|er'?qutrite|erythraean|erythrite|estrildite|feldspar|\bflint\b|fool's gold|(?<!(bloodmist|forest'?s heart|nimbus) )garnet|\bglass\b|gneiss|granite|grazhite|Hav'?roth'?s ambrosia|hematite|iahja|ilmenite|iolite|ismenite|jadeite|(?<!(autumn|ocean|spiderweb|wild horse) )jasper|kaolinite|katamba'?s spire|katambite|kunzite|kyanite|lantholite|larimar|lasmodi|(?<!(Hekemhhg|lapis) )lazuli|malachite|\bmarble\b|merewaldite|mistglass|morganite|morleenite|\bnacres?\b|neitrice|obsidian|olivine|(?<!(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) )\bopals?\b|(?<!(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) )\bpearls?\b|penhetite|peridot|porcelain|porphyry|pumice|pyrite|quartz|rhodochrosite|rhodonite|sana'?ati heart|scheelite|schist|scrimshaw|sea[- ]glass|selenite|\bsenci\b|\bshale\b|sjatmal|sodalite|\bspinels?\b|spiritgem|svelae|szeldite|tanzanite|(?<!(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) )topaz|(?<!(aurora|vela'?tohr) )tourmaline|tsavorite|ulhari prism|verenite|volcano'?s heart citrine|waermodi|wulfenite|xibarite|yavasite|yoakenite|zircon|(orchid|viperscale) alexandrite|(lightning|violet'?s heart) amethyst|(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) diamond|(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) emerald|(bloodmist|forest'?s heart|nimbus) garnet|(autumn|ocean|spiderweb|wild horse) jasper|(Hekemhhg|lapis) lazuli|(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) opal|(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) pearl|(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) rub(y|ies)|(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) sapphire|(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) topaz|(aurora|vela'?tohr) tourmaline)")) then var mtagg $1
if (matchre ("%tap", "(\w+-stone)")) then var mtagg $1
if (matchre ("%tap", "(\w+stone)")) then var mtagg $1
if (matchre ("%tap", "(\bwooden\b|\bpaper\b|acacia|acanth|adderwood|aganylosh'?a|\balder\b|alerce|\baspen\b|\bbalsa\b|bamboo|basswood|\bbeech\b|(?<!curly )\bbirch\b|black ironwood|black maple|black walnut|black willow|blackwood|bloodwood|boxwood|bricklebranch|burlwood|\bcedar\b|cherrywood|cocobolo|copperleaf|copperwood|\bcork\b|curly birch|cypress|deobar|desert palm|diamondwood|dogwood|dragonwood|driftwood|e'?erdream|ebonwood|\belm\b|eucalyptus|\bfir\b|fishtail oak|flamethorn|flamewood|fruitwood|gethwood|glitvire|gloomwood|goldbark|goldenoak|halmik|\bhaon\b|hawthorn|hhr'?lav'?geluhh|hickory|huljik|Ilithian cedar|iroko|ironwood|juniper|khor'?vela|khor-?vela|lacewood|lemonwood|linden|linwood|\blunat\b|(?<!(black|silver) )\bmaple\b|mikkhalbamar|mistwood|modwir|(?<!(fishtail|golden) )\boak\b|\bosage\b|palmwood|papyrus|parchment|pearwood|\bpine\b|plumwood|poplar|pozumshi|purpleheart|redwood|\breed\b|rosewood|\browan\b|sana'?ati|sandalwood|sanrisi|satinwood|\bshaal\b|silver maple|silverwillow|silverwood|smokewood|\bspruce\b|taborwood|tamboti|\bteak\b|tulvora|\bvedda\b|vellum|(?<!black )walnut|white ironwood|whitethorn|wiirwood|(?<!(black|silver) )\bwillow\b|witchclaw|wyndewood|\byew\b|zingana|zulnatha)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+-wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\bgods?\b|Immortal|Alamhif|Albreda|Aldauth|Aliesa|Aniek|Asketi|Be'?ort|Bereng[ae]ria|Botolf|Chadatru|Coshivi|Damaris|Demrris|Dergati|Divyaush|Drogor|Eerayn|Eimeuz|Elide|Eluned|Enelne|\bEu\b|Everild|Eylhaar|Faenella|Faiyka|Firulf|Gizzbolf|Glacis|Glythtide|Harawep|Hav'?roth|Hodierna|Huldah|\bIdon\b|Iladza|Issendar|Kerenhappuch|Kertigen|Kirmhara|Krigglin|Kuniyo|Lemicus|Meraud|Merion|Misiumos|\bMrod\b|Murrula|Orisas|Peri'?el|Phelim|Rutilor|Saemaus|Shariza|Sieben|Sildua|Spangklud|Sraxaec|Tamsine|Tenemlor|Thirteen|Tieheq|Triquetra|Trothfang|Truffenyi|Urrem'?tier|Ushnish|World Dragon|Xosiurion|Zachriedek)")) then var stagg $1
if (matchre ("%tap", "(acolyte|adventurer|alchemist|amazon|apothecary|\barchers?\b|armorsmith|assassin|bandit|Barbarian|\bBards?\b|barmaid|bartender|beggar|blacksmith|blasphemer|bowm[ae]n|\bbrewers?\b|brigand|buccaneer|burglar|captain|celebrant|champion|\bchefe?s?\b|citizen|clergy|clergy(man|clergy(man|woman)|Cleric|combatant|commoner|convict|criminal|dancer|diviner|doctor|druid|duelist|ecclesiastic|elemancer|elementalist|embalmer|Empath|enchanter|enchantress|engineer|executioner|farmer|felon|fencer|forester|gladiator|hangm[ae]n|healer|herald|heretic|\bheroe?s?\b|hierophant|highwaym[ae]n|historian|hunter|huntsm[ae]n|Inquisitor|inquisitress|\bjudges?\b|justiciar|knight|locksmith|lumberjack|\bmages?\b|marshal|martyr|mastermind|\bmedics?\b|medicine (m[ae]n|medicine (m[ae]n|wom[ae]n)|merchant|messenger|minister|minstrel|\bmonks?\b|Moon Mage|mortician|musician|mystic|navigator|Necromancer|nurse|outlaw|Paladin|pastor|peddler|philosopher|physician|pilgrim|pirate|\bpoets?\b|preacher|priest|prisoner|prophet|psychic|Ranger|researcher|rogue|\bsages?\b|sailor|scholar|\bseers?\b|sham[ae]n|shepherd|smuggler|sniper|soldier|spiritualist|surgeon|swashbuckler|Thief|Thieves|Trader|travell?er|undertaker|urchin|villager|villain|warrior|Warrior Mage|weaponsmith|weaver|\bwitche?s?\b|witche?|wizard|wom[ae]n)|woman)|woodcutter|woodsm[ae]n)")) then var stagp $1
if (matchre ("%tap", "(Adan'?f|Dwarf|Dwarves|\bElfs?\b|Elothean (?!(lace|silk))|Elven (?!(lace|silk|silver))|\bElves\b|Gnome|Gor'?Tog|Gorbesh|Halfling|Human|Kaldar|Lohogi'?hhs'?ur|Lohogi'?tel'?tegreis|\bm[ae]n\b|mer-?(folk|m[ae]n|people|wom[ae]n)|Ocular|\bOlvis?\b|Olvis?|\bpeople\b|Prydaen|Rakash|S'?[Kk]ra ?Mur|S'?[Kk]ra'?ur|\bwom[ae]n\b)")) then var stagr $1
if (matchre ("%tap", "(\ba?ether\b|\bearth\b|electricity|\bfires?\b|\bflames?\b|\bice\b|inferno|lightning|\bpyre\b|\bsnow\b|snowflake|thunder|water|\bair\b)")) then var stage $1
if (matchre ("%tap", "(aardvark|adder|albatross|alfar|alligator|alpaca|alphyn|anchovy|antelope|antler|\bapes?\b|apparition|arachnid|armadillo|\bass\b|aurochs|badger|bagwyn|banshee|barnacle|barracuda|basilisk|\bbats?\b|\bbears?\b|\bbeasts?\b|beaver|\bbees?\b|beetle|behemoth|bird|black widow|blackbird|bloodworm|blue ?jay|boggart|boobrie|buffalo|\bbulls?\b|bumble ?bee|burro|bustard|butterflies|butterfly|buzzard|calopus|camel|camelopard|canary|capybara|caracal|\bcats?\b|caterpillar|cattle|celpeze|centaur|centipede|chameleon|cheetah|chimera|chimpanzee|chinchilla|chipmunk|cicada|civet|\bclams?\b|cobra|cockatrice|cockroach|collie|condor|coney|cottontail|cougar|\bcows?\b|coyote|\bcrabs?\b|crane|cricket|\bcrows?\b|curlew|damselfly|demon|\bdevils?\b|\bdingos?\b|\bdogs?\b|dolphin|donkey|\bdoves?\b|\bdragons?\b|dragonfly|dryad|duck|eagle|echidna|\beels?\b|elephant|\belk\b|\bewes?\b|\bfae\b|fairy|falcon|\bfauns?\b|ferret|fiend|\bfinchs?\b|fish|\bfleas?\b|flounder|\bfox\b|\bfrog\b|gazelle|gecko|genie|gerbil|\bghosts?\b|\bghouls?\b|gidii|giraffe|goat|goblin|goose|gopher|gorilla|goshawk|gr[iy]ff[io]n|gr[iy]ph[io]n|grasshopper|greyhound|groundhog|grouse|guinea pig|hamster|\bhares?\b|harpy|\bhawks?\b|hedgehog|heron|\bherring\b|hinny|hippocamp|hippogr[iy]ff|hippogr[iy]ph|\bhogs?\b|honey ?bee|hornet|horse|hound|hydra|hyena|\bibexs?\b|iguana|\bimps?\b|impala|inkhorne|insect|jackal|jaguar|kangaroo|katydid|kelpie|kestrel|king ?snake|kingfisher|kirin|kitten|kobold|ladybug|\blamb\b|\blarks?\b|lemming|lemur|leopard|\blions?\b|lioness|lizard|llama|lobster|locust|\blynxs?\b|maggot|magpie|manatee|manta ray|manticore|mantis|marmot|marten|martlet|mastiff|meerkat|merelew|mermaid|merman|\bminks?\b|minnow|minotaur|mockingbird|mongoose|monkey|moose|mosquito|\bmoth\b|mouflon|mountain lion|mouse|\bmules?\b|musimon|muskox|nightingale|\bnyads?\b|ocelot|octopus|onager|opossum|osprey|ostrich|\botters?\b|\bowls?\b|\boxe?n?\b|panther|parakeet|parrot|partridge|peacock|pegasus|pelican|pheasant|phoenix|\bpigs?\b|pigeon|pika|platypus|polecat|popinjay|porcupine|possum|prairie ?dog|prawn|primate|puma|puppy|python|quail|rabbit|raccoon|raptor|\brats?\b|raven|reindeer|remora|rhinoceros|robin|rooster|salamander|sardine|satyr|scarab|scorpion|seagull|selkie|serpent|shrew|shrike|shrimp|skeleton|\bskulls?\b|snail|snowbeast|sparrow|specter|sphinx|\bspiders?\b|\bspirits?\b|springbok|\bsprites?\b|squirrel|\bstags?\b|starling|stoat|stork|sturgeon|swallow|\bswans?\b|swine|swordfish|talbot|tarantula|termite|terrapin|thrush|\btigers?\b|tityrus|\btoads?\b|tortoise|toucan|trout|turkey|turtle|undead|unicorn|viper|vole|vulture|walrus|weasel|welkin|werewolf|whale|wildcat|winged horse|\bwolfs?\b|wolverine|woodchuck|wraith|wren|wyvern|\byaks?\b|\byales?\b|zebra|zombie)")) then var staga $1
if (matchre ("%tap", "(aevaes|\baloe\b|belladonna|blocil|\bcebi\b|Datura|draconeaia|eghmok|foxglove|genich|georin|glaysker|hemlock|hisan|hulij|hulnik|ithor|jadice|junliar|lujeakave|muljin|nemoih|nightshade|nilos|nuloe|ojhenik|plovik|\bquns?\b|riolur|sufil|yelith)")) then var stagh $1
if (matchre ("%tap", "(\bAesry\b|Aesry Surlaenis'?a|Ain Ghazal|Amlothi|Arthe Dale|bayou|Belarritaco|Boar Clan|\bbogs?\b|canyon|Chyolvea Tayeu'?a|comet|constellation|Crossing|Dawgolesh|Dirge|Durgaulda|El'?Bain'?s|Elanthia|Empire|Er'?qutra|Estrilda|Faldesu|Fayrin'?s Rest|\bfens?\b|Forfedhdar|Fornsted|grassland|Grazhir|Gwenalion|Hara'?jaal|Hekemhhg|Hibarnhvidar|iceberg|Ilaya Taipa|Ilithi(?! emerald)|Irasushen|\bislands?\b|Ismenia|Jantspyre|jungle|Kaerna Village|\bKatamba\b|Kermoria|Knife Clan|\blakes?\b|Langenfirth|Leth Deriel|M'?Riss|\bmarshe?s?\b|meadow|Mer'?Kresh|Merewalda|\bmoons?\b|morass|Morleena|mountain|Muspar'?i|Nenav Dalar|Oxenwaithe|Penhetia|Pi'?Qanah|\bplanets?\b|prairie|Qi'?Reshalia|quagmire|rainforest|Ratamipak|\bRatha\b|Raven'?s Point|\bReshal\b|Reshalia|\brivers?\b|Riverhaven|Rossman'?s Landing|Sarasunath|savanna|Sawstwar|Segoltha|Shamilho|\bShard\b|shrubland|Siksraja|Steelclaw Clan|steppe|Stone Clan|\bsuns?\b|sunburst|Surlaenis|swamp|Szeldia|taiga|Taisgath|The Crossing|Therenborough|Therengia|Throne City|Tiger Clan|tundra|Velaka|Verena|volcano|wetland|Wolf Clan|woodland|\bXibar\b|Yavash|Yoakena|Zaulfung|Zhamikhh|Zoluren)")) then var stagl $1
if (matchre ("%tap", "((?i:crest of the (Barbarians?'?|Barbarian'?s?) Guild|(Barbarians?'?|Barbarian'?s?) Guild crest))")) then var stagp crest of the barbarians' guild
if (matchre ("%tap", "((?i:crest of the (Bards?'?|Bard'?s?) Guild|(Bards?'?|Bard'?s?) Guild crest))")) then var stagp crest of the bards' guild
if (matchre ("%tap", "((?i:crest of the (Clerics?'?|Cleric'?s?) Guild|(Clerics?'?|Cleric'?s?) Guild crest))")) then var stagp crest of the clerics' guild
if (matchre ("%tap", "((?i:crest of the (Empaths?'?|Empath'?s?) Guild|(Empaths?'?|Empath'?s?) Guild crest))")) then var stagp crest of the empaths' guild
if (matchre ("%tap", "((?i:crest of the (Moon ?Mages?'?|Moon ?Mage'?s?) Guild|(Moon ?Mages?'?|Moon ?Mage'?s?) Guild crest))")) then var stagp crest of the moon mages' guild
if (matchre ("%tap", "((?i:crest of the (Necromancers?'?|Necromancer'?s?) Guild|(Necromancers?'?|Necromancer'?s?) Guild crest))")) then var stagp crest of the necromancers' guild
if (matchre ("%tap", "((?i:crest of the (Paladins?'?|Paladin'?s?) Guild|(Paladins?'?|Paladin'?s?) Guild crest))")) then var stagp crest of the paladins' guild
if (matchre ("%tap", "((?i:crest of the (Rangers?'?|Ranger'?s?) Guild|(Rangers?'?|Ranger'?s?) Guild crest))")) then var stagp crest of the rangers' guild
if (matchre ("%tap", "((?i:crest of the (Thiefs?'?|Thief'?s?|Thieves'?) Guild|(Thiefs?'?|Thief'?s?|Thieves'?) Guild crest))")) then var stagp crest of the thieves' guild
if (matchre ("%tap", "((?i:crest of the (Traders?'?|Trader'?s?) Guild|(Traders?'?|Trader'?s?) Guild crest))")) then var stagp crest of the traders' guild
if (matchre ("%tap", "((?i:crest of the (Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild|(Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild crest))")) then var stagp crest of the warrior mages' guild
if (matchre ("%tap", "((\w+)(?=[- ](colored|highlighted|hued|tinted|toned)))")) then var ctagx $1
if (matchre ("%tap", "((\bred\b|amaranth|auburn|blood red|burgundy|carmine|cerise|claret|coquelicot|crimson|gules|haematic|incarnadine|magenta|maroon|murrey|orange red|\bpink\b|\breddish\b|\brosy\b|rubiginose|rubiginous|ruddy|sanguine|scarlet|vermilion|vinaceous)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagr $1, red
if (matchre ("%tap", "((\borange\b|fiery|\bpeach\b|persimmon|red orange|reddish orange|tangerine|yellow orange)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctago $1, orange
if (matchre ("%tap", "((\bbrown\b|ochre|russet|sepia|sienna|\bsorrel\b|\btan\b|tawny|tenne|\bumber\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagt $1, brown
if (matchre ("%tap", "((\byellow\b|aurulent|champagne|\becru\b|flaxen|green yellow|jonquil|lemon|saffron|xanthic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagy $1, yellow
if (matchre ("%tap", "((\bgreen\b|asparagus|blue green|celadon|chartreuse|\blime\b|olivaceous|olive drab|smalt|\bvert\b|viridian|yellow green)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagg $1, green
if (matchre ("%tap", "((\bblue\b|azure|bluish|\bceil\b|cerulean|cobalt|\bcyan\b|cyaneous|indigo|\bteal\b|ultramarine)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagb $1, blue
if (matchre ("%tap", "((\bpurple\b|aubergine|eggplant|fuchsia|lavender|lilac|mauve|orchid|periwinkle|\bpuce\b|purplish|purpure|red violet|violescent)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagv $1, purple
if (matchre ("%tap", "((\bblack\b|\bgr[ae]y\b|white|argent|arsenic|\bashen\b|beige|camouflage|cinereous|colorless|\bcream\b|\bebon\b|eggshell|eisen|feldgrau|glaucous|pellucid|\bsable\b|taupe\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagn $1, grey
if (matchre ("%tap", "((rainbow|iridescent|pavonine|polychromatic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagm $1, rainbow
if (matchre ("%tap", "((\w+)-\bred\b)")) then var ctagr $1, $2, red
if (matchre ("%tap", "((\w+)-\borange\b)")) then var ctago $1, $2, orange
if (matchre ("%tap", "((\w+)-\bbrown\b)")) then var ctagt $1, $2, brown
if (matchre ("%tap", "((\w+)-\byellow\b)")) then var $1, $2, yellow
if (matchre ("%tap", "((\w+)-\bgreen\b)")) then var ctagg $1, $2, green
if (matchre ("%tap", "((\w+)-\bblue\b)")) then var ctagb $1, $2, blue
if (matchre ("%tap", "((\w+)-\b(purple|violet)\b)")) then var ctagv $1, $2, purple
if (matchre ("%tap", "((\w+)-\bblack\b)")) then var ctagn $1, $2, black
if (matchre ("%tap", "((\w+)-\bwhite\b)")) then var ctagn $1, $2, white
if (matchre ("%tap", "((\w+)-\bgr[ae]y\b)")) then var ctagn $1, $2, grey
if (matchre ("%tap", "(bronze|\bcoal\b|(?<!verdigris )\bcopper\b|(?<!(black|blighted|blue|crown|Elven|fool's|green|grey|pink|purple|red|rose|white|yellow) |cloth[- ]of[- ])\bgold\b|\blead\b|platinum|(?<!Elven |cloth[- ]of[- ])\bsilver\b)")) then var amtagm $1
if (matchre ("%tap", "(\bermine\b|feather|\bfur\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)gossamer|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blace\b)")) then var amtagf $1
if (matchre ("%tap", "(alabaster|(?<!dragonfire )\bamber\b|(?<!(lightning|violet'?s heart) )amethyst|aquamarine|\bbones?\b|carnelian|(?<!(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) )emerald|heliotrope|ivory|(?<!bleeding heart )\bjades?\b|\bonyxe?s?\b|(?<!(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) )\brub(y|ies)\b|(?<!(crimson|dalaeji black|dragon'?s scale|Drogor'?s Wrath|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) )sapphire|\bslate\b|turquoise)")) then var amtagg $1
if (matchre ("%tap", "(\bapple\b|\bash\b|\bcherry\b|chestnut|\bebony\b|\belder\b|laurel|mahogany)")) then var amtagw $1
if (matchre ("%tap", "(\belements?\b|\bwind\b)")) then var astage $1
if (matchre ("%tap", "(bison|\bboars?\b|\bbucks?\b|cardinal|\bcocks?\b|crocodile|\bdeers?\b|\bdoe\b|ermine|flies|\bfly\b|leech|mammoth|oyster|\brams?\b|salmon|shark|sheep|\bsnakes?\b|\btrolls?\b|\bwasps?\b|\bwings?\b|yeehar)")) then var astaga $1
if (matchre ("%tap", "(\bblooms?\b|\bblossoms?\b|\bbuds?\b|\bflorets?\b|\bflowers?\b|\bherbs?\b|\bvines?\b)")) then var astagh $1
if (matchre ("%tap", "(\bdeserts?\b|forest(?![- ]green)|\boceans?\b|\bseas?\b|\bstars?\b)")) then var astagl $1
if (matchre ("%tap", "((bronze|chestnut|copper)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagt $1
if (matchre ("%tap", "(red gold(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagy $1
if (matchre ("%tap", "((\bplum\b|thistle|\bviolet\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagv $1
if (matchre ("%mtagm", "(black|blue|crown|green|grey|pink|purple|red|rose|white|yellow) gold")) then var mtagm $1 gold, gold
if (matchre ("%mtagg", "(?i:(orchid|viperscale)) alexandrite")) then var mtagg $1 alexandrite, alexandrite
if (matchre ("%mtagg", "(?i:(lightning|violet'?s heart)) amethyst")) then var mtagg $1 amethyst, amethyst
if (matchre ("%mtagg", "(?i:(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white)) diamond")) then var mtagg $1 diamond, diamond
if (matchre ("%mtagg", "(?i:(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter)) emerald")) then var mtagg $1 emerald, emerald
if (matchre ("%mtagg", "(?i:(bloodmist|forest'?s heart|nimbus)) garnet")) then var mtagg $1 garnet, garnet
if (matchre ("%mtagg", "(?i:(autumn|ocean|spiderweb|wild horse)) jasper")) then var mtagg $1 jasper, jasper
if (matchre ("%mtagg", "(?i:(Hekemhhg|lapis)) lazuli")) then var mtagg $1 lazuli, lazuli
if (matchre ("%mtagg", "(?i:(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water)) opal")) then var mtagg $1 opal, opal
if (matchre ("%mtagg", "(?i:(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan)) pearl")) then var mtagg $1 pearl, pearl
if (matchre ("%mtagg", "(?i:(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate)) rub(y|ies)")) then var mtagg $1 ruby, ruby
if (matchre ("%mtagg", "(?i:(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren)) sapphire")) then var mtagg $1 sapphire, sapphire
if (matchre ("%mtagg", "(?i:(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar)) topaz")) then var mtagg $1 topaz, topaz
if (matchre ("%mtagg", "(?i:(aurora|vela'?tohr)) tourmaline")) then var mtagg $1 tourmaline, tourmaline
if (matchre ("%mtagf", "(?i:(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin)) ?(brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool)")) then var mtagf %mtagf, $2
if %mtagm = Damascus steel then var mtagg Damascus steel, steel
if %mtagm = Elven silver then var mtagg Elven silver, silver
if %mtagm = moonsilver then var mtagg moonsilver, silver
if %mtagm = silver-gilt then var mtagg silver-gilt, silver, gold
if %mtagm = sungold then var mtagg sungold, gold
if %mtagm = windsteel then var mtagg windsteel, steel
if %mtagg = chalcedon(y|ies) then var mtagg chalcedony
if %mtagg = rubies then var mtagg ruby
if %mtagg = soulstone then var mtagg DELETE
if %ctagr = pink, red then var ctagr pink
if %ctagr = cerise, red then var ctagr cerise, pink
if %ctagr = magenta, red then var ctagr magenta, pink
if %ctagr = rosy, red then var ctagr rosy, pink
if %ctagv = fuchsia, purple then var ctagv fuchsia, pink
if %ctagv = puce, purple then var ctagv puce, pink
if %ctagn = camouflage, grey then var ctagn camouflage, brown
if %ctagn = black, grey then var ctagn black
if %ctagn = ebon, grey then var ctagn ebon, black
if %ctagn = sable, grey then var ctagn sable, black
if %ctagn = white, grey then var ctagn white
if %ctagn = alabaster, grey then var ctagn alabaster, white
if %ctagn = beige, grey then var ctagn beige, white
if %ctagn = colorless, grey then var ctagn colorless, white
if %ctagn = cream, grey then var ctagn cream, white
if %ctagn = eggshell, grey then var ctagn eggshell, white
if %ctagn = ivory, grey then var ctagn ivory, white
if %ctagr = red, red then var ctagr red
if %ctago = orange, orange then var ctago orange
if %ctagt = brown, brown then var ctagt brown
if %ctagy = yellow, yellow then var ctagy yellow
if %ctagg = green, green then var ctagg green
if %ctagb = blue, blue then var ctagb blue
if %ctagv = purple, purple then var ctagv purple
if %ctagn = grey, grey then var ctagn grey
if %ctagn = black, black then var ctagn black
if %ctagn = white, white then var ctagn white
if %ctagm = rainbow, rainbow then var ctagm rainbow
return

Specialset:
if (matchre ("%look", "(cambrinth)")) then var special cambrinth
if (matchre ("%look", "(gaethzen)")) then var special gaethzen
if (matchre ("%look", "((percussion|string|wind) instrument)")) then var special $1 instrument
if (matchre ("%look", "(This customization can be used with any normal.+home)")) then var special housing
if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var special jewelry
if (matchre ("%look", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%look", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var special bard style
if (matchre ("%look", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%look", "(anloral)")) then var special cleric style, paladin style
if (matchre ("%look", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var special empath style
if (matchre ("%look", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%look", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var special necromancer style
if (matchre ("%look", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%look", "(Ranger)")) then var special ranger style
if (matchre ("%look", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var special thief style
if (matchre ("%look", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%look", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var special warrior mage style
if (matchre ("%look", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var special dwarf style
if (matchre ("%look", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var special elf style
if (matchre ("%look", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var special elothean style
if (matchre ("%look", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%look", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var special gortog style
if (matchre ("%look", "(Halfling|\bOlvi\b)")) then var special halfling style
if (matchre ("%look", "(Human|Gamgweth)")) then var special human style
if (matchre ("%look", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%look", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var special prydaen style
if (matchre ("%look", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var special rakash style
if (matchre ("%look", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var special skra mur style
if (matchre ("%tap", "(cambrinth)")) then var special cambrinth
if (matchre ("%tap", "(gaethzen)")) then var special gaethzen
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var special creation
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var special alchemy
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var special $1 instrument
if (matchre ("%tap", "(anatomy chart)")) then var special anatomy chart, empath style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var special tack
if (matchre ("%tap", "(\btoy\b)")) then var special toy
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var special bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var special cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var special empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var special necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%tap", "(Ranger|trail map)")) then var special ranger style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var special thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var special warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var special dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var special elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var special elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var special gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var special halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var special human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var special prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var special rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var special skra mur style
if (matchre ("%1", "(ashcloak|mysanda)")) then var special magic
if (matchre ("%1", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var special creation
if (matchre ("%1", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var special alchemy
if (matchre ("%1", "(candle|lamp|lantern|torch)")) then var special gives light
if (matchre ("%1", "(bridle|caparison|halter|saddle)")) then var special tack
if (matchre ("%1", "(doll|marionette|puppet|toy)")) then var special toy
if (matchre ("%1", "(warhorn)")) then var special barbarian style, bard style
if (matchre ("%1", "(cassock|chalice)")) then var special cleric style
if (matchre ("%1", "(sigilbook|starchart|telescope)")) then var special moon mage style
if (matchre ("%1", "(feedbag)")) then var special trader style
if (matchre ("%1", "(ashcloak)")) then var special warrior mage style
if (matchre ("%1", "(bulhawf)")) then var special dwarf style
if (matchre ("%1", "(\barca\b|\bbalac\b|catils|\bcelya\b|coinec|gelnutre|\bgerri\b|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|\bmahai\b|oinurte|\bpalta\b|\btago\b|takbahn|\btelo\b)")) then var special elf style
if (matchre ("%1", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var special elothean style
if (matchre ("%1", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var special kaldar style
if (matchre ("%1", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var special prydaen style
if (matchre ("%1", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var special rakash style
if (matchre ("%1", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var special skra mur style
return

Itypeset:
if (matchre ("%tap", "((awgravet|bar|bastard|battle|belaying|boarding|carving|dire|double|double-headed|duraka|elbow|flanged|footman's|giant|half-handled|hand|heavy|horseman's|hunting|hurlable|hurling|igorat|ilglaiks|imperial|k'trinni|knee|leaf blade|light|lochaber|marauder|military|mus|periperiu|pike|pole|ridged|robe|round|short|skinning|spiked|splitting|sterak|thick-bladed|thin-bladed|throwing|thrusting|twin-point|two-handed|two-headed|two-pronged|vilks|war|warring) (abassi|adze|akabo|allarh|arzfilt|ava|axe|back-sword|ball and chain|bardiche|baselard|blade|bludgeon|boko|bola|boomerang|briquet|broadaxe|broadsword|bulhawf|cane|chain|cinqueda|claws|claymore|club|condottiere|coresca|cosh|cudgel|curlade|cuska|cutlass|dagasse|dagger|dao|dart|falcata|falchion|fan|fauchard|flail|flamberge|fork|garz|gauntlet|gavel|gladius|glaive|greataxe|greathammer|greatsword|guisarme|halberd|hammer|hanger|hara|hatchet|hawkbill|hhr'ata|hhr'tami|hunthsleg|iltesh|jambiya|javelin|karambit|kasai|kaskara|katar|khuj|knife|knuckles|kodur|komno|koummya|kris|kudalata|kythe|lance|longsword|mace|mallet|mambeli|marlingspike|mattock|maul|misericorde|morning star|namkomba|nehdelata|nehlata|ngalio|nightstick|nimsha|oben|parang|partisan|pasabas|pike|pin|poignard|prod|pugio|quarterstaff|ranseur|rapier|recade|riste|sabre|sashqa|scepter|schiavona|scimitar|scythe|sha-tai|shh'oi'ata|shotel|skefne|sledgehammer|spatha|spear|spetum|spike|spikes|staff|stiletto|sunblade|sword|takouba|telek|tzece|ukabi|war hammer|zubke))")) then var itype $1
if (matchre ("%tap", "((assassin's|battle|competition|competition-balanced|dako'gi|drop-trigger|flat|flight|forester's|hirdu|horseman's|hunter's|pirate's|plains|recurved?|reflex|repeater|repeating|riot|s'rnhhl|saddle|savannah|siege|sniper's|steppe|tei'oloh|war) (arbalest|bow|chunenguti|composite bow|crossbow|hhr'ibu|jranoki|long ?bow|mahil|short ?bow|slurbow|stonebow|taisgwelduan|uku'uanstaho)|staff sling)")) then var itype $1
if (matchre ("%tap", "((battle|ceremonial|circular|crescent|curved|gladiator's|heater|jousting|kite|medium|ordinary|oval|pageant|rectangular|riot|round|rounded|shuri-kota|siege|skirmisher's|target|tower|triangular|valnik|wall|war|warrior's|wickerwork) (aegis|buckler|heater|pavise|scutum|shield|sipar|targe))")) then var itype $1
if (matchre ("%tap", "((brigandine|chain|closed|cloth|coarse|dome|field|full|great|half|heavy|insulated|lamellar|leather|light|mail|padded|plate|quilted|ring|rugged|scale|thick|visored) (aventail|backplate|balaclava|barbute|bascinet|breastplate|cap|coat|cowl|cuirass|fauld|gauntlets|gloves|greaves|hauberk|helm|hood|jerkin|leathers|lorica|mantle|mask|morion|pants|plate|robe|sallet|shirt|sleeves|tabard|tailcoat|tasset|thorakes|vambraces|vest))")) then var itype $1
if (matchre ("%tap", "((engagement|thumb|toe|wedding) (band|ring|tailband))")) then var itype $1
return

Typeset:
if (matchre ("%look", "(cambrinth)")) then var typemagic cambrinth
if (matchre ("%look", "(gaethzen)")) then var typemagic gaethzen
if (matchre ("%look", "((percussion|string|wind) instrument)")) then var typefunction $1 instrument
if (matchre ("%look", "(This customization can be used with any normal.+home)")) then var typefunction housing
if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var typefunction jewelry
if (matchre ("%look", "(Barbarian|chakrel|warpaint)")) then var typeguild barbarian style
if (matchre ("%look", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var typeguild bard style
if (matchre ("%look", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var typeguild cleric style
if (matchre ("%look", "(anloral)")) then var typeguild cleric style, paladin style
if (matchre ("%look", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var typeguild empath style
if (matchre ("%look", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var typeguild moon mage style
if (matchre ("%look", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var typeguild necromancer style
if (matchre ("%look", "(Paladin|soulstone)")) then var typeguild paladin style
if (matchre ("%look", "(Ranger)")) then var typeguild ranger style
if (matchre ("%look", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var typeguild thief style
if (matchre ("%look", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var typeguild trader style
if (matchre ("%look", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var typeguild warrior mage style
if (matchre ("%look", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var typerace dwarf style
if (matchre ("%look", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var typerace elf style
if (matchre ("%look", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var typerace elothean style
if (matchre ("%look", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var typerace gnome style
if (matchre ("%look", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var typerace gortog style
if (matchre ("%look", "(Halfling|\bOlvi\b)")) then var typerace halfling style
if (matchre ("%look", "(Human|Gamgweth)")) then var typerace human style
if (matchre ("%look", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var typerace kaldar style
if (matchre ("%look", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var typerace prydaen style
if (matchre ("%look", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var typerace rakash style
if (matchre ("%look", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var typerace skra mur style
if (matchre ("%tap", "(cambrinth)")) then var typemagic cambrinth
if (matchre ("%tap", "(gaethzen)")) then var typemagic gaethzen
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var typefunction creation
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var typefunction alchemy
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var typefunction $1 instrument
if (matchre ("%tap", "(anatomy chart)")) then var typefunction anatomy chart, empath style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var typefunction tack
if (matchre ("%tap", "(\btoy\b)")) then var typefunction toy
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var typeguild barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var typeguild bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var typeguild cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var typeguild cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var typeguild empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var typeguild moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var typeguild necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var typeguild paladin style
if (matchre ("%tap", "(Ranger|trail map)")) then var typeguild ranger style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var typeguild thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var typeguild trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var typeguild warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var typerace dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var typerace elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var typerace elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var typerace gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var typerace gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var typerace halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var typerace human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var typerace kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var typerace prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var typerace rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var typerace skra mur style
if (matchre ("%1", "(\balb\b|apron|\barek\b|ashcloak|balac|baladrana|ballgown|bandeau|\bbelt\b|beret|blazer|blouse|bodice|bodysuit|bonnet|boots|breeches|britches|brogans|bustier|caftan|\bcap\b|\bcape\b|cassock|catils|chemise|cheongsam|chmir|chola|choli|cloak|cloche|clogs|\bcoat\b|coinec|corset|cummerbund|deerstalker|derby|dirndl|domisaha|doublet|drape|dress|eyepatch|fabric|fedora|fillet|frock|galoshes|gamantang|garter|gerri|gloves|\bgown\b|\bhac\b|\bhat\b|headband|\bhood\b|\bhose\b|ilalish|jacket|jerkin|jodhpurs|josta|khandur|\bkilt\b|kimono|kirtle|kisti|knickers|krekls|laufisana|leggings|leine|loafers|loincloth|longcoat|lusks|mantle|\bmask\b|mittens|mocc?asins|mra'?sin|\bmuff\b|muffler|nauda|\bodaj\b|overalls|\bpall\b|pantaloons|pants|pel'?hhsmur|\bpelt\b|poncho|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|pumps|ra'?sarrak|rantija|\brobes?\b|\bruff\b|ruven|safos|safros|sandals|\bsari\b|sarong|sarrak|\bsash\b|scarf|shawl|shift|shirt|shoes|shroud|skirt|skullcap|slacks|slippers|smock|snood|sochi|socks|spats|stockings|stole|\bsuit\b|sundress|surcoat|suspenders|sweater|tabard|tailcoat|takbahn|\btam\b|tights|\btoga\b|trews|trousers|tunic|turban|uaro'?s'?sugi|vakoti|\bveil\b|\bvest\b|vestments?|vikses|vluze|waistcoat|wimple|\bwings?\b|\bwrap\b)")) then var typefunction clothing
if (matchre ("%1", "(\bafis\b|aggahhpel|amulet|anklet|armband|armlet|badge|\bband\b|bangle|barrette|\bbead\b|boutonniere|bracelet|bracer|breastpin|brooch|buckle|button|\bchains?\b|charm|choker|circlet|clasp|\bclaw\b|collar|\bcord\b|crown|\bcuff\b|diadem|earcuff|earring|feather|ferroniere|fetish|garland|haircomb|hairnet|hairpin|hairsticks|handflower|hip-chain|jewels|\blei\b|locket|medal|medallion|muhenta|necklace|pearls|pendant|periapt|peyvu|pilonu|\bpin\b|por'?nidrel|rasha'?hhsograth|ribbon|\bring\b|sharmiit'?mhhg|\bstud\b|sur'?nidrel|tailband|thighband|torque|trinket|turinstil|varna|venda|wreath|wristband|wristcuff|wristlet)")) then var typefunction jewelry
if (matchre ("%1", "(ashcloak|mysanda)")) then var typemagic magic
if (matchre ("%1", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var typefunction creation
if (matchre ("%1", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var typefunction alchemy
if (matchre ("%1", "(bodhran|bones|castanets|cymbals|damaru|darje|doumbec|drum|frottoir|gansa-gambang|guiro|naqqara|sonajero|spoons|tabla|tambourine|tapani|zills)")) then var typefunction percussion instrument
if (matchre ("%1", "(banjo|bow|cistre|cittern|dulcimer|faenellica|fiddle|gittern|guti'?adar|harp|khurmary|kithara|lute|lyre|mandolin|nehpar'?i|psaltery|ramkie|rebec|sarangi|sitar|sra'?aja?hh|strings|tambura|\bviol\b|violin|zither)")) then var typefunction string instrument
if (matchre ("%1", "(bagpipes|bassoon|cane flute|chalumeaux|clarin|cornemuse|cornet|didjeridu|fife|flute|gemshorn|hichiriki|horn|minjayrah|mirliton|mitbiq|nguru|oboe|ocarina|pan-pipes|physalis|piccolo|recorder|sackbut|serpent|shakuhachi|shawm|shintu|syrinx|txistu|whistle|yarghul|zurna)")) then var typefunction wind instrument
if (matchre ("%1", "(candle|lamp|lantern|torch)")) then var typefunction gives light
if (matchre ("%1", "(bridle|caparison|halter|saddle)")) then var typefunction tack
if (matchre ("%1", "(doll|marionette|puppet|toy)")) then var typefunction toy
if (matchre ("%1", "(warhorn)")) then var typeguild barbarian style, bard style
if (matchre ("%1", "(cassock|chalice)")) then var typeguild cleric style
if (matchre ("%1", "(sigilbook|starchart|telescope)")) then var typeguild moon mage style
if (matchre ("%1", "(feedbag)")) then var typeguild trader style
if (matchre ("%1", "(ashcloak)")) then var typeguild warrior mage style
if (matchre ("%1", "(bulhawf)")) then var typerace dwarf style
if (matchre ("%1", "(\barca\b|balac|catils|celya|coinec|gelnutre|gerri|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|mahai|oinurte|palta|\btago\b|takbahn|\btelo\b)")) then var typerace elf style
if (matchre ("%1", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var typerace elothean style
if (matchre ("%1", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var typerace kaldar style
if (matchre ("%1", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var typerace prydaen style
if (matchre ("%1", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var typerace rakash style
if (matchre ("%1", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var typerace skra mur style
if %typefunction = clothing && %wearloc = DELETE then var wearloc -
if %typefunction = jewelry && %wearloc = DELETE then var wearloc -
if %typecon = container && %wearloc = DELETE then var wearloc -
return

CommaAppcost:
var commanumber %appcostk
eval length len(%commanumber)
var appcost %commanumber
if %length < 4 then goto return
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var appcost %temp
topapp:
if %length < 3 then goto lastapp
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var appcost %temp,%appcost
goto topapp
lastapp:
if %length > 0 then
{
eval temp substr(%commanumber, 0, %length)
var appcost %temp,%appcost
}
goto return

CommaCost:
var commanumber %costi
eval length len(%commanumber)
var cost %commanumber
if %length < 4 then goto return
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var cost %temp
topcost:
if %length < 3 then goto lastcost
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var cost %temp,%cost
goto topcost
lastcost:
if %length > 0 then
{
eval temp substr(%commanumber, 0, %length)
var cost %temp,%cost
}
goto return

return:
return

verbcheck:
send study %number %1 $preposition $shop
wait
pause .5
send analyze %number %1 $preposition $shop
wait
pause .5
send focus %number %1 $preposition $shop
wait
pause .5
return

end:
send shop
waitforre ^\[Type SHOP \[ITEM\] to see what's on it|^There is nothing to buy here
send shop $shop
waitforre ^\[Type SHOP \[GOOD\] to see some details about it|^There is nothing to buy here
put #echo Last noun: %1 ($preposition $shop)
put #class racial on
put #play ScriptEnd
put #flash
put #parse SCRIPT DONE
exit

Script (Held Items and Measuring)

#debuglevel 10
put #class rp on
put #class arrive off
put #class joust off
put #class combat off
put #class racial off
put #class shop off
setvariable short $righthand

var appcostl 0
var appcostd 0
var newshieldapp no
action goto end when ^I could not find what (you|you were) referring to\.$

if $lefthand = Empty then
{
send get my $yardstick
waitforre ^You get|^You are already holding that
}

#action goto enderror1 when ^You .+ a quality of \d+, placing it at .+ on the official Trader's Scale\.$|^You.+the \S+ in the .+ is of .+ quality\.$
#action goto enderror2 when ^The .+ looks? to be custom-made\.$
action setvariable tap $2 when ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying
action setvariable tap $2 when ^On the.+you see (a|an|some|the) (.+)\.$
action setvariable tap $2 when ^You glance at (a|an|some|the) (.+)\.$|^Considering the security around the Phelim starblade
action setvariable tap $2 when ^You quietly examine (a|an|some|the) (.+) and notice a price tag indicating
action setvariable tap $2 when ^You tap (a|an|some|the) (.+)\.$
action setvariable tap $2;setvariable look $3 when ^\w+ shows you (an?|some|the) (.+?)\.\s+(.+)
action setvariable tap $2;setvariable look - when ^\w+ shows you (an?|some|the) (.+)\.$
action setvariable short $2 when ^Considering the security around (a|an|some|the) (.+), it would be ill advised to tamper with it.
action setvariable short $2 when ^Short: (a|an|some|the) (.+)
action setvariable look $1 when ^Look:  (.+)
action setvariable look - when ^Look:  You see nothing unusual\.$
action setvariable look - when ^You see nothing unusual\.$
action setvariable read $1 when ^Read:\s+(.+)$
action setvariable typefunction tack when ^This is specifically designed to be worn by a horse\.$
action setvariable special tack when ^This is specifically designed to be worn by a horse\.$
action setvariable typecon container when ^The .+ (are|is) a container, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) a container\.$
action setvariable typecon container when ^The .+ (are|is) pocketed, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) pocketed\.$
action setvariable typecon container when ^The gem pouch is made for easy storage of gems
action setvariable typeguild trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable special trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable wearloc $2 when ^It appears that .+ can be worn (around|in|on) the (.+)\.$
action setvariable wearloc $1 when ^It appears that .+ can be draped over the (.+)\.$
action setvariable wearloc generic when ^It appears that .+ can be worn\.$
action setvariable wearloc belt when ^It appears that .+ can be worn attached to a belt\.$
action setvariable wearloc belt when ^The gem pouch is made for easy storage of gems
action setvariable wearloc ear when ^It appears that .+ can be worn in one ear
action setvariable wearloc ears when ^It appears that .+ can be worn in both ears
action setvariable wearloc hair (placed) when ^It appears that .+ can be worn in the hair\.$
action setvariable wearloc pants when ^It appears that .+ can be worn like pants or a skirt\.$
action setvariable wearloc shirt (with armor) when ^It appears that .+ can be worn as a shirt or robe, even with armor\.$
action setvariable wearloc shirt (without armor) when ^It appears that .+ can be worn like a shirt or robe\.$
action setvariable wearloc shoulder when ^It appears that .+ can be slung over one shoulder\.$
action setvariable wearloc upper arm when ^It appears that .+ can be worn on the upper ?arm\.$
action setvariable weight $1 when ^You are certain that .+ weighs exactly (\d+) (stones?)\.$
action setvariable lsize $1;setvariable wsize $2;setvariable hsize $3 when ^You compare your .+ with the .+ yardstick several times and are certain the length measures (.+) spans?, the width measures (.+) spans? and the height measures (.+) spans?\.$
action setvariable ilsize $1;setvariable iwsize $2;setvariable ihsize $3;setvariable csize $4 when ^You compare your .+ with the .+ yardstick several times and are certain the interior length measures (.+) spans?, the interior width measures (.+) spans?, the interior height measures (.+) spans? and the .+ appears capable of holding about (\d+) stones of weight\.$
action setvariable appcostk $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:kronars)\.$
action setvariable appcostk 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:kronar)\.$
action setvariable appcostk 0 when ^You are certain that .+ (is|are) worth exactly nothing\.$
action setvariable appcostk - when ^There doesn't appear to be anything in the gem pouch\.$
action setvariable appcostk - when is made for easy storage of gems, and is used by gemshops everywhere to handle bulk transactions\.$
action setvariable appcostl $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:lirums)\.$
action setvariable appcostl 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:lirum)\.$
action setvariable appcostd $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:dokoras)\.$
action setvariable appcostd 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:dokora)\.$
action setvariable costi $1 when ^Cost:  (\d+)
action setvariable maxcharge $1 when ^You are certain that the .+ holds? exactly (\d+) mana\.$
action setvariable metal yes when ^The .+ (is|are) made with metal\.$

action setvariable wtype1 LE;setvariable wtypename1 light edged;setvariable wskill1 small edged when (is a|are a|and) light edged .+ weapon
action setvariable wtype1 ME;setvariable wtypename1 medium edged;setvariable wskill1 small edged when (is a|are a|and) medium edged .+ weapon
action setvariable wtype1 HE;setvariable wtypename1 heavy edged;setvariable wskill1 large edged when (is a|are a|and) heavy edged .+ weapon
action setvariable wtype1 2HE;setvariable wtypename1 two-handed edged;setvariable wskill1 twohanded edged when (is a|are a|and) two-handed edged .+ weapon
action setvariable wtype1 LB;setvariable wtypename1 light blunt;setvariable wskill1 small blunt when (is a|are a|and) light blunt .+ weapon
action setvariable wtype1 MB;setvariable wtypename1 medium blunt;setvariable wskill1 small blunt when (is a|are a|and) medium blunt .+ weapon
action setvariable wtype1 HB;setvariable wtypename1 heavy blunt;setvariable wskill1 large blunt when (is a|are a|and) heavy blunt .+ weapon
action setvariable wtype1 2HB;setvariable wtypename1 two-handed blunt;setvariable wskill1 twohanded blunt when (is a|are a|and) two-handed blunt .+ weapon
action setvariable wtype1 SL;setvariable wtypename1 sling;setvariable wskill1 slings when (is|are) a sling .+ weapon
action setvariable wtype1 StS;setvariable wtypename1 staff sling;setvariable wskill1 slings when (is|are) a staff sling .+ weapon
action setvariable wtype1 rock;setvariable wtypename1 sling ammo;setvariable wskill1 slings when ^This appears to be ammunition for slings\.$
action setvariable wtype1 SB;setvariable wtypename1 short bow;setvariable wskill1 bow when (is|are) a short bow .+ weapon
action setvariable wtype1 LoB;setvariable wtypename1 long bow;setvariable wskill1 bow when (is|are) a long bow .+ weapon
action setvariable wtype1 CB;setvariable wtypename1 composite bow;setvariable wskill1 bow when (is|are) a composite bow .+ weapon
action setvariable wtype1 arrow;setvariable wtypename1 bow ammo;setvariable wskill1 slings when ^This appears to be ammunition for bows\.$
action setvariable wtype1 LX;setvariable wtypename1 light crossbow;setvariable wskill1 crossbow when (is|are) a light crossbow .+ weapon
action setvariable wtype1 HX;setvariable wtypename1 heavy crossbow;setvariable wskill1 crossbow when (is|are) a heavy crossbow .+ weapon
action setvariable wtype1 bolt;setvariable wtypename1 crossbow ammo;setvariable wskill1 slings when ^This appears to be ammunition for crossbows\.$
action setvariable wtype1 SS;setvariable wtypename1 short staff;setvariable wskill1 staves when (is a|are a|and) short staff .+ weapon
action setvariable wtype1 QS;setvariable wtypename1 quarter staff;setvariable wskill1 staves when (is a|are a|and) quarter staff .+ weapon
action setvariable wtype1 PI;setvariable wtypename1 pike;setvariable wskill1 polearms when (is a|are a|and) pike .+ weapon
action setvariable wtype1 HAL;setvariable wtypename1 halberd;setvariable wskill1 polearms when (is a|are a|and) halberd .+ weapon
action setvariable wtype1 parry;setvariable wskill1 brawling when ^You are certain that the .+ is a purely defensive item\.$
action setvariable wtype1 elbows;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the elbows\.$
action setvariable wtype1 hands;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the hands\.$
action setvariable wtype1 knees;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the knees\.$
action setvariable wtype1 feet;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the feet\.$
action setvariable wtype2 LT;setvariable wtypename2 light thrown;setvariable wskill2 light thrown when (is|are) a light thrown and .+ weapon
action setvariable wtype2 HT;setvariable wtypename2 heavy thrown;setvariable wskill2 heavy thrown when (is|are) a heavy thrown and .+ weapon
action setvariable range melee when melee-ranged weapon
action setvariable range pole when pole-ranged weapon
action setvariable puncture $1 when ^\s+(.*) puncture damage
action setvariable slice $1 when ^\s+(.*) slice damage
action setvariable impact $1 when ^\s+(.*) impact damage
action setvariable fire $1 when ^\s+(.*) fire damage
action setvariable cold $1 when ^\s+(.*) cold damage
action setvariable electric $1 when ^\s+(.*) electric damage
action setvariable puncture quite a bit when ^\s+quite a bit of puncture damage
action setvariable slice quite a bit when ^\s+quite a bit of slice damage
action setvariable impact quite a bit when ^\s+quite a bit of impact damage
action setvariable fire quite a bit when ^\s+quite a bit of fire damage
action setvariable cold quite a bit when ^\s+quite a bit of cold damage
action setvariable electric quite a bit when ^\s+quite a bit of electric damage
action setvariable puncturetypename Yes when ^\s+(.*) puncture damage increase
action setvariable slicetypename Yes when ^\s+(.*) slice damage increase
action setvariable impacttypename Yes when ^\s+(.*) impact damage increase
action setvariable foi $1 when .+ is (.*) designed for improving the force of your attacks\.$
action setvariable balance $1 when .+ is (.*) balanced
action setvariable power $1 when .+ is (.*) suited
action setvariable drawstrength $1 when ^The .+ appears set for a draw strength that is (.+) for a bow of this type\.$
action setvariable adraw Yes when ^The .+ appears to have an adjustable draw strength\.$
action setvariable adraw No when ^The .+ does not appear to have an adjustable draw strength\.$

action setvariable stype lsh;setvariable stypename large when is large in size\.$
action setvariable stype msh;setvariable stypename medium when is medium in size\.$
action setvariable stype ssh;setvariable stypename small when is small in size\.$
action setvariable newshieldapp Yes when ^Your experience with shields allows a better appraisal of the protection capabilities\.$
action setvariable sprotection $1 when .+ offers (.*) protection
action setvariable smin $1 when ^You are certain that .+ offers (.*) to .+ protection\.
action setvariable smax $1 when ^You are certain that .+ offers .+ to (.*) protection\.
action setvariable shindrance $1 when .+ it imposes? (.*) maneuvering hindrance.

action setvariable atype plate armor when (is|are) plate armor\.$
action setvariable atype brigandine when (is|are) brigandine armor\.$
action setvariable atype chain armor when (is|are) chain armor\.$
action setvariable atype light armor when (is|are) light armor\.$
action setvariable abpuncture $1 when .+ \s(.*) for puncture attacks
action setvariable abslice $1 when .+ \s(.*) for slice attacks
action setvariable abimpact $1 when .+ \s(.*) for impact attacks
action setvariable abfire $1 when .+ \s(.*) for fire attacks
action setvariable abcold $1 when .+ \s(.*) for cold attacks
action setvariable abelectrical $1 when .+ \s(.*) for electrical attacks
action setvariable appuncture $1 when .+ \s(.*) protection and .+ damage absorption for puncture attacks
action setvariable apslice $1 when .+ \s(.*) protection and .+ damage absorption for slice attacks
action setvariable apimpact $1 when .+ \s(.*) protection and .+ damage absorption for impact attacks
action setvariable apfire $1 when .+ \s(.*) protection and .+ damage absorption for fire attacks
action setvariable apcold $1 when .+ \s(.*) protection and .+ damage absorption for cold attacks
action setvariable apelectrical $1 when .+ \s(.*) protection and .+ damage absorption for electrical attacks
action setvariable aapuncture $1 when .+ protection and (.*) damage absorption for puncture attacks
action setvariable aaslice $1 when .+ protection and (.*) damage absorption for slice attacks
action setvariable aaimpact $1 when .+ protection and (.*) damage absorption for impact attacks
action setvariable aafire $1 when .+ protection and (.*) damage absorption for fire attacks
action setvariable aacold $1 when .+ protection and (.*) damage absorption for cold attacks
action setvariable aaelectrical $1 when .+ protection and (.*) damage absorption for electrical attacks
action setvariable ahindrance $1 when .+ appears? to impose (.*), offering
action setvariable mhindrance $1 when .+ appears? to impose (.*) maneuvering hindrance and
action setvariable shindrance $1 when .+ appears? to impose .+ maneuvering hindrance and (.*) stealth hindrance
action setvariable ahead head when ^\s+head$
action setvariable aeyes eyes when ^\s+right eye$
action setvariable aneck neck when ^\s+neck$
action setvariable achest chest when ^\s+chest$
action setvariable aback back when ^\s+back$
action setvariable aabdomen abdomen when ^\s+abdomen$
action setvariable aarms arms when ^\s+right arm$
action setvariable aarms arms when ^\s+right front leg$
action setvariable alegs legs when ^\s+right leg$
action setvariable alegs legs when ^\s+right rear leg$
action setvariable ahands hands when ^\s+right hand$

action setvariable construction $2 when ^You are certain that the .+ (is|are) (.*) (and easily damaged|against damage|to damage)
action setvariable construction average construction when ^You are certain that the .+ (is|are) of average construction

put #echo
put #echo ITEM TYPE:
put #echo
put #echo 1:	Weapon: Melee/Thrown
put #echo
put #echo 2:	Weapon: Ranged
put #echo
put #echo 3:	Weapon: Ammunition
put #echo
put #echo 4:	Weapon: Brawling
put #echo
put #echo 5:	Weapon: Parry Stick
put #echo
put #echo 6:	Shield
put #echo
put #echo 7:	Armor/Barding
put #echo
put #echo 8:	Item
put #echo
put #echo Enter Type Number:

matchre WeaponApp1 ^1$
matchre WeaponApp2 ^2$
matchre WeaponApp3 ^3$
matchre WeaponApp4 ^4$
matchre WeaponApp5 ^5$
matchre ShieldApp ^6$
matchre ArmorApp ^7$
matchre ItemApp ^8$
matchre ItemApp ^9$
matchwait

WeaponApp1:
var number %numbers(%numbers.index)
gosub AppraiseWeapon1
goto verbcheck

WeaponApp2:
var number %numbers(%numbers.index)
gosub AppraiseWeapon2
goto verbcheck

WeaponApp3:
var number %numbers(%numbers.index)
gosub AppraiseWeapon3
goto verbcheck

WeaponApp4:
var number %numbers(%numbers.index)
gosub AppraiseWeapon4
goto verbcheck

WeaponApp5:
var number %numbers(%numbers.index)
gosub AppraiseWeapon5
goto verbcheck

ShieldApp:
var number %numbers(%numbers.index)
gosub AppraiseShield
goto verbcheck

ArmorApp:
var number %numbers(%numbers.index)
gosub AppraiseArmor
goto verbcheck

ItemApp:
var number %numbers(%numbers.index)
gosub AppraiseItem
goto verbcheck

AppraiseWeapon1:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |range=%range
put #echo |type=%wtype1
put #echo |type2=%wtype2
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=%foi
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (%weight stones)
put #echo note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |range=%range
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |type2=%wtype2
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon2:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |range=ranged
put #echo |ammo=%ammo
put #echo |ammocap=
put #echo |rangedRT=
put #echo |drawstrength=%drawstrength
put #echo |adraw=%adraw
put #echo |type=%wtype1
put #echo |puncture=-
put #echo |foi=%foi
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |range=ranged
put #log >Appraisal-$charactername.txt |ammo=%ammo
put #log >Appraisal-$charactername.txt |ammocap=
put #log >Appraisal-$charactername.txt |rangedRT=
put #log >Appraisal-$charactername.txt |drawstrength=%drawstrength
put #log >Appraisal-$charactername.txt |adraw=%adraw
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon3:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%wtype1
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=-
put #echo |balance=-
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon4:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |brawl=yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%wtype1
put #echo |puncture=%puncture
put #echo |puncturetype=%puncturetype
put #echo |slice=%slice
put #echo |slicetype=%slicetype
put #echo |impact=%impact
put #echo |impacttype=%impacttype
put #echo |foi=%foi
put #echo |balance=-
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo brawling (%wtype1)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |puncturetype=%puncturetype
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |slicetype=%slicetype
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |impacttype=%impacttype
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (%wtype1)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon5:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |brawl=yes
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=parry
put #echo |puncture=-
put #echo |puncturetype=No
put #echo |slicetype=No
put #echo |impacttype=No
put #echo |foi=-
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo brawling (parry)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=parry
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal-$charactername.txt |puncturetype=No
put #log >Appraisal-$charactername.txt |slicetype=No
put #log >Appraisal-$charactername.txt |impacttype=No
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (parry)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseShield:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what

if %newshieldapp = no then var smin NOTSET
if %newshieldapp = no then var smax NOTSET
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #echo
put #echo {{Shield
put #echo |newshieldapp=%newshieldapp
put #echo |name=%tap
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%stype
put #echo |hindrance=%shindrance
put #echo |minprotection=%smin
put #echo |maxprotection=%smax
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=-
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Shield
put #log >Appraisal-$charactername.txt |newshieldapp=%newshieldapp
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%stype
put #log >Appraisal-$charactername.txt |hindrance=%shindrance
put #log >Appraisal-$charactername.txt |minprotection=%smin
put #log >Appraisal-$charactername.txt |maxprotection=%smax
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseArmor:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
send measure my $righthandnoun with $yardstick
wait
pause .5
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if %aapuncture = %aaslice && %aapuncture = %aaimpact && %aapuncture = %aafire && %aapuncture = %aacold && %aapuncture = %aaelectrical then var absorbance %aapuncture
gosub Tagset
gosub Specialset
gosub Itypeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #echo
put #echo {{Armor
put #echo |name=%tap
put #echo |newarmorapp=Yes
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%atype
put #echo |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #echo |hindrance=%mhindrance
put #echo |stealth=%shindrance
put #echo |puncture=%appuncture
put #echo |slice=%apslice
put #echo |impact=%apimpact
put #echo |fire=%apfire
put #echo |cold=%apcold
put #echo |electric=%apelectrical
put #echo |absorbance=%absorbance
put #echo |punctureab=%aapuncture
put #echo |sliceab=%aaslice
put #echo |impactab=%aaimpact
put #echo |fireab=%aafire
put #echo |coldab=%aacold
put #echo |electricab=%aaelectrical
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |appcost=%appcost
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Armor
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newarmorapp=Yes
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%atype
put #log >Appraisal-$charactername.txt |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #log >Appraisal-$charactername.txt |hindrance=%mhindrance
put #log >Appraisal-$charactername.txt |stealth=%shindrance
put #log >Appraisal-$charactername.txt |puncture=%appuncture
put #log >Appraisal-$charactername.txt |slice=%apslice
put #log >Appraisal-$charactername.txt |impact=%apimpact
put #log >Appraisal-$charactername.txt |fire=%apfire
put #log >Appraisal-$charactername.txt |cold=%apcold
put #log >Appraisal-$charactername.txt |electric=%apelectrical
put #log >Appraisal-$charactername.txt |absorbance=%absorbance
put #log >Appraisal-$charactername.txt |punctureab=%aapuncture
put #log >Appraisal-$charactername.txt |sliceab=%aaslice
put #log >Appraisal-$charactername.txt |impactab=%aaimpact
put #log >Appraisal-$charactername.txt |fireab=%aafire
put #log >Appraisal-$charactername.txt |coldab=%aacold
put #log >Appraisal-$charactername.txt |electricab=%aaelectrical
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseItem:
gosub VarBlank
pause 1
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send inventory held
waitforre ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying.+
send look my $righthandnoun
pause .5
send appraise my $righthandnoun careful
wait
pause 1
MeasureItem1:
if %lsize = NOTSET then
{
send close my $righthandnoun
matchre MeasureItem2 ^You can't close that|^(That|This) is not possible|^There is no way to do that
matchwait 1
pause .5
send measure my $righthandnoun with $yardstick
wait
pause .5
}
MeasureItem2:
if %ilsize = DELETE then
{
send open my $righthandnoun
pause .5
matchwait 1
pause .5
send measure my $righthandnoun with $yardstick
wait
pause .5
}

MeasuredItem:
send stow my $yardstick
waitforre ^You put|^Stow what
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Typeset
gosub Dimensionset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #echo
put #echo {{Item
put #echo |name=%tap
put #echo |noun=$righthandnoun
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #echo |wearloc=%wearloc
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |ilsize=%ilsize
put #echo |iwsize=%iwsize
put #echo |ihsize=%ihsize
put #echo |csize=%csize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |metal=%metal
put #echo }}
put #echo note=%wearloc: %ilsize x %iwsize x %ihsize (%csize stones)
put #echo note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Item
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |noun=$righthandnoun
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |ilsize=%ilsize
put #log >Appraisal-$charactername.txt |iwsize=%iwsize
put #log >Appraisal-$charactername.txt |ihsize=%ihsize
put #log >Appraisal-$charactername.txt |csize=%csize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wearloc: %ilsize x %iwsize x %ihsize (%csize stones)
put #log >Appraisal-$charactername.txt note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

VarBlank:
var metal no
var maxcharge DELETE THIS LINE
var wearloc -
var lsize NOTSET
var wsize NOTSET
var hsize NOTSET
var ilsize DELETE
var iwsize DELETE
var ihsize DELETE
var csize DELETE
var appcost NOTSET
var mtags DELETE
var mtagg DELETE
var mtagm DELETE
var mtagw DELETE
var mtagf DELETE
var ctagr DELETE
var ctago DELETE
var ctagt DELETE
var ctagy DELETE
var ctagg DELETE
var ctagb DELETE
var ctagv DELETE
var ctagn DELETE
var ctagm DELETE
var ctagx DELETE
var stagp DELETE
var stagg DELETE
var staga DELETE
var stagh DELETE
var stage DELETE
var stagr DELETE
var stagl DELETE
var amtags DELETE
var amtagm DELETE
var amtagf DELETE
var amtagg DELETE
var amtagw DELETE
var actagr DELETE
var actago DELETE
var actagt DELETE
var actagy DELETE
var actagg DELETE
var actagb DELETE
var actagv DELETE
var actagn DELETE
var actagm DELETE
var actagx DELETE
var astagg DELETE
var astagp DELETE
var astagr DELETE
var astage DELETE
var astaga DELETE
var astagh DELETE
var astagl DELETE
var wtype2 NOTSET
var puncturetype No
var slicetype No
var impacttype No
var absorbance VALUES NOT EQUAL
var ahead DELETE
var aeyes DELETE
var aneck DELETE
var achest DELETE
var aback DELETE
var aabdomen DELETE
var aarms DELETE
var alegs DELETE
var ahands DELETE
var construction NOTSET
var typefunction -
var typecon DELETE
var typemagic DELETE
var typeguild DELETE
var typerace DELETE
var special NOTSET
var itype NOTSET
return

Tagset:
if (matchre ("%tap", "(asketine|avaes|celstite|chakrel|dhhresh|hafaltu|iheaneu'?a|imnera|indakar|ithridu|keismin|lemicule|negnetha|soulstone|sraeth|xibaryl|zengalmi)")) then var mtags $1
if (matchre ("%tap", "(aluminum|animite|anlora[- ]avtoma|audrualm|\bbrass\b|chrome|covellite|Damascus steel|damite|darkstone|electrum|Elven silver|gilded|glaes|(black|blighted|blue|crown|Elven green|grey|pink|purple|rose|white|yellow) \bgold\b|haralun|hepatizon|icesteel|ilmenite|iridium|(?<!wrought )\biron\b|ithridu|kadepa|keismin|kertig|lumium|mithril|moen takibena|moonsilver|muracite|negnetha|nickel|niello|niniam|oravir|orichalcum|palladium|pewter|rencate|silver[- ]gilt|silversteel|spangold|sungold|(?<!watered )\bsteel\b|tantalum|\btin\b|titanium|tyrium|vardite|verdigris copper|watered steel|windsteel|wrought iron|\bzinc\b)")) then var mtagm $1
if (matchre ("%tap", "([cs]endal|angora|armure|arzumodine|\bbast\b|\bbatik\b|batiste|bison[- ]hide|boar[- ]hide|bombazine|bourde|broadcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)brocade|buckskin|burlap|camlet|canvas|cashmere|chainse|chainsil|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)chiffon|\bcire\b|cloth[- ]of[- ]gold|cloth[- ]of[- ]silver|(?<!lipka )cotton|cowhide|cr[ae]pe|crinoline|cuirbouilli|damask|deerskin|dergatine|diamond[- ]hide|doeskin|dragonar|eolienne|\bfaille\b|farandine|\bfelt\b|flannel|\bflax\b|fleece|gabardine|gauze|gingham|gold[- ]weave|grogram|grosgrain|haircloth|\bhemp\b|horsehair|ialalhe|imperial weave|jaalmin |jacquard|\bjaspe\b|\bjute\b|khaddar|khaki|khiynit|kidskin|lambskin|leather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blinen\b|longcloth|muslin|oilcloth|oilskin|onyx[- ]hide|petalette|ramshorn|rawhide|rosecloth|ruazen|sackcloth|sailcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsamite\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsatin\b|scalene |seersucker|\bserge\b|\bshagreen\b|sharkskin|sheepskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsilk\b|silver[- ]weave|silveress|snakeskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)snowlace|spun glitter |straw|suede|taffeta|thornweave|titanese|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\btulle\b|turbaurs|tweed|\btwine\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bvelvet\b|velveteen|voile|whisperlayne|whitleather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bwool\b|woolen|worsted|zenganne|zibeline|(blood|bluefire|dragonfire|duchess|duponi|Elothean|Elven|fae woven|faeweave|fire|gemfire|ice|lava|lipka|marble|moon|moonspun|Musparan|night|night[rw]eaver|nightstalker|oceanmist|ruaz[ei]n|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin) (brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool))")) then var mtagf $1
if (matchre ("%tap", "((cat'?s?|hawk'?s?|tiger'?s?) eye|(?<!(dragonvein) )agates?|(?<!(orchid|viperscale) )alexandrite|almiris|alshabi stone|ambergris|amlothite|andalusite|anloral|anthracite|arkose|aurora opal|axinite|azurite|basalt|\bberyls?\b|bleeding heart jade|bloodgem|calav[ae]rite|ceramic|chalcedon(y|ies)|\bchalk\b|charoite|chrysoberyl|chrysoprase|cinnabar|(?<!volcano'?s heart )citrine|\bclays?\b|cloudstone|\bcoal\b|\bcorals?\b|\bcrystals?\b|crystalline dragon tear|dawgolite|(?<!(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) )diamond(?!ique)|diamondique|diopside|diorite|dolomite|dragonfire amber|Drogor's Wrath sapphire|durgauldite|dwalgim|elanthite|elbaite|\beldrings?\b|Enelne's eye|er'?qutrite|erythraean|erythrite|estrildite|feldspar|\bflint\b|fool's gold|(?<!(bloodmist|forest'?s heart|nimbus) )garnet|\bglass\b|gneiss|granite|grazhite|Hav'?roth'?s ambrosia|hematite|iahja|ilmenite|iolite|ismenite|jadeite|(?<!(autumn|ocean|spiderweb|wild horse) )jasper|kaolinite|katamba'?s spire|katambite|kunzite|kyanite|lantholite|larimar|lasmodi|(?<!(Hekemhhg|lapis) )lazuli|malachite|\bmarble\b|merewaldite|mistglass|morganite|morleenite|\bnacres?\b|neitrice|obsidian|olivine|(?<!(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) )\bopals?\b|(?<!(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) )\bpearls?\b|penhetite|peridot|porcelain|porphyry|pumice|pyrite|quartz|rhodochrosite|rhodonite|sana'?ati heart|scheelite|schist|scrimshaw|sea[- ]glass|selenite|\bsenci\b|\bshale\b|sjatmal|sodalite|\bspinels?\b|spiritgem|svelae|szeldite|tanzanite|(?<!(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) )topaz|(?<!(aurora|vela'?tohr) )tourmaline|tsavorite|ulhari prism|verenite|volcano'?s heart citrine|waermodi|wulfenite|xibarite|yavasite|yoakenite|zircon|(orchid|viperscale) alexandrite|(lightning|violet'?s heart) amethyst|(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) diamond|(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) emerald|(bloodmist|forest'?s heart|nimbus) garnet|(autumn|ocean|spiderweb|wild horse) jasper|(Hekemhhg|lapis) lazuli|(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) opal|(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) pearl|(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) rub(y|ies)|(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) sapphire|(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) topaz|(aurora|vela'?tohr) tourmaline)")) then var mtagg $1
if (matchre ("%tap", "(\w+-stone)")) then var mtagg $1
if (matchre ("%tap", "(\w+stone)")) then var mtagg $1
if (matchre ("%tap", "(\bwooden\b|\bpaper\b|acacia|acanth|adderwood|aganylosh'?a|\balder\b|alerce|\baspen\b|\bbalsa\b|bamboo|basswood|\bbeech\b|(?<!curly )\bbirch\b|black ironwood|black maple|black walnut|black willow|blackwood|bloodwood|boxwood|bricklebranch|burlwood|\bcedar\b|cherrywood|cocobolo|copperleaf|copperwood|\bcork\b|curly birch|cypress|deobar|desert palm|diamondwood|dogwood|dragonwood|driftwood|e'?erdream|ebonwood|\belm\b|eucalyptus|\bfir\b|fishtail oak|flamethorn|flamewood|fruitwood|gethwood|glitvire|gloomwood|goldbark|goldenoak|halmik|\bhaon\b|hawthorn|hhr'?lav'?geluhh|hickory|huljik|Ilithian cedar|iroko|ironwood|juniper|khor'?vela|khor-?vela|lacewood|lemonwood|linden|linwood|\blunat\b|(?<!(black|silver) )\bmaple\b|mikkhalbamar|mistwood|modwir|(?<!(fishtail|golden) )\boak\b|\bosage\b|palmwood|papyrus|parchment|pearwood|\bpine\b|plumwood|poplar|pozumshi|purpleheart|redwood|\breed\b|rosewood|\browan\b|sana'?ati|sandalwood|sanrisi|satinwood|\bshaal\b|silver maple|silverwillow|silverwood|smokewood|\bspruce\b|taborwood|tamboti|\bteak\b|tulvora|\bvedda\b|vellum|(?<!black )walnut|white ironwood|whitethorn|wiirwood|(?<!(black|silver) )\bwillow\b|witchclaw|wyndewood|\byew\b|zingana|zulnatha)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+-wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\bgods?\b|Immortal|Alamhif|Albreda|Aldauth|Aliesa|Aniek|Asketi|Be'?ort|Bereng[ae]ria|Botolf|Chadatru|Coshivi|Damaris|Demrris|Dergati|Divyaush|Drogor|Eerayn|Eimeuz|Elide|Eluned|Enelne|\bEu\b|Everild|Eylhaar|Faenella|Faiyka|Firulf|Gizzbolf|Glacis|Glythtide|Harawep|Hav'?roth|Hodierna|Huldah|\bIdon\b|Iladza|Issendar|Kerenhappuch|Kertigen|Kirmhara|Krigglin|Kuniyo|Lemicus|Meraud|Merion|Misiumos|\bMrod\b|Murrula|Orisas|Peri'?el|Phelim|Rutilor|Saemaus|Shariza|Sieben|Sildua|Spangklud|Sraxaec|Tamsine|Tenemlor|Thirteen|Tieheq|Triquetra|Trothfang|Truffenyi|Urrem'?tier|Ushnish|World Dragon|Xosiurion|Zachriedek)")) then var stagg $1
if (matchre ("%tap", "(acolyte|adventurer|alchemist|amazon|apothecary|\barchers?\b|armorsmith|assassin|bandit|Barbarian|\bBards?\b|barmaid|bartender|beggar|blacksmith|blasphemer|bowm[ae]n|\bbrewers?\b|brigand|buccaneer|burglar|captain|celebrant|champion|\bchefe?s?\b|citizen|clergy|clergy(man|clergy(man|woman)|Cleric|combatant|commoner|convict|criminal|dancer|diviner|doctor|druid|duelist|ecclesiastic|elemancer|elementalist|embalmer|Empath|enchanter|enchantress|engineer|executioner|farmer|felon|fencer|forester|gladiator|hangm[ae]n|healer|herald|heretic|\bheroe?s?\b|hierophant|highwaym[ae]n|historian|hunter|huntsm[ae]n|Inquisitor|inquisitress|\bjudges?\b|justiciar|knight|locksmith|lumberjack|\bmages?\b|marshal|martyr|mastermind|\bmedics?\b|medicine (m[ae]n|medicine (m[ae]n|wom[ae]n)|merchant|messenger|minister|minstrel|\bmonks?\b|Moon Mage|mortician|musician|mystic|navigator|Necromancer|nurse|outlaw|Paladin|pastor|peddler|philosopher|physician|pilgrim|pirate|\bpoets?\b|preacher|priest|prisoner|prophet|psychic|Ranger|researcher|rogue|\bsages?\b|sailor|scholar|\bseers?\b|sham[ae]n|shepherd|smuggler|sniper|soldier|spiritualist|surgeon|swashbuckler|Thief|Thieves|Trader|travell?er|undertaker|urchin|villager|villain|warrior|Warrior Mage|weaponsmith|weaver|\bwitche?s?\b|witche?|wizard|wom[ae]n)|woman)|woodcutter|woodsm[ae]n)")) then var stagp $1
if (matchre ("%tap", "(Adan'?f|Dwarf|Dwarves|\bElfs?\b|Elothean (?!(lace|silk))|Elven (?!(lace|silk|silver))|\bElves\b|Gnome|Gor'?Tog|Gorbesh|Halfling|Human|Kaldar|Lohogi'?hhs'?ur|Lohogi'?tel'?tegreis|\bm[ae]n\b|mer-?(folk|m[ae]n|people|wom[ae]n)|Ocular|\bOlvis?\b|Olvis?|\bpeople\b|Prydaen|Rakash|S'?[Kk]ra ?Mur|S'?[Kk]ra'?ur|\bwom[ae]n\b)")) then var stagr $1
if (matchre ("%tap", "(\ba?ether\b|\bearth\b|electricity|\bfires?\b|\bflames?\b|\bice\b|inferno|lightning|\bpyre\b|\bsnow\b|snowflake|thunder|water|\bair\b)")) then var stage $1
if (matchre ("%tap", "(aardvark|adder|albatross|alfar|alligator|alpaca|alphyn|anchovy|antelope|antler|\bapes?\b|apparition|arachnid|armadillo|\bass\b|aurochs|badger|bagwyn|banshee|barnacle|barracuda|basilisk|\bbats?\b|\bbears?\b|\bbeasts?\b|beaver|\bbees?\b|beetle|behemoth|bird|black widow|blackbird|bloodworm|blue ?jay|boggart|boobrie|buffalo|\bbulls?\b|bumble ?bee|burro|bustard|butterflies|butterfly|buzzard|calopus|camel|camelopard|canary|capybara|caracal|\bcats?\b|caterpillar|cattle|celpeze|centaur|centipede|chameleon|cheetah|chimera|chimpanzee|chinchilla|chipmunk|cicada|civet|\bclams?\b|cobra|cockatrice|cockroach|collie|condor|coney|cottontail|cougar|\bcows?\b|coyote|\bcrabs?\b|crane|cricket|\bcrows?\b|curlew|damselfly|demon|\bdevils?\b|\bdingos?\b|\bdogs?\b|dolphin|donkey|\bdoves?\b|\bdragons?\b|dragonfly|dryad|duck|eagle|echidna|\beels?\b|elephant|\belk\b|\bewes?\b|\bfae\b|fairy|falcon|\bfauns?\b|ferret|fiend|\bfinchs?\b|fish|\bfleas?\b|flounder|\bfox\b|\bfrog\b|gazelle|gecko|genie|gerbil|\bghosts?\b|\bghouls?\b|gidii|giraffe|goat|goblin|goose|gopher|gorilla|goshawk|gr[iy]ff[io]n|gr[iy]ph[io]n|grasshopper|greyhound|groundhog|grouse|guinea pig|hamster|\bhares?\b|harpy|\bhawks?\b|hedgehog|heron|\bherring\b|hinny|hippocamp|hippogr[iy]ff|hippogr[iy]ph|\bhogs?\b|honey ?bee|hornet|horse|hound|hydra|hyena|\bibexs?\b|iguana|\bimps?\b|impala|inkhorne|insect|jackal|jaguar|kangaroo|katydid|kelpie|kestrel|king ?snake|kingfisher|kirin|kitten|kobold|ladybug|\blamb\b|\blarks?\b|lemming|lemur|leopard|\blions?\b|lioness|lizard|llama|lobster|locust|\blynxs?\b|maggot|magpie|manatee|manta ray|manticore|mantis|marmot|marten|martlet|mastiff|meerkat|merelew|mermaid|merman|\bminks?\b|minnow|minotaur|mockingbird|mongoose|monkey|moose|mosquito|\bmoth\b|mouflon|mountain lion|mouse|\bmules?\b|musimon|muskox|nightingale|\bnyads?\b|ocelot|octopus|onager|opossum|osprey|ostrich|\botters?\b|\bowls?\b|\boxe?n?\b|panther|parakeet|parrot|partridge|peacock|pegasus|pelican|pheasant|phoenix|\bpigs?\b|pigeon|pika|platypus|polecat|popinjay|porcupine|possum|prairie ?dog|prawn|primate|puma|puppy|python|quail|rabbit|raccoon|raptor|\brats?\b|raven|reindeer|remora|rhinoceros|robin|rooster|salamander|sardine|satyr|scarab|scorpion|seagull|selkie|serpent|shrew|shrike|shrimp|skeleton|\bskulls?\b|snail|snowbeast|sparrow|specter|sphinx|\bspiders?\b|\bspirits?\b|springbok|\bsprites?\b|squirrel|\bstags?\b|starling|stoat|stork|sturgeon|swallow|\bswans?\b|swine|swordfish|talbot|tarantula|termite|terrapin|thrush|\btigers?\b|tityrus|\btoads?\b|tortoise|toucan|trout|turkey|turtle|undead|unicorn|viper|vole|vulture|walrus|weasel|welkin|werewolf|whale|wildcat|winged horse|\bwolfs?\b|wolverine|woodchuck|wraith|wren|wyvern|\byaks?\b|\byales?\b|zebra|zombie)")) then var staga $1
if (matchre ("%tap", "(aevaes|\baloe\b|belladonna|blocil|\bcebi\b|Datura|draconeaia|eghmok|foxglove|genich|georin|glaysker|hemlock|hisan|hulij|hulnik|ithor|jadice|junliar|lujeakave|muljin|nemoih|nightshade|nilos|nuloe|ojhenik|plovik|\bquns?\b|riolur|sufil|yelith)")) then var stagh $1
if (matchre ("%tap", "(\bAesry\b|Aesry Surlaenis'?a|Ain Ghazal|Amlothi|Arthe Dale|bayou|Belarritaco|Boar Clan|\bbogs?\b|canyon|Chyolvea Tayeu'?a|comet|constellation|Crossing|Dawgolesh|Dirge|Durgaulda|El'?Bain'?s|Elanthia|Empire|Er'?qutra|Estrilda|Faldesu|Fayrin'?s Rest|\bfens?\b|Forfedhdar|Fornsted|grassland|Grazhir|Gwenalion|Hara'?jaal|Hekemhhg|Hibarnhvidar|iceberg|Ilaya Taipa|Ilithi(?! emerald)|Irasushen|\bislands?\b|Ismenia|Jantspyre|jungle|Kaerna Village|\bKatamba\b|Kermoria|Knife Clan|\blakes?\b|Langenfirth|Leth Deriel|M'?Riss|\bmarshe?s?\b|meadow|Mer'?Kresh|Merewalda|\bmoons?\b|morass|Morleena|mountain|Muspar'?i|Nenav Dalar|Oxenwaithe|Penhetia|Pi'?Qanah|\bplanets?\b|prairie|Qi'?Reshalia|quagmire|rainforest|Ratamipak|\bRatha\b|Raven'?s Point|\bReshal\b|Reshalia|\brivers?\b|Riverhaven|Rossman'?s Landing|Sarasunath|savanna|Sawstwar|Segoltha|Shamilho|\bShard\b|shrubland|Siksraja|Steelclaw Clan|steppe|Stone Clan|\bsuns?\b|sunburst|Surlaenis|swamp|Szeldia|taiga|Taisgath|The Crossing|Therenborough|Therengia|Throne City|Tiger Clan|tundra|Velaka|Verena|volcano|wetland|Wolf Clan|woodland|\bXibar\b|Yavash|Yoakena|Zaulfung|Zhamikhh|Zoluren)")) then var stagl $1
if (matchre ("%tap", "((?i:crest of the (Barbarians?'?|Barbarian'?s?) Guild|(Barbarians?'?|Barbarian'?s?) Guild crest))")) then var stagp crest of the barbarians' guild
if (matchre ("%tap", "((?i:crest of the (Bards?'?|Bard'?s?) Guild|(Bards?'?|Bard'?s?) Guild crest))")) then var stagp crest of the bards' guild
if (matchre ("%tap", "((?i:crest of the (Clerics?'?|Cleric'?s?) Guild|(Clerics?'?|Cleric'?s?) Guild crest))")) then var stagp crest of the clerics' guild
if (matchre ("%tap", "((?i:crest of the (Empaths?'?|Empath'?s?) Guild|(Empaths?'?|Empath'?s?) Guild crest))")) then var stagp crest of the empaths' guild
if (matchre ("%tap", "((?i:crest of the (Moon ?Mages?'?|Moon ?Mage'?s?) Guild|(Moon ?Mages?'?|Moon ?Mage'?s?) Guild crest))")) then var stagp crest of the moon mages' guild
if (matchre ("%tap", "((?i:crest of the (Necromancers?'?|Necromancer'?s?) Guild|(Necromancers?'?|Necromancer'?s?) Guild crest))")) then var stagp crest of the necromancers' guild
if (matchre ("%tap", "((?i:crest of the (Paladins?'?|Paladin'?s?) Guild|(Paladins?'?|Paladin'?s?) Guild crest))")) then var stagp crest of the paladins' guild
if (matchre ("%tap", "((?i:crest of the (Rangers?'?|Ranger'?s?) Guild|(Rangers?'?|Ranger'?s?) Guild crest))")) then var stagp crest of the rangers' guild
if (matchre ("%tap", "((?i:crest of the (Thiefs?'?|Thief'?s?|Thieves'?) Guild|(Thiefs?'?|Thief'?s?|Thieves'?) Guild crest))")) then var stagp crest of the thieves' guild
if (matchre ("%tap", "((?i:crest of the (Traders?'?|Trader'?s?) Guild|(Traders?'?|Trader'?s?) Guild crest))")) then var stagp crest of the traders' guild
if (matchre ("%tap", "((?i:crest of the (Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild|(Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild crest))")) then var stagp crest of the warrior mages' guild
if (matchre ("%tap", "((\w+)(?=[- ](colored|highlighted|hued|tinted|toned)))")) then var ctagx $1
if (matchre ("%tap", "((\bred\b|amaranth|auburn|blood red|burgundy|carmine|cerise|claret|coquelicot|crimson|gules|haematic|incarnadine|magenta|maroon|murrey|orange red|\bpink\b|\breddish\b|\brosy\b|rubiginose|rubiginous|ruddy|sanguine|scarlet|vermilion|vinaceous)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagr $1, red
if (matchre ("%tap", "((\borange\b|fiery|\bpeach\b|persimmon|red orange|reddish orange|tangerine|yellow orange)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctago $1, orange
if (matchre ("%tap", "((\bbrown\b|ochre|russet|sepia|sienna|\bsorrel\b|\btan\b|tawny|tenne|\bumber\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagt $1, brown
if (matchre ("%tap", "((\byellow\b|aurulent|champagne|\becru\b|flaxen|green yellow|jonquil|lemon|saffron|xanthic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagy $1, yellow
if (matchre ("%tap", "((\bgreen\b|asparagus|blue green|celadon|chartreuse|\blime\b|olivaceous|olive drab|smalt|\bvert\b|viridian|yellow green)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagg $1, green
if (matchre ("%tap", "((\bblue\b|azure|bluish|\bceil\b|cerulean|cobalt|\bcyan\b|cyaneous|indigo|\bteal\b|ultramarine)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagb $1, blue
if (matchre ("%tap", "((\bpurple\b|aubergine|eggplant|fuchsia|lavender|lilac|mauve|orchid|periwinkle|\bpuce\b|purplish|purpure|red violet|violescent)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagv $1, purple
if (matchre ("%tap", "((\bblack\b|\bgr[ae]y\b|white|argent|arsenic|\bashen\b|beige|camouflage|cinereous|colorless|\bcream\b|\bebon\b|eggshell|eisen|feldgrau|glaucous|pellucid|\bsable\b|taupe\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagn $1, grey
if (matchre ("%tap", "((rainbow|iridescent|pavonine|polychromatic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagm $1, rainbow
if (matchre ("%tap", "((\w+)-\bred\b)")) then var ctagr $1, $2, red
if (matchre ("%tap", "((\w+)-\borange\b)")) then var ctago $1, $2, orange
if (matchre ("%tap", "((\w+)-\bbrown\b)")) then var ctagt $1, $2, brown
if (matchre ("%tap", "((\w+)-\byellow\b)")) then var $1, $2, yellow
if (matchre ("%tap", "((\w+)-\bgreen\b)")) then var ctagg $1, $2, green
if (matchre ("%tap", "((\w+)-\bblue\b)")) then var ctagb $1, $2, blue
if (matchre ("%tap", "((\w+)-\b(purple|violet)\b)")) then var ctagv $1, $2, purple
if (matchre ("%tap", "((\w+)-\bblack\b)")) then var ctagn $1, $2, black
if (matchre ("%tap", "((\w+)-\bwhite\b)")) then var ctagn $1, $2, white
if (matchre ("%tap", "((\w+)-\bgr[ae]y\b)")) then var ctagn $1, $2, grey
if (matchre ("%tap", "(bronze|\bcoal\b|(?<!verdigris )\bcopper\b|(?<!(black|blighted|blue|crown|Elven|fool's|green|grey|pink|purple|red|rose|white|yellow) |cloth[- ]of[- ])\bgold\b|\blead\b|platinum|(?<!Elven |cloth[- ]of[- ])\bsilver\b)")) then var amtagm $1
if (matchre ("%tap", "(\bermine\b|feather|\bfur\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)gossamer|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blace\b)")) then var amtagf $1
if (matchre ("%tap", "(alabaster|(?<!dragonfire )\bamber\b|(?<!(lightning|violet'?s heart) )amethyst|aquamarine|\bbones?\b|carnelian|(?<!(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) )emerald|heliotrope|ivory|(?<!bleeding heart )\bjades?\b|\bonyxe?s?\b|(?<!(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) )\brub(y|ies)\b|(?<!(crimson|dalaeji black|dragon'?s scale|Drogor'?s Wrath|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) )sapphire|\bslate\b|turquoise)")) then var amtagg $1
if (matchre ("%tap", "(\bapple\b|\bash\b|\bcherry\b|chestnut|\bebony\b|\belder\b|laurel|mahogany)")) then var amtagw $1
if (matchre ("%tap", "(\belements?\b|\bwind\b)")) then var astage $1
if (matchre ("%tap", "(bison|\bboars?\b|\bbucks?\b|cardinal|\bcocks?\b|crocodile|\bdeers?\b|\bdoe\b|ermine|flies|\bfly\b|leech|mammoth|oyster|\brams?\b|salmon|shark|sheep|\bsnakes?\b|\btrolls?\b|\bwasps?\b|\bwings?\b|yeehar)")) then var astaga $1
if (matchre ("%tap", "(\bblooms?\b|\bblossoms?\b|\bbuds?\b|\bflorets?\b|\bflowers?\b|\bherbs?\b|\bvines?\b)")) then var astagh $1
if (matchre ("%tap", "(\bdeserts?\b|forest(?![- ]green)|\boceans?\b|\bseas?\b|\bstars?\b)")) then var astagl $1
if (matchre ("%tap", "((bronze|chestnut|copper)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagt $1
if (matchre ("%tap", "(red gold(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagy $1
if (matchre ("%tap", "((\bplum\b|thistle|\bviolet\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagv $1
if (matchre ("%mtagm", "(black|blue|crown|green|grey|pink|purple|red|rose|white|yellow) gold")) then var mtagm $1 gold, gold
if (matchre ("%mtagg", "(?i:(orchid|viperscale)) alexandrite")) then var mtagg $1 alexandrite, alexandrite
if (matchre ("%mtagg", "(?i:(lightning|violet'?s heart)) amethyst")) then var mtagg $1 amethyst, amethyst
if (matchre ("%mtagg", "(?i:(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white)) diamond")) then var mtagg $1 diamond, diamond
if (matchre ("%mtagg", "(?i:(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter)) emerald")) then var mtagg $1 emerald, emerald
if (matchre ("%mtagg", "(?i:(bloodmist|forest'?s heart|nimbus)) garnet")) then var mtagg $1 garnet, garnet
if (matchre ("%mtagg", "(?i:(autumn|ocean|spiderweb|wild horse)) jasper")) then var mtagg $1 jasper, jasper
if (matchre ("%mtagg", "(?i:(Hekemhhg|lapis)) lazuli")) then var mtagg $1 lazuli, lazuli
if (matchre ("%mtagg", "(?i:(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water)) opal")) then var mtagg $1 opal, opal
if (matchre ("%mtagg", "(?i:(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan)) pearl")) then var mtagg $1 pearl, pearl
if (matchre ("%mtagg", "(?i:(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate)) rub(y|ies)")) then var mtagg $1 ruby, ruby
if (matchre ("%mtagg", "(?i:(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren)) sapphire")) then var mtagg $1 sapphire, sapphire
if (matchre ("%mtagg", "(?i:(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar)) topaz")) then var mtagg $1 topaz, topaz
if (matchre ("%mtagg", "(?i:(aurora|vela'?tohr)) tourmaline")) then var mtagg $1 tourmaline, tourmaline
if (matchre ("%mtagf", "(?i:(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin)) ?(brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool)")) then var mtagf %mtagf, $2
if %mtagm = Damascus steel then var mtagg Damascus steel, steel
if %mtagm = Elven silver then var mtagg Elven silver, silver
if %mtagm = moonsilver then var mtagg moonsilver, silver
if %mtagm = silver-gilt then var mtagg silver-gilt, silver, gold
if %mtagm = sungold then var mtagg sungold, gold
if %mtagm = windsteel then var mtagg windsteel, steel
if %mtagg = chalcedon(y|ies) then var mtagg chalcedony
if %mtagg = rubies then var mtagg ruby
if %mtagg = soulstone then var mtagg DELETE
if %ctagr = pink, red then var ctagr pink
if %ctagr = cerise, red then var ctagr cerise, pink
if %ctagr = magenta, red then var ctagr magenta, pink
if %ctagr = rosy, red then var ctagr rosy, pink
if %ctagv = fuchsia, purple then var ctagv fuchsia, pink
if %ctagv = puce, purple then var ctagv puce, pink
if %ctagn = camouflage, grey then var ctagn camouflage, brown
if %ctagn = black, grey then var ctagn black
if %ctagn = ebon, grey then var ctagn ebon, black
if %ctagn = sable, grey then var ctagn sable, black
if %ctagn = white, grey then var ctagn white
if %ctagn = alabaster, grey then var ctagn alabaster, white
if %ctagn = beige, grey then var ctagn beige, white
if %ctagn = colorless, grey then var ctagn colorless, white
if %ctagn = cream, grey then var ctagn cream, white
if %ctagn = eggshell, grey then var ctagn eggshell, white
if %ctagn = ivory, grey then var ctagn ivory, white
if %ctagr = red, red then var ctagr red
if %ctago = orange, orange then var ctago orange
if %ctagt = brown, brown then var ctagt brown
if %ctagy = yellow, yellow then var ctagy yellow
if %ctagg = green, green then var ctagg green
if %ctagb = blue, blue then var ctagb blue
if %ctagv = purple, purple then var ctagv purple
if %ctagn = grey, grey then var ctagn grey
if %ctagn = black, black then var ctagn black
if %ctagn = white, white then var ctagn white
if %ctagm = rainbow, rainbow then var ctagm rainbow
return

Specialset:
if (matchre ("%tap", "(cambrinth)")) then var special cambrinth
if (matchre ("%tap", "(gaethzen)")) then var special gaethzen
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var special creation
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var special alchemy
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var special $1 instrument
if (matchre ("%tap", "(anatomy chart)")) then var special anatomy chart, empath style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var special tack
if (matchre ("%tap", "(\btoy\b)")) then var special toy
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var special bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var special cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var special empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var special necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%tap", "(Ranger|trail map)")) then var special ranger style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var special thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var special warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var special dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var special elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var special elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var special gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var special halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var special human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var special prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var special rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var special skra mur style
if (matchre ("$righthandnoun", "(ashcloak|mysanda)")) then var special magic
if (matchre ("$righthandnoun", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var special creation
if (matchre ("$righthandnoun", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var special alchemy
if (matchre ("$righthandnoun", "(candle|lamp|lantern|torch)")) then var special gives light
if (matchre ("$righthandnoun", "(bridle|caparison|halter|saddle)")) then var special tack
if (matchre ("$righthandnoun", "(doll|marionette|puppet|toy)")) then var special toy
if (matchre ("$righthandnoun", "(warhorn)")) then var special barbarian style, bard style
if (matchre ("$righthandnoun", "(cassock|chalice)")) then var special cleric style
if (matchre ("$righthandnoun", "(sigilbook|starchart|telescope)")) then var special moon mage style
if (matchre ("$righthandnoun", "(feedbag)")) then var special trader style
if (matchre ("$righthandnoun", "(ashcloak)")) then var special warrior mage style
if (matchre ("$righthandnoun", "(bulhawf)")) then var special dwarf style
if (matchre ("$righthandnoun", "(\barca\b|\bbalac\b|catils|\bcelya\b|coinec|gelnutre|\bgerri\b|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|\bmahai\b|oinurte|\bpalta\b|\btago\b|takbahn|\btelo\b)")) then var special elf style
if (matchre ("$righthandnoun", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var special elothean style
if (matchre ("$righthandnoun", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var special kaldar style
if (matchre ("$righthandnoun", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var special prydaen style
if (matchre ("$righthandnoun", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var special rakash style
if (matchre ("$righthandnoun", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var special skra mur style
return

Itypeset:
if (matchre ("%tap", "((awgravet|bar|bastard|battle|belaying|boarding|carving|dire|double|double-headed|duraka|elbow|flanged|footman's|giant|half-handled|hand|heavy|horseman's|hunting|hurlable|hurling|igorat|ilglaiks|imperial|k'trinni|knee|leaf blade|light|lochaber|marauder|military|mus|periperiu|pike|pole|ridged|robe|round|short|skinning|spiked|splitting|sterak|thick-bladed|thin-bladed|throwing|thrusting|twin-point|two-handed|two-headed|two-pronged|vilks|war|warring) (abassi|adze|akabo|allarh|arzfilt|ava|axe|back-sword|ball and chain|bardiche|baselard|blade|bludgeon|boko|bola|boomerang|briquet|broadaxe|broadsword|bulhawf|cane|chain|cinqueda|claws|claymore|club|condottiere|coresca|cosh|cudgel|curlade|cuska|cutlass|dagasse|dagger|dao|dart|falcata|falchion|fan|fauchard|flail|flamberge|fork|garz|gauntlet|gavel|gladius|glaive|greataxe|greathammer|greatsword|guisarme|halberd|hammer|hanger|hara|hatchet|hawkbill|hhr'ata|hhr'tami|hunthsleg|iltesh|jambiya|javelin|karambit|kasai|kaskara|katar|khuj|knife|knuckles|kodur|komno|koummya|kris|kudalata|kythe|lance|longsword|mace|mallet|mambeli|marlingspike|mattock|maul|misericorde|morning star|namkomba|nehdelata|nehlata|ngalio|nightstick|nimsha|oben|parang|partisan|pasabas|pike|pin|poignard|prod|pugio|quarterstaff|ranseur|rapier|recade|riste|sabre|sashqa|scepter|schiavona|scimitar|scythe|sha-tai|shh'oi'ata|shotel|skefne|sledgehammer|spatha|spear|spetum|spike|spikes|staff|stiletto|sunblade|sword|takouba|telek|tzece|ukabi|war hammer|zubke))")) then var itype $1
if (matchre ("%tap", "((assassin's|battle|competition|competition-balanced|dako'gi|drop-trigger|flat|flight|forester's|hirdu|horseman's|hunter's|pirate's|plains|recurved?|reflex|repeater|repeating|riot|s'rnhhl|saddle|savannah|siege|sniper's|steppe|tei'oloh|war) (arbalest|bow|chunenguti|composite bow|crossbow|hhr'ibu|jranoki|long ?bow|mahil|short ?bow|slurbow|stonebow|taisgwelduan|uku'uanstaho)|staff sling)")) then var itype $1
if (matchre ("%tap", "((battle|ceremonial|circular|crescent|curved|gladiator's|heater|jousting|kite|medium|ordinary|oval|pageant|rectangular|riot|round|rounded|shuri-kota|siege|skirmisher's|target|tower|triangular|valnik|wall|war|warrior's|wickerwork) (aegis|buckler|heater|pavise|scutum|shield|sipar|targe))")) then var itype $1
if (matchre ("%tap", "((brigandine|chain|closed|cloth|coarse|dome|field|full|great|half|heavy|insulated|lamellar|leather|light|mail|padded|plate|quilted|ring|rugged|scale|thick|visored) (aventail|backplate|balaclava|barbute|bascinet|breastplate|cap|coat|cowl|cuirass|fauld|gauntlets|gloves|greaves|hauberk|helm|hood|jerkin|leathers|lorica|mantle|mask|morion|pants|plate|robe|sallet|shirt|sleeves|tabard|tailcoat|tasset|thorakes|vambraces|vest))")) then var itype $1
if (matchre ("%tap", "((engagement|thumb|toe|wedding) (band|ring|tailband))")) then var itype $1
return



Typeset:
if (matchre ("%tap", "(cambrinth)")) then var typemagic cambrinth
if (matchre ("%tap", "(gaethzen)")) then var typemagic gaethzen
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var typefunction creation
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var typefunction alchemy
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var typefunction $1 instrument
if (matchre ("%tap", "(anatomy chart)")) then var typefunction anatomy chart, empath style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var typefunction tack
if (matchre ("%tap", "(\btoy\b)")) then var typefunction toy
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var typeguild barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var typeguild bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var typeguild cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var typeguild cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var typeguild empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var typeguild moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var typeguild necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var typeguild paladin style
if (matchre ("%tap", "(Ranger|trail map)")) then var typeguild ranger style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var typeguild thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var typeguild trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var typeguild warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var typerace dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var typerace elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var typerace elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var typerace gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var typerace gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var typerace halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var typerace human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var typerace kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var typerace prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var typerace rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var typerace skra mur style
if (matchre ("$righthandnoun", "(\balb\b|apron|\barek\b|ashcloak|balac|baladrana|ballgown|bandeau|\bbelt\b|beret|blazer|blouse|bodice|bodysuit|bonnet|boots|breeches|britches|brogans|bustier|caftan|\bcap\b|\bcape\b|cassock|catils|chemise|cheongsam|chmir|chola|choli|cloak|cloche|clogs|\bcoat\b|coinec|corset|cummerbund|deerstalker|derby|dirndl|domisaha|doublet|drape|dress|eyepatch|fabric|fedora|fillet|frock|galoshes|gamantang|garter|gerri|gloves|\bgown\b|\bhac\b|\bhat\b|headband|\bhood\b|\bhose\b|ilalish|jacket|jerkin|jodhpurs|josta|khandur|\bkilt\b|kimono|kirtle|kisti|knickers|krekls|laufisana|leggings|leine|loafers|loincloth|longcoat|lusks|mantle|\bmask\b|mittens|mocc?asins|mra'?sin|\bmuff\b|muffler|nauda|\bodaj\b|overalls|\bpall\b|pantaloons|pants|pel'?hhsmur|\bpelt\b|poncho|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|pumps|ra'?sarrak|rantija|\brobes?\b|\bruff\b|ruven|safos|safros|sandals|\bsari\b|sarong|sarrak|\bsash\b|scarf|shawl|shift|shirt|shoes|shroud|skirt|skullcap|slacks|slippers|smock|snood|sochi|socks|spats|stockings|stole|\bsuit\b|sundress|surcoat|suspenders|sweater|tabard|tailcoat|takbahn|\btam\b|tights|\btoga\b|trews|trousers|tunic|turban|uaro'?s'?sugi|vakoti|\bveil\b|\bvest\b|vestments?|vikses|vluze|waistcoat|wimple|\bwings?\b|\bwrap\b)")) then var typefunction clothing
if (matchre ("$righthandnoun", "(\bafis\b|aggahhpel|amulet|anklet|armband|armlet|badge|\bband\b|bangle|barrette|\bbead\b|boutonniere|bracelet|bracer|breastpin|brooch|buckle|button|\bchains?\b|charm|choker|circlet|clasp|\bclaw\b|collar|\bcord\b|crown|\bcuff\b|diadem|earcuff|earring|feather|ferroniere|fetish|garland|haircomb|hairnet|hairpin|hairsticks|handflower|hip-chain|jewels|\blei\b|locket|medal|medallion|muhenta|necklace|pearls|pendant|periapt|peyvu|pilonu|\bpin\b|por'?nidrel|rasha'?hhsograth|ribbon|\bring\b|sharmiit'?mhhg|\bstud\b|sur'?nidrel|tailband|thighband|torque|trinket|turinstil|varna|venda|wreath|wristband|wristcuff|wristlet)")) then var typefunction jewelry
if (matchre ("$righthandnoun", "(ashcloak|mysanda)")) then var typemagic magic
if (matchre ("$righthandnoun", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var typefunction creation
if (matchre ("$righthandnoun", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var typefunction alchemy
if (matchre ("$righthandnoun", "(bodhran|bones|castanets|cymbals|damaru|darje|doumbec|drum|frottoir|gansa-gambang|guiro|naqqara|sonajero|spoons|tabla|tambourine|tapani|zills)")) then var typefunction percussion instrument
if (matchre ("$righthandnoun", "(banjo|bow|cistre|cittern|dulcimer|faenellica|fiddle|gittern|guti'?adar|harp|khurmary|kithara|lute|lyre|mandolin|nehpar'?i|psaltery|ramkie|rebec|sarangi|sitar|sra'?aja?hh|strings|tambura|\bviol\b|violin|zither)")) then var typefunction string instrument
if (matchre ("$righthandnoun", "(bagpipes|bassoon|cane flute|chalumeaux|clarin|cornemuse|cornet|didjeridu|fife|flute|gemshorn|hichiriki|horn|minjayrah|mirliton|mitbiq|nguru|oboe|ocarina|pan-pipes|physalis|piccolo|recorder|sackbut|serpent|shakuhachi|shawm|shintu|syrinx|txistu|whistle|yarghul|zurna)")) then var typefunction wind instrument
if (matchre ("$righthandnoun", "(candle|lamp|lantern|torch)")) then var typefunction gives light
if (matchre ("$righthandnoun", "(bridle|caparison|halter|saddle)")) then var typefunction tack
if (matchre ("$righthandnoun", "(doll|marionette|puppet|toy)")) then var typefunction toy
if (matchre ("$righthandnoun", "(warhorn)")) then var typeguild barbarian style, bard style
if (matchre ("$righthandnoun", "(cassock|chalice)")) then var typeguild cleric style
if (matchre ("$righthandnoun", "(sigilbook|starchart|telescope)")) then var typeguild moon mage style
if (matchre ("$righthandnoun", "(feedbag)")) then var typeguild trader style
if (matchre ("$righthandnoun", "(ashcloak)")) then var typeguild warrior mage style
if (matchre ("$righthandnoun", "(bulhawf)")) then var typerace dwarf style
if (matchre ("$righthandnoun", "(\barca\b|balac|catils|celya|coinec|gelnutre|gerri|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|mahai|oinurte|palta|\btago\b|takbahn|\btelo\b)")) then var typerace elf style
if (matchre ("$righthandnoun", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var typerace elothean style
if (matchre ("$righthandnoun", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var typerace kaldar style
if (matchre ("$righthandnoun", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var typerace prydaen style
if (matchre ("$righthandnoun", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var typerace rakash style
if (matchre ("$righthandnoun", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var typerace skra mur style
if %typefunction = clothing && %wearloc = DELETE then var wearloc -
if %typefunction = jewelry && %wearloc = DELETE then var wearloc -
if %typecon = container && %wearloc = DELETE then var wearloc -
return

CommaAppcost:
var commanumber %appcostk
eval length len(%commanumber)
var appcost %commanumber
if %length < 4 then goto return
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var appcost %temp
topapp:
if %length < 3 then goto lastapp
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var appcost %temp,%appcost
goto topapp
lastapp:
if %length > 0 then
{
eval temp substr(%commanumber, 0, %length)
var appcost %temp,%appcost
}
goto return

CommaCost:
var commanumber %costi
eval length len(%commanumber)
var cost %commanumber
if %length < 4 then goto return
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var cost %temp
topcost:
if %length < 3 then goto lastcost
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var cost %temp,%cost
goto topcost
lastcost:
if %length > 0 then
{
eval temp substr(%commanumber, 0, %length)
var cost %temp,%cost
}
goto return

Dimensionset:
if %lsize = one then var lsize 1
if %lsize = two then var lsize 2
if %lsize = three then var lsize 3
if %lsize = four then var lsize 4
if %lsize = five then var lsize 5
if %lsize = six then var lsize 6
if %lsize = seven then var lsize 7
if %lsize = eight then var lsize 8
if %lsize = nine then var lsize 9
if %lsize = ten then var lsize 10
if %lsize = eleven then var lsize 11
if %lsize = twelve then var lsize 12
if %lsize = thirteen then var lsize 13
if %lsize = fourteen then var lsize 14
if %lsize = fifteen then var lsize 15
if %lsize = sixteen then var lsize 16
if %lsize = seventeen then var lsize 17
if %lsize = eighteen then var lsize 18
if %lsize = nineteen then var lsize 19
if %lsize = twenty then var lsize 20
if %lsize = twenty-one then var lsize 21
if %lsize = twenty-two then var lsize 22
if %lsize = twenty-three then var lsize 23
if %lsize = twenty-four then var lsize 24
if %lsize = twenty-five then var lsize 25
if %lsize = twenty-six then var lsize 26
if %lsize = twenty-seven then var lsize 27
if %lsize = twenty-eight then var lsize 28
if %lsize = twenty-nine then var lsize 29
if %lsize = thirty then var lsize 30
if %lsize = thirty-five then var lsize 35
if %lsize = forty then var lsize 40
if %lsize = forty-five then var lsize 45
if %lsize = fifty then var lsize 50
if %lsize = fifty-five then var lsize 55
if %lsize = sixty then var lsize 60
if %lsize = sixty-five then var lsize 65
if %lsize = seventy then var lsize 70
if %lsize = seventy-five then var lsize 75
if %lsize = eighty then var lsize 80
if %lsize = eighty-five then var lsize 85
if %lsize = ninety then var lsize 90
if %lsize = ninety-five then var lsize 95
if %lsize = one hundred then var lsize 100
if %lsize = one hundred ten then var lsize 110
if %lsize = one hundred twenty then var lsize 120
if %wsize = one then var wsize 1
if %wsize = two then var wsize 2
if %wsize = three then var wsize 3
if %wsize = four then var wsize 4
if %wsize = five then var wsize 5
if %wsize = six then var wsize 6
if %wsize = seven then var wsize 7
if %wsize = eight then var wsize 8
if %wsize = nine then var wsize 9
if %wsize = ten then var wsize 10
if %wsize = eleven then var wsize 11
if %wsize = twelve then var wsize 12
if %wsize = thirteen then var wsize 13
if %wsize = fourteen then var wsize 14
if %wsize = fifteen then var wsize 15
if %wsize = sixteen then var wsize 16
if %wsize = seventeen then var wsize 17
if %wsize = eighteen then var wsize 18
if %wsize = nineteen then var wsize 19
if %wsize = twenty then var wsize 20
if %wsize = twenty-one then var wsize 21
if %wsize = twenty-two then var wsize 22
if %wsize = twenty-three then var wsize 23
if %wsize = twenty-four then var wsize 24
if %wsize = twenty-five then var wsize 25
if %wsize = twenty-six then var wsize 26
if %wsize = twenty-seven then var wsize 27
if %wsize = twenty-eight then var wsize 28
if %wsize = twenty-nine then var wsize 29
if %wsize = thirty then var wsize 30
if %wsize = thirty-five then var wsize 35
if %wsize = forty then var wsize 40
if %wsize = forty-five then var wsize 45
if %wsize = fifty then var wsize 50
if %wsize = fifty-five then var wsize 55
if %wsize = sixty then var wsize 60
if %wsize = sixty-five then var wsize 65
if %wsize = seventy then var wsize 70
if %wsize = seventy-five then var wsize 75
if %wsize = eighty then var wsize 80
if %wsize = eighty-five then var wsize 85
if %wsize = ninety then var wsize 90
if %wsize = ninety-five then var wsize 95
if %wsize = one hundred then var wsize 100
if %wsize = one hundred ten then var wsize 110
if %wsize = one hundred twenty then var wsize 120
if %hsize = one then var hsize 1
if %hsize = two then var hsize 2
if %hsize = three then var hsize 3
if %hsize = four then var hsize 4
if %hsize = five then var hsize 5
if %hsize = six then var hsize 6
if %hsize = seven then var hsize 7
if %hsize = eight then var hsize 8
if %hsize = nine then var hsize 9
if %hsize = ten then var hsize 10
if %hsize = eleven then var hsize 11
if %hsize = twelve then var hsize 12
if %hsize = thirteen then var hsize 13
if %hsize = fourteen then var hsize 14
if %hsize = fifteen then var hsize 15
if %hsize = sixteen then var hsize 16
if %hsize = seventeen then var hsize 17
if %hsize = eighteen then var hsize 18
if %hsize = nineteen then var hsize 19
if %hsize = twenty then var hsize 20
if %hsize = twenty-one then var hsize 21
if %hsize = twenty-two then var hsize 22
if %hsize = twenty-three then var hsize 23
if %hsize = twenty-four then var hsize 24
if %hsize = twenty-five then var hsize 25
if %hsize = twenty-six then var hsize 26
if %hsize = twenty-seven then var hsize 27
if %hsize = twenty-eight then var hsize 28
if %hsize = twenty-nine then var hsize 29
if %hsize = thirty then var hsize 30
if %hsize = thirty-five then var hsize 35
if %hsize = forty then var hsize 40
if %hsize = forty-five then var hsize 45
if %hsize = fifty then var hsize 50
if %hsize = fifty-five then var hsize 55
if %hsize = sixty then var hsize 60
if %hsize = sixty-five then var hsize 65
if %hsize = seventy then var hsize 70
if %hsize = seventy-five then var hsize 75
if %hsize = eighty then var hsize 80
if %hsize = eighty-five then var hsize 85
if %hsize = ninety then var hsize 90
if %hsize = ninety-five then var hsize 95
if %hsize = one hundred then var hsize 100
if %hsize = one hundred ten then var hsize 110
if %hsize = one hundred twenty then var hsize 120
if %ilsize = one then var ilsize 1
if %ilsize = two then var ilsize 2
if %ilsize = three then var ilsize 3
if %ilsize = four then var ilsize 4
if %ilsize = five then var ilsize 5
if %ilsize = six then var ilsize 6
if %ilsize = seven then var ilsize 7
if %ilsize = eight then var ilsize 8
if %ilsize = nine then var ilsize 9
if %ilsize = ten then var ilsize 10
if %ilsize = eleven then var ilsize 11
if %ilsize = twelve then var ilsize 12
if %ilsize = thirteen then var ilsize 13
if %ilsize = fourteen then var ilsize 14
if %ilsize = fifteen then var ilsize 15
if %ilsize = sixteen then var ilsize 16
if %ilsize = seventeen then var ilsize 17
if %ilsize = eighteen then var ilsize 18
if %ilsize = nineteen then var ilsize 19
if %ilsize = twenty then var ilsize 20
if %ilsize = twenty-one then var ilsize 21
if %ilsize = twenty-two then var ilsize 22
if %ilsize = twenty-three then var ilsize 23
if %ilsize = twenty-four then var ilsize 24
if %ilsize = twenty-five then var ilsize 25
if %ilsize = twenty-six then var ilsize 26
if %ilsize = twenty-seven then var ilsize 27
if %ilsize = twenty-eight then var ilsize 28
if %ilsize = twenty-nine then var ilsize 29
if %ilsize = thirty then var ilsize 30
if %ilsize = thirty-five then var ilsize 35
if %ilsize = forty then var ilsize 40
if %ilsize = forty-five then var ilsize 45
if %ilsize = fifty then var ilsize 50
if %ilsize = fifty-five then var ilsize 55
if %ilsize = sixty then var ilsize 60
if %ilsize = sixty-five then var ilsize 65
if %ilsize = seventy then var ilsize 70
if %ilsize = seventy-five then var ilsize 75
if %ilsize = eighty then var ilsize 80
if %ilsize = eighty-five then var ilsize 85
if %ilsize = ninety then var ilsize 90
if %ilsize = ninety-five then var ilsize 95
if %ilsize = one hundred then var ilsize 100
if %ilsize = one hundred ten then var ilsize 110
if %ilsize = one hundred twenty then var ilsize 120
if %iwsize = one then var iwsize 1
if %iwsize = two then var iwsize 2
if %iwsize = three then var iwsize 3
if %iwsize = four then var iwsize 4
if %iwsize = five then var iwsize 5
if %iwsize = six then var iwsize 6
if %iwsize = seven then var iwsize 7
if %iwsize = eight then var iwsize 8
if %iwsize = nine then var iwsize 9
if %iwsize = ten then var iwsize 10
if %iwsize = eleven then var iwsize 11
if %iwsize = twelve then var iwsize 12
if %iwsize = thirteen then var iwsize 13
if %iwsize = fourteen then var iwsize 14
if %iwsize = fifteen then var iwsize 15
if %iwsize = sixteen then var iwsize 16
if %iwsize = seventeen then var iwsize 17
if %iwsize = eighteen then var iwsize 18
if %iwsize = nineteen then var iwsize 19
if %iwsize = twenty then var iwsize 20
if %iwsize = twenty-one then var iwsize 21
if %iwsize = twenty-two then var iwsize 22
if %iwsize = twenty-three then var iwsize 23
if %iwsize = twenty-four then var iwsize 24
if %iwsize = twenty-five then var iwsize 25
if %iwsize = twenty-six then var iwsize 26
if %iwsize = twenty-seven then var iwsize 27
if %iwsize = twenty-eight then var iwsize 28
if %iwsize = twenty-nine then var iwsize 29
if %iwsize = thirty then var iwsize 30
if %iwsize = thirty-five then var iwsize 35
if %iwsize = forty then var iwsize 40
if %iwsize = forty-five then var iwsize 45
if %iwsize = fifty then var iwsize 50
if %iwsize = fifty-five then var iwsize 55
if %iwsize = sixty then var iwsize 60
if %iwsize = sixty-five then var iwsize 65
if %iwsize = seventy then var iwsize 70
if %iwsize = seventy-five then var iwsize 75
if %iwsize = eighty then var iwsize 80
if %iwsize = eighty-five then var iwsize 85
if %iwsize = ninety then var iwsize 90
if %iwsize = ninety-five then var iwsize 95
if %iwsize = one hundred then var iwsize 100
if %iwsize = one hundred ten then var iwsize 110
if %iwsize = one hundred twenty then var iwsize 120
if %ihsize = one then var ihsize 1
if %ihsize = two then var ihsize 2
if %ihsize = three then var ihsize 3
if %ihsize = four then var ihsize 4
if %ihsize = five then var ihsize 5
if %ihsize = six then var ihsize 6
if %ihsize = seven then var ihsize 7
if %ihsize = eight then var ihsize 8
if %ihsize = nine then var ihsize 9
if %ihsize = ten then var ihsize 10
if %ihsize = eleven then var ihsize 11
if %ihsize = twelve then var ihsize 12
if %ihsize = thirteen then var ihsize 13
if %ihsize = fourteen then var ihsize 14
if %ihsize = fifteen then var ihsize 15
if %ihsize = sixteen then var ihsize 16
if %ihsize = seventeen then var ihsize 17
if %ihsize = eighteen then var ihsize 18
if %ihsize = nineteen then var ihsize 19
if %ihsize = twenty then var ihsize 20
if %ihsize = twenty-one then var ihsize 21
if %ihsize = twenty-two then var ihsize 22
if %ihsize = twenty-three then var ihsize 23
if %ihsize = twenty-four then var ihsize 24
if %ihsize = twenty-five then var ihsize 25
if %ihsize = twenty-six then var ihsize 26
if %ihsize = twenty-seven then var ihsize 27
if %ihsize = twenty-eight then var ihsize 28
if %ihsize = twenty-nine then var ihsize 29
if %ihsize = thirty then var ihsize 30
if %ihsize = thirty-five then var ihsize 35
if %ihsize = forty then var ihsize 40
if %ihsize = forty-five then var ihsize 45
if %ihsize = fifty then var ihsize 50
if %ihsize = fifty-five then var ihsize 55
if %ihsize = sixty then var ihsize 60
if %ihsize = sixty-five then var ihsize 65
if %ihsize = seventy then var ihsize 70
if %ihsize = seventy-five then var ihsize 75
if %ihsize = eighty then var ihsize 80
if %ihsize = eighty-five then var ihsize 85
if %ihsize = ninety then var ihsize 90
if %ihsize = ninety-five then var ihsize 95
if %ihsize = one hundred then var ihsize 100
if %ihsize = one hundred ten then var ihsize 110
if %ihsize = one hundred twenty then var ihsize 120
goto return

return:
return

verbcheck:
send look my $righthandnoun
pause .5
send read my $righthandnoun
pause .5
send study my $righthandnoun
wait
pause .5
send analyze my $righthandnoun
wait
pause .5
send focus my $righthandnoun
wait
pause .5
send recall my $righthandnoun
wait
pause .5

end:
put #class racial on
put #play ScriptEnd
put #flash
put #parse SCRIPT DONE
exit

enderror1:
wait
pause .5
put #echo
put #echo *** This item is crafted. Please do not make an item page for it on Elanthipedia. ***
put #echo
put #class racial on
put #play Error
put #flash
put #parse SCRIPT DONE
exit

enderror2:
wait
pause .5
put #echo
put #echo *** This item is altered. Please do not make an item page for it on Elanthipedia. ***
put #echo
put #class racial on
put #play Error
put #flash
put #parse SCRIPT DONE
pause .5
exit

Script (Shown Items)

#debuglevel 10
put #class rp on
put #class arrive off
put #class joust off
put #class combat off
put #class racial off
put #class shop off

var appcostl 0
var appcostd 0
var newshieldapp no
action goto end when ^I could not find what (you|you were) referring to\.$

#action goto enderror1 when ^You .+ a quality of \d+, placing it at .+ on the official Trader's Scale\.$|^You.+the \S+ in the .+ is of .+ quality\.$
#action goto enderror2 when ^The .+ looks? to be custom-made\.$
action setvariable tap $2 when ^In your right hand, you are carrying (an?|some|the) (.+), and in your left hand, you are carrying
action setvariable tap $2 when ^On the.+you see (a|an|some|the) (.+)\.$
action setvariable tap $2 when ^You glance at (a|an|some|the) (.+)\.$|^Considering the security around the Phelim starblade
action setvariable tap $2 when ^You quietly examine (a|an|some|the) (.+) and notice a price tag indicating
action setvariable tap $2 when ^You tap (a|an|some|the) (.+)\.$
action setvariable tap $2;setvariable look $3 when ^\w+ shows you (an?|some|the) (.+?)\.\s+(.+)
action setvariable tap $2;setvariable look - when ^\w+ shows you (an?|some|the) (.+)\.$
action setvariable short $2 when ^Considering the security around (a|an|some|the) (.+), it would be ill advised to tamper with it.
action setvariable short $2 when ^Short: (a|an|some|the) (.+)
action setvariable look $1 when ^Look:  (.+)
action setvariable look - when ^Look:  You see nothing unusual\.$
action setvariable look - when ^You see nothing unusual\.$
action setvariable read $1 when ^Read:\s+(.+)$
action setvariable typefunction tack when ^This is specifically designed to be worn by a horse\.$
action setvariable special tack when ^This is specifically designed to be worn by a horse\.$
action setvariable typecon container when ^The .+ (are|is) a container, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) a container\.$
action setvariable typecon container when ^The .+ (are|is) pocketed, and can be opened and closed\.$
action setvariable typecon container when ^The .+ (are|is) pocketed\.$
action setvariable typecon container when ^The gem pouch is made for easy storage of gems
action setvariable typeguild trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable special trader style when ^The .+ (are|is) obviously a specially made item\.$
action setvariable wearloc $2 when ^It appears that .+ can be worn (around|in|on) the (.+)\.$
action setvariable wearloc $1 when ^It appears that .+ can be draped over the (.+)\.$
action setvariable wearloc generic when ^It appears that .+ can be worn\.$
action setvariable wearloc belt when ^It appears that .+ can be worn attached to a belt\.$
action setvariable wearloc belt when ^The gem pouch is made for easy storage of gems
action setvariable wearloc ear when ^It appears that .+ can be worn in one ear
action setvariable wearloc ears when ^It appears that .+ can be worn in both ears
action setvariable wearloc hair (placed) when ^It appears that .+ can be worn in the hair\.$
action setvariable wearloc pants when ^It appears that .+ can be worn like pants or a skirt\.$
action setvariable wearloc shirt (with armor) when ^It appears that .+ can be worn as a shirt or robe, even with armor\.$
action setvariable wearloc shirt (without armor) when ^It appears that .+ can be worn like a shirt or robe\.$
action setvariable wearloc shoulder when ^It appears that .+ can be slung over one shoulder\.$
action setvariable wearloc upper arm when ^It appears that .+ can be worn on the upper ?arm\.$
action setvariable weight $1 when ^You are certain that .+ weighs exactly (\d+) (stones?)\.$
action setvariable lsize $1;setvariable wsize $2;setvariable hsize $3 when ^You compare your .+ with the .+ yardstick several times and are certain the length measures (.+) spans?, the width measures (.+) spans? and the height measures (.+) spans?\.$
action setvariable ilsize $1;setvariable iwsize $2;setvariable ihsize $3;setvariable csize $4 when ^You compare your .+ with the .+ yardstick several times and are certain the interior length measures (.+) spans?, the interior width measures (.+) spans?, the interior height measures (.+) spans? and the .+ appears capable of holding about (\d+) stones of weight\.$
action setvariable appcostk $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:kronars)\.$
action setvariable appcostk 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:kronar)\.$
action setvariable appcostk 0 when ^You are certain that .+ (is|are) worth exactly nothing\.$
action setvariable appcostk - when ^There doesn't appear to be anything in the gem pouch\.$
action setvariable appcostk - when is made for easy storage of gems, and is used by gemshops everywhere to handle bulk transactions\.$
action setvariable appcostl $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:lirums)\.$
action setvariable appcostl 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:lirum)\.$
action setvariable appcostd $2 when ^You are certain that .+ (is|are) worth exactly (\d+) (?i:dokoras)\.$
action setvariable appcostd 1 when ^You are certain that .+ (is|are) worth exactly 1 (?i:dokora)\.$
action setvariable costi $1 when ^Cost:  (\d+)
action setvariable maxcharge $1 when ^You are certain that the .+ holds? exactly (\d+) mana\.$
action setvariable metal yes when ^The .+ (is|are) made with metal\.$

action setvariable wtype1 LE;setvariable wtypename1 light edged;setvariable wskill1 small edged when (is a|are a|and) light edged .+ weapon
action setvariable wtype1 ME;setvariable wtypename1 medium edged;setvariable wskill1 small edged when (is a|are a|and) medium edged .+ weapon
action setvariable wtype1 HE;setvariable wtypename1 heavy edged;setvariable wskill1 large edged when (is a|are a|and) heavy edged .+ weapon
action setvariable wtype1 2HE;setvariable wtypename1 two-handed edged;setvariable wskill1 twohanded edged when (is a|are a|and) two-handed edged .+ weapon
action setvariable wtype1 LB;setvariable wtypename1 light blunt;setvariable wskill1 small blunt when (is a|are a|and) light blunt .+ weapon
action setvariable wtype1 MB;setvariable wtypename1 medium blunt;setvariable wskill1 small blunt when (is a|are a|and) medium blunt .+ weapon
action setvariable wtype1 HB;setvariable wtypename1 heavy blunt;setvariable wskill1 large blunt when (is a|are a|and) heavy blunt .+ weapon
action setvariable wtype1 2HB;setvariable wtypename1 two-handed blunt;setvariable wskill1 twohanded blunt when (is a|are a|and) two-handed blunt .+ weapon
action setvariable wtype1 SL;setvariable wtypename1 sling;setvariable wskill1 slings when (is|are) a sling .+ weapon
action setvariable wtype1 StS;setvariable wtypename1 staff sling;setvariable wskill1 slings when (is|are) a staff sling .+ weapon
action setvariable wtype1 rock;setvariable wtypename1 sling ammo;setvariable wskill1 slings when ^This appears to be ammunition for slings\.$
action setvariable wtype1 SB;setvariable wtypename1 short bow;setvariable wskill1 bow when (is|are) a short bow .+ weapon
action setvariable wtype1 LoB;setvariable wtypename1 long bow;setvariable wskill1 bow when (is|are) a long bow .+ weapon
action setvariable wtype1 CB;setvariable wtypename1 composite bow;setvariable wskill1 bow when (is|are) a composite bow .+ weapon
action setvariable wtype1 arrow;setvariable wtypename1 bow ammo;setvariable wskill1 slings when ^This appears to be ammunition for bows\.$
action setvariable wtype1 LX;setvariable wtypename1 light crossbow;setvariable wskill1 crossbow when (is|are) a light crossbow .+ weapon
action setvariable wtype1 HX;setvariable wtypename1 heavy crossbow;setvariable wskill1 crossbow when (is|are) a heavy crossbow .+ weapon
action setvariable wtype1 bolt;setvariable wtypename1 crossbow ammo;setvariable wskill1 slings when ^This appears to be ammunition for crossbows\.$
action setvariable wtype1 SS;setvariable wtypename1 short staff;setvariable wskill1 staves when (is a|are a|and) short staff .+ weapon
action setvariable wtype1 QS;setvariable wtypename1 quarter staff;setvariable wskill1 staves when (is a|are a|and) quarter staff .+ weapon
action setvariable wtype1 PI;setvariable wtypename1 pike;setvariable wskill1 polearms when (is a|are a|and) pike .+ weapon
action setvariable wtype1 HAL;setvariable wtypename1 halberd;setvariable wskill1 polearms when (is a|are a|and) halberd .+ weapon
action setvariable wtype1 parry;setvariable wskill1 brawling when ^You are certain that the .+ is a purely defensive item\.$
action setvariable wtype1 elbows;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the elbows\.$
action setvariable wtype1 hands;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the hands\.$
action setvariable wtype1 knees;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the knees\.$
action setvariable wtype1 feet;setvariable wskill1 brawling when ^It appears that the .+ can be worn strapped to the feet\.$
action setvariable wtype2 LT;setvariable wtypename2 light thrown;setvariable wskill2 light thrown when (is|are) a light thrown and .+ weapon
action setvariable wtype2 HT;setvariable wtypename2 heavy thrown;setvariable wskill2 heavy thrown when (is|are) a heavy thrown and .+ weapon
action setvariable range melee when melee-ranged weapon
action setvariable range pole when pole-ranged weapon
action setvariable puncture $1 when ^\s+(.*) puncture damage
action setvariable slice $1 when ^\s+(.*) slice damage
action setvariable impact $1 when ^\s+(.*) impact damage
action setvariable fire $1 when ^\s+(.*) fire damage
action setvariable cold $1 when ^\s+(.*) cold damage
action setvariable electric $1 when ^\s+(.*) electric damage
action setvariable puncture quite a bit when ^\s+quite a bit of puncture damage
action setvariable slice quite a bit when ^\s+quite a bit of slice damage
action setvariable impact quite a bit when ^\s+quite a bit of impact damage
action setvariable fire quite a bit when ^\s+quite a bit of fire damage
action setvariable cold quite a bit when ^\s+quite a bit of cold damage
action setvariable electric quite a bit when ^\s+quite a bit of electric damage
action setvariable puncturetypename Yes when ^\s+(.*) puncture damage increase
action setvariable slicetypename Yes when ^\s+(.*) slice damage increase
action setvariable impacttypename Yes when ^\s+(.*) impact damage increase
action setvariable foi $1 when .+ is (.*) designed for improving the force of your attacks\.$
action setvariable balance $1 when .+ is (.*) balanced
action setvariable power $1 when .+ is (.*) suited
action setvariable drawstrength $1 when ^The .+ appears set for a draw strength that is (.+) for a bow of this type\.$
action setvariable adraw Yes when ^The .+ appears to have an adjustable draw strength\.$
action setvariable adraw No when ^The .+ does not appear to have an adjustable draw strength\.$

action setvariable stype lsh;setvariable stypename large when is large in size\.$
action setvariable stype msh;setvariable stypename medium when is medium in size\.$
action setvariable stype ssh;setvariable stypename small when is small in size\.$
action setvariable newshieldapp Yes when ^Your experience with shields allows a better appraisal of the protection capabilities\.$
action setvariable sprotection $1 when .+ offers (.*) protection
action setvariable smin $1 when ^You are certain that .+ offers (.*) to .+ protection\.
action setvariable smax $1 when ^You are certain that .+ offers .+ to (.*) protection\.
action setvariable shindrance $1 when .+ it imposes? (.*) maneuvering hindrance.

action setvariable atype plate armor when (is|are) plate armor\.$
action setvariable atype brigandine when (is|are) brigandine armor\.$
action setvariable atype chain armor when (is|are) chain armor\.$
action setvariable atype light armor when (is|are) light armor\.$
action setvariable abpuncture $1 when .+ \s(.*) for puncture attacks
action setvariable abslice $1 when .+ \s(.*) for slice attacks
action setvariable abimpact $1 when .+ \s(.*) for impact attacks
action setvariable abfire $1 when .+ \s(.*) for fire attacks
action setvariable abcold $1 when .+ \s(.*) for cold attacks
action setvariable abelectrical $1 when .+ \s(.*) for electrical attacks
action setvariable appuncture $1 when .+ \s(.*) protection and .+ damage absorption for puncture attacks
action setvariable apslice $1 when .+ \s(.*) protection and .+ damage absorption for slice attacks
action setvariable apimpact $1 when .+ \s(.*) protection and .+ damage absorption for impact attacks
action setvariable apfire $1 when .+ \s(.*) protection and .+ damage absorption for fire attacks
action setvariable apcold $1 when .+ \s(.*) protection and .+ damage absorption for cold attacks
action setvariable apelectrical $1 when .+ \s(.*) protection and .+ damage absorption for electrical attacks
action setvariable aapuncture $1 when .+ protection and (.*) damage absorption for puncture attacks
action setvariable aaslice $1 when .+ protection and (.*) damage absorption for slice attacks
action setvariable aaimpact $1 when .+ protection and (.*) damage absorption for impact attacks
action setvariable aafire $1 when .+ protection and (.*) damage absorption for fire attacks
action setvariable aacold $1 when .+ protection and (.*) damage absorption for cold attacks
action setvariable aaelectrical $1 when .+ protection and (.*) damage absorption for electrical attacks
action setvariable ahindrance $1 when .+ appears? to impose (.*), offering
action setvariable mhindrance $1 when .+ appears? to impose (.*) maneuvering hindrance and
action setvariable shindrance $1 when .+ appears? to impose .+ maneuvering hindrance and (.*) stealth hindrance
action setvariable ahead head when ^\s+head$
action setvariable aeyes eyes when ^\s+right eye$
action setvariable aneck neck when ^\s+neck$
action setvariable achest chest when ^\s+chest$
action setvariable aback back when ^\s+back$
action setvariable aabdomen abdomen when ^\s+abdomen$
action setvariable aarms arms when ^\s+right arm$
action setvariable aarms arms when ^\s+right front leg$
action setvariable alegs legs when ^\s+right leg$
action setvariable alegs legs when ^\s+right rear leg$
action setvariable ahands hands when ^\s+right hand$

action setvariable construction $2 when ^You are certain that the .+ (is|are) (.*) (and easily damaged|against damage|to damage)
action setvariable construction average construction when ^You are certain that the .+ (is|are) of average construction

put #echo
put #echo ITEM TYPE:
put #echo
put #echo 1:	Weapon: Melee/Thrown
put #echo
put #echo 2:	Weapon: Ranged
put #echo
put #echo 3:	Weapon: Ammunition
put #echo
put #echo 4:	Weapon: Brawling
put #echo
put #echo 5:	Weapon: Parry Stick
put #echo
put #echo 6:	Shield
put #echo
put #echo 7:	Armor/Barding
put #echo
put #echo 8:	Item
put #echo
put #echo Enter Type Number:

matchre WeaponApp1 ^1$
matchre WeaponApp2 ^2$
matchre WeaponApp3 ^3$
matchre WeaponApp4 ^4$
matchre WeaponApp5 ^5$
matchre ShieldApp ^6$
matchre ArmorApp ^7$
matchre ItemApp ^8$
matchre ItemApp ^9$
matchwait

WeaponApp1:
var number %numbers(%numbers.index)
gosub AppraiseWeapon1
goto end

WeaponApp2:
var number %numbers(%numbers.index)
gosub AppraiseWeapon2
goto end

WeaponApp3:
var number %numbers(%numbers.index)
gosub AppraiseWeapon3
goto end

WeaponApp4:
var number %numbers(%numbers.index)
gosub AppraiseWeapon4
goto end

WeaponApp5:
var number %numbers(%numbers.index)
gosub AppraiseWeapon5
goto end

ShieldApp:
var number %numbers(%numbers.index)
gosub AppraiseShield
goto end

ArmorApp:
var number %numbers(%numbers.index)
gosub AppraiseArmor
goto end

ItemApp:
var number %numbers(%numbers.index)
gosub AppraiseItem
goto end

AppraiseWeapon1:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |range=%range
put #echo |type=%wtype1
put #echo |type2=%wtype2
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=%foi
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (%weight stones)
put #echo note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |range=%range
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |type2=%wtype2
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon2:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |range=ranged
put #echo |ammo=%ammo
put #echo |ammocap=
put #echo |rangedRT=
put #echo |drawstrength=%drawstrength
put #echo |adraw=%adraw
put #echo |type=%wtype1
put #echo |puncture=-
put #echo |foi=%foi
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |range=ranged
put #log >Appraisal-$charactername.txt |ammo=%ammo
put #log >Appraisal-$charactername.txt |ammocap=
put #log >Appraisal-$charactername.txt |rangedRT=
put #log >Appraisal-$charactername.txt |drawstrength=%drawstrength
put #log >Appraisal-$charactername.txt |adraw=%adraw
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon3:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%2", "(arrows?)")) then var wtype1 arrow
if (matchre ("%2", "(bolts?|quadrellos?|quarrels?|pulzones?)")) then var wtype1 bolt
if (matchre ("%2", "(bullets?|clumps?|lumps?|pellets?|rocks?)")) then var wtype1 rock
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%wtype1
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=-
put #echo |balance=-
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |wearloc=%wearloc
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wtypename1 (x)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon4:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |brawl=yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%wtype1
put #echo |puncture=%puncture
put #echo |puncturetype=%puncturetype
put #echo |slice=%slice
put #echo |slicetype=%slicetype
put #echo |impact=%impact
put #echo |impacttype=%impacttype
put #echo |foi=%foi
put #echo |balance=-
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%wtypename1 (%weight stones)
put #echo note=%wtypename2/%wtypename1 (%weight stones)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%wtype1
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |puncturetype=%puncturetype
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |slicetype=%slicetype
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |impacttype=%impacttype
put #log >Appraisal-$charactername.txt |foi=%foi
put #log >Appraisal-$charactername.txt |balance=-
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (%wtype1)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseWeapon5:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #echo
put #echo {{Weapon
put #echo |brawl=yes
put #echo |name=%tap
put #echo |newapp2=Yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=parry
put #echo |puncture=-
put #echo |puncturetype=No
put #echo |slicetype=No
put #echo |impacttype=No
put #echo |foi=-
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo brawling (parry)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Weapon:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Weapon
put #log >Appraisal-$charactername.txt |brawl=yes
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newapp2=Yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=parry
put #log >Appraisal-$charactername.txt |puncture=-
put #log >Appraisal-$charactername.txt |puncturetype=No
put #log >Appraisal-$charactername.txt |slicetype=No
put #log >Appraisal-$charactername.txt |impacttype=No
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt brawling (parry)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseShield:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %newshieldapp = no then var smin NOTSET
if %newshieldapp = no then var smax NOTSET
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #echo
put #echo {{Shield
put #echo |newshieldapp=%newshieldapp
put #echo |name=%tap
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%stype
put #echo |hindrance=%shindrance
put #echo |minprotection=%smin
put #echo |maxprotection=%smax
put #echo |puncture=%puncture
put #echo |slice=%slice
put #echo |impact=%impact
put #echo |fire=%fire
put #echo |cold=%cold
put #echo |electric=%electric
put #echo |foi=-
put #echo |balance=%balance
put #echo |suitedness=%power
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Shield:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Shield
put #log >Appraisal-$charactername.txt |newshieldapp=%newshieldapp
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%stype
put #log >Appraisal-$charactername.txt |hindrance=%shindrance
put #log >Appraisal-$charactername.txt |minprotection=%smin
put #log >Appraisal-$charactername.txt |maxprotection=%smax
put #log >Appraisal-$charactername.txt |puncture=%puncture
put #log >Appraisal-$charactername.txt |slice=%slice
put #log >Appraisal-$charactername.txt |impact=%impact
put #log >Appraisal-$charactername.txt |fire=%fire
put #log >Appraisal-$charactername.txt |cold=%cold
put #log >Appraisal-$charactername.txt |electric=%electric
put #log >Appraisal-$charactername.txt |foi=-
put #log >Appraisal-$charactername.txt |balance=%balance
put #log >Appraisal-$charactername.txt |suitedness=%power
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%stypename (%shindrance hindrance)
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseArmor:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if %aapuncture = %aaslice && %aapuncture = %aaimpact && %aapuncture = %aafire && %aapuncture = %aacold && %aapuncture = %aaelectrical then var absorbance %aapuncture
gosub Tagset
gosub Specialset
gosub Itypeset

put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #echo
put #echo {{Armor
put #echo |name=%tap
put #echo |newarmorapp=Yes
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%atype
put #echo |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #echo |hindrance=%mhindrance
put #echo |stealth=%shindrance
put #echo |puncture=%appuncture
put #echo |slice=%apslice
put #echo |impact=%apimpact
put #echo |fire=%apfire
put #echo |cold=%apcold
put #echo |electric=%apelectrical
put #echo |absorbance=%absorbance
put #echo |punctureab=%aapuncture
put #echo |sliceab=%aaslice
put #echo |impactab=%aaimpact
put #echo |fireab=%aafire
put #echo |coldab=%aacold
put #echo |electricab=%aaelectrical
put #echo |construction=%construction
put #echo |metal=%metal
put #echo |appcost=%appcost
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |special=%special
put #echo |itype=%itype
put #echo }}
put #echo note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Armor:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Armor
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |newarmorapp=Yes
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%atype
put #log >Appraisal-$charactername.txt |area=%ahead, %aeyes, %aneck, %achest, %aback, %aabdomen, %aarms, %alegs, %ahands
put #log >Appraisal-$charactername.txt |hindrance=%mhindrance
put #log >Appraisal-$charactername.txt |stealth=%shindrance
put #log >Appraisal-$charactername.txt |puncture=%appuncture
put #log >Appraisal-$charactername.txt |slice=%apslice
put #log >Appraisal-$charactername.txt |impact=%apimpact
put #log >Appraisal-$charactername.txt |fire=%apfire
put #log >Appraisal-$charactername.txt |cold=%apcold
put #log >Appraisal-$charactername.txt |electric=%apelectrical
put #log >Appraisal-$charactername.txt |absorbance=%absorbance
put #log >Appraisal-$charactername.txt |punctureab=%aapuncture
put #log >Appraisal-$charactername.txt |sliceab=%aaslice
put #log >Appraisal-$charactername.txt |impactab=%aaimpact
put #log >Appraisal-$charactername.txt |fireab=%aafire
put #log >Appraisal-$charactername.txt |coldab=%aacold
put #log >Appraisal-$charactername.txt |electricab=%aaelectrical
put #log >Appraisal-$charactername.txt |construction=%construction
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |special=%special
put #log >Appraisal-$charactername.txt |itype=%itype
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%atype: %ahead/%aeyes/%aneck/%achest/%aback/%aabdomen/%aarms/%alegs/%ahands
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

AppraiseItem:
gosub VarBlank
pause 1
send appraise %1 %2 careful
wait
pause .5
if %appcostl > 0 then evalmath appcostk floor(%appcostl/0.8)
if %appcostd > 0 then evalmath appcostk round(%appcostd/0.7216)
if %appcostk > 0 then gosub CommaAppcost
if %appcostk > 0 then gosub CommaCost
if %appcostk = 0 then var appcost 0
if (matchre ("%wtype1", "(SB|LoB|CB)")) then var ammo arrow
if (matchre ("%wtype1", "(LX|HX)")) then var ammo bolt
if (matchre ("%wtype1", "(SL|StS)")) then var ammo rock
if (matchre ("%wtype1", "(LT|HT)")) then var ammo thrown
gosub Tagset
gosub Typeset
put #echo Date: $date $time ($roomname)
put #echo https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #echo
put #echo {{Item
put #echo |name=%tap
put #echo |noun=%2
put #echo |look=%look
put #echo <br />'''Read''': %read
put #echo |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #echo |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #echo |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #echo |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #echo |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #echo |wearloc=%wearloc
put #echo |weight=%weight
put #echo |lsize=%lsize
put #echo |wsize=%wsize
put #echo |hsize=%hsize
put #echo |ilsize=%ilsize
put #echo |iwsize=%iwsize
put #echo |ihsize=%ihsize
put #echo |csize=%csize
put #echo |appcost=%appcost
put #echo |sourcetype=-
put #echo |fname=No
put #echo |maxcharge=%maxcharge
put #echo |metal=%metal
put #echo }}
put #echo note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt Date: $date $time ($roomname)
put #log >Appraisal-$charactername.txt https://elanthipedia.play.net/index.php?title=Item:%tap&action=edit
put #log >Appraisal-$charactername.txt {{Item
put #log >Appraisal-$charactername.txt |name=%tap
put #log >Appraisal-$charactername.txt |noun=%2
put #log >Appraisal-$charactername.txt |look=%look
put #log >Appraisal-$charactername.txt <br />'''Read''': %read
put #log >Appraisal-$charactername.txt |MTag=%mtags, %mtagm, %mtagf, %mtagg, %mtagw
put #log >Appraisal-$charactername.txt |CTag=%ctagr, %ctago, %ctagt, %ctagy, %ctagg, %ctagb, %ctagv, %ctagn, %ctagm, %ctagx
put #log >Appraisal-$charactername.txt |STag=%stagg, %stagp, %stagr, %stage, %staga, %stagh, %stagl
put #log >Appraisal-$charactername.txt |ATag=%amtags, %amtagm, %amtagf, %amtagg, %amtagw, %actagr, %actago, %actagt, %actagy, %actagg, %actagb, %actagv, %actagn, %actagm, %actagx, %astagg, %astagp, %astagr, %astage, %astaga, %astagh, %astagl
put #log >Appraisal-$charactername.txt |type=%typefunction, %typecon, %typemagic, %typeguild, %typerace
put #log >Appraisal-$charactername.txt |wearloc=%wearloc
put #log >Appraisal-$charactername.txt |weight=%weight
put #log >Appraisal-$charactername.txt |lsize=%lsize
put #log >Appraisal-$charactername.txt |wsize=%wsize
put #log >Appraisal-$charactername.txt |hsize=%hsize
put #log >Appraisal-$charactername.txt |ilsize=%ilsize
put #log >Appraisal-$charactername.txt |iwsize=%iwsize
put #log >Appraisal-$charactername.txt |ihsize=%ihsize
put #log >Appraisal-$charactername.txt |csize=%csize
put #log >Appraisal-$charactername.txt |appcost=%appcost
put #log >Appraisal-$charactername.txt |sourcetype=-
put #log >Appraisal-$charactername.txt |fname=No
put #log >Appraisal-$charactername.txt |maxcharge=%maxcharge
put #log >Appraisal-$charactername.txt |metal=%metal
put #log >Appraisal-$charactername.txt }}
put #log >Appraisal-$charactername.txt
put #log >Appraisal-$charactername.txt note=%wearloc: holds %maxcharge mana
put #log >Appraisal-$charactername.txt
gosub verbcheck
return

VarBlank:
var metal no
var maxcharge DELETE THIS LINE
var wearloc -
var lsize NOTSET
var wsize NOTSET
var hsize NOTSET
var ilsize DELETE
var iwsize DELETE
var ihsize DELETE
var csize DELETE
var appcost NOTSET
var mtags DELETE
var mtagg DELETE
var mtagm DELETE
var mtagw DELETE
var mtagf DELETE
var ctagr DELETE
var ctago DELETE
var ctagt DELETE
var ctagy DELETE
var ctagg DELETE
var ctagb DELETE
var ctagv DELETE
var ctagn DELETE
var ctagm DELETE
var ctagx DELETE
var stagp DELETE
var stagg DELETE
var staga DELETE
var stagh DELETE
var stage DELETE
var stagr DELETE
var stagl DELETE
var amtags DELETE
var amtagm DELETE
var amtagf DELETE
var amtagg DELETE
var amtagw DELETE
var actagr DELETE
var actago DELETE
var actagt DELETE
var actagy DELETE
var actagg DELETE
var actagb DELETE
var actagv DELETE
var actagn DELETE
var actagm DELETE
var actagx DELETE
var astagg DELETE
var astagp DELETE
var astagr DELETE
var astage DELETE
var astaga DELETE
var astagh DELETE
var astagl DELETE
var wtype2 NOTSET
var puncturetype No
var slicetype No
var impacttype No
var absorbance VALUES NOT EQUAL
var ahead DELETE
var aeyes DELETE
var aneck DELETE
var achest DELETE
var aback DELETE
var aabdomen DELETE
var aarms DELETE
var alegs DELETE
var ahands DELETE
var construction NOTSET
var typefunction -
var typecon DELETE
var typemagic DELETE
var typeguild DELETE
var typerace DELETE
var special NOTSET
var itype NOTSET
return

Tagset:
if (matchre ("%look", "(asketine|avaes|celstite|chakrel|dhhresh|hafaltu|iheaneu'?a|imnera|indakar|ithridu|keismin|lemicule|negnetha|soulstone|sraeth|xibaryl|zengalmi)")) then var mtags $1
if (matchre ("%look", "(aluminum|animite|anlora[- ]avtoma|audrualm|\bbrass\b|chrome|covellite|Damascus steel|damite|darkstone|electrum|Elven silver|gilded|glaes|(black|blighted|blue|crown|Elven green|grey|pink|purple|rose|white|yellow) \bgold\b|haralun|hepatizon|icesteel|ilmenite|iridium|(?<!wrought )\biron\b|ithridu|kadepa|keismin|kertig|lumium|mithril|moen takibena|moonsilver|muracite|negnetha|nickel|niello|niniam|oravir|orichalcum|palladium|pewter|rencate|silver[- ]gilt|silversteel|spangold|sungold|(?<!watered )\bsteel\b|tantalum|\btin\b|titanium|tyrium|vardite|verdigris copper|watered steel|windsteel|wrought iron|\bzinc\b)")) then var mtagm $1
if (matchre ("%look", "([cs]endal|angora|armure|arzumodine|\bbast\b|\bbatik\b|batiste|bison[- ]hide|boar[- ]hide|bombazine|bourde|broadcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)brocade|buckskin|burlap|camlet|canvas|cashmere|chainse|chainsil|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)chiffon|\bcire\b|cloth[- ]of[- ]gold|cloth[- ]of[- ]silver|(?<!lipka )cotton|cowhide|cr[ae]pe|crinoline|cuirbouilli|damask|deerskin|dergatine|diamond[- ]hide|doeskin|dragonar|eolienne|\bfaille\b|farandine|\bfelt\b|flannel|\bflax\b|fleece|gabardine|gauze|gingham|gold[- ]weave|grogram|grosgrain|haircloth|\bhemp\b|horsehair|ialalhe|imperial weave|jaalmin |jacquard|\bjaspe\b|\bjute\b|khaddar|khaki|khiynit|kidskin|lambskin|leather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blinen\b|longcloth|muslin|oilcloth|oilskin|onyx[- ]hide|petalette|ramshorn|rawhide|rosecloth|ruazen|sackcloth|sailcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsamite\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsatin\b|scalene |seersucker|\bserge\b|\bshagreen\b|sharkskin|sheepskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsilk\b|silver[- ]weave|silveress|snakeskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)snowlace|spun glitter |straw|suede|taffeta|thornweave|titanese|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\btulle\b|turbaurs|tweed|\btwine\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bvelvet\b|velveteen|voile|whisperlayne|whitleather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bwool\b|woolen|worsted|zenganne|zibeline|(blood|bluefire|dragonfire|duchess|duponi|Elothean|Elven|fae woven|faeweave|fire|gemfire|ice|lava|lipka|marble|moon|moonspun|Musparan|night|night[rw]eaver|nightstalker|oceanmist|ruaz[ei]n|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin) (brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool))")) then var mtagf $1
if (matchre ("%look", "((cat'?s?|hawk'?s?|tiger'?s?) eye|(?<!(dragonvein) )agates?|(?<!(orchid|viperscale) )alexandrite|almiris|alshabi stone|ambergris|amlothite|andalusite|anloral|anthracite|arkose|aurora opal|axinite|azurite|basalt|\bberyls?\b|bleeding heart jade|bloodgem|calav[ae]rite|ceramic|chalcedon(y|ies)|\bchalk\b|charoite|chrysoberyl|chrysoprase|cinnabar|(?<!volcano'?s heart )citrine|\bclays?\b|cloudstone|\bcoal\b|\bcorals?\b|\bcrystals?\b|crystalline dragon tear|dawgolite|(?<!(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) )diamond(?!ique)|diamondique|diopside|diorite|dolomite|dragonfire amber|Drogor's Wrath sapphire|durgauldite|dwalgim|elanthite|elbaite|\beldrings?\b|Enelne's eye|er'?qutrite|erythraean|erythrite|estrildite|feldspar|\bflint\b|fool's gold|(?<!(bloodmist|forest'?s heart|nimbus) )garnet|\bglass\b|gneiss|granite|grazhite|Hav'?roth'?s ambrosia|hematite|iahja|ilmenite|iolite|ismenite|jadeite|(?<!(autumn|ocean|spiderweb|wild horse) )jasper|kaolinite|katamba'?s spire|katambite|kunzite|kyanite|lantholite|larimar|lasmodi|(?<!(Hekemhhg|lapis) )lazuli|malachite|\bmarble\b|merewaldite|mistglass|morganite|morleenite|\bnacres?\b|neitrice|obsidian|olivine|(?<!(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) )\bopals?\b|(?<!(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) )\bpearls?\b|penhetite|peridot|porcelain|porphyry|pumice|pyrite|quartz|rhodochrosite|rhodonite|sana'?ati heart|scheelite|schist|scrimshaw|sea[- ]glass|selenite|\bsenci\b|\bshale\b|sjatmal|sodalite|\bspinels?\b|spiritgem|svelae|szeldite|tanzanite|(?<!(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) )topaz|(?<!(aurora|vela'?tohr) )tourmaline|tsavorite|ulhari prism|verenite|volcano'?s heart citrine|waermodi|wulfenite|xibarite|yavasite|yoakenite|zircon|(orchid|viperscale) alexandrite|(lightning|violet'?s heart) amethyst|(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) diamond|(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) emerald|(bloodmist|forest'?s heart|nimbus) garnet|(autumn|ocean|spiderweb|wild horse) jasper|(Hekemhhg|lapis) lazuli|(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) opal|(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) pearl|(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) rub(y|ies)|(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) sapphire|(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) topaz|(aurora|vela'?tohr) tourmaline)")) then var mtagg $1
if (matchre ("%look", "(\w+-stone)")) then var mtagg $1
if (matchre ("%look", "(\w+stone)")) then var mtagg $1
if (matchre ("%look", "(\bwooden\b|\bpaper\b|acacia|acanth|adderwood|aganylosh'?a|\balder\b|alerce|\baspen\b|\bbalsa\b|bamboo|basswood|\bbeech\b|(?<!curly )\bbirch\b|black ironwood|black maple|black walnut|black willow|blackwood|bloodwood|boxwood|bricklebranch|burlwood|\bcedar\b|cherrywood|cocobolo|copperleaf|copperwood|\bcork\b|curly birch|cypress|deobar|desert palm|diamondwood|dogwood|dragonwood|driftwood|e'?erdream|ebonwood|\belm\b|eucalyptus|\bfir\b|fishtail oak|flamethorn|flamewood|fruitwood|gethwood|glitvire|gloomwood|goldbark|goldenoak|halmik|\bhaon\b|hawthorn|hhr'?lav'?geluhh|hickory|huljik|Ilithian cedar|iroko|ironwood|juniper|khor'?vela|khor-?vela|lacewood|lemonwood|linden|linwood|\blunat\b|(?<!(black|silver) )\bmaple\b|mikkhalbamar|mistwood|modwir|(?<!(fishtail|golden) )\boak\b|\bosage\b|palmwood|papyrus|parchment|pearwood|\bpine\b|plumwood|poplar|pozumshi|purpleheart|redwood|\breed\b|rosewood|\browan\b|sana'?ati|sandalwood|sanrisi|satinwood|\bshaal\b|silver maple|silverwillow|silverwood|smokewood|\bspruce\b|taborwood|tamboti|\bteak\b|tulvora|\bvedda\b|vellum|(?<!black )walnut|white ironwood|whitethorn|wiirwood|(?<!(black|silver) )\bwillow\b|witchclaw|wyndewood|\byew\b|zingana|zulnatha)")) then var mtagw $1, wood
if (matchre ("%look", "(\w+-wood)")) then var mtagw $1, wood
if (matchre ("%look", "(\w+wood)")) then var mtagw $1, wood
if (matchre ("%look", "(\bgods?\b|Immortal|Alamhif|Albreda|Aldauth|Aliesa|Aniek|Asketi|Be'?ort|Bereng[ae]ria|Botolf|Chadatru|Coshivi|Damaris|Demrris|Dergati|Divyaush|Drogor|Eerayn|Eimeuz|Elide|Eluned|Enelne|\bEu\b|Everild|Eylhaar|Faenella|Faiyka|Firulf|Gizzbolf|Glacis|Glythtide|Harawep|Hav'?roth|Hodierna|Huldah|\bIdon\b|Iladza|Issendar|Kerenhappuch|Kertigen|Kirmhara|Krigglin|Kuniyo|Lemicus|Meraud|Merion|Misiumos|\bMrod\b|Murrula|Orisas|Peri'?el|Phelim|Rutilor|Saemaus|Shariza|Sieben|Sildua|Spangklud|Sraxaec|Tamsine|Tenemlor|Thirteen|Tieheq|Triquetra|Trothfang|Truffenyi|Urrem'?tier|Ushnish|World Dragon|Xosiurion|Zachriedek)")) then var stagg $1
if (matchre ("%look", "(acolyte|adventurer|alchemist|amazon|apothecary|\barchers?\b|armorsmith|assassin|bandit|Barbarian|\bBards?\b|barmaid|bartender|beggar|blacksmith|blasphemer|bowm[ae]n|\bbrewers?\b|brigand|buccaneer|burglar|captain|celebrant|champion|\bchefe?s?\b|citizen|clergy|clergy(man|clergy(man|woman)|Cleric|combatant|commoner|convict|criminal|dancer|diviner|doctor|druid|duelist|ecclesiastic|elemancer|elementalist|embalmer|Empath|enchanter|enchantress|engineer|executioner|farmer|felon|fencer|forester|gladiator|hangm[ae]n|healer|herald|heretic|\bheroe?s?\b|hierophant|highwaym[ae]n|historian|hunter|huntsm[ae]n|Inquisitor|inquisitress|\bjudges?\b|justiciar|knight|locksmith|lumberjack|\bmages?\b|marshal|martyr|mastermind|\bmedics?\b|medicine (m[ae]n|medicine (m[ae]n|wom[ae]n)|merchant|messenger|minister|minstrel|\bmonks?\b|Moon Mage|mortician|musician|mystic|navigator|Necromancer|nurse|outlaw|Paladin|pastor|peddler|philosopher|physician|pilgrim|pirate|\bpoets?\b|preacher|priest|prisoner|prophet|psychic|Ranger|researcher|rogue|\bsages?\b|sailor|scholar|\bseers?\b|sham[ae]n|shepherd|smuggler|sniper|soldier|spiritualist|surgeon|swashbuckler|Thief|Thieves|Trader|travell?er|undertaker|urchin|villager|villain|warrior|Warrior Mage|weaponsmith|weaver|\bwitche?s?\b|witche?|wizard|wom[ae]n)|woman)|woodcutter|woodsm[ae]n)")) then var stagp $1
if (matchre ("%look", "(Adan'?f|Dwarf|Dwarves|\bElfs?\b|Elothean (?!(lace|silk))|Elven (?!(lace|silk|silver))|\bElves\b|Gnome|Gor'?Tog|Gorbesh|Halfling|Human|Kaldar|Lohogi'?hhs'?ur|Lohogi'?tel'?tegreis|\bm[ae]n\b|mer-?(folk|m[ae]n|people|wom[ae]n)|Ocular|\bOlvis?\b|Olvis?|\bpeople\b|Prydaen|Rakash|S'?[Kk]ra ?Mur|S'?[Kk]ra'?ur|\bwom[ae]n\b)")) then var stagr $1
if (matchre ("%look", "(\ba?ether\b|\bearth\b|electricity|\bfires?\b|\bflames?\b|\bice\b|inferno|lightning|\bpyre\b|\bsnow\b|snowflake|thunder|water|\bair\b)")) then var stage $1
if (matchre ("%look", "(aardvark|adder|albatross|alfar|alligator|alpaca|alphyn|anchovy|antelope|antler|\bapes?\b|apparition|arachnid|armadillo|\bass\b|aurochs|badger|bagwyn|banshee|barnacle|barracuda|basilisk|\bbats?\b|\bbears?\b|\bbeasts?\b|beaver|\bbees?\b|beetle|behemoth|bird|black widow|blackbird|bloodworm|blue ?jay|boggart|boobrie|buffalo|\bbulls?\b|bumble ?bee|burro|bustard|butterflies|butterfly|buzzard|calopus|camel|camelopard|canary|capybara|caracal|\bcats?\b|caterpillar|cattle|celpeze|centaur|centipede|chameleon|cheetah|chimera|chimpanzee|chinchilla|chipmunk|cicada|civet|\bclams?\b|cobra|cockatrice|cockroach|collie|condor|coney|cottontail|cougar|\bcows?\b|coyote|\bcrabs?\b|crane|cricket|\bcrows?\b|curlew|damselfly|demon|\bdevils?\b|\bdingos?\b|\bdogs?\b|dolphin|donkey|\bdoves?\b|\bdragons?\b|dragonfly|dryad|duck|eagle|echidna|\beels?\b|elephant|\belk\b|\bewes?\b|\bfae\b|fairy|falcon|\bfauns?\b|ferret|fiend|\bfinchs?\b|fish|\bfleas?\b|flounder|\bfox\b|\bfrog\b|gazelle|gecko|genie|gerbil|\bghosts?\b|\bghouls?\b|gidii|giraffe|goat|goblin|goose|gopher|gorilla|goshawk|gr[iy]ff[io]n|gr[iy]ph[io]n|grasshopper|greyhound|groundhog|grouse|guinea pig|hamster|\bhares?\b|harpy|\bhawks?\b|hedgehog|heron|\bherring\b|hinny|hippocamp|hippogr[iy]ff|hippogr[iy]ph|\bhogs?\b|honey ?bee|hornet|horse|hound|hydra|hyena|\bibexs?\b|iguana|\bimps?\b|impala|inkhorne|insect|jackal|jaguar|kangaroo|katydid|kelpie|kestrel|king ?snake|kingfisher|kirin|kitten|kobold|ladybug|\blamb\b|\blarks?\b|lemming|lemur|leopard|\blions?\b|lioness|lizard|llama|lobster|locust|\blynxs?\b|maggot|magpie|manatee|manta ray|manticore|mantis|marmot|marten|martlet|mastiff|meerkat|merelew|mermaid|merman|\bminks?\b|minnow|minotaur|mockingbird|mongoose|monkey|moose|mosquito|\bmoth\b|mouflon|mountain lion|mouse|\bmules?\b|musimon|muskox|nightingale|\bnyads?\b|ocelot|octopus|onager|opossum|osprey|ostrich|\botters?\b|\bowls?\b|\boxe?n?\b|panther|parakeet|parrot|partridge|peacock|pegasus|pelican|pheasant|phoenix|\bpigs?\b|pigeon|pika|platypus|polecat|popinjay|porcupine|possum|prairie ?dog|prawn|primate|puma|puppy|python|quail|rabbit|raccoon|raptor|\brats?\b|raven|reindeer|remora|rhinoceros|robin|rooster|salamander|sardine|satyr|scarab|scorpion|seagull|selkie|serpent|shrew|shrike|shrimp|skeleton|\bskulls?\b|snail|snowbeast|sparrow|specter|sphinx|\bspiders?\b|\bspirits?\b|springbok|\bsprites?\b|squirrel|\bstags?\b|starling|stoat|stork|sturgeon|swallow|\bswans?\b|swine|swordfish|talbot|tarantula|termite|terrapin|thrush|\btigers?\b|tityrus|\btoads?\b|tortoise|toucan|trout|turkey|turtle|undead|unicorn|viper|vole|vulture|walrus|weasel|welkin|werewolf|whale|wildcat|winged horse|\bwolfs?\b|wolverine|woodchuck|wraith|wren|wyvern|\byaks?\b|\byales?\b|zebra|zombie)")) then var staga $1
if (matchre ("%look", "(aevaes|\baloe\b|belladonna|blocil|\bcebi\b|Datura|draconeaia|eghmok|foxglove|genich|georin|glaysker|hemlock|hisan|hulij|hulnik|ithor|jadice|junliar|lujeakave|muljin|nemoih|nightshade|nilos|nuloe|ojhenik|plovik|\bquns?\b|riolur|sufil|yelith)")) then var stagh $1
if (matchre ("%look", "(\bAesry\b|Aesry Surlaenis'?a|Ain Ghazal|Amlothi|Arthe Dale|bayou|Belarritaco|Boar Clan|\bbogs?\b|canyon|Chyolvea Tayeu'?a|comet|constellation|Crossing|Dawgolesh|Dirge|Durgaulda|El'?Bain'?s|Elanthia|Empire|Er'?qutra|Estrilda|Faldesu|Fayrin'?s Rest|\bfens?\b|Forfedhdar|Fornsted|grassland|Grazhir|Gwenalion|Hara'?jaal|Hekemhhg|Hibarnhvidar|iceberg|Ilaya Taipa|Ilithi(?! emerald)|Irasushen|\bislands?\b|Ismenia|Jantspyre|jungle|Kaerna Village|\bKatamba\b|Kermoria|Knife Clan|\blakes?\b|Langenfirth|Leth Deriel|M'?Riss|\bmarshe?s?\b|meadow|Mer'?Kresh|Merewalda|\bmoons?\b|morass|Morleena|mountain|Muspar'?i|Nenav Dalar|Oxenwaithe|Penhetia|Pi'?Qanah|\bplanets?\b|prairie|Qi'?Reshalia|quagmire|rainforest|Ratamipak|\bRatha\b|Raven'?s Point|\bReshal\b|Reshalia|\brivers?\b|Riverhaven|Rossman'?s Landing|Sarasunath|savanna|Sawstwar|Segoltha|Shamilho|\bShard\b|shrubland|Siksraja|Steelclaw Clan|steppe|Stone Clan|\bsuns?\b|sunburst|Surlaenis|swamp|Szeldia|taiga|Taisgath|The Crossing|Therenborough|Therengia|Throne City|Tiger Clan|tundra|Velaka|Verena|volcano|wetland|Wolf Clan|woodland|\bXibar\b|Yavash|Yoakena|Zaulfung|Zhamikhh|Zoluren)")) then var stagl $1
if (matchre ("%look", "((?i:crest of the (Barbarians?'?|Barbarian'?s?) Guild|(Barbarians?'?|Barbarian'?s?) Guild crest))")) then var stagp crest of the barbarians' guild
if (matchre ("%look", "((?i:crest of the (Bards?'?|Bard'?s?) Guild|(Bards?'?|Bard'?s?) Guild crest))")) then var stagp crest of the bards' guild
if (matchre ("%look", "((?i:crest of the (Clerics?'?|Cleric'?s?) Guild|(Clerics?'?|Cleric'?s?) Guild crest))")) then var stagp crest of the clerics' guild
if (matchre ("%look", "((?i:crest of the (Empaths?'?|Empath'?s?) Guild|(Empaths?'?|Empath'?s?) Guild crest))")) then var stagp crest of the empaths' guild
if (matchre ("%look", "((?i:crest of the (Moon ?Mages?'?|Moon ?Mage'?s?) Guild|(Moon ?Mages?'?|Moon ?Mage'?s?) Guild crest))")) then var stagp crest of the moon mages' guild
if (matchre ("%look", "((?i:crest of the (Necromancers?'?|Necromancer'?s?) Guild|(Necromancers?'?|Necromancer'?s?) Guild crest))")) then var stagp crest of the necromancers' guild
if (matchre ("%look", "((?i:crest of the (Paladins?'?|Paladin'?s?) Guild|(Paladins?'?|Paladin'?s?) Guild crest))")) then var stagp crest of the paladins' guild
if (matchre ("%look", "((?i:crest of the (Rangers?'?|Ranger'?s?) Guild|(Rangers?'?|Ranger'?s?) Guild crest))")) then var stagp crest of the rangers' guild
if (matchre ("%look", "((?i:crest of the (Thiefs?'?|Thief'?s?|Thieves'?) Guild|(Thiefs?'?|Thief'?s?|Thieves'?) Guild crest))")) then var stagp crest of the thieves' guild
if (matchre ("%look", "((?i:crest of the (Traders?'?|Trader'?s?) Guild|(Traders?'?|Trader'?s?) Guild crest))")) then var stagp crest of the traders' guild
if (matchre ("%look", "((?i:crest of the (Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild|(Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild crest))")) then var stagp crest of the warrior mages' guild
if (matchre ("%look", "((\w+)(?=[- ](colored|highlighted|hued|tinted|toned)))")) then var ctagx $1
if (matchre ("%look", "((\bred\b|amaranth|auburn|blood red|burgundy|carmine|cerise|claret|coquelicot|crimson|gules|haematic|incarnadine|magenta|maroon|murrey|orange red|\bpink\b|\breddish\b|\brosy\b|rubiginose|rubiginous|ruddy|sanguine|scarlet|vermilion|vinaceous)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagr $1, red
if (matchre ("%look", "((\borange\b|fiery|\bpeach\b|persimmon|red orange|reddish orange|tangerine|yellow orange)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctago $1, orange
if (matchre ("%look", "((\bbrown\b|ochre|russet|sepia|sienna|\bsorrel\b|\btan\b|tawny|tenne|\bumber\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagt $1, brown
if (matchre ("%look", "((\byellow\b|aurulent|champagne|\becru\b|flaxen|green yellow|jonquil|lemon|saffron|xanthic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagy $1, yellow
if (matchre ("%look", "((\bgreen\b|asparagus|blue green|celadon|chartreuse|\blime\b|olivaceous|olive drab|smalt|\bvert\b|viridian|yellow green)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagg $1, green
if (matchre ("%look", "((\bblue\b|azure|bluish|\bceil\b|cerulean|cobalt|\bcyan\b|cyaneous|indigo|\bteal\b|ultramarine)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagb $1, blue
if (matchre ("%look", "((\bpurple\b|aubergine|eggplant|fuchsia|lavender|lilac|mauve|orchid|periwinkle|\bpuce\b|purplish|purpure|red violet|violescent)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagv $1, purple
if (matchre ("%look", "((\bblack\b|\bgr[ae]y\b|white|argent|arsenic|\bashen\b|beige|camouflage|cinereous|colorless|\bcream\b|\bebon\b|eggshell|eisen|feldgrau|glaucous|pellucid|\bsable\b|taupe\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagn $1, grey
if (matchre ("%look", "((rainbow|iridescent|pavonine|polychromatic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagm $1, rainbow
if (matchre ("%look", "((\w+)-\bred\b)")) then var ctagr $1, $2, red
if (matchre ("%look", "((\w+)-\borange\b)")) then var ctago $1, $2, orange
if (matchre ("%look", "((\w+)-\bbrown\b)")) then var ctagt $1, $2, brown
if (matchre ("%look", "((\w+)-\byellow\b)")) then var $1, $2, yellow
if (matchre ("%look", "((\w+)-\bgreen\b)")) then var ctagg $1, $2, green
if (matchre ("%look", "((\w+)-\bblue\b)")) then var ctagb $1, $2, blue
if (matchre ("%look", "((\w+)-\b(purple|violet)\b)")) then var ctagv $1, $2, purple
if (matchre ("%look", "((\w+)-\bblack\b)")) then var ctagn $1, $2, black
if (matchre ("%look", "((\w+)-\bwhite\b)")) then var ctagn $1, $2, white
if (matchre ("%look", "((\w+)-\bgr[ae]y\b)")) then var ctagn $1, $2, grey
if (matchre ("%look", "(bronze|\bcoal\b|(?<!verdigris )\bcopper\b|(?<!(black|blighted|blue|crown|Elven|fool's|green|grey|pink|purple|red|rose|white|yellow) |cloth[- ]of[- ])\bgold\b|\blead\b|platinum|(?<!Elven |cloth[- ]of[- ])\bsilver\b)")) then var amtagm $1
if (matchre ("%look", "(\bermine\b|feather|\bfur\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)gossamer|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blace\b)")) then var amtagf $1
if (matchre ("%look", "(alabaster|(?<!dragonfire )\bamber\b|(?<!(lightning|violet'?s heart) )amethyst|aquamarine|\bbones?\b|carnelian|(?<!(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) )emerald|heliotrope|ivory|(?<!bleeding heart )\bjades?\b|\bonyxe?s?\b|(?<!(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) )\brub(y|ies)\b|(?<!(crimson|dalaeji black|dragon'?s scale|Drogor'?s Wrath|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) )sapphire|\bslate\b|turquoise)")) then var amtagg $1
if (matchre ("%look", "(\bapple\b|\bash\b|\bcherry\b|chestnut|\bebony\b|\belder\b|laurel|mahogany)")) then var amtagw $1
if (matchre ("%look", "(\belements?\b|\bwind\b)")) then var astage $1
if (matchre ("%look", "(bison|\bboars?\b|\bbucks?\b|cardinal|\bcocks?\b|crocodile|\bdeers?\b|\bdoe\b|ermine|flies|\bfly\b|leech|mammoth|oyster|\brams?\b|salmon|shark|sheep|\bsnakes?\b|\btrolls?\b|\bwasps?\b|\bwings?\b|yeehar)")) then var astaga $1
if (matchre ("%look", "(\bblooms?\b|\bblossoms?\b|\bbuds?\b|\bflorets?\b|\bflowers?\b|\bherbs?\b|\bvines?\b)")) then var astagh $1
if (matchre ("%look", "(\bdeserts?\b|forest(?![- ]green)|\boceans?\b|\bseas?\b|\bstars?\b)")) then var astagl $1
if (matchre ("%look", "((bronze|chestnut|copper)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagt $1
if (matchre ("%look", "(red gold(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagy $1
if (matchre ("%look", "((\bplum\b|thistle|\bviolet\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagv $1
if (matchre ("%tap", "(asketine|avaes|celstite|chakrel|dhhresh|hafaltu|iheaneu'?a|imnera|indakar|ithridu|keismin|lemicule|negnetha|soulstone|sraeth|xibaryl|zengalmi)")) then var mtags $1
if (matchre ("%tap", "(aluminum|animite|anlora[- ]avtoma|audrualm|\bbrass\b|chrome|covellite|Damascus steel|damite|darkstone|electrum|Elven silver|gilded|glaes|(black|blighted|blue|crown|Elven green|grey|pink|purple|rose|white|yellow) \bgold\b|haralun|hepatizon|icesteel|ilmenite|iridium|(?<!wrought )\biron\b|ithridu|kadepa|keismin|kertig|lumium|mithril|moen takibena|moonsilver|muracite|negnetha|nickel|niello|niniam|oravir|orichalcum|palladium|pewter|rencate|silver[- ]gilt|silversteel|spangold|sungold|(?<!watered )\bsteel\b|tantalum|\btin\b|titanium|tyrium|vardite|verdigris copper|watered steel|windsteel|wrought iron|\bzinc\b)")) then var mtagm $1
if (matchre ("%tap", "([cs]endal|angora|armure|arzumodine|\bbast\b|\bbatik\b|batiste|bison[- ]hide|boar[- ]hide|bombazine|bourde|broadcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)brocade|buckskin|burlap|camlet|canvas|cashmere|chainse|chainsil|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)chiffon|\bcire\b|cloth[- ]of[- ]gold|cloth[- ]of[- ]silver|(?<!lipka )cotton|cowhide|cr[ae]pe|crinoline|cuirbouilli|damask|deerskin|dergatine|diamond[- ]hide|doeskin|dragonar|eolienne|\bfaille\b|farandine|\bfelt\b|flannel|\bflax\b|fleece|gabardine|gauze|gingham|gold[- ]weave|grogram|grosgrain|haircloth|\bhemp\b|horsehair|ialalhe|imperial weave|jaalmin |jacquard|\bjaspe\b|\bjute\b|khaddar|khaki|khiynit|kidskin|lambskin|leather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blinen\b|longcloth|muslin|oilcloth|oilskin|onyx[- ]hide|petalette|ramshorn|rawhide|rosecloth|ruazen|sackcloth|sailcloth|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsamite\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsatin\b|scalene |seersucker|\bserge\b|\bshagreen\b|sharkskin|sheepskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bsilk\b|silver[- ]weave|silveress|snakeskin|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)snowlace|spun glitter |straw|suede|taffeta|thornweave|titanese|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\btulle\b|turbaurs|tweed|\btwine\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bvelvet\b|velveteen|voile|whisperlayne|whitleather|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\bwool\b|woolen|worsted|zenganne|zibeline|(blood|bluefire|dragonfire|duchess|duponi|Elothean|Elven|fae woven|faeweave|fire|gemfire|ice|lava|lipka|marble|moon|moonspun|Musparan|night|night[rw]eaver|nightstalker|oceanmist|ruaz[ei]n|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin) (brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool))")) then var mtagf $1
if (matchre ("%tap", "((cat'?s?|hawk'?s?|tiger'?s?) eye|(?<!(dragonvein) )agates?|(?<!(orchid|viperscale) )alexandrite|almiris|alshabi stone|ambergris|amlothite|andalusite|anloral|anthracite|arkose|aurora opal|axinite|azurite|basalt|\bberyls?\b|bleeding heart jade|bloodgem|calav[ae]rite|ceramic|chalcedon(y|ies)|\bchalk\b|charoite|chrysoberyl|chrysoprase|cinnabar|(?<!volcano'?s heart )citrine|\bclays?\b|cloudstone|\bcoal\b|\bcorals?\b|\bcrystals?\b|crystalline dragon tear|dawgolite|(?<!(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) )diamond(?!ique)|diamondique|diopside|diorite|dolomite|dragonfire amber|Drogor's Wrath sapphire|durgauldite|dwalgim|elanthite|elbaite|\beldrings?\b|Enelne's eye|er'?qutrite|erythraean|erythrite|estrildite|feldspar|\bflint\b|fool's gold|(?<!(bloodmist|forest'?s heart|nimbus) )garnet|\bglass\b|gneiss|granite|grazhite|Hav'?roth'?s ambrosia|hematite|iahja|ilmenite|iolite|ismenite|jadeite|(?<!(autumn|ocean|spiderweb|wild horse) )jasper|kaolinite|katamba'?s spire|katambite|kunzite|kyanite|lantholite|larimar|lasmodi|(?<!(Hekemhhg|lapis) )lazuli|malachite|\bmarble\b|merewaldite|mistglass|morganite|morleenite|\bnacres?\b|neitrice|obsidian|olivine|(?<!(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) )\bopals?\b|(?<!(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) )\bpearls?\b|penhetite|peridot|porcelain|porphyry|pumice|pyrite|quartz|rhodochrosite|rhodonite|sana'?ati heart|scheelite|schist|scrimshaw|sea[- ]glass|selenite|\bsenci\b|\bshale\b|sjatmal|sodalite|\bspinels?\b|spiritgem|svelae|szeldite|tanzanite|(?<!(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) )topaz|(?<!(aurora|vela'?tohr) )tourmaline|tsavorite|ulhari prism|verenite|volcano'?s heart citrine|waermodi|wulfenite|xibarite|yavasite|yoakenite|zircon|(orchid|viperscale) alexandrite|(lightning|violet'?s heart) amethyst|(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white) diamond|(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) emerald|(bloodmist|forest'?s heart|nimbus) garnet|(autumn|ocean|spiderweb|wild horse) jasper|(Hekemhhg|lapis) lazuli|(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water) opal|(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan) pearl|(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) rub(y|ies)|(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) sapphire|(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar) topaz|(aurora|vela'?tohr) tourmaline)")) then var mtagg $1
if (matchre ("%tap", "(\w+-stone)")) then var mtagg $1
if (matchre ("%tap", "(\w+stone)")) then var mtagg $1
if (matchre ("%tap", "(\bwooden\b|\bpaper\b|acacia|acanth|adderwood|aganylosh'?a|\balder\b|alerce|\baspen\b|\bbalsa\b|bamboo|basswood|\bbeech\b|(?<!curly )\bbirch\b|black ironwood|black maple|black walnut|black willow|blackwood|bloodwood|boxwood|bricklebranch|burlwood|\bcedar\b|cherrywood|cocobolo|copperleaf|copperwood|\bcork\b|curly birch|cypress|deobar|desert palm|diamondwood|dogwood|dragonwood|driftwood|e'?erdream|ebonwood|\belm\b|eucalyptus|\bfir\b|fishtail oak|flamethorn|flamewood|fruitwood|gethwood|glitvire|gloomwood|goldbark|goldenoak|halmik|\bhaon\b|hawthorn|hhr'?lav'?geluhh|hickory|huljik|Ilithian cedar|iroko|ironwood|juniper|khor'?vela|khor-?vela|lacewood|lemonwood|linden|linwood|\blunat\b|(?<!(black|silver) )\bmaple\b|mikkhalbamar|mistwood|modwir|(?<!(fishtail|golden) )\boak\b|\bosage\b|palmwood|papyrus|parchment|pearwood|\bpine\b|plumwood|poplar|pozumshi|purpleheart|redwood|\breed\b|rosewood|\browan\b|sana'?ati|sandalwood|sanrisi|satinwood|\bshaal\b|silver maple|silverwillow|silverwood|smokewood|\bspruce\b|taborwood|tamboti|\bteak\b|tulvora|\bvedda\b|vellum|(?<!black )walnut|white ironwood|whitethorn|wiirwood|(?<!(black|silver) )\bwillow\b|witchclaw|wyndewood|\byew\b|zingana|zulnatha)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+-wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\w+wood)")) then var mtagw $1, wood
if (matchre ("%tap", "(\bgods?\b|Immortal|Alamhif|Albreda|Aldauth|Aliesa|Aniek|Asketi|Be'?ort|Bereng[ae]ria|Botolf|Chadatru|Coshivi|Damaris|Demrris|Dergati|Divyaush|Drogor|Eerayn|Eimeuz|Elide|Eluned|Enelne|\bEu\b|Everild|Eylhaar|Faenella|Faiyka|Firulf|Gizzbolf|Glacis|Glythtide|Harawep|Hav'?roth|Hodierna|Huldah|\bIdon\b|Iladza|Issendar|Kerenhappuch|Kertigen|Kirmhara|Krigglin|Kuniyo|Lemicus|Meraud|Merion|Misiumos|\bMrod\b|Murrula|Orisas|Peri'?el|Phelim|Rutilor|Saemaus|Shariza|Sieben|Sildua|Spangklud|Sraxaec|Tamsine|Tenemlor|Thirteen|Tieheq|Triquetra|Trothfang|Truffenyi|Urrem'?tier|Ushnish|World Dragon|Xosiurion|Zachriedek)")) then var stagg $1
if (matchre ("%tap", "(acolyte|adventurer|alchemist|amazon|apothecary|\barchers?\b|armorsmith|assassin|bandit|Barbarian|\bBards?\b|barmaid|bartender|beggar|blacksmith|blasphemer|bowm[ae]n|\bbrewers?\b|brigand|buccaneer|burglar|captain|celebrant|champion|\bchefe?s?\b|citizen|clergy|clergy(man|clergy(man|woman)|Cleric|combatant|commoner|convict|criminal|dancer|diviner|doctor|druid|duelist|ecclesiastic|elemancer|elementalist|embalmer|Empath|enchanter|enchantress|engineer|executioner|farmer|felon|fencer|forester|gladiator|hangm[ae]n|healer|herald|heretic|\bheroe?s?\b|hierophant|highwaym[ae]n|historian|hunter|huntsm[ae]n|Inquisitor|inquisitress|\bjudges?\b|justiciar|knight|locksmith|lumberjack|\bmages?\b|marshal|martyr|mastermind|\bmedics?\b|medicine (m[ae]n|medicine (m[ae]n|wom[ae]n)|merchant|messenger|minister|minstrel|\bmonks?\b|Moon Mage|mortician|musician|mystic|navigator|Necromancer|nurse|outlaw|Paladin|pastor|peddler|philosopher|physician|pilgrim|pirate|\bpoets?\b|preacher|priest|prisoner|prophet|psychic|Ranger|researcher|rogue|\bsages?\b|sailor|scholar|\bseers?\b|sham[ae]n|shepherd|smuggler|sniper|soldier|spiritualist|surgeon|swashbuckler|Thief|Thieves|Trader|travell?er|undertaker|urchin|villager|villain|warrior|Warrior Mage|weaponsmith|weaver|\bwitche?s?\b|witche?|wizard|wom[ae]n)|woman)|woodcutter|woodsm[ae]n)")) then var stagp $1
if (matchre ("%tap", "(Adan'?f|Dwarf|Dwarves|\bElfs?\b|Elothean (?!(lace|silk))|Elven (?!(lace|silk|silver))|\bElves\b|Gnome|Gor'?Tog|Gorbesh|Halfling|Human|Kaldar|Lohogi'?hhs'?ur|Lohogi'?tel'?tegreis|\bm[ae]n\b|mer-?(folk|m[ae]n|people|wom[ae]n)|Ocular|\bOlvis?\b|Olvis?|\bpeople\b|Prydaen|Rakash|S'?[Kk]ra ?Mur|S'?[Kk]ra'?ur|\bwom[ae]n\b)")) then var stagr $1
if (matchre ("%tap", "(\ba?ether\b|\bearth\b|electricity|\bfires?\b|\bflames?\b|\bice\b|inferno|lightning|\bpyre\b|\bsnow\b|snowflake|thunder|water|\bair\b)")) then var stage $1
if (matchre ("%tap", "(aardvark|adder|albatross|alfar|alligator|alpaca|alphyn|anchovy|antelope|antler|\bapes?\b|apparition|arachnid|armadillo|\bass\b|aurochs|badger|bagwyn|banshee|barnacle|barracuda|basilisk|\bbats?\b|\bbears?\b|\bbeasts?\b|beaver|\bbees?\b|beetle|behemoth|bird|black widow|blackbird|bloodworm|blue ?jay|boggart|boobrie|buffalo|\bbulls?\b|bumble ?bee|burro|bustard|butterflies|butterfly|buzzard|calopus|camel|camelopard|canary|capybara|caracal|\bcats?\b|caterpillar|cattle|celpeze|centaur|centipede|chameleon|cheetah|chimera|chimpanzee|chinchilla|chipmunk|cicada|civet|\bclams?\b|cobra|cockatrice|cockroach|collie|condor|coney|cottontail|cougar|\bcows?\b|coyote|\bcrabs?\b|crane|cricket|\bcrows?\b|curlew|damselfly|demon|\bdevils?\b|\bdingos?\b|\bdogs?\b|dolphin|donkey|\bdoves?\b|\bdragons?\b|dragonfly|dryad|duck|eagle|echidna|\beels?\b|elephant|\belk\b|\bewes?\b|\bfae\b|fairy|falcon|\bfauns?\b|ferret|fiend|\bfinchs?\b|fish|\bfleas?\b|flounder|\bfox\b|\bfrog\b|gazelle|gecko|genie|gerbil|\bghosts?\b|\bghouls?\b|gidii|giraffe|goat|goblin|goose|gopher|gorilla|goshawk|gr[iy]ff[io]n|gr[iy]ph[io]n|grasshopper|greyhound|groundhog|grouse|guinea pig|hamster|\bhares?\b|harpy|\bhawks?\b|hedgehog|heron|\bherring\b|hinny|hippocamp|hippogr[iy]ff|hippogr[iy]ph|\bhogs?\b|honey ?bee|hornet|horse|hound|hydra|hyena|\bibexs?\b|iguana|\bimps?\b|impala|inkhorne|insect|jackal|jaguar|kangaroo|katydid|kelpie|kestrel|king ?snake|kingfisher|kirin|kitten|kobold|ladybug|\blamb\b|\blarks?\b|lemming|lemur|leopard|\blions?\b|lioness|lizard|llama|lobster|locust|\blynxs?\b|maggot|magpie|manatee|manta ray|manticore|mantis|marmot|marten|martlet|mastiff|meerkat|merelew|mermaid|merman|\bminks?\b|minnow|minotaur|mockingbird|mongoose|monkey|moose|mosquito|\bmoth\b|mouflon|mountain lion|mouse|\bmules?\b|musimon|muskox|nightingale|\bnyads?\b|ocelot|octopus|onager|opossum|osprey|ostrich|\botters?\b|\bowls?\b|\boxe?n?\b|panther|parakeet|parrot|partridge|peacock|pegasus|pelican|pheasant|phoenix|\bpigs?\b|pigeon|pika|platypus|polecat|popinjay|porcupine|possum|prairie ?dog|prawn|primate|puma|puppy|python|quail|rabbit|raccoon|raptor|\brats?\b|raven|reindeer|remora|rhinoceros|robin|rooster|salamander|sardine|satyr|scarab|scorpion|seagull|selkie|serpent|shrew|shrike|shrimp|skeleton|\bskulls?\b|snail|snowbeast|sparrow|specter|sphinx|\bspiders?\b|\bspirits?\b|springbok|\bsprites?\b|squirrel|\bstags?\b|starling|stoat|stork|sturgeon|swallow|\bswans?\b|swine|swordfish|talbot|tarantula|termite|terrapin|thrush|\btigers?\b|tityrus|\btoads?\b|tortoise|toucan|trout|turkey|turtle|undead|unicorn|viper|vole|vulture|walrus|weasel|welkin|werewolf|whale|wildcat|winged horse|\bwolfs?\b|wolverine|woodchuck|wraith|wren|wyvern|\byaks?\b|\byales?\b|zebra|zombie)")) then var staga $1
if (matchre ("%tap", "(aevaes|\baloe\b|belladonna|blocil|\bcebi\b|Datura|draconeaia|eghmok|foxglove|genich|georin|glaysker|hemlock|hisan|hulij|hulnik|ithor|jadice|junliar|lujeakave|muljin|nemoih|nightshade|nilos|nuloe|ojhenik|plovik|\bquns?\b|riolur|sufil|yelith)")) then var stagh $1
if (matchre ("%tap", "(\bAesry\b|Aesry Surlaenis'?a|Ain Ghazal|Amlothi|Arthe Dale|bayou|Belarritaco|Boar Clan|\bbogs?\b|canyon|Chyolvea Tayeu'?a|comet|constellation|Crossing|Dawgolesh|Dirge|Durgaulda|El'?Bain'?s|Elanthia|Empire|Er'?qutra|Estrilda|Faldesu|Fayrin'?s Rest|\bfens?\b|Forfedhdar|Fornsted|grassland|Grazhir|Gwenalion|Hara'?jaal|Hekemhhg|Hibarnhvidar|iceberg|Ilaya Taipa|Ilithi(?! emerald)|Irasushen|\bislands?\b|Ismenia|Jantspyre|jungle|Kaerna Village|\bKatamba\b|Kermoria|Knife Clan|\blakes?\b|Langenfirth|Leth Deriel|M'?Riss|\bmarshe?s?\b|meadow|Mer'?Kresh|Merewalda|\bmoons?\b|morass|Morleena|mountain|Muspar'?i|Nenav Dalar|Oxenwaithe|Penhetia|Pi'?Qanah|\bplanets?\b|prairie|Qi'?Reshalia|quagmire|rainforest|Ratamipak|\bRatha\b|Raven'?s Point|\bReshal\b|Reshalia|\brivers?\b|Riverhaven|Rossman'?s Landing|Sarasunath|savanna|Sawstwar|Segoltha|Shamilho|\bShard\b|shrubland|Siksraja|Steelclaw Clan|steppe|Stone Clan|\bsuns?\b|sunburst|Surlaenis|swamp|Szeldia|taiga|Taisgath|The Crossing|Therenborough|Therengia|Throne City|Tiger Clan|tundra|Velaka|Verena|volcano|wetland|Wolf Clan|woodland|\bXibar\b|Yavash|Yoakena|Zaulfung|Zhamikhh|Zoluren)")) then var stagl $1
if (matchre ("%tap", "((?i:crest of the (Barbarians?'?|Barbarian'?s?) Guild|(Barbarians?'?|Barbarian'?s?) Guild crest))")) then var stagp crest of the barbarians' guild
if (matchre ("%tap", "((?i:crest of the (Bards?'?|Bard'?s?) Guild|(Bards?'?|Bard'?s?) Guild crest))")) then var stagp crest of the bards' guild
if (matchre ("%tap", "((?i:crest of the (Clerics?'?|Cleric'?s?) Guild|(Clerics?'?|Cleric'?s?) Guild crest))")) then var stagp crest of the clerics' guild
if (matchre ("%tap", "((?i:crest of the (Empaths?'?|Empath'?s?) Guild|(Empaths?'?|Empath'?s?) Guild crest))")) then var stagp crest of the empaths' guild
if (matchre ("%tap", "((?i:crest of the (Moon ?Mages?'?|Moon ?Mage'?s?) Guild|(Moon ?Mages?'?|Moon ?Mage'?s?) Guild crest))")) then var stagp crest of the moon mages' guild
if (matchre ("%tap", "((?i:crest of the (Necromancers?'?|Necromancer'?s?) Guild|(Necromancers?'?|Necromancer'?s?) Guild crest))")) then var stagp crest of the necromancers' guild
if (matchre ("%tap", "((?i:crest of the (Paladins?'?|Paladin'?s?) Guild|(Paladins?'?|Paladin'?s?) Guild crest))")) then var stagp crest of the paladins' guild
if (matchre ("%tap", "((?i:crest of the (Rangers?'?|Ranger'?s?) Guild|(Rangers?'?|Ranger'?s?) Guild crest))")) then var stagp crest of the rangers' guild
if (matchre ("%tap", "((?i:crest of the (Thiefs?'?|Thief'?s?|Thieves'?) Guild|(Thiefs?'?|Thief'?s?|Thieves'?) Guild crest))")) then var stagp crest of the thieves' guild
if (matchre ("%tap", "((?i:crest of the (Traders?'?|Trader'?s?) Guild|(Traders?'?|Trader'?s?) Guild crest))")) then var stagp crest of the traders' guild
if (matchre ("%tap", "((?i:crest of the (Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild|(Warr?i?o?r? ?Mages?'?|Warr?i?o?r? ?Mage'?s?) Guild crest))")) then var stagp crest of the warrior mages' guild
if (matchre ("%tap", "((\w+)(?=[- ](colored|highlighted|hued|tinted|toned)))")) then var ctagx $1
if (matchre ("%tap", "((\bred\b|amaranth|auburn|blood red|burgundy|carmine|cerise|claret|coquelicot|crimson|gules|haematic|incarnadine|magenta|maroon|murrey|orange red|\bpink\b|\breddish\b|\brosy\b|rubiginose|rubiginous|ruddy|sanguine|scarlet|vermilion|vinaceous)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagr $1, red
if (matchre ("%tap", "((\borange\b|fiery|\bpeach\b|persimmon|red orange|reddish orange|tangerine|yellow orange)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctago $1, orange
if (matchre ("%tap", "((\bbrown\b|ochre|russet|sepia|sienna|\bsorrel\b|\btan\b|tawny|tenne|\bumber\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagt $1, brown
if (matchre ("%tap", "((\byellow\b|aurulent|champagne|\becru\b|flaxen|green yellow|jonquil|lemon|saffron|xanthic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagy $1, yellow
if (matchre ("%tap", "((\bgreen\b|asparagus|blue green|celadon|chartreuse|\blime\b|olivaceous|olive drab|smalt|\bvert\b|viridian|yellow green)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagg $1, green
if (matchre ("%tap", "((\bblue\b|azure|bluish|\bceil\b|cerulean|cobalt|\bcyan\b|cyaneous|indigo|\bteal\b|ultramarine)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagb $1, blue
if (matchre ("%tap", "((\bpurple\b|aubergine|eggplant|fuchsia|lavender|lilac|mauve|orchid|periwinkle|\bpuce\b|purplish|purpure|red violet|violescent)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagv $1, purple
if (matchre ("%tap", "((\bblack\b|\bgr[ae]y\b|white|argent|arsenic|\bashen\b|beige|camouflage|cinereous|colorless|\bcream\b|\bebon\b|eggshell|eisen|feldgrau|glaucous|pellucid|\bsable\b|taupe\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagn $1, grey
if (matchre ("%tap", "((rainbow|iridescent|pavonine|polychromatic)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var ctagm $1, rainbow
if (matchre ("%tap", "((\w+)-\bred\b)")) then var ctagr $1, $2, red
if (matchre ("%tap", "((\w+)-\borange\b)")) then var ctago $1, $2, orange
if (matchre ("%tap", "((\w+)-\bbrown\b)")) then var ctagt $1, $2, brown
if (matchre ("%tap", "((\w+)-\byellow\b)")) then var $1, $2, yellow
if (matchre ("%tap", "((\w+)-\bgreen\b)")) then var ctagg $1, $2, green
if (matchre ("%tap", "((\w+)-\bblue\b)")) then var ctagb $1, $2, blue
if (matchre ("%tap", "((\w+)-\b(purple|violet)\b)")) then var ctagv $1, $2, purple
if (matchre ("%tap", "((\w+)-\bblack\b)")) then var ctagn $1, $2, black
if (matchre ("%tap", "((\w+)-\bwhite\b)")) then var ctagn $1, $2, white
if (matchre ("%tap", "((\w+)-\bgr[ae]y\b)")) then var ctagn $1, $2, grey
if (matchre ("%tap", "(bronze|\bcoal\b|(?<!verdigris )\bcopper\b|(?<!(black|blighted|blue|crown|Elven|fool's|green|grey|pink|purple|red|rose|white|yellow) |cloth[- ]of[- ])\bgold\b|\blead\b|platinum|(?<!Elven |cloth[- ]of[- ])\bsilver\b)")) then var amtagm $1
if (matchre ("%tap", "(\bermine\b|feather|\bfur\b|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)gossamer|(?<!(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|Gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velaka|water|windstorm|zerarin) ?)\blace\b)")) then var amtagf $1
if (matchre ("%tap", "(alabaster|(?<!dragonfire )\bamber\b|(?<!(lightning|violet'?s heart) )amethyst|aquamarine|\bbones?\b|carnelian|(?<!(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter) )emerald|heliotrope|ivory|(?<!bleeding heart )\bjades?\b|\bonyxe?s?\b|(?<!(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate) )\brub(y|ies)\b|(?<!(crimson|dalaeji black|dragon'?s scale|Drogor'?s Wrath|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren) )sapphire|\bslate\b|turquoise)")) then var amtagg $1
if (matchre ("%tap", "(\bapple\b|\bash\b|\bcherry\b|chestnut|\bebony\b|\belder\b|laurel|mahogany)")) then var amtagw $1
if (matchre ("%tap", "(\belements?\b|\bwind\b)")) then var astage $1
if (matchre ("%tap", "(bison|\bboars?\b|\bbucks?\b|cardinal|\bcocks?\b|crocodile|\bdeers?\b|\bdoe\b|ermine|flies|\bfly\b|leech|mammoth|oyster|\brams?\b|salmon|shark|sheep|\bsnakes?\b|\btrolls?\b|\bwasps?\b|\bwings?\b|yeehar)")) then var astaga $1
if (matchre ("%tap", "(\bblooms?\b|\bblossoms?\b|\bbuds?\b|\bflorets?\b|\bflowers?\b|\bherbs?\b|\bvines?\b)")) then var astagh $1
if (matchre ("%tap", "(\bdeserts?\b|forest(?![- ]green)|\boceans?\b|\bseas?\b|\bstars?\b)")) then var astagl $1
if (matchre ("%tap", "((bronze|chestnut|copper)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagt $1
if (matchre ("%tap", "(red gold(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagy $1
if (matchre ("%tap", "((\bplum\b|thistle|\bviolet\b)(?![- ](colored|highlighted|hued|tinted|toned)))")) then var actagv $1
if (matchre ("%mtagm", "(black|blue|crown|green|grey|pink|purple|red|rose|white|yellow) gold")) then var mtagm $1 gold, gold
if (matchre ("%mtagg", "(?i:(orchid|viperscale)) alexandrite")) then var mtagg $1 alexandrite, alexandrite
if (matchre ("%mtagg", "(?i:(lightning|violet'?s heart)) amethyst")) then var mtagg $1 amethyst, amethyst
if (matchre ("%mtagg", "(?i:(black|blue|champagne|Dalterein|huntress|lilac|midnight|molten-core|night|ocean'?s heart|pink|scorpion|smoky|white)) diamond")) then var mtagg $1 diamond, diamond
if (matchre ("%mtagg", "(?i:(bearclaw|glacier|Ilithi|nature'?s canopy|ocean'?s deep|shadow|spring|Taisidon|winter)) emerald")) then var mtagg $1 emerald, emerald
if (matchre ("%mtagg", "(?i:(bloodmist|forest'?s heart|nimbus)) garnet")) then var mtagg $1 garnet, garnet
if (matchre ("%mtagg", "(?i:(autumn|ocean|spiderweb|wild horse)) jasper")) then var mtagg $1 jasper, jasper
if (matchre ("%mtagg", "(?i:(Hekemhhg|lapis)) lazuli")) then var mtagg $1 lazuli, lazuli
if (matchre ("%mtagg", "(?i:(aurora|cherry|draconic|dragon fire|firesilk|flame|frost|frostfire|frostflare|nightfire|sky|snow|sunset|water)) opal")) then var mtagg $1 opal, opal
if (matchre ("%mtagg", "(?i:(dafora|damaryn|damilyo|fang|fire|geshi|idopun|jackal'?s heart|moon|pitch|taisidonian|talan)) pearl")) then var mtagg $1 pearl, pearl
if (matchre ("%mtagg", "(?i:(blood|cloud|conquerer'?s|dragon'?s (blood|eye|heart)|gemfire|imperial|midnight|moonspun|serpent'?s heart|smoke|star|starlight|Teiro'?s hate)) rub(y|ies)")) then var mtagg $1 ruby, ruby
if (matchre ("%mtagg", "(?i:(crimson|dalaeji black|dragon'?s scale|elamiri|eluned'?s tear|haze|Idon'?s|imperial|lotus flower|mermaid'?s tear|Musparan gold|phantom|rainbow|serpent'?s head|shrike'?s eye|star|summer'?s heart|tempest|twilight|viper'?s eye|white Zoluren)) sapphire")) then var mtagg $1 sapphire, sapphire
if (matchre ("%mtagg", "(?i:(fire maiden|imperial|lion'?s heart|mystic|royal Zoluren|saffron|smoky|starfire|stormfire|xibar)) topaz")) then var mtagg $1 topaz, topaz
if (matchre ("%mtagg", "(?i:(aurora|vela'?tohr)) tourmaline")) then var mtagg $1 tourmaline, tourmaline
if (matchre ("%mtagf", "(?i:(blood|bluefire|dragonfire|duchess|Elothean|Elven|fae woven|fire|gemfire|ice|lava|lipka|marble|moon|Musparan|night|nightstalker|night[rw]eaver|oceanmist|seafoam|shade|shadow|snowflake|spider|starlight|steel|storm|sunkissed|Velakan?|water|windstorm|zerarin)) ?(brocade|chiffon|cotton|gossamer|lace|linen|samite|satin|silk|snowlace|tulle|velvet|wool)")) then var mtagf %mtagf, $2
if %mtagm = Damascus steel then var mtagg Damascus steel, steel
if %mtagm = Elven silver then var mtagg Elven silver, silver
if %mtagm = moonsilver then var mtagg moonsilver, silver
if %mtagm = silver-gilt then var mtagg silver-gilt, silver, gold
if %mtagm = sungold then var mtagg sungold, gold
if %mtagm = windsteel then var mtagg windsteel, steel
if %mtagg = chalcedon(y|ies) then var mtagg chalcedony
if %mtagg = rubies then var mtagg ruby
if %mtagg = soulstone then var mtagg DELETE
if %ctagr = pink, red then var ctagr pink
if %ctagr = cerise, red then var ctagr cerise, pink
if %ctagr = magenta, red then var ctagr magenta, pink
if %ctagr = rosy, red then var ctagr rosy, pink
if %ctagv = fuchsia, purple then var ctagv fuchsia, pink
if %ctagv = puce, purple then var ctagv puce, pink
if %ctagn = camouflage, grey then var ctagn camouflage, brown
if %ctagn = black, grey then var ctagn black
if %ctagn = ebon, grey then var ctagn ebon, black
if %ctagn = sable, grey then var ctagn sable, black
if %ctagn = white, grey then var ctagn white
if %ctagn = alabaster, grey then var ctagn alabaster, white
if %ctagn = beige, grey then var ctagn beige, white
if %ctagn = colorless, grey then var ctagn colorless, white
if %ctagn = cream, grey then var ctagn cream, white
if %ctagn = eggshell, grey then var ctagn eggshell, white
if %ctagn = ivory, grey then var ctagn ivory, white
if %ctagr = red, red then var ctagr red
if %ctago = orange, orange then var ctago orange
if %ctagt = brown, brown then var ctagt brown
if %ctagy = yellow, yellow then var ctagy yellow
if %ctagg = green, green then var ctagg green
if %ctagb = blue, blue then var ctagb blue
if %ctagv = purple, purple then var ctagv purple
if %ctagn = grey, grey then var ctagn grey
if %ctagn = black, black then var ctagn black
if %ctagn = white, white then var ctagn white
if %ctagm = rainbow, rainbow then var ctagm rainbow
return

Specialset:
if (matchre ("%look", "(cambrinth)")) then var special cambrinth
if (matchre ("%look", "(gaethzen)")) then var special gaethzen
if (matchre ("%look", "((percussion|string|wind) instrument)")) then var special $1 instrument
if (matchre ("%look", "(This customization can be used with any normal.+home)")) then var special housing
if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var special jewelry
if (matchre ("%look", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%look", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var special bard style
if (matchre ("%look", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%look", "(anloral)")) then var special cleric style, paladin style
if (matchre ("%look", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var special empath style
if (matchre ("%look", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%look", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var special necromancer style
if (matchre ("%look", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%look", "(Ranger)")) then var special ranger style
if (matchre ("%look", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var special thief style
if (matchre ("%look", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%look", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var special warrior mage style
if (matchre ("%look", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var special dwarf style
if (matchre ("%look", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var special elf style
if (matchre ("%look", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var special elothean style
if (matchre ("%look", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%look", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var special gortog style
if (matchre ("%look", "(Halfling|\bOlvi\b)")) then var special halfling style
if (matchre ("%look", "(Human|Gamgweth)")) then var special human style
if (matchre ("%look", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%look", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var special prydaen style
if (matchre ("%look", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var special rakash style
if (matchre ("%look", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var special skra mur style
if (matchre ("%tap", "(cambrinth)")) then var special cambrinth
if (matchre ("%tap", "(gaethzen)")) then var special gaethzen
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var special creation
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var special alchemy
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var special $1 instrument
if (matchre ("%tap", "(anatomy chart)")) then var special anatomy chart, empath style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var special tack
if (matchre ("%tap", "(\btoy\b)")) then var special toy
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var special barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var special bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var special cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var special cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var special empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var special moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var special necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var special paladin style
if (matchre ("%tap", "(Ranger|trail map)")) then var special ranger style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var special thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var special trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var special warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var special dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var special elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var special elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var special gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var special gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var special halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var special human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var special kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var special prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var special rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var special skra mur style
if (matchre ("%1", "(ashcloak|mysanda)")) then var special magic
if (matchre ("%1", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var special creation
if (matchre ("%1", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var special alchemy
if (matchre ("%1", "(candle|lamp|lantern|torch)")) then var special gives light
if (matchre ("%1", "(bridle|caparison|halter|saddle)")) then var special tack
if (matchre ("%1", "(doll|marionette|puppet|toy)")) then var special toy
if (matchre ("%1", "(warhorn)")) then var special barbarian style, bard style
if (matchre ("%1", "(cassock|chalice)")) then var special cleric style
if (matchre ("%1", "(sigilbook|starchart|telescope)")) then var special moon mage style
if (matchre ("%1", "(feedbag)")) then var special trader style
if (matchre ("%1", "(ashcloak)")) then var special warrior mage style
if (matchre ("%1", "(bulhawf)")) then var special dwarf style
if (matchre ("%1", "(\barca\b|\bbalac\b|catils|\bcelya\b|coinec|gelnutre|\bgerri\b|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|\bmahai\b|oinurte|\bpalta\b|\btago\b|takbahn|\btelo\b)")) then var special elf style
if (matchre ("%1", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var special elothean style
if (matchre ("%1", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var special kaldar style
if (matchre ("%1", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var special prydaen style
if (matchre ("%1", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var special rakash style
if (matchre ("%1", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var special skra mur style
return

Itypeset:
if (matchre ("%tap", "((awgravet|bar|bastard|battle|belaying|boarding|carving|dire|double|double-headed|duraka|elbow|flanged|footman's|giant|half-handled|hand|heavy|horseman's|hunting|hurlable|hurling|igorat|ilglaiks|imperial|k'trinni|knee|leaf blade|light|lochaber|marauder|military|mus|periperiu|pike|pole|ridged|robe|round|short|skinning|spiked|splitting|sterak|thick-bladed|thin-bladed|throwing|thrusting|twin-point|two-handed|two-headed|two-pronged|vilks|war|warring) (abassi|adze|akabo|allarh|arzfilt|ava|axe|back-sword|ball and chain|bardiche|baselard|blade|bludgeon|boko|bola|boomerang|briquet|broadaxe|broadsword|bulhawf|cane|chain|cinqueda|claws|claymore|club|condottiere|coresca|cosh|cudgel|curlade|cuska|cutlass|dagasse|dagger|dao|dart|falcata|falchion|fan|fauchard|flail|flamberge|fork|garz|gauntlet|gavel|gladius|glaive|greataxe|greathammer|greatsword|guisarme|halberd|hammer|hanger|hara|hatchet|hawkbill|hhr'ata|hhr'tami|hunthsleg|iltesh|jambiya|javelin|karambit|kasai|kaskara|katar|khuj|knife|knuckles|kodur|komno|koummya|kris|kudalata|kythe|lance|longsword|mace|mallet|mambeli|marlingspike|mattock|maul|misericorde|morning star|namkomba|nehdelata|nehlata|ngalio|nightstick|nimsha|oben|parang|partisan|pasabas|pike|pin|poignard|prod|pugio|quarterstaff|ranseur|rapier|recade|riste|sabre|sashqa|scepter|schiavona|scimitar|scythe|sha-tai|shh'oi'ata|shotel|skefne|sledgehammer|spatha|spear|spetum|spike|spikes|staff|stiletto|sunblade|sword|takouba|telek|tzece|ukabi|war hammer|zubke))")) then var itype $1
if (matchre ("%tap", "((assassin's|battle|competition|competition-balanced|dako'gi|drop-trigger|flat|flight|forester's|hirdu|horseman's|hunter's|pirate's|plains|recurved?|reflex|repeater|repeating|riot|s'rnhhl|saddle|savannah|siege|sniper's|steppe|tei'oloh|war) (arbalest|bow|chunenguti|composite bow|crossbow|hhr'ibu|jranoki|long ?bow|mahil|short ?bow|slurbow|stonebow|taisgwelduan|uku'uanstaho)|staff sling)")) then var itype $1
if (matchre ("%tap", "((battle|ceremonial|circular|crescent|curved|gladiator's|heater|jousting|kite|medium|ordinary|oval|pageant|rectangular|riot|round|rounded|shuri-kota|siege|skirmisher's|target|tower|triangular|valnik|wall|war|warrior's|wickerwork) (aegis|buckler|heater|pavise|scutum|shield|sipar|targe))")) then var itype $1
if (matchre ("%tap", "((brigandine|chain|closed|cloth|coarse|dome|field|full|great|half|heavy|insulated|lamellar|leather|light|mail|padded|plate|quilted|ring|rugged|scale|thick|visored) (aventail|backplate|balaclava|barbute|bascinet|breastplate|cap|coat|cowl|cuirass|fauld|gauntlets|gloves|greaves|hauberk|helm|hood|jerkin|leathers|lorica|mantle|mask|morion|pants|plate|robe|sallet|shirt|sleeves|tabard|tailcoat|tasset|thorakes|vambraces|vest))")) then var itype $1
if (matchre ("%tap", "((engagement|thumb|toe|wedding) (band|ring|tailband))")) then var itype $1
return



Typeset:
if (matchre ("%look", "(cambrinth)")) then var typemagic cambrinth
if (matchre ("%look", "(gaethzen)")) then var typemagic gaethzen
if (matchre ("%look", "((percussion|string|wind) instrument)")) then var typefunction $1 instrument
if (matchre ("%look", "(This customization can be used with any normal.+home)")) then var typefunction housing
if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var typefunction jewelry
if (matchre ("%look", "(Barbarian|chakrel|warpaint)")) then var typeguild barbarian style
if (matchre ("%look", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var typeguild bard style
if (matchre ("%look", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var typeguild cleric style
if (matchre ("%look", "(anloral)")) then var typeguild cleric style, paladin style
if (matchre ("%look", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var typeguild empath style
if (matchre ("%look", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var typeguild moon mage style
if (matchre ("%look", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var typeguild necromancer style
if (matchre ("%look", "(Paladin|soulstone)")) then var typeguild paladin style
if (matchre ("%look", "(Ranger)")) then var typeguild ranger style
if (matchre ("%look", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var typeguild thief style
if (matchre ("%look", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var typeguild trader style
if (matchre ("%look", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var typeguild warrior mage style
if (matchre ("%look", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var typerace dwarf style
if (matchre ("%look", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var typerace elf style
if (matchre ("%look", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var typerace elothean style
if (matchre ("%look", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var typerace gnome style
if (matchre ("%look", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var typerace gortog style
if (matchre ("%look", "(Halfling|\bOlvi\b)")) then var typerace halfling style
if (matchre ("%look", "(Human|Gamgweth)")) then var typerace human style
if (matchre ("%look", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var typerace kaldar style
if (matchre ("%look", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var typerace prydaen style
if (matchre ("%look", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var typerace rakash style
if (matchre ("%look", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var typerace skra mur style
if (matchre ("%tap", "(cambrinth)")) then var typemagic cambrinth
if (matchre ("%tap", "(gaethzen)")) then var typemagic gaethzen
if (matchre ("%tap", "((belt|carving|skinning) knife|flight glue|hide scraper|wood shaper)")) then var typefunction creation
if (matchre ("%tap", "(dracon crystal|glaysker flower|grain alcohol|mixing stick|seolarn weed|tincture jar|tukai stone|unlonchai bucket|Wayerd pyramid)")) then var typefunction alchemy
if (matchre ("%tap", "((percussion|string|wind) instrument)")) then var typefunction $1 instrument
if (matchre ("%tap", "(anatomy chart)")) then var typefunction anatomy chart, empath style
if (matchre ("%tap", "(curry comb|hoof pick|lead rope|mane and tail brush|saddle blanket|saddle pad|stiff brush)")) then var typefunction tack
if (matchre ("%tap", "(\btoy\b)")) then var typefunction toy
if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var typeguild barbarian style
if (matchre ("%tap", "(Bard|(Blood|Fate|Soul|Spirit) Knot|Bardic|neithrel)")) then var typeguild bard style
if (matchre ("%tap", "(Cleric|acolyte|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|\bmonk\b|\bnun\b|\bpastors?\b|prayer|preach|priest|pulpit|sham[ae]n|vestment)")) then var typeguild cleric style
if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var typeguild cleric style, paladin style
if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|foraging|healer|healing|medic|medicine|nurse|physician|surgeon)")) then var typeguild empath style
if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|divination|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|sigilbook|telescope|Tezirah|Tokka)")) then var typeguild moon mage style
if (matchre ("%tap", "(Necromancer|necromancy|necromantic|Philosophers? of the Knife)")) then var typeguild necromancer style
if (matchre ("%tap", "(Paladin|soulstone)")) then var typeguild paladin style
if (matchre ("%tap", "(Ranger|trail map)")) then var typeguild ranger style
if (matchre ("%tap", "(Thief|\bbrigands?\b|burglar|highwaym[ae]n|pirate|robber|smuggler|Thieves)")) then var typeguild thief style
if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var typeguild trader style
if (matchre ("%tap", "(Warrior Mage|\ba?ether\b|elemental|talisman)")) then var typeguild warrior mage style
if (matchre ("%tap", "(\bDwarfs?\b|Dwarve[ns]|Haakish|\bkwarf\b|\bvalnik\b)")) then var typerace dwarf style
if (matchre ("%tap", "(\bElf\b|\bElven\b (?!(lace|silk|silver))|\bElves\b|\bElvish\b|Ilithic|sana'?ati dyaus)")) then var typerace elf style
if (matchre ("%tap", "(Elothean (?!(lace|silk))|chol[ai] top|Gerenshuge|shesegri)")) then var typerace elothean style
if (matchre ("%tap", "(Gnome|Gizzbolf|Gnomic|Gnomish|Krigglin|Spangklud)")) then var typerace gnome style
if (matchre ("%tap", "(Gor'?Tog|\bhirdu\b|scalp wax|togball|Toggish|Toggler)")) then var typerace gortog style
if (matchre ("%tap", "(Halfling|\bOlvi\b|tart pouch)")) then var typerace halfling style
if (matchre ("%tap", "(Human|Gamgweth)")) then var typerace human style
if (matchre ("%tap", "(Kaldar|Aliesa|Aniek|Eimeuz|Gorbesh|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var typerace kaldar style
if (matchre ("%tap", "(Prydaen|claw guards|Demrris|\bEu\b|Faiyka|Iladza|Shariza|Soul Knot|Tenemlor)")) then var typerace prydaen style
if (matchre ("%tap", "(Rakash|\bafis\b|Coshivi|Enelne|Moonskin|Mrod|\bturnistil\b|\bvarna\b)")) then var typerace rakash style
if (matchre ("%tap", "(S'?[Kk]ra|ama'?hhrsk|\bArna\b|Eth'?ral'?khh|finger claw|Hav'?roth|Indakar|Irhhnth|\bMalk\b|mehath|Mhhg|\bmus\b|Nehgris|Peri'?el|q'?zhalata|Rasha|ru'?at|scale polish|sharmiit'?mhhg|Smolg|Sraan|\bT'?Lar\b|tail drape|Ushnish|Venda)")) then var typerace skra mur style
if (matchre ("%1", "(\balb\b|apron|\barek\b|ashcloak|balac|baladrana|ballgown|bandeau|\bbelt\b|beret|blazer|blouse|bodice|bodysuit|bonnet|boots|breeches|britches|brogans|bustier|caftan|\bcap\b|\bcape\b|cassock|catils|chemise|cheongsam|chmir|chola|choli|cloak|cloche|clogs|\bcoat\b|coinec|corset|cummerbund|deerstalker|derby|dirndl|domisaha|doublet|drape|dress|eyepatch|fabric|fedora|fillet|frock|galoshes|gamantang|garter|gerri|gloves|\bgown\b|\bhac\b|\bhat\b|headband|\bhood\b|\bhose\b|ilalish|jacket|jerkin|jodhpurs|josta|khandur|\bkilt\b|kimono|kirtle|kisti|knickers|krekls|laufisana|leggings|leine|loafers|loincloth|longcoat|lusks|mantle|\bmask\b|mittens|mocc?asins|mra'?sin|\bmuff\b|muffler|nauda|\bodaj\b|overalls|\bpall\b|pantaloons|pants|pel'?hhsmur|\bpelt\b|poncho|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|pumps|ra'?sarrak|rantija|\brobes?\b|\bruff\b|ruven|safos|safros|sandals|\bsari\b|sarong|sarrak|\bsash\b|scarf|shawl|shift|shirt|shoes|shroud|skirt|skullcap|slacks|slippers|smock|snood|sochi|socks|spats|stockings|stole|\bsuit\b|sundress|surcoat|suspenders|sweater|tabard|tailcoat|takbahn|\btam\b|tights|\btoga\b|trews|trousers|tunic|turban|uaro'?s'?sugi|vakoti|\bveil\b|\bvest\b|vestments?|vikses|vluze|waistcoat|wimple|\bwings?\b|\bwrap\b)")) then var typefunction clothing
if (matchre ("%1", "(\bafis\b|aggahhpel|amulet|anklet|armband|armlet|badge|\bband\b|bangle|barrette|\bbead\b|boutonniere|bracelet|bracer|breastpin|brooch|buckle|button|\bchains?\b|charm|choker|circlet|clasp|\bclaw\b|collar|\bcord\b|crown|\bcuff\b|diadem|earcuff|earring|feather|ferroniere|fetish|garland|haircomb|hairnet|hairpin|hairsticks|handflower|hip-chain|jewels|\blei\b|locket|medal|medallion|muhenta|necklace|pearls|pendant|periapt|peyvu|pilonu|\bpin\b|por'?nidrel|rasha'?hhsograth|ribbon|\bring\b|sharmiit'?mhhg|\bstud\b|sur'?nidrel|tailband|thighband|torque|trinket|turinstil|varna|venda|wreath|wristband|wristcuff|wristlet)")) then var typefunction jewelry
if (matchre ("%1", "(ashcloak|mysanda)")) then var typemagic magic
if (matchre ("%1", "(arrowhead|bobbin|bodkin|burin|flights|instructions|keyblank|mold|pattern|primer|shears|thread)")) then var typefunction creation
if (matchre ("%1", "(cauldron|mortar|pestle|\bstove\b|teapot|\bvial\b|\bwater\b)")) then var typefunction alchemy
if (matchre ("%1", "(bodhran|bones|castanets|cymbals|damaru|darje|doumbec|drum|frottoir|gansa-gambang|guiro|naqqara|sonajero|spoons|tabla|tambourine|tapani|zills)")) then var typefunction percussion instrument
if (matchre ("%1", "(banjo|bow|cistre|cittern|dulcimer|faenellica|fiddle|gittern|guti'?adar|harp|khurmary|kithara|lute|lyre|mandolin|nehpar'?i|psaltery|ramkie|rebec|sarangi|sitar|sra'?aja?hh|strings|tambura|\bviol\b|violin|zither)")) then var typefunction string instrument
if (matchre ("%1", "(bagpipes|bassoon|cane flute|chalumeaux|clarin|cornemuse|cornet|didjeridu|fife|flute|gemshorn|hichiriki|horn|minjayrah|mirliton|mitbiq|nguru|oboe|ocarina|pan-pipes|physalis|piccolo|recorder|sackbut|serpent|shakuhachi|shawm|shintu|syrinx|txistu|whistle|yarghul|zurna)")) then var typefunction wind instrument
if (matchre ("%1", "(candle|lamp|lantern|torch)")) then var typefunction gives light
if (matchre ("%1", "(bridle|caparison|halter|saddle)")) then var typefunction tack
if (matchre ("%1", "(doll|marionette|puppet|toy)")) then var typefunction toy
if (matchre ("%1", "(warhorn)")) then var typeguild barbarian style, bard style
if (matchre ("%1", "(cassock|chalice)")) then var typeguild cleric style
if (matchre ("%1", "(sigilbook|starchart|telescope)")) then var typeguild moon mage style
if (matchre ("%1", "(feedbag)")) then var typeguild trader style
if (matchre ("%1", "(ashcloak)")) then var typeguild warrior mage style
if (matchre ("%1", "(bulhawf)")) then var typerace dwarf style
if (matchre ("%1", "(\barca\b|balac|catils|celya|coinec|gelnutre|gerri|\bguti\b|\bhac\b|ilalish|iltesh|jiranoci|karambit|liscis|mahai|oinurte|palta|\btago\b|takbahn|\btelo\b)")) then var typerace elf style
if (matchre ("%1", "(cheongsam|\bchol[ai]\b|kimono|nijare)")) then var typerace elothean style
if (matchre ("%1", "(\barek\b|domisaha|kisti|lusks|muhenta|ruven|sochi)")) then var typerace kaldar style
if (matchre ("%1", "(charovras|chmir|mra'?sin|nguru|pr'?chmir|Pr'?mra'?sin|Pr'?ysin|ra'?sarrak|ramkie|sarrak|sharpener|sonajero|vakoti|ysin)")) then var typerace prydaen style
if (matchre ("%1", "(afelsn|\bafis\b|\bava\b|cirvi|cuska|dzelt|dzelteno|feleka|forfra|fratvarit|josta|juans|\bkaft\b|kodur|krekls|laufisana|nauda|\bnuja\b|\bodaj\b|rantija|relna|rugursora|safos|sarkana|\bsega\b|\bsis\b|skefne|sudrava|turinstil|valta|variog|varna|vikses|vluze|vruna|\bzala\b|zelts|zila|zobens|zovens)")) then var typerace rakash style
if (matchre ("%1", "(\ba'?slo\b|aggahhpel|\bashu\b|\bata\b|gamantang|grah'?uaro|hhr'?ata|hhr'?ibu|hhr'?tami|kudalata|\blata\b|lata'?oloh|mahil|nehdalata|nehlata|pahapo|pejek|pel'?hhsmur|Peri'?el|peyvu|pilonu|por'?nidrel|q'?zhalata|rasha'?hhsograth|saran'?pon'?hhs|sharmiit'?mhhg|shh'?oi'?ata|shh'?oi'?lata|sur'?nidrel|tei'?oloh'?ata|tei'?oloh'?lata|\buaro\b|uaro'?s'?sugi|uenlata|uku'?uan|uku'?uanstaho|venda)")) then var typerace skra mur style
if %typefunction = clothing && %wearloc = DELETE then var wearloc -
if %typefunction = jewelry && %wearloc = DELETE then var wearloc -
if %typecon = container && %wearloc = DELETE then var wearloc -
return

CommaAppcost:
var commanumber %appcostk
eval length len(%commanumber)
var appcost %commanumber
if %length < 4 then goto return
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var appcost %temp
topapp:
if %length < 3 then goto lastapp
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var appcost %temp,%appcost
goto topapp
lastapp:
if %length > 0 then
{
eval temp substr(%commanumber, 0, %length)
var appcost %temp,%appcost
}
goto return

CommaCost:
var commanumber %costi
eval length len(%commanumber)
var cost %commanumber
if %length < 4 then goto return
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var cost %temp
topcost:
if %length < 3 then goto lastcost
evalmath length %length - 3
eval temp substr(%commanumber, %length, 3)
var cost %temp,%cost
goto topcost
lastcost:
if %length > 0 then
{
eval temp substr(%commanumber, 0, %length)
var cost %temp,%cost
}
goto return

return:
return

end:
put #class racial on
put #play ScriptEnd
put #flash
put #parse SCRIPT DONE
exit

enderror1:
wait
pause .5
put #echo
put #echo *** This item is crafted. Please do not make an item page for it on Elanthipedia. ***
put #echo
put #class racial on
put #play Error
put #flash
put #parse SCRIPT DONE
exit

enderror2:
wait
pause .5
put #echo
put #echo *** This item is altered. Please do not make an item page for it on Elanthipedia. ***
put #echo
put #class racial on
put #play Error
put #flash
put #parse SCRIPT DONE
exit