Elanthipedia Items (script)

From Elanthipedia
Revision as of 15:15, 18 March 2011 by ISHARON (talk | contribs) (→‎Script)
Jump to navigation Jump to search
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 file in Genie's Logs folder.

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.

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.)

Most of the time, the script needs to type shop/appraise X on Y, but sometimes, the required preposition is in. In these cases, edit the first line of the script before running it:

setvariable preposition on

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, with the following exceptions
  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
  8. Item: all other items


Required Genie Settings

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

#alias {shopv} {#var shop $0}


The "shop surface" is the thing on which the item is placed (for example, table, rack, or shelf).

Fields That Require Manual Editing

Name

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

Missing Data

Some fields that the script can't fill are left as placeholders for your convenience. For example, MTag (materials), CTag (colors), and STag (symbols) must be supplied by the player.

Likewise, any field with a % 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.

Fields to watch out for:

  • |type2=%wtype2: this field is used for thrown weapons
  • |maxcharge=%maxcharge: this field is filled when cambrinth is appraised. (Delete this field if the data is missing, or it is defined as "N/A".)
  • |special=%special: this field is defined as "cambrinth" when the item is cambrinth. Otherwise, delete this field unless there is some other special type, such as a guild or racial style.

Item Types

For your convenience, the script leaves room for up to four item types for fluff. 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=creation: automatic for fabrics
  • |type=-: automatic when the item is not set as clothing or jewelry
  • |type2=container: containers and pocketed items
  • |type3=cambrinth: cambrinth


If a type field is blank, please delete it.

If type2 or type3 is set, but there is no type, change it to the lowest available type number.

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.


Appcost and Cost

The appcost field is always correctly defined, and the cost field is correctly defined if you are in the right shop. However, these numbers need to be edited if they are greater than 999.

On Elanthipedia, all numbers with four or more digits are separated into groups of three digits. For example, if the script says |appcost=25000, you need to change that to |appcost=25,000.


Source, Sourcetype, and Cost

By default, the source field is defined as the room name. This does not always match the shop name on Elanthipedia.

Player-run Shops

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

  • |sourcetype=sold by
  • |source=
  • |cost=

Equipment Construction

Some of the game's construction values don't match Elanthipedia syntax.

Original Value Change To
appreciably susceptible to damage appreciably susceptible
marginally vulnerable to damage marginally vulnerable
of average construction average construction
a bit safeguarded against damage a bit safeguarded
rather reinforced against damage rather reinforced
quite guarded against damage quite guarded
highly protected against damage highly protected
extremely resistant to damage extremely resistant
unusually resilient to damage unusually resilient
nearly impervious to damage nearly impervious
practically invulnerable to damage practically invulnerable

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.

Shields

In the Shield section of the script, there is a field called |paladinapp=Yes. Please delete this unless you are a Paladin. (Paladins get more detailed information about shield protection, and this field indicates that the shield was appraised by a Paladin.)

Armor

area: This field is not defined by the script. Instead, all possible areas are listed. Please delete the areas that aren't covered by the armor.

|area=head,eyes,neck,chest,back,abdomen,arms,legs,hands


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, you can delete the ones that are the same as absorbance. For example, let's say that a piece of armor has the following absorption stats:

good (5/11) protection and fair (3/11) damage absorption for puncture attacks.

good (5/11) protection and fair (3/11) damage absorption for slice attacks.
good (5/11) protection and moderate (4/11) damage absorption for impact attacks.
fair (3/11) protection and fair (3/11) damage absorption for fire attacks.
fair (3/11) protection and fair (3/11) damage absorption for cold attacks.

moderate (4/11) protection and fair (3/11) damage absorption for electrical attacks.

As you can see, most of the absorption values are "fair," but impact absorption is "moderate." The Elanthipedia form would look like this:

|absorbance=fair
|impactab=moderate

This tells Elanthipedia that every absorption value is fair except for impact, which is moderate.

Script

setvariable preposition on
var source $roomname
action exit 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
send shop $shop
waitfor [Type SHOP [GOOD] to see some details about it.]
pause

action setvariable tap $2 when ^You tap (a|an|some) (.+) (atop|inside) (an?|some)
action setvariable short $2 when ^Short: (a|an|some) (.+)
action setvariable look $1 when ^Look:  (.+)
action setvariable look - when ^Look:  You see nothing unusual\.$
action setvariable type2 container when ^The .+ (are|is) a container, and can be opened and closed\.$
action setvariable type2 container when ^The .+ (are|is) a container\.$
action setvariable type2 container when ^The .+ (are|is) pocketed, and can be opened and closed\.$
action setvariable type2 container when ^The .+ (are|is) pocketed\.$
action setvariable type2 container when ^The gem pouch is made for easy storage of gems
action setvariable type3 cambrinth when holds? .+ mana\.$
action setvariable special cambrinth when holds? .+ mana\.$
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+ 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 shoulder when ^It appears that .+ can be slung over one shoulder\.$
action setvariable weight $1 when ^You are certain that .+ weighs exactly (.*) (stones?)\.$
action setvariable appcost $2 when ^You are certain that .+ (is|are) worth exactly (.*) kronars\.$
action setvariable appcost 0 when ^You are certain that .+ (is|are) worth exactly nothing\.$
action setvariable cost $1 when ^Cost:  (.+)
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 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 HE 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 LB 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 HB 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 when (is a|are a|and) two-handed blunt .+ weapon
action setvariable wtype1 SL when (is|are) a sling type weapon
action setvariable wtype1 StS when (is|are) a staff sling type weapon
action setvariable wtype1 SB when (is|are) a short bow type weapon
action setvariable wtype1 LoB when (is|are) a long bow type weapon
action setvariable wtype1 CB when (is|are) a composite bow type weapon
action setvariable wtype1 LX when (is|are) a light crossbow type weapon
action setvariable wtype1 HX when (is|are) a heavy crossbow type weapon
action setvariable wtype1 SS when (is a|are a|and) short staff type weapon
action setvariable wtype1 QS when (is a|are a|and) quarter staff type weapon
action setvariable wtype1 PI when (is a|are a|and) pike .+ weapon
action setvariable wtype1 HAL when (is a|are a|and) halberd .+ weapon
action setvariable wtype2 LT when (is|are) a light thrown and .+ weapon
action setvariable wtype2 HT 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 puncturetype Yes when ^\s+(.*) puncture damage increase
action setvariable slicetype Yes when ^\s+(.*) slice damage increase
action setvariable impacttype Yes when ^\s+(.*) impact damage increase
action setvariable balance $1 when .+ is (.*) balanced
action setvariable power $1 when .+ is (.*) suited

action setvariable stype lsh when is large in size\.$
action setvariable stype msh when is medium in size\.$
action setvariable stype ssh when is small in size\.$
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? an? (.*) maneuvering hinde?rance

action setvariable atype cloth armor when (is|are) cloth armor\.$|cloth\.$
action setvariable atype leather armor when (is|are) leather armor\.$
action setvariable atype bone armor when (is|are) bone armor\.$
action setvariable atype light chain when (is|are) light chain\.$
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 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 construction $2 when ^You are certain that the .+ (is|are) (.*), and (is|are)

echo
echo ITEM TYPE:
echo
echo 1:	Weapon: Melee/Thrown
echo
echo 2:	Weapon: Ranged
echo
echo 3:	Weapon: Ammunition
echo
echo 4:	Weapon: Brawling
echo
echo 5:	Weapon: Parry Stick
echo
echo 6:	Shield
echo
echo 7:	Armor
echo
echo 8:	Item
echo
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
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:
var metal no
var maxcharge N/A
var wearloc -
pause 2
send tap %number %1 %preposition $shop
waitforre ^You
send shop %number %1 %preposition $shop
waitforre ^Short
send appraise %number %1 %preposition $shop careful
wait
pause
echo {{Weapon
echo |name=%tap
echo |newapp=Yes
echo |noun=%1
echo |look=%look
echo |MTag=
echo |CTag=
echo |STag=
echo |range=%range
echo |type=%wtype1
echo |type2=%wtype2
echo |puncture=%puncture
echo |slice=%slice
echo |impact=%impact
echo |balance=%balance
echo |suitedness=%power
echo |construction=%construction
echo |metal=%metal
echo |weight=%weight
echo |appcost=%appcost
echo |wearloc=%wearloc
echo |sourcetype=sold by
echo |source=%source
echo |cost=%cost
echo |maxcharge=%maxcharge
echo |special=%special
echo }}
put #log >Appraisal {{Weapon
put #log >Appraisal |name=%tap
put #log >Appraisal |newapp=Yes
put #log >Appraisal |noun=%1
put #log >Appraisal |look=%look
put #log >Appraisal |MTag=
put #log >Appraisal |CTag=
put #log >Appraisal |STag=
put #log >Appraisal |range=%range
put #log >Appraisal |type=%wtype1
put #log >Appraisal |type2=%wtype2
put #log >Appraisal |puncture=%puncture
put #log >Appraisal |slice=%slice
put #log >Appraisal |impact=%impact
put #log >Appraisal |balance=%balance
put #log >Appraisal |suitedness=%power
put #log >Appraisal |construction=%construction
put #log >Appraisal |metal=%metal
put #log >Appraisal |weight=%weight
put #log >Appraisal |appcost=%appcost
put #log >Appraisal |wearloc=%wearloc
put #log >Appraisal |sourcetype=sold by
put #log >Appraisal |source=%source
put #log >Appraisal |cost=%cost
put #log >Appraisal |maxcharge=%maxcharge
put #log >Appraisal |special=%special
put #log >Appraisal }}
return

AppraiseWeapon2:
var metal no
var maxcharge N/A
var wearloc -
pause 2
send tap %number %1 %preposition $shop
waitforre ^You
send shop %number %1 %preposition $shop
waitforre ^Short
send appraise %number %1 %preposition $shop careful
wait
pause
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
echo {{Weapon
echo |name=%tap
echo |newapp=Yes
echo |noun=%1
echo |look=%look
echo |MTag=
echo |CTag=
echo |STag=
echo |range=ranged
echo |ammo=%ammo
echo |ammocap=
echo |rangedRT=
echo |type=%wtype1
echo |puncture=-
echo |balance=%balance
echo |suitedness=%power
echo |construction=%construction
echo |metal=%metal
echo |weight=%weight
echo |appcost=%appcost
echo |wearloc=%wearloc
echo |sourcetype=sold by
echo |source=%source
echo |cost=%cost
echo |maxcharge=%maxcharge
echo |special=%special
echo }}
put #log >Appraisal {{Weapon
put #log >Appraisal |name=%tap
put #log >Appraisal |newapp=Yes
put #log >Appraisal |noun=%1
put #log >Appraisal |look=%look
put #log >Appraisal |MTag=
put #log >Appraisal |CTag=
put #log >Appraisal |STag=
put #log >Appraisal |range=ranged
put #log >Appraisal |ammo=%ammo
put #log >Appraisal |ammocap=
put #log >Appraisal |rangedRT=
put #log >Appraisal |type=%wtype1
put #log >Appraisal |puncture=-
put #log >Appraisal |balance=%balance
put #log >Appraisal |suitedness=%power
put #log >Appraisal |construction=%construction
put #log >Appraisal |metal=%metal
put #log >Appraisal |weight=%weight
put #log >Appraisal |appcost=%appcost
put #log >Appraisal |wearloc=%wearloc
put #log >Appraisal |sourcetype=sold by
put #log >Appraisal |source=%source
put #log >Appraisal |cost=%cost
put #log >Appraisal |maxcharge=%maxcharge
put #log >Appraisal |special=%special
put #log >Appraisal }}
return

AppraiseWeapon3:
var metal no
var maxcharge N/A
var wearloc -
pause 2
send tap %number %1 %preposition $shop
waitforre ^You
send shop %number %1 %preposition $shop
waitforre ^Short
send appraise %number %1 %preposition $shop careful
wait
pause
if (matchre ("%1", "(arrows?)")) then var wtype1 arrow
if (matchre ("%1", "(bolts?|quadrellos?|quarrels?|pulzones?)")) then var wtype1 bolt
if (matchre ("%1", "(bullets?|clumps?|lumps?|rocks?)")) then var wtype1 rock
echo {{Weapon
echo |name=%tap
echo |newapp=Yes
echo |noun=%1
echo |look=%look
echo |MTag=
echo |CTag=
echo |STag=
echo |type=%wtype1
echo |puncture=%puncture
echo |slice=%slice
echo |impact=%impact
echo |balance=-
echo |construction=%construction
echo |metal=%metal
echo |weight=%weight
echo |appcost=%appcost
echo |wearloc=%wearloc
echo |sourcetype=sold by
echo |source=%source
echo |cost=%cost
echo |maxcharge=%maxcharge
echo |special=%special
echo }}
put #log >Appraisal {{Weapon
put #log >Appraisal |name=%tap
put #log >Appraisal |newapp=Yes
put #log >Appraisal |noun=%1
put #log >Appraisal |look=%look
put #log >Appraisal |MTag=
put #log >Appraisal |CTag=
put #log >Appraisal |STag=
put #log >Appraisal |type=%wtype1
put #log >Appraisal |puncture=%puncture
put #log >Appraisal |slice=%slice
put #log >Appraisal |impact=%impact
put #log >Appraisal |balance=-
put #log >Appraisal |construction=%construction
put #log >Appraisal |metal=%metal
put #log >Appraisal |weight=%weight
put #log >Appraisal |appcost=%appcost
put #log >Appraisal |wearloc=%wearloc
put #log >Appraisal |sourcetype=sold by
put #log >Appraisal |source=%source
put #log >Appraisal |cost=%cost
put #log >Appraisal |maxcharge=%maxcharge
put #log >Appraisal |special=%special
put #log >Appraisal }}
return

AppraiseWeapon4:
var metal no
var maxcharge N/A
var wearloc -
var puncturetype No
var slicetype No
var impacttype No
pause 2
send tap %number %1 %preposition $shop
waitforre ^You
send shop %number %1 %preposition $shop
waitforre ^Short
send appraise %number %1 %preposition $shop careful
wait
pause
if (matchre ("%1", "(handwraps?|knuckleguards?|knuckles?)")) then var wtype1 hands
if (matchre ("%tap", "(elbow)")) then var wtype1 elbows
if (matchre ("%tap", "(knee)")) then var wtype1 knees
if (matchre ("%1", "(footwraps?)")) then var wtype1 feet
echo {{Weapon
echo |name=%tap
echo |newapp=Yes
echo |brawl=yes
echo |noun=%1
echo |look=%look
echo |MTag=
echo |CTag=
echo |STag=
echo |range=%range
echo |type=%wtype1
echo |puncture=%puncture
echo |puncturetype=Yes
echo |slice=%slice
echo |slicetype=Yes
echo |impact=%impact
echo |impacttype=Yes
echo |balance=-
echo |construction=%construction
echo |metal=%metal
echo |weight=%weight
echo |appcost=%appcost
echo |wearloc=%wearloc
echo |sourcetype=sold by
echo |source=%source
echo |cost=%cost
echo |maxcharge=%maxcharge
echo |special=%special
echo }}
put #log >Appraisal {{Weapon
put #log >Appraisal |name=%tap
put #log >Appraisal |newapp=Yes
put #log >Appraisal |brawl=yes
put #log >Appraisal |noun=%1
put #log >Appraisal |look=%look
put #log >Appraisal |MTag=
put #log >Appraisal |CTag=
put #log >Appraisal |STag=
put #log >Appraisal |type=%wtype1
put #log >Appraisal |puncture=%puncture
put #log >Appraisal |puncturetype=Yes
put #log >Appraisal |slice=%slice
put #log >Appraisal |slicetype=Yes
put #log >Appraisal |impact=%impact
put #log >Appraisal |impacttype=Yes
put #log >Appraisal |balance=-
put #log >Appraisal |construction=%construction
put #log >Appraisal |metal=%metal
put #log >Appraisal |weight=%weight
put #log >Appraisal |appcost=%appcost
put #log >Appraisal |wearloc=%wearloc
put #log >Appraisal |sourcetype=sold by
put #log >Appraisal |source=%source
put #log >Appraisal |cost=%cost
put #log >Appraisal |maxcharge=%maxcharge
put #log >Appraisal |special=%special
put #log >Appraisal }}
return

AppraiseWeapon5:
var metal no
var maxcharge N/A
var wearloc -
pause 2
send tap %number %1 %preposition $shop
waitforre ^You
send shop %number %1 %preposition $shop
waitforre ^Short
send appraise %number %1 %preposition $shop careful
wait
pause
echo {{Weapon
echo |brawl=yes
echo |name=%tap
echo |newapp=Yes
echo |noun=%1
echo |look=%look
echo |MTag=
echo |CTag=
echo |STag=
echo |type=parry
echo |puncture=-
echo |puncturetype=No
echo |slicetype=No
echo |impacttype=No
echo |balance=%balance
echo |suitedness=%power
echo |construction=%construction
echo |metal=%metal
echo |weight=%weight
echo |appcost=%appcost
echo |wearloc=%wearloc
echo |sourcetype=sold by
echo |source=%source
echo |cost=%cost
echo |maxcharge=%maxcharge
echo |special=%special
echo }}
put #log >Appraisal {{Weapon
put #log >Appraisal |brawl=yes
put #log >Appraisal |name=%tap
put #log >Appraisal |newapp=Yes
put #log >Appraisal |noun=%1
put #log >Appraisal |look=%look
put #log >Appraisal |MTag=
put #log >Appraisal |CTag=
put #log >Appraisal |STag=
put #log >Appraisal |type=parry
put #log >Appraisal |puncture=-
put #log >Appraisal |puncturetype=No
put #log >Appraisal |slicetype=No
put #log >Appraisal |impacttype=No
put #log >Appraisal |balance=%balance
put #log >Appraisal |suitedness=%power
put #log >Appraisal |construction=%construction
put #log >Appraisal |metal=%metal
put #log >Appraisal |weight=%weight
put #log >Appraisal |appcost=%appcost
put #log >Appraisal |wearloc=%wearloc
put #log >Appraisal |sourcetype=sold by
put #log >Appraisal |source=%source
put #log >Appraisal |cost=%cost
put #log >Appraisal |maxcharge=%maxcharge
put #log >Appraisal |special=%special
put #log >Appraisal }}
return

AppraiseShield:
var metal no
var maxcharge N/A
var wearloc -
pause 2
send tap %number %1 %preposition $shop
waitforre ^You
send shop %number %1 %preposition $shop
waitforre ^Short
send appraise %number %1 %preposition $shop careful
wait
pause
echo {{Shield
echo |name=%tap
echo |newapp=Yes
echo |noun=%1
echo |look=%look
echo |MTag=
echo |CTag=
echo |STag=
echo |type=%stype
echo |hindrance=%shindrance
echo |minprotection=%smin
echo |maxprotection=%smax
echo |paladinapp=Yes
echo |puncture=%puncture
echo |slice=%slice
echo |impact=%impact
echo |balance=%balance
echo |suitedness=%power
echo |construction=%construction
echo |metal=%metal
echo |weight=%weight
echo |appcost=%appcost
echo |sourcetype=sold by
echo |source=%source
echo |cost=%cost
echo |maxcharge=%maxcharge
echo |special=%special
echo }}
put #log >Appraisal {{Shield
put #log >Appraisal |name=%tap
put #log >Appraisal |newapp=Yes
put #log >Appraisal |noun=%1
put #log >Appraisal |look=%look
put #log >Appraisal |MTag=
put #log >Appraisal |CTag=
put #log >Appraisal |STag=
put #log >Appraisal |type=%stype
put #log >Appraisal |hindrance=%shindrance
put #log >Appraisal |minprotection=%smin
put #log >Appraisal |maxprotection=%smax
put #log >Appraisal |paladinapp=Yes
put #log >Appraisal |puncture=%puncture
put #log >Appraisal |slice=%slice
put #log >Appraisal |impact=%impact
put #log >Appraisal |balance=%balance
put #log >Appraisal |suitedness=%power
put #log >Appraisal |construction=%construction
put #log >Appraisal |metal=%metal
put #log >Appraisal |weight=%weight
put #log >Appraisal |appcost=%appcost
put #log >Appraisal |sourcetype=sold by
put #log >Appraisal |source=%source
put #log >Appraisal |cost=%cost
put #log >Appraisal |maxcharge=%maxcharge
put #log >Appraisal |special=%special
put #log >Appraisal }}
return

AppraiseArmor:
var metal no
var maxcharge N/A
var wearloc -
pause 2
send tap %number %1 %preposition $shop
waitforre ^You
send shop %number %1 %preposition $shop
waitforre ^Short
send appraise %number %1 %preposition $shop careful
wait
pause
echo {{Armor
echo |name=%tap
echo |newapp=Yes
echo |noun=%1
echo |look=%look
echo |MTag=
echo |CTag=
echo |STag=
echo |type=%atype
echo |area=head,eyes,neck,chest,back,abdomen,arms,legs,hands
echo |hindrance=%mhindrance
echo |stealth=%shindrance
echo |puncture=%appuncture
echo |slice=%apslice
echo |impact=%apimpact
echo |fire=%apfire
echo |cold=%apcold
echo |electric=%apelectrical
echo |absorbance=%aapuncture
echo |punctureab=%aapuncture
echo |sliceab=%aaslice
echo |impactab=%aaimpact
echo |fireab=%aafire
echo |coldab=%aacold
echo |electricab=%aaelectrical
echo |construction=%construction
echo |metal=%metal
echo |appcost=%appcost
echo |weight=%weight
echo |sourcetype=sold by
echo |source=%source
echo |cost=%cost
echo |maxcharge=%maxcharge
echo |special=%special
echo }}
put #log >Appraisal {{Armor
put #log >Appraisal |name=%tap
put #log >Appraisal |newapp=Yes
put #log >Appraisal |noun=%1
put #log >Appraisal |look=%look
put #log >Appraisal |MTag=
put #log >Appraisal |CTag=
put #log >Appraisal |STag=
put #log >Appraisal |type=%atype
put #log >Appraisal |area=head,eyes,neck,chest,back,abdomen,arms,legs,hands
put #log >Appraisal |hindrance=%mhindrance
put #log >Appraisal |stealth=%shindrance
put #log >Appraisal |puncture=%appuncture
put #log >Appraisal |slice=%apslice
put #log >Appraisal |impact=%apimpact
put #log >Appraisal |fire=%apfire
put #log >Appraisal |cold=%apcold
put #log >Appraisal |electric=%apelectrical
put #log >Appraisal |absorbance=%aapuncture
put #log >Appraisal |punctureab=%aapuncture
put #log >Appraisal |sliceab=%aaslice
put #log >Appraisal |impactab=%aaimpact
put #log >Appraisal |fireab=%aafire
put #log >Appraisal |coldab=%aacold
put #log >Appraisal |electricab=%aaelectrical
put #log >Appraisal |construction=%construction
put #log >Appraisal |metal=%metal
put #log >Appraisal |appcost=%appcost
put #log >Appraisal |weight=%weight
put #log >Appraisal |sourcetype=sold by
put #log >Appraisal |source=%source
put #log >Appraisal |cost=%cost
put #log >Appraisal |maxcharge=%maxcharge
put #log >Appraisal |special=%special
put #log >Appraisal }}
return

AppraiseItem:
var type1 -
var wearloc -
var maxcharge N/A
var metal no
pause 2
send tap %number %1 %preposition $shop
waitforre ^You
send shop %number %1 %preposition $shop
waitforre ^Short
send appraise %number %1 %preposition $shop careful
wait
pause
if (matchre ("%1", "(belt|beret|blouse|bodice|bonnet|boots|breeches|caftan|cape|cassock|chemise|cloak|clogs|coat|corset|dress|fedora|frock|gamantang|gloves|gown|hat|hose|jacket|jerkin|kilt|leggings|mantle|mask|moccasins|mra'sin|nauda|odaj|overalls|pall|pants|pelt|pr'mra'sin|ribbon|robes?|sandals|sarong|sarrak|sash|scarf|shawl|shirt|shoes|skirt|skullcap|slippers|smock|socks|stockings|tabard|tam|tights|trousers|tunic|uaro's'sugi|veil|vest|wings?|wrap)")) then var type1 clothing
if (matchre ("%1", "(aggahhpel|amulet|anklet|armband|armlet|badge|band|bangles?|barrette|beads?|bracelets?|bracers?|brooch|chain|charms?|choker|circlet|clasp|claws?|crown|cuff|earcuffs?|earrings?|feather|fetish|haircomb|hairnet|hairpin|locket|medal|medallion|necklace|pendant|periapt|pilonu|pin|por'nidrel|ring|studs?|sur'nidrel|tailband|torque|venda|wristband|wristcuffs?)")) then var type1 jewelry
if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var type1 jewelry
if (matchre ("%1", "(fabric)")) then var type1 creation
echo {{Item
echo |name=%tap
echo |noun=%1
echo |look=%look
echo |MTag=
echo |CTag=
echo |STag=
echo |type=%type1
echo |type2=%type2
echo |type3=%type3
echo |type4=
echo |wearloc=%wearloc
echo |weight=%weight
echo |appcost=%appcost
echo |sourcetype=sold by
echo |source=%source
echo |cost=%cost
echo |maxcharge=%maxcharge
echo |metal=%metal
echo }}
put #log >Appraisal {{Item
put #log >Appraisal |name=%tap
put #log >Appraisal |noun=%1
put #log >Appraisal |look=%look
put #log >Appraisal |MTag=
put #log >Appraisal |CTag=
put #log >Appraisal |STag=
put #log >Appraisal |type=%type1
put #log >Appraisal |type2=%type2
put #log >Appraisal |type3=
put #log >Appraisal |type4=
put #log >Appraisal |wearloc=%wearloc
put #log >Appraisal |weight=%weight
put #log >Appraisal |appcost=%appcost
put #log >Appraisal |sourcetype=sold by
put #log >Appraisal |source=%source
put #log >Appraisal |cost=%cost
put #log >Appraisal |maxcharge=%maxcharge
put #log >Appraisal |metal=%metal
put #log >Appraisal }}
return

end:
exit