Mercurial > hg > batmud > ggrtf
changeset 587:81189696e27b
Major cleanup of merchant module. New features added.
Some things are probably now BROKEN, please test. :P
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 24 Dec 2006 20:24:08 +0000 |
parents | a0bb7ca6158b |
children | 294f8fa08285 |
files | ggrtf-merchant.tf |
diffstat | 1 files changed, 143 insertions(+), 155 deletions(-) [+] |
line wrap: on
line diff
--- a/ggrtf-merchant.tf Sun Dec 24 20:09:54 2006 +0000 +++ b/ggrtf-merchant.tf Sun Dec 24 20:24:08 2006 +0000 @@ -14,6 +14,9 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Set "on" if you have merchant belt /prdeftoggle -n"havebelt" -d"Use merchant belt functionality" +/prdeftoggle -n"usepouch" -d"Use reagent pouch as target in /mr" +/prdefvalue -n"pouchname" -d"Name of reagent pouch if usepouch enabled" + ;; Move item /def -i mdisc = /msq Move Items -> @{Cgreen}disc@{n}%;\ @@ -87,32 +90,35 @@ ;; Workbench and tool helper code ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Tool wielding function -/set mwield_cur= -/def -i mwield =\ +/set merch_st= +/set merch_st_p=1 +/set merch_wielded= + +/def -i gwieldtool =\ /if ({1}!~"")\ - /if (mwield_cur!~{1})\ - /if (mwield_cur!~"")\ - /msq Switching '%{mwield_cur}' -> '%{1}'%;\ - @remove %{mwield_cur}%;\ + /if (merch_wielded!~{1})\ + /if (merch_wielded!~"")\ + /msq Switching '%{merch_wielded}' -> '%{1}'%;\ + @@remove %{merch_wielded}%;\ /else \ /msq Wielding -> '%{1}'%;\ /endif%;\ - /set mwield_cur=%{1}%;\ - @wield %{1}%;\ + /set merch_wielded=%{1}%;\ + @@wield %{1}%;\ /endif%;\ /endif ;; (Assume everything to be metal/bs by default) -/def -i mworkbench_set = /set wb_type=bs%;/set wb_forge=%;/set wb_tool=%;\ - /if ({1}=~"bamboo"|{1}=~"bone"|{1}=~"ebony"|{1}=~"wood"|{1}=~"birch"|{1}=~"oak"|{1}=~"cedar"|{1}=~"elm"|{1}=~"maple"|{1}=~"mallorn"|{1}=~"mahogany") /set wb_type=cp%;\ - /elseif ({1}=~"onyx"|{1}=~"turquoise"|{1}=~"sapphire"|{1}=~"olivine"|{1}=~"sunstone"|{1}=~"ruby"|{1}=~"bloodstone"|{1}=~"emerald"|{1}=~"quartz"|{1}=~"diamond")/set wb_type=gc%;\ - /elseif ({1}=~"marble"|{1}=~"slate"|{1}=~"moonstone")/set wb_type=ma%;\ - /elseif ({1}=~"laen"|{1}=~"glass"|{1}=~"crystal"|{1}=~"obsidian")/set wb_type=gb%;\ - /elseif ({1}=~"flesh"|{1}=~"cloth"|{1}=~"feathers"|{1}=~"fur"|{1}=~"leather"|{1}=~"cotton"|{1}=~"wool")/set wb_type=sw%;\ - /elseif ({1}=~"rubber"|{1}=~"alabaster"|{1}=~"fire"|{1}=~"porcelain")/set wb_type=sc%;\ +/def -i gsetworkbench = /set mwb_type=bs%;/set mwb_forge=%;/set mwb_tool=%;\ + /if ({1}=~"bamboo"|{1}=~"bone"|{1}=~"ebony"|{1}=~"wood"|{1}=~"birch"|{1}=~"oak"|{1}=~"cedar"|{1}=~"elm"|{1}=~"maple"|{1}=~"mallorn"|{1}=~"mahogany") /set mwb_type=cp%;\ + /elseif ({1}=~"onyx"|{1}=~"turquoise"|{1}=~"sapphire"|{1}=~"olivine"|{1}=~"sunstone"|{1}=~"ruby"|{1}=~"bloodstone"|{1}=~"emerald"|{1}=~"quartz"|{1}=~"diamond")/set mwb_type=gc%;\ + /elseif ({1}=~"marble"|{1}=~"slate"|{1}=~"moonstone")/set mwb_type=ma%;\ + /elseif ({1}=~"laen"|{1}=~"glass"|{1}=~"crystal"|{1}=~"obsidian")/set mwb_type=gb%;\ + /elseif ({1}=~"flesh"|{1}=~"cloth"|{1}=~"feathers"|{1}=~"fur"|{1}=~"leather"|{1}=~"cotton"|{1}=~"wool")/set mwb_type=sw%;\ + /elseif ({1}=~"rubber"|{1}=~"alabaster"|{1}=~"fire"|{1}=~"porcelain")/set mwb_type=sc%;\ /endif%;\ - /eval /set wb_forge=$$[mforge_%{wb_type}]%;\ - /eval /set wb_tool=$$[mtool_%{wb_type}] + /eval /set mwb_forge=$$[mforge_%{mwb_type}]%;\ + /eval /set mwb_tool=$$[mtool_%{mwb_type}] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -128,10 +134,12 @@ ;A dark grey elm tree stands here. ;A cedar tree with smooth bark stands here. ;A maple tree is growing here. -/def -i -F -p1 -mregexp -t"^......... .* ([a-z][a-z]+) tree " lj_at1 =\ +/def -i -F -p1 -mregexp -t"^......... .* ([a-z][a-z]+) tree " glumberjack_grep =\ @@grep 'It can be cut down for ' look at %{P1} on ground%;/set lj_target=%{P1} -/def -i -p9999 -ag -mregexp -t"^It can be cut down for ([0-9]) logs? of ([a-z]+)\.$" lj_amount =\ +/def -i -p9999 -ag -msimple -t"No matches for \'It can be cut down for \'." glumberjack_gag + +/def -i -p9999 -ag -mregexp -t"^It can be cut down for ([0-9]) logs? of ([a-z]+)\.$" glumberjack_amount =\ /msq [@{BCgreen}%{P1} logs@{n}] of @{Cyellow}%{P2}@{n} /def lj =\ @@ -139,19 +147,19 @@ /if (merch_st!~"lj" | merch_st_p!~lj_target)\ /set merch_st_p=%{lj_target}%;\ /set merch_st=lj%;\ - /test mwield(mtool_lj)%;\ + /test gwieldtool(mtool_lj)%;\ /endif%;\ /msq Lumberjacking '%{lj_target}' ...%;\ @@use lumberjacking at %{lj_target} -/def -i -p9999 -mregexp -t"^You chop up the [a-z ]+ into ([0-9]+) useable logs\.$" lj_getlog =\ +/def -i -p9999 -mregexp -t"^You chop up the [a-z ]+ into ([0-9]+) useable logs\.$" glumberjack_get =\ /if (merch_st=~"lj" & skill_st2=~"on")\ - /let i=%{P1}%;\ + /let _i=%{P1}%;\ /prmovestart%;\ - /while (i > 0)\ + /while (_i > 0)\ /prmoveitem log%;\ - /let i=$[i - 1]%;\ + /let _i=$[_i - 1]%;\ /done%;\ /prmoveend%;\ /endif @@ -160,86 +168,86 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; AMALGAMATING ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -/def amal = /mworkbench_set %*%;\ +/def amal = /gsetworkbench %*%;\ /if (merch_st!~"amal" | merch_st_p!~{*})\ /set merch_st_p=%*%;\ /set merch_st=amal%;\ - /test mwield(wb_tool)%;\ + /test gwieldtool(mwb_tool)%;\ /endif%;\ - /msq Amalgamating '%*' in '%{wb_forge}' with '%{wb_tool}' ...%;\ - @@use amalgamate at %* in %{wb_forge} + /msq Amalgamating '%*' in '%{mwb_forge}' with '%{mwb_tool}' ...%;\ + @@use amalgamate at %* in %{mwb_forge} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; REFINING ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -/def refine = /mworkbench_set %*%;\ +/def refine = /gsetworkbench %*%;\ /if (merch_st!~"ref" | merch_st_p!~{*})\ /set merch_st_p=%*%;\ /set merch_st=ref%;\ - /test mwield(wb_tool)%;\ + /test gwieldtool(mwb_tool)%;\ /endif%;\ - /msq Refining '%*' in '%{wb_forge}' with '%{wb_tool}' ...%;\ - @@use refining at %* in %{wb_forge} + /msq Refining '%*' in '%{mwb_forge}' with '%{mwb_tool}' ...%;\ + @@use refining at %* in %{mwb_forge} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; MINERAL CUTTING ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -/def mcut = /mworkbench_set %{1}%;\ +/def mcut = /gsetworkbench %{1}%;\ /if (merch_st!~"mcut" | merch_st_p!~{1})\ /set merch_st_p=%{1}%;\ /set merch_st=mcut%;\ - /test mwield(wb_tool)%;\ + /test gwieldtool(mwb_tool)%;\ /endif%;\ /if ({#} > 1)\ - /set mcut=cut %{2}%;\ - /set mcuts=%{2}g pieces%;\ + /let _mcuta=cut %{2}%;\ + /let _mcuts=%{2}g pieces%;\ /else \ - /set mcut=%;\ - /set mcuts=half%;\ + /let _mcuta=%;\ + /let _mcuts=half%;\ /endif%;\ - /msq Mineral Cutting ore '%{1}' in '%{wb_forge}' with '%{wb_tool}' to %{mcuts} ...%;\ - @@use mineral cutting at %{1} in %{wb_forge} %{mcut} + /msq Mineral Cutting ore '%{1}' in '%{mwb_forge}' with '%{mwb_tool}' to %{_mcuts} ...%;\ + @@use mineral cutting at %{1} in %{mwb_forge} %{_mcuta} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ALLOYING ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; /def alloy = /let _smat=$[replace(",", " ", {*})]%;\ - /mworkbench_set %{_smat}%;\ + /gsetworkbench %{_smat}%;\ /if (merch_st!~"alloy" | merch_st_p!~{*})\ /set merch_st_p=%{*}%;\ /set merch_st=alloy%;\ - /test mwield(wb_tool)%;\ + /test gwieldtool(mwb_tool)%;\ /endif%;\ - /msq Alloying '%*' in '%{wb_forge}' with '%{wb_tool}' ...%;\ - @@use alloying at %{*} in %{wb_forge} + /msq Alloying '%*' in '%{mwb_forge}' with '%{mwb_tool}' ...%;\ + @@use alloying at %{*} in %{mwb_forge} -/def -i -p9999 -aBCwhite -mregexp -t"^You create a quantity of ([a-z]+)" malloy_check =\ - @@look at %{P1} in %{wb_forge} +/def -i -p9999 -aBCwhite -mregexp -t"^You create a quantity of ([a-z]+)" galloy_check =\ + @@look at %{P1} in %{mwb_forge} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; GEM CUTTING ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -/def -i gcut = /mworkbench_set %*%;\ - /set wb_tool=magnifying glass,chisel%;\ +/def -i gcut = /gsetworkbench %*%;\ + /set mwb_tool=magnifying glass,chisel%;\ /if (merch_st!~"gcut" | merch_st_p!~{*})\ /set merch_st_p=%*%;\ /set merch_st=gcut%;\ - /test mwield(wb_tool)%;\ + /test gwieldtool(mwb_tool)%;\ /endif%;\ /set gcut_gem=%*%;\ - /msq Gem Cutting '%{gcut_gem}' in '%{wb_forge}' with '%{wb_tool}' ...%;\ - @@use gem cutting at %{gcut_gem} in %{wb_forge} + /msq Gem Cutting '%{gcut_gem}' in '%{mwb_forge}' with '%{mwb_tool}' ...%;\ + @@use gem cutting at %{gcut_gem} in %{mwb_forge} -/def -i -p9999 -aBCwhite -t"You skillfully cut the gem ore into a beautiful gem." gcut_get1 =\ +/def -i -p9999 -aBCwhite -t"You skillfully cut the gem ore into a beautiful gem." ggcut_get1 =\ /if (merch_st=~"gcut" & skill_st2=~"on")\ - @@get gem from %{wb_forge}%;\ + @@get gem from %{mwb_forge}%;\ /prmoveitem gem%;\ - @@look at %{gcut_gem} in %{wb_forge}%;\ + @@look at %{gcut_gem} in %{mwb_forge}%;\ /endif @@ -257,16 +265,20 @@ ;A crag of marble is embedded in the ground. ;A deposit of chalk is embedded in the ground. -/def -i -p2 -mregexp -t"^......... .*An? (graveyard|crag|slab|protrusion|lode|deposit|gloss|abyss) of ([a-z ]+) ore" mmine_at1 =\ +/def -i -p2 -mregexp -t"^......... .*An? (graveyard|crag|slab|protrusion|lode|deposit|gloss|abyss) of ([a-z ]+) ore" gmine_at1 =\ @@grep 'contains roughly' look at %{P1} on ground%;/set mine_target=%{P2} -/def -i -p1 -mregexp -t"^......... .*An? (graveyard|crag|slab|protrusion|lode|deposit|gloss|abyss) of ([a-z ]+) is" mmine_at2 =\ +/def -i -p1 -mregexp -t"^......... .*An? (graveyard|crag|slab|protrusion|lode|deposit|gloss|abyss) of ([a-z ]+) is" gmine_at2 =\ @@grep 'contains roughly' look at %{P1} on ground%;/set mine_target=%{P2} -/def -i -p9999 -ag -mregexp -t"^The ([a-z]+) contains roughly ([0-9]+) kg of ([a-z ]+)\.$" mmine_amount =\ +/def -i -p9999 -ag -msimple -t"No matches for \'contains roughly\'." gmine_gag1 + +/def -i -p9999 -ag -mregexp -t"^The ([a-z]+) contains roughly ([0-9]+) kg of ([a-z ]+)\.$" gmine_amount =\ /set mine_amount=%{P2}%;/set mine_target=%{P3}%;\ /msq [@{BCgreen}%{P2} kg@{n}] of @{Cyellow}%{P3}@{n} +/def -i -p9999 -mregexp -t"^No matches for \'\(" gmine_gag2 =\ + /substitute ==================== ;; Mine /def mine =\ @@ -274,129 +286,105 @@ /if (merch_st!~"mine" | merch_st_p!~mine_target)\ /set merch_st_p=%{mine_target}%;\ /set merch_st=mine%;\ - /test mwield(mtool_mine)%;\ + /test gwieldtool(mtool_mine)%;\ /endif%;\ /msq Mining '%{mine_target}' ...%;\ @@use mining at %{mine_target} -/def -i mmine_move =\ +/def -i gmine_move =\ /if (merch_st=~"mine" & skill_st2=~"on")\ /prmoveitem %{1}%;\ /endif -/def -i -p9999 -aBCwhite -mregexp -t"^You begin mining the ([a-z]+) ([a-z]+) and you manage to retrieve" mmine_get1 =\ - /test mmine_move({P1},{P2})%;\ +/def -i -p9999 -aBCwhite -mregexp -t"^You begin mining the ([a-z]+) ([a-z]+) and you manage to retrieve" gmine_get1 =\ + /test gmine_move({P1},{P2})%;\ @@grep 'contains roughly' look at %{P2} on ground -/def -i -p9999 -aBCwhite -mregexp -t"^You mine the ([a-z]+) ([a-z]+) and retrieve" mmine_get2 =\ - /test mmine_move({P1},{P2}) - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; IDENTIFY -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -/def -i -p9999 -aBCblue -mregexp -t"^The following messages seem to vibrate from (.+):$" midentify_start =\ - /if (merch_st=~"id" & id_st == 1)\ - /set id_item=%{P1}%;\ - /set id_str=%;\ - /set id_st=2%;\ - /eval /def -i -Eid_st==2 -p9999 -ag -mregexp -t"[a-z]" midentify_get = /set id_str=%%%{id_str} %%%*%;\ - /endif - -/def -i -p9999 -ag -mregexp -t"best use this in" midentify_end1 =\ - /if (merch_st=~"id" & id_st >= 1)\ - /undef midentify_get%;\ - /set id_str=%{id_str} %{P0}%;\ - /msq [%{id_item}]:%;\ - /msq %{id_str}%;\ - /endif%;\ - /set id_st=0 - -/def id = /set id_st=1%;\ - /if (merch_st!~"id" | merch_st_p!~{1})\ - /set merch_st_p=%{1}%;\ - /set merch_st=id%;\ - /endif%;\ - /if ({#} > 1) /set id_target=%{2}%;\ - /else /set id_target=%;/endif%;\ - @@cast identify at %{1} +/def -i -p9999 -aBCwhite -mregexp -t"^You mine the ([a-z]+) ([a-z]+) and retrieve" gmine_get2 =\ + /test gmine_move({P1},{P2}) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; MAKE REAGENT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; /def mr =\ -/set mr_st=1%;\ -/if ({*}!~"") /set mr_target=%*%;/endif%;\ -/mworkbench_set %{mr_target}%;\ -/if (merch_st!~"mr" | merch_st_p!~mr_target)\ - /set merch_st_p=%{mr_target}%;\ - /set merch_st=mr%;\ - /test mwield(wb_tool)%;\ + /set mmr_st=1%;\ + /if ({*}!~"") /set mmr_target=%*%;/endif%;\ + /gsetworkbench %{mmr_target}%;\ + /if (merch_st!~"mr" | merch_st_p!~mmr_target)\ + /set merch_st_p=%{mmr_target}%;\ + /set merch_st=mr%;\ + /test gwieldtool(mwb_tool)%;\ /endif%;\ -/if (mr_target=~"olivine") /set mr_spell=Acid Blast%; /set mr_rn1=handful of olivine powder%;\ -/elseif (mr_target=~"stone") /set mr_spell=Acid Shield%; /set mr_rn1=stone cube%;\ -/elseif (mr_target=~"bloodstone") /set mr_spell=Acid Storm%; /set mr_rn1=pair of interlocked rings%;\ -/elseif (mr_target=~"highsteel") /set mr_spell=Armour of Aether%;/set mr_rn1=small highsteel disc%;\ -/elseif (mr_target=~"leather") /set mr_spell=Aura of Wind%; /set mr_rn1=tiny leather bag%;\ -/elseif (mr_target=~"bronze") /set mr_spell=Blast Vacuum%; /set mr_rn1=bronze marble%;\ -/elseif (mr_target=~"steel") /set mr_spell=Cold Ray%; /set mr_rn1=steel arrowhead%;\ -/elseif (mr_target=~"electrum") /set mr_spell=Electrocution%; /set mr_rn1=small piece of electrum wire%;\ -/elseif (mr_target=~"glass") /set mr_spell=Flame Shield%; /set mr_rn1=small glass cone%;\ -/elseif (mr_target=~"fur") /set mr_spell=Frost Shield%; /set mr_rn1=grey fur triangle%;\ -/elseif (mr_target=~"copper") /set mr_spell=Golden Arrow%; /set mr_rn1=copper rod%;\ -/elseif (mr_target=~"onyx") /set mr_spell=Hailstorm%; /set mr_rn1=handful of onyx gravel%;\ -/elseif (mr_target=~"ebony") /set mr_spell=Killing Cloud%; /set mr_rn1=ebony tube%;\ -/elseif (mr_target=~"granite") /set mr_spell=Lava Blast%; /set mr_rn1=granite sphere%;\ -/elseif (mr_target=~"cobalt") /set mr_spell=Lava Storm%; /set mr_rn1=blue cobalt cup%;\ -/elseif (mr_target=~"iron") /set mr_spell=Lightning Shield%;/set mr_rn1=small iron rod%;\ -/elseif (mr_target=~"tungsten") /set mr_spell=Lightning Storm%; /set mr_rn1=cluster of tungsten wires%;\ -/elseif (mr_target=~"platinum") /set mr_spell=Magic Eruption%; /set mr_rn1=tiny platinum hammer%;\ -/elseif (mr_target=~"quartz") /set mr_spell=Repulsor Aura%; /set mr_rn1=quartz prism%;\ -/elseif (mr_target=~"amethyst") /set mr_spell=Shield of Detoxification%;/set mr_rn1=tiny amethyst crystal%;\ -/elseif (mr_target=~"mallorn") /set mr_spell=Summon Carnal Spores%;/set mr_rn1=silvery bark chip%;\ -/elseif (mr_target=~"brass") /set mr_spell=Vacuum Globe%; /set mr_rn1=small fan%;\ -/else /set mr_spell=%;/set mr_rn1=%;/endif%;\ -/msq Make Reagent from '%{mr_target}' for spell '%{mr_spell}' with '%{wb_tool}' ...%;\ -@@use make reagent at %{mr_target} for $[tolower(mr_spell)] into pouch +/if (mmr_target=~"olivine") /set mmr_spell=Acid Blast%; /set mmr_rn1=handful of olivine powder%;\ +/elseif (mmr_target=~"stone") /set mmr_spell=Acid Shield%; /set mmr_rn1=stone cube%;\ +/elseif (mmr_target=~"bloodstone") /set mmr_spell=Acid Storm%; /set mmr_rn1=pair of interlocked rings%;\ +/elseif (mmr_target=~"highsteel") /set mmr_spell=Armour of Aether%;/set mmr_rn1=small highsteel disc%;\ +/elseif (mmr_target=~"leather") /set mmr_spell=Aura of Wind%; /set mmr_rn1=tiny leather bag%;\ +/elseif (mmr_target=~"bronze") /set mmr_spell=Blast Vacuum%; /set mmr_rn1=bronze marble%;\ +/elseif (mmr_target=~"steel") /set mmr_spell=Cold Ray%; /set mmr_rn1=steel arrowhead%;\ +/elseif (mmr_target=~"electrum") /set mmr_spell=Electrocution%; /set mmr_rn1=small piece of electrum wire%;\ +/elseif (mmr_target=~"glass") /set mmr_spell=Flame Shield%; /set mmr_rn1=small glass cone%;\ +/elseif (mmr_target=~"fur") /set mmr_spell=Frost Shield%; /set mmr_rn1=grey fur triangle%;\ +/elseif (mmr_target=~"copper") /set mmr_spell=Golden Arrow%; /set mmr_rn1=copper rod%;\ +/elseif (mmr_target=~"onyx") /set mmr_spell=Hailstorm%; /set mmr_rn1=handful of onyx gravel%;\ +/elseif (mmr_target=~"ebony") /set mmr_spell=Killing Cloud%; /set mmr_rn1=ebony tube%;\ +/elseif (mmr_target=~"granite") /set mmr_spell=Lava Blast%; /set mmr_rn1=granite sphere%;\ +/elseif (mmr_target=~"cobalt") /set mmr_spell=Lava Storm%; /set mmr_rn1=blue cobalt cup%;\ +/elseif (mmr_target=~"iron") /set mmr_spell=Lightning Shield%;/set mmr_rn1=small iron rod%;\ +/elseif (mmr_target=~"tungsten") /set mmr_spell=Lightning Storm%;/set mmr_rn1=cluster of tungsten wires%;\ +/elseif (mmr_target=~"platinum") /set mmr_spell=Magic Eruption%; /set mmr_rn1=tiny platinum hammer%;\ +/elseif (mmr_target=~"quartz") /set mmr_spell=Repulsor Aura%; /set mmr_rn1=quartz prism%;\ +/elseif (mmr_target=~"amethyst") /set mmr_spell=Shield of Detoxification%;/set mmr_rn1=tiny amethyst crystal%;\ +/elseif (mmr_target=~"mallorn") /set mmr_spell=Summon Carnal Spores%;/set mmr_rn1=silvery bark chip%;\ +/elseif (mmr_target=~"brass") /set mmr_spell=Vacuum Globe%; /set mmr_rn1=small fan%;\ +/else /set mmr_spell=%;/set mmr_rn1=%;/endif%;\ +/if (opt_usepouch=~"on" & set_pouchname!~"")\ + /msq Make Reagent from '%{mmr_target}' for spell '%{mmr_spell}' into '%{set_pouchname} ...%;\ + @@use make reagent at %{mmr_target} for $[tolower(mmr_spell)] into %{set_pouchname}%;\ +/else \ + /msq Make Reagent from '%{mmr_target}' for spell '%{mmr_spell}' ...%;\ + @@use make reagent at %{mmr_target} for $[tolower(mmr_spell)]%;\ +/endif -/def -i -E(mr_st==1) -aCgreen -msimple -t"You craft some spell reagents." mr_done =\ - /set mr_st=0%;\ - /if (opt_havebelt=~"on") @@weigh %{mr_target}%;/endif +;; Automagically weigh the remaining material after crafting, if belt is enabled +/def -i -E(mmr_st==1) -aCgreen -msimple -t"You craft some spell reagents." gmmr_done =\ + /set mmr_st=0%;\ + /if (opt_havebelt=~"on") @@weigh %{mmr_target}%;/endif ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Chest creation status translation ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -/def -i gmtchest =\ +/def -i gchest_report =\ /substitute -p @{BCyellow}%{1}@{n} @{BCwhite}(@{n}@{BCgreen}%{2}@{n}/@{Cgreen}%{3}@{n}@{BCwhite})@{n} -/def -i -msimple -t"The basic structure is forming up." gmtchest1 = /test gmtchest({*},1,16) -/def -i -msimple -t"It slightly resembles a chest." gmtchest2 = /test gmtchest({*},2,16) -/def -i -msimple -t"It is missing a lid." gmtchest3 = /test gmtchest({*},3,16) -/def -i -msimple -t"It is still quite shaky." gmtchest4 = /test gmtchest({*},4,16) -/def -i -msimple -t"It looks like a small chest but it could be so much more." gmtchest5 = /test gmtchest({*},5,16) -/def -i -msimple -t"It does not look quite safe yet." gmtchest6 = /test gmtchest({*},6,16) -/def -i -msimple -t"The base looks strong now but lid is still quite weak." gmtchest7 = /test gmtchest({*},7,16) -/def -i -msimple -t"The chest is looking much larger." gmtchest8 = /test gmtchest({*},8,16) -/def -i -msimple -t"The construction looks bigger and bigger." gmtchest9 = /test gmtchest({*},9,16) -/def -i -msimple -t"The structure is now stronger than ever before." gmtchest10 = /test gmtchest({*},10,16) -/def -i -msimple -t"The chest looks big enough to hold out several equipments." gmtchest11 = /test gmtchest({*},11,16) -/def -i -msimple -t"The extra material has made the chest almost impossible to breach." gmtchest12 = /test gmtchest({*},12,16) -/def -i -msimple -t"The chest construction looks quite large and safe." gmtchest13 = /test gmtchest({*},13,16) -/def -i -msimple -t"The extra material in support-structure guarantees quality." gmtchest14 = /test gmtchest({*},14,16) -/def -i -msimple -t"The chest looks just perfect and there is very little unfinished." gmtchest15 = /test gmtchest({*},15,16) -/def -i -msimple -t"The construction looks very big and sturdy." gmtchest16 = /test gmtchest({*},16,16) +;; Chest build status +/def -i -msimple -t"The basic structure is forming up." gchest_build1 = /test gchest_report({*},1,16) +/def -i -msimple -t"It slightly resembles a chest." gchest_build2 = /test gchest_report({*},2,16) +/def -i -msimple -t"It is missing a lid." gchest_build3 = /test gchest_report({*},3,16) +/def -i -msimple -t"It is still quite shaky." gchest_build4 = /test gchest_report({*},4,16) +/def -i -msimple -t"It looks like a small chest but it could be so much more." gchest_build5 = /test gchest_report({*},5,16) +/def -i -msimple -t"It does not look quite safe yet." gchest_build6 = /test gchest_report({*},6,16) +/def -i -msimple -t"The base looks strong now but lid is still quite weak." gchest_build7 = /test gchest_report({*},7,16) +/def -i -msimple -t"The chest is looking much larger." gchest_build8 = /test gchest_report({*},8,16) +/def -i -msimple -t"The construction looks bigger and bigger." gchest_build9 = /test gchest_report({*},9,16) +/def -i -msimple -t"The structure is now stronger than ever before." gchest_build10 = /test gchest_report({*},10,16) +/def -i -msimple -t"The chest looks big enough to hold out several equipments." gchest_build11 = /test gchest_report({*},11,16) +/def -i -msimple -t"The extra material has made the chest almost impossible to breach." gchest_build12 = /test gchest_report({*},12,16) +/def -i -msimple -t"The chest construction looks quite large and safe." gchest_build13 = /test gchest_report({*},13,16) +/def -i -msimple -t"The extra material in support-structure guarantees quality." gchest_build14 = /test gchest_report({*},14,16) +/def -i -msimple -t"The chest looks just perfect and there is very little unfinished." gchest_build15 = /test gchest_report({*},15,16) +/def -i -msimple -t"The construction looks very big and sturdy." gchest_build16 = /test gchest_report({*},16,16) +;; Chest reinforcement status +/def -i -msimple -t"The reinforcement looks totally incomplete." gchest_reinf1 = /test gchest_report({*},1,8) +/def -i -msimple -t"The reinforcement is still quite weak." gchest_reinf2 = /test gchest_report({*},2,8) +/def -i -msimple -t"The structure looks much stronger because of the reinforcement." gchest_reinf3 = /test gchest_report({*},3,8) +/def -i -msimple -t"The reinforcement still lacks quality." gchest_reinf4 = /test gchest_report({*},4,8) +/def -i -msimple -t"The reinforcement looks fine but it could be improved." gchest_reinf5 = /test gchest_report({*},5,8) +/def -i -msimple -t"The reinforced chest looks quite sturdy now." gchest_reinf6 = /test gchest_report({*},6,8) +/def -i -msimple -t"It would be a pain to force through the reinforcements." gchest_reinf7 = /test gchest_report({*},7,8) +/def -i -msimple -t"Just a final touch and the reinforcement is fully complete." gchest_reinf8 = /test gchest_report({*},8,8) -/def -i -msimple -t"The reinforcement looks totally incomplete." mtreinf1 = /test gmtchest({*},1,8) -/def -i -msimple -t"The reinforcement is still quite weak." mtreinf2 = /test gmtchest({*},2,8) -/def -i -msimple -t"The structure looks much stronger because of the reinforcement." mtreinf3 = /test gmtchest({*},3,8) -/def -i -msimple -t"The reinforcement still lacks quality." mtreinf4 = /test gmtchest({*},4,8) -/def -i -msimple -t"The reinforcement looks fine but it could be improved." mtreinf5 = /test gmtchest({*},5,8) -/def -i -msimple -t"The reinforced chest looks quite sturdy now." mtreinf6 = /test gmtchest({*},6,8) -/def -i -msimple -t"It would be a pain to force through the reinforcements." mtreinf7 = /test gmtchest({*},7,8) -/def -i -msimple -t"Just a final touch and the reinforcement is fully complete." mtreinf8 = /test gmtchest({*},8,8) - -