2014/02/04
■ [変愚蛮怒/開発]未実装:ブラックマーケットにアイテムが流出する処理(変愚蛮怒 Ver2.1.4 rev3670)
以前開発中にDoxygenコメントをつけた際に気づいたことであるが、 store.cにmove_to_black_market()なる関数があり、名前の通り指定したアイテムをプレイヤーが現在いる街のブラックマーケットの品揃えに追加する処理が実装されている。
こう聞くと、少なからず変愚をやりこんだことのある人ならば、すぐに町に湧き出す人間の屑モンスターの中に「ブラックマーケットのエージェント」がいることを思い出すはずだと思う。が、実はこの関数、モンスターのアイテムを盗む処理周りも含めて、どこからも一切呼び出されていない。
見ろよぉ!このmove_to_black_market()君の無残な呼び出し関係をよぉ!…と言えるほど見たままのインパクトはないと思うがともかくmove_to_black_market()君を呼ぶソースは一切ないのである(孤独)
void move_to_black_market(object_type *o_ptr) { /* Not in town */ if (!p_ptr->town_num) return; st_ptr = &town[p_ptr->town_num].store[STORE_BLACK]; o_ptr->ident |= IDENT_STORE; (void)store_carry(o_ptr); object_wipe(o_ptr); /* Don't leave a bogus object behind... */ }
じゃあこれから、実装すればいいじゃない!とは思うのだが、とりあえず以下の課題や問題点があるように思われる。
- 盗まれても基本ぶっ殺せば取り戻せるはずのアイテムが、即座にブラックマーケットに流されるというのは、そのままだとストレス要因にしかならない。せめて、盗まれたまま、そのフロアごと消失してしまった場合に半永久的に奪われたはずのアイテムが金で取り返し得るという「救済措置」であるべきと思う。
- 盗み攻撃自体が脅威となる時期と、アイテムの価値観との時期があまり噛み合わない。
- 盗み攻撃は基本プレイヤーの器用さが一定値を超えると完全に盗まれなくなるので中盤以降は実質死に体のシステムになる。
- 一方序盤~中盤の間はどういうアイテムであれ、「取り返すまでもない」か「取り返すための金がまるで足りない」という極端なケースがほとんどになり、やはりブラックマーケットへの流出に意義を感じない。
基本的にこの関数が半端なまま放置されたのはこの辺が理由ではなかろうか。惜しいと言えば惜しいが、何かアイデアが手に入るまで、現状は据え置きになりそうである。