# autopick.txt TOband仕様
#
# このファイルの一番最後は実際に使用できる設定ファイルの具体例になって
# います。このファイルを 'picktype.prf' という名前で
# lib\user\picktype.prf か ~/.angband/TOband/picktype.prf としてコピー
# すれば、そのまま自動拾いファイルとして使用することができます。
# (Unix の場合は ~/.angband/TOband/ のみが使用可能。Windows等、Unix以
# 外の場合は、lib\user\ のみが使用可能です。)
#
#    ●自動拾いの使い方
#
#      TObandディレクトリの中の lib\user\ の下か ~/.angband/TOband/ の
#      下に「picktype-(名前).prf」 という名前のファイルを作っておけば、
#      プレイヤーキャラクターの名前が「(名前)」であるときに使用されます。
#      「picktype.prf」という名前のファイルを作っておけば、どんな名前の
#      キャラでプレイするときでも読み込まれます。
#
#      両方ある場合は、起動時に両方読み込みますが、「picktype-(名前).
#      prf」の内容のほうが「picktype.prf」より優先されます。
#      (「picktype.prf」「picktype-(名前).prf」合わせて)最大1009個まで
#      登録できます。頭が#の行や空行は無視されます。
#
#      以下は実際のpicktype.prfの内容の例です。
#    ---------
#    賞金首のアイテム
#    !無価値のアイテム
#
#    未判明の薬
#    未判明の巻物
#    未判明の指輪
#    未判明のアミュレット
#    未判明のロッド
#    未判明の杖
#    未判明の魔法棒
#
#    ~未鑑定の光源
#
#    未鑑定のダイス目の違う武器
#    未鑑定のダイス目25以上の武器
#    ~未鑑定の武器
#    ~未鑑定の防具
#
#    獲得
#    経験の薬
#    *破壊*
#    抹殺
#    体力回復
#    生命の薬
#    スピードの
#    致命傷の治癒の薬
#
#    ---------
#    
#      基本的に、名前の一部にファイルに書いた文字列が含まれていれば、
#      そのアイテムを自動的に拾います。ただし頭に…、
#
#      ・「!」がついている場合はそのアイテムを自動的に破壊します。
#      ・「~」がついている場合は拾いも破壊もせずに床に残します。
#      ・「;」がついている場合は拾う前に確認メッセージが出ます。
#
#      さらに、これらに加えて、「(」を付け加える事でマップコマンド中で
#      のそのアイテムの表示を抑止する事ができます。(以下のTipsを参照し
#      てください。)
#
#      (注意! always_pickup オプションが有効の時は !と書いたアイテムで
#      も拾います。)
#
#      picktype.prf の先頭から順番に優先的に評価するので、不要なものの
#      破壊の設定の下にその他のアイテムを拾う設定を書いたり、高級なア
#      イテムを拾う設定の下にその他の低質なアイテムを破壊する設定を書
#      くのが便利な方法です。
#    
#      ☆ Tips
#      ☆ マップコマンド('M'キー)の使用中にさらに 'M','N','K'や'D'を押
#      ☆ すことで、それぞれ自動的に拾うアイテム、床に放置するアイテム、
#      ☆ 破壊するアイテムを表示する事が出来ます。'D'は'M'と'N'を両方
#      ☆ 押すのと同じです。ただし、アイテム名の先頭に'('を付けて登録
#      ☆ したものは表示しません。
#      ☆
#    
#      以下のようなキーワードで始まるものは特別扱いになります。
#      ・すべての〜        : すべてのアイテムが対象になります。
#      ・収集中の〜        : 既に同じ種類の物を持っているアイテムが対象になります。
#      ・未判明の〜        : 効果の分からないアイテムが対象になります。
#      ・未鑑定の〜        : 鑑定されていないアイテムが対象になります。
#      ・鑑定済みの〜      : 鑑定されているアイテムが対象になります。
#      ・*鑑定*済みの〜    : 完全に鑑定されているアイテムが対象になります。
#      ・ダイス目の違う〜  : 殺戮の武器等でダイスの目が通常と異なるアイテムが対象になります。
#      ・ダイス目n以上の〜 : ダイス数×面数が n 以上のアイテムが対象になります。
#      ・修正値n以上の〜   : 能力修正値が(+n)以上のアイテムが対象になります。
#                            能力修正が無い場合は他の数値が+n以上なら対象になります。
#      ・無価値の〜        : 価値のない(売却できない)アイテムが対象になります。
#      ・アーティファクト〜: 判明しているアーティファクトが対象になります。
#      ・エゴ〜            : 判明しているエゴアイテムが対象になります。
#      ・無銘の〜          : 非エゴ, 非アーティファクトのアイテムが対象になります。
#      ・賞金首の〜        : 賞金首の死体または骨が対象になります。
#      ・ユニーク・モンスターの〜： ユニーク・モンスターの死体、骨、彫像が対象になります。
#      ・金属製の〜        : 金属製のアイテムが対象になります。(弾丸作成で使用)
#      ・読めない〜        : 専門としない魔法領域の魔法書が対象になります。
#      ・n冊目の           : nが1から3のとき、n冊目の魔法書が対象になります。
#    
#      〜の部分では、アイテムの種類を表す以下のようなキーワードが特別扱いになります
#      ・アイテム : すべてのアイテムが対象になります。
#      ・武器 : 武器が対象になります。
#      ・防具 : 防具が対象になります。
#      ・矢 : 矢、クロスボウの矢が対象になります。
#      ・弾丸 : 銃弾が対象になります。
#      ・光源 : たいまつやランタン等が対象になります。
#      ・魔法アイテム : 巻物・杖・魔法棒・ロッドが対象になります。
#      ・がらくた : 折れた棒や像等の役に立たないものが対象になります。
#      ・魔法書 : 魔法書が対象になります。
#      ・鈍器 : 武器のうち鈍器であるものが対象になります。(聖職者用)
#
#      武器に対してはスキル/必殺技上の分類を対象とするキーワード: 小剣、
#      カタナ、剣、大剣、斧、槍、乗馬槍、爪、鎌、鞭、ハンマー、杖、扇、
#      ヌンチャク、弓、銃、掘削道具 が使用できます。
#
#      他に部位別の装備品を対象とするキーワード: 盾、射撃武器、指輪、アミュ
#      レット、鎧、クローク、兜、籠手、靴 が使用できます。
#
#      この後に区切り記号のコロン「:」を挟んでさらに文字列が続く場合は、
#      その文字列が名前の一部に含まれているアイテムが対象になります。
#      ここで、アイテムの種類を表すキーワード(アイテム、武器、防具等)
#      を使用しない場合は区切り記号は省略できます。また、文字列の頭に
#      記号「^」を入れるとそれはアイテム名の先頭部分に一致します。
#
#    ---------
#
#    光源:石	 // 名前に"石"を含む光源を拾う。「光源石」 は使用不可。
#    籠手:麻痺知らずの // 麻痺知らずのガントレットを拾うが、麻痺知らずの指輪は拾わない。
#    !ローブ	 // 名前に"ローブ"を含むもの(ローブ、グローブ等)を破壊。
#    !^ローブ	 // グローブは破壊しない。
#    !防具:^耐	 // 耐火、耐冷、耐電、耐酸の防具を破壊。全耐性は破壊しない。
#
#    ---------
#
#      また、行の最後に # で始まる文字列を書くと、鑑定したりアイテムの
#      上に立った瞬間に自動的にその文字列がアイテムに刻まれます。
#
#
#      各行の書式は次のようになります。
#
#         [! ~ ; (]
#         [[すべての] [収集中の]
#          [未判明の] [未鑑定の] [鑑定済みの] [*鑑定*済みの]
#          [ダイス目の違う] [ダイス目n以上の] [修正値n以上の]
#          [無価値の] [アーティファクト] [エゴ] [無銘の]
#          [賞金首の] [ユニーク・モンスターの] [金属製の]
#          [読めない] [n冊目の]
#          [アイテム|アーティファクト|武器|防具|矢|弾丸|光源|魔法アイテム|
#           がらくた|魔法書|鈍器|小剣|カタナ|剣|大剣|斧|槍|乗馬槍|爪|鎌|鞭|
#           ハンマー|杖|扇|ヌンチャク|弓|銃|掘削道具|盾|射撃武器|指輪|
#           アミュレット|鎧|クローク|兜|籠手|靴] :]
#         [[^]その他の文字列] [#自動刻み文字列]
#    
#      ☆ Tips
#      ☆   未鑑定の や ダイス目の違う 等のキーワードは一行に並べて書く
#      ☆   事で両方の制限を適用させる事が出来ます。
#      ☆   現在のバージョンではキーワードの順番も自由です。
#      ☆ 
#    
#    
#    ● 条件分岐の使い方
#    
#      自動拾いの設定は種族やクラス、種族レベル等に条件を付けて設定すること
#      が出来ます。
#    
#      ☆ Tips
#      ☆   マクロ定義のファイル(プレイヤー名.prf 等)でも全く同じ書式で
#      ☆   条件分岐を使う事が出来ます。
#      ☆
#    
#      ・条件分岐の書式
#        ?:引数
#          引数が"0"なら以降の自動拾い／破壊の登録をスキップする。
#          引数が"1"なら以降の登録を行う。 引数が"0"以外は全て"1"と見なす。
#        (注意!)条件分岐を入れ子にすることは出来ません。
#    
#      ・ファイルの挿入の書式
#        %:ファイル名
#          lib\user\ファイル名 か ~/.angband/TOband/ファイル名 を自
#          動拾いの登録ファイルとして読み込みます。
#        *警告!!* 自分自身(例えばpicktype.prf)を読み込んでしまうと
#                 永久ループになってクラッシュするので絶対やらないように。
#    
#      ・使用可能な演算子
#        [EQU 引数１ 引数２ ...]
#          全ての引数が等しいとき"1"、等しくないとき"0"を返す。
#        [IOR 引数１ 引数２ ...]
#        [AND 引数１ 引数２ ...]
#          IORは引数の論理和、ANDは引数の論理積をとって真なら"1"、偽なら"0"を返す。
#        [NOT 引数]
#          引数が"1"なら"0"、"0"なら"1"を返す。
#        [LEQ 引数１ 引数２ ...]
#        [GEQ 引数１ 引数２ ...]
#          LEQは引数の大きさを「文字列として比較」して
#          引数１≦引数２≦...のとき"1"を返す。
#          GEQは引数１≧引数２≧...のとき"1"を返す。
#    
#      ・変数説明
#        $ELEM
#          エレメントを英語名で返す。
#          Fire, Aqua, Earth, Wind
#          のどれか
#        $RACE
#          種族を英語名で返す。
#          Human, Hawkman, Lizardman, Fairy, Gremlin, Skeleton,
#          Ghost, Pumpkin-Head, Goblin, Gorgon, Mermaid
#          のどれか
#        $CLASS
#          クラスを英語名で返す。
#          Soldier, Knight, Berserker, Terror-Knight, BeastTamer,
#          Sword-Master, Dragoon, Ninja, Wizard, Warlock, Exorcist,
#          Amazoness, Valkyrie, Archer, DragonTamer, Witch, Sirene,
#          Cleric, Priest, Lich, Angel-Knight, High-Witch, Gunner,
#          Temple-Knight, White-Knight
#          のどれか
#        $PLAYER
#          プレイヤーの名前を返す。
#        $SEX
#          プレイヤーの性別を返す。
#          Female, Male
#        $LEVEL
#          プレイヤーの種族レベルを２桁の文字列で返す。
#          "01","09","10","50" 等
#        $CLEVEL
#          プレイヤーの現在のクラスのレベルを２桁の文字列で返す。
#          "01","09","10","50" 等
#        $CLEVEL(ClassStr)
#          指定したクラスのレベルを２桁の文字列で返す。ClassStrには
#          $CLASSで使えるクラス名を入れる。
#          "01","09","10","50" 等
#          無効なクラス名の場合は"00"を返す。
#
#------------------------------------------------------------------
#
#    これ以下は具体的に使用可能な設定例です。
#    このファイルをpicktype.prfという名前でlib\user\ か 
#    ~/.angband/TOband/ にコピーすれば自動拾いファイルとして
#    使用することができます。
#
#------------------------------------------------------------------

#
# 基本的な設定
#

賞金首の死体
賞金首の骨

未判明のアイテム

# 未鑑定名が、オルゴール、カボチャ、失われた眼、懐中時計、聖石 の光源は
# アーティファクトなので拾う。
未鑑定の光源:オルゴール#!!
未鑑定の光源:カボチャ#!!
未鑑定の光源:失われた眼#!!
未鑑定の光源:懐中時計
未鑑定の光源:聖石

# アーティファクトを*鑑定*した瞬間に耐性自動刻み'%'をする。
~*鑑定*済みのアーティファクト#%

?:[EQU $CLASS Gunner]
~*鑑定*済みの弾丸#%all
?:1

# 既に持っている種類の薬、巻物、ロッド等は重ねられるので全て拾う。

収集中の薬
収集中の巻物
収集中のロッド
収集中の矢
収集中の弾丸
(収集中のアイテム

# よく拾う物
鑑定のロッド#!k!!
全感知のロッド#@z0!k!!
スピードのロッド#!k!!

無敵の薬#!k
獲得#!k
経験の薬#!k
*破壊*
抹殺

生命の薬#!k
体力回復#!k

#
# アーチャーは矢の材料を拾う。
# 
?:[EQU $CLASS Archer]
の骨
?:1

#
# ガンナーは弾丸の材料を拾う。
# 
?:[EQU $CLASS Gunner]
金属製のアイテム
?:1

# 種族レベルが10以上なら破壊する例
# 種族レベルが10以上に上がった直後にも登録されます。
?:[GEQ $LEVEL 10]
(!リンゴジュースの薬
(!空のビン
(!水の薬
?:1

# 種族レベルが20以下なら自動破壊禁止で床に放置する例
# '('を指定する事で、マップ'M'コマンドで表示しないように指示します。
?:[LEQ $LEVEL 20]
(~のろまの薬
(~眠りの薬
?:1

#
# 高レベルで弱い装備品を全て壊す例。「無銘の〜」の使用には細心の注意が必要。
# 何もしないとドラゴン装備等も壊すので放置のコマンド文字'~'で守る必要があります。
#
?:[GEQ $LEVEL 40]
~無銘の防具:ドラゴン
~無銘の防具:影のクローク
~無銘の防具:ミラー・シールド
~無銘の武器:ダイヤモンド・エッジ
~無銘の武器:ヘヴィ・アックス
~無銘の武器:粉砕のメイス
(!無銘の武器
(!無銘の防具

?:[GEQ $LEVEL 20]
(!無銘の武器:(+0,+0)
(!無銘の防具:,+0]
?:1

未鑑定のダイス目の違う武器
~未鑑定の武器
~未鑑定の防具
~未鑑定の矢
~未鑑定の弾丸
