Elanthipedia Items (script)
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:
- Weapon: Melee/Thrown: most weapons (except types 2-5)
- Weapon: Ranged: bows, crossbows, and slings
- Weapon: Ammunition: for bows, crossbows, and slings
- Weapon: Brawling: worn brawling gear (excluding parry sticks)
- Weapon: Parry Stick
- Shield
- Armor
- 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, second rack, or oak shelf).
You must install and run this script to set your currency variable. (It only needs to be run once unless you go to another province.) If you don't wear a ring, change the item to something that you wear.
put app my ring quick matchre dokoras ^You .+ worth .+ dokoras matchre kronars ^You .+ worth .+ kronars matchre lirums ^You .+ worth .+ lirums matchwait dokoras: put #var currency Dokoras goto end kronars: put #var currency Kronars goto end lirums: put #var currency Lirums goto end end: echo echo Currency set to $currency echo
Changelog
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).
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. 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.
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
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=
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 Damage
Replace "quite a bit of" with "quite a bit."
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 (\d+) (stones?)\.$ action setvariable appcosti $2 when ^You are certain that .+ (is|are) worth exactly (\d+) kronars\.$ action setvariable appcosti 0 when ^You are certain that .+ (is|are) worth exactly nothing\.$ 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 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) (.*) (against|to) damage, and action setvariable construction extremely weak when ^You are certain that the .+ (is|are) extremely weak, and 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 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 gosub CommaAppcost gosub CommaCost 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 $currency 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 $currency 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 gosub CommaAppcost 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 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 $currency 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 $currency 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 gosub CommaAppcost gosub CommaCost 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 $currency 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 $currency put #log >Appraisal |maxcharge=%maxcharge put #log >Appraisal |special=%special put #log >Appraisal }} return AppraiseWeapon4: var metal no var maxcharge N/A 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 gosub CommaAppcost gosub CommaCost 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 |sourcetype=sold by echo |source=%source echo |cost=%cost $currency 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 $currency put #log >Appraisal |maxcharge=%maxcharge put #log >Appraisal |special=%special put #log >Appraisal }} return AppraiseWeapon5: var metal no var maxcharge N/A 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 gosub CommaAppcost gosub CommaCost 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 |sourcetype=sold by echo |source=%source echo |cost=%cost $currency 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 $currency 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 gosub CommaAppcost gosub CommaCost 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 $currency 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 $currency 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 gosub CommaAppcost gosub CommaCost 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 $currency 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 $currency 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 gosub CommaAppcost gosub CommaCost if (matchre ("%1", "(aggahhpel|amulet|anklet|armband|armlet|badge|band|bangle|barrette|bead|bracelet|bracer|brooch|chain|charm|choker|circlet|clasp|claw|crown|cuff|earcuff|earring|feather|fetish|haircomb|hairnet|hairpin|locket|medal|medallion|necklace|pendant|periapt|pilonu|pin|por'nidrel|ring|stud|sur'nidrel|tailband|torque|venda|wristband|wristcuff)")) then var type1 jewelry if (matchre ("%1", "(bandeau|belt|beret|blouse|bodice|bonnet|boots|breeches|caftan|cape|cassock|chemise|cloak|clogs|coat|corset|drape|dress|fabric|fedora|frock|gamantang|gloves|gown|hat|hose|jacket|jerkin|josta|kilt|kimono|krekls|leggings|loincloth|mantle|mask|moccasins|mra'sin|nauda|odaj|overalls|pall|pants|pelt|ribbon|robe|safros|sandals|sarong|sarrak|sash|scarf|shawl|shirt|shoes|skirt|skullcap|slippers|smock|sochi|socks|stockings|tabard|tam|tights|toga|trousers|tunic|turban|uaro's'sugi|veil|vest|vikses|vluze|wing|wrap)")) then var type1 clothing 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 ("%1", "(cassock)")) then var type3 cleric style if (matchre ("%1", "(fabric)")) then var type1 creation if (matchre ("%1", "(feedbag)")) then var type1 trader 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 ("%1", "(nauda|odaj)")) then var type3 rakash style if (matchre ("%1", "(starchart)")) then var type1 moon mage style if (matchre ("%1", "(warhorn)")) then var type1 barbarian style if (matchre ("%1", "(warhorn)")) then var type2 bard style if (matchre ("%look", "(Curiously, no cord, chain or other binding links the small trinkets together)")) then var type1 jewelry if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var type2 cleric style if (matchre ("%tap", "(anloral|pilgrim's badge)")) then var type3 paladin style if (matchre ("%tap", "(Barbarian|chakrel|warpaint)")) then var type2 barbarian style if (matchre ("%tap", "(Bard|Bardic|neithrel)")) then var type3 bard style if (matchre ("%tap", "(Cleric|clergy|clerical|devotional|ecclesiastic|Inquisition|Inquisitor|libation|minister|monastic|monk|\bnun\b|pastor|prayer|preach|priest|sham[ae]n|vestment)")) then var type3 cleric style if (matchre ("%tap", "(Dwarf|Dwarve[ns]|Haakish)")) then var type3 dwarf style if (matchre ("%tap", "(Elf|Elve[ns]|Elvish|Ilithic|sana'ati dyaus)")) then var type3 elf style if (matchre ("%tap", "(Eloth|Gerenshuge)")) then var type3 elothean style if (matchre ("%tap", "(Empath|apothecaries|apothecary|doctor|empathic|healer|healing|medicine|medic|nurse|physician|surgeon)")) then var type3 empath style if (matchre ("%tap", "(gaethzen)")) then var type2 gaethzen if (matchre ("%tap", "(Gnome|Gnomic|Gnomish|Gizzbolf|Krigglin|Spangklud)")) then var type3 gnome style if (matchre ("%tap", "(Gor'Tog|Toggish|Toggler)")) then var type3 gortog style if (matchre ("%tap", "(Halfling|Olvi)")) then var halfling race style if (matchre ("%tap", "(Human|Gamgweth)")) then var human race style if (matchre ("%tap", "(Kaldar|Gorbesh|Aliesa|Aniek|Eimeuz|Merion|Misiumos|Orisas|Sieben|Sraxaec|Tieheq|Xosiurion)")) then var type3 kaldar style if (matchre ("%tap", "(Moon Mage|Arid Steppe|astrologer|astrology|Celestial Compact|constellation|Crystal Hand|Fortune's Path|G'nar Pethian|Heritage House|lunar|planet|Progeny|telescope|Tezirah)")) then var type3 moon mage style if (matchre ("%tap", "(Paladin|soulstone)")) then var type3 paladin 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", "(Ranger)")) then var type3 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 type3 skra mur style if (matchre ("%tap", "(Thief|Thieves|brigand|burglar|highwaym[ae]n|pirate|robber|smuggler)")) then var type3 thief style if (matchre ("%tap", "(Trader|auction|bazaar|caravan|contract|merchant)")) then var type3 trader style if (matchre ("%tap", "(Warrior Mage|aether|element|talisman)")) then var type3 warrior mage style 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 $currency 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=%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 $currency put #log >Appraisal |maxcharge=%maxcharge put #log >Appraisal |metal=%metal put #log >Appraisal }} return CommaAppcost: var commanumber %appcosti 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: exit