static void say_comment_1(player_type *player_ptr)
{
#ifdef JP
- if ( cur_store_num == STORE_BLACK ) {
+ if (cur_store_num == STORE_BLACK)
+ {
msg_print(comment_1_B[randint0(MAX_COMMENT_1)]);
}
- else{
+ else
+ {
msg_print(comment_1[randint0(MAX_COMMENT_1)]);
}
#else
{
#ifdef JP
/* ブラックマーケットの時は別のメッセージを出す */
- if ( cur_store_num == STORE_BLACK )
+ if (cur_store_num == STORE_BLACK)
{
msg_format(comment_3b_B[randint0(MAX_COMMENT_3B)], tmp_val);
}
else
{
- msg_format(comment_3b[randint0(MAX_COMMENT_3B)], tmp_val);
+ msg_format(comment_3b[randint0(MAX_COMMENT_3B)], tmp_val);
}
#else
msg_format(comment_3b[randint0(MAX_COMMENT_3B)], tmp_val);
static void say_comment_4(void)
{
#ifdef JP
- if ( cur_store_num == STORE_BLACK ){
+ if (cur_store_num == STORE_BLACK)
+ {
msg_print(comment_4a_B[randint0(MAX_COMMENT_4A)]);
msg_print(comment_4b_B[randint0(MAX_COMMENT_4B)]);
}
static void say_comment_5(void)
{
#ifdef JP
- if ( cur_store_num == STORE_BLACK )
+ if (cur_store_num == STORE_BLACK)
{
msg_print(comment_5_B[randint0(MAX_COMMENT_5)]);
}
* @param value アイテムの実際価値
* @param guess 店主が当初予想していた価値
* @return なし
- * @details
+ * @details
* We paid "price", it was worth "value", and we thought it was worth "guess"
*/
static void purchase_analyze(player_type *player_ptr, PRICE price, PRICE value, PRICE guess)
* @param greed 店主の強欲度
* @param flip TRUEならば店主にとっての買取価格、FALSEなら売出価格を計算
* @return アイテムの店舗価格
- * @details
+ * @details
* <pre>
* This function takes into account the player's charisma, and the
* shop-keepers friendliness, and the shop-keeper's base greed, but
* Certain "cheap" objects should be created in "piles"
* @param o_ptr 店舗に並べるオブジェクト構造体の参照ポインタ
* @return なし
- * @details
+ * @details
* <pre>
* Some objects can be sold at a "discount" (in small piles)
* </pre>
PRICE cost = object_value(o_ptr);
switch (o_ptr->tval)
{
- case TV_FOOD:
- case TV_FLASK:
- case TV_LITE:
- {
- if (cost <= 5L) size += damroll(3, 5);
- if (cost <= 20L) size += damroll(3, 5);
- if (cost <= 50L) size += damroll(2, 2);
- break;
- }
- case TV_POTION:
- case TV_SCROLL:
- {
- if (cost <= 60L) size += damroll(3, 5);
- if (cost <= 240L) size += damroll(1, 5);
- if (o_ptr->sval == SV_SCROLL_STAR_IDENTIFY) size += damroll(3, 5);
- if (o_ptr->sval == SV_SCROLL_STAR_REMOVE_CURSE) size += damroll(1, 4);
- break;
- }
- case TV_LIFE_BOOK:
- case TV_SORCERY_BOOK:
- case TV_NATURE_BOOK:
- case TV_CHAOS_BOOK:
- case TV_DEATH_BOOK:
- case TV_TRUMP_BOOK:
- case TV_ARCANE_BOOK:
- case TV_CRAFT_BOOK:
- case TV_DAEMON_BOOK:
- case TV_CRUSADE_BOOK:
- case TV_MUSIC_BOOK:
- case TV_HISSATSU_BOOK:
- case TV_HEX_BOOK:
- {
- if (cost <= 50L) size += damroll(2, 3);
- if (cost <= 500L) size += damroll(1, 3);
- break;
- }
- case TV_SOFT_ARMOR:
- case TV_HARD_ARMOR:
- case TV_SHIELD:
- case TV_GLOVES:
- case TV_BOOTS:
- case TV_CLOAK:
- case TV_HELM:
- case TV_CROWN:
- case TV_SWORD:
- case TV_POLEARM:
- case TV_HAFTED:
- case TV_DIGGING:
- case TV_BOW:
- {
- if (object_is_artifact(o_ptr)) break;
- if (object_is_ego(o_ptr)) break;
- if (cost <= 10L) size += damroll(3, 5);
- if (cost <= 100L) size += damroll(3, 5);
- break;
- }
- case TV_SPIKE:
- case TV_SHOT:
- case TV_ARROW:
- case TV_BOLT:
- {
- if (cost <= 5L) size += damroll(5, 5);
- if (cost <= 50L) size += damroll(5, 5);
- if (cost <= 500L) size += damroll(5, 5);
- break;
- }
- case TV_FIGURINE:
- {
- if (cost <= 100L) size += damroll(2, 2);
- if (cost <= 1000L) size += damroll(2, 2);
- break;
- }
- case TV_CAPTURE:
- case TV_STATUE:
- case TV_CARD:
- {
- size = 1;
- break;
- }
+ case TV_FOOD:
+ case TV_FLASK:
+ case TV_LITE:
+ {
+ if (cost <= 5L) size += damroll(3, 5);
+ if (cost <= 20L) size += damroll(3, 5);
+ if (cost <= 50L) size += damroll(2, 2);
+ break;
+ }
+ case TV_POTION:
+ case TV_SCROLL:
+ {
+ if (cost <= 60L) size += damroll(3, 5);
+ if (cost <= 240L) size += damroll(1, 5);
+ if (o_ptr->sval == SV_SCROLL_STAR_IDENTIFY) size += damroll(3, 5);
+ if (o_ptr->sval == SV_SCROLL_STAR_REMOVE_CURSE) size += damroll(1, 4);
+ break;
+ }
+ case TV_LIFE_BOOK:
+ case TV_SORCERY_BOOK:
+ case TV_NATURE_BOOK:
+ case TV_CHAOS_BOOK:
+ case TV_DEATH_BOOK:
+ case TV_TRUMP_BOOK:
+ case TV_ARCANE_BOOK:
+ case TV_CRAFT_BOOK:
+ case TV_DAEMON_BOOK:
+ case TV_CRUSADE_BOOK:
+ case TV_MUSIC_BOOK:
+ case TV_HISSATSU_BOOK:
+ case TV_HEX_BOOK:
+ {
+ if (cost <= 50L) size += damroll(2, 3);
+ if (cost <= 500L) size += damroll(1, 3);
+ break;
+ }
+ case TV_SOFT_ARMOR:
+ case TV_HARD_ARMOR:
+ case TV_SHIELD:
+ case TV_GLOVES:
+ case TV_BOOTS:
+ case TV_CLOAK:
+ case TV_HELM:
+ case TV_CROWN:
+ case TV_SWORD:
+ case TV_POLEARM:
+ case TV_HAFTED:
+ case TV_DIGGING:
+ case TV_BOW:
+ {
+ if (object_is_artifact(o_ptr)) break;
+ if (object_is_ego(o_ptr)) break;
+ if (cost <= 10L) size += damroll(3, 5);
+ if (cost <= 100L) size += damroll(3, 5);
+ break;
+ }
+ case TV_SPIKE:
+ case TV_SHOT:
+ case TV_ARROW:
+ case TV_BOLT:
+ {
+ if (cost <= 5L) size += damroll(5, 5);
+ if (cost <= 50L) size += damroll(5, 5);
+ if (cost <= 500L) size += damroll(5, 5);
+ break;
+ }
+ case TV_FIGURINE:
+ {
+ if (cost <= 100L) size += damroll(2, 2);
+ if (cost <= 1000L) size += damroll(2, 2);
+ break;
+ }
+ case TV_CAPTURE:
+ case TV_STATUE:
+ case TV_CARD:
+ {
+ size = 1;
+ break;
+ }
- /*
- * Because many rods (and a few wands and staffs) are useful mainly
- * in quantity, the Black Market will occasionally have a bunch of
- * one kind. -LM-
- */
- case TV_ROD:
- case TV_WAND:
- case TV_STAFF:
+ /*
+ * Because many rods (and a few wands and staffs) are useful mainly
+ * in quantity, the Black Market will occasionally have a bunch of
+ * one kind. -LM-
+ */
+ case TV_ROD:
+ case TV_WAND:
+ case TV_STAFF:
+ {
+ if ((cur_store_num == STORE_BLACK) && one_in_(3))
{
- if ((cur_store_num == STORE_BLACK) && one_in_(3))
- {
- if (cost < 1601L) size += damroll(1, 5);
- else if (cost < 3201L) size += damroll(1, 3);
- }
- break;
+ if (cost < 1601L) size += damroll(1, 5);
+ else if (cost < 3201L) size += damroll(1, 3);
}
+ break;
+ }
}
DISCOUNT_RATE discount = 0;
* @param o_ptr 判定するオブジェクト構造体の参照ポインタ1
* @param j_ptr 判定するオブジェクト構造体の参照ポインタ2
* @return 同一扱いできるならTRUEを返す
- * @details
+ * @details
* <pre>
* See "object_similar()" for the same function for the "player"
* </pre>
* @param o_ptr 判定するオブジェクト構造体の参照ポインタ1
* @param j_ptr 判定するオブジェクト構造体の参照ポインタ2
* @return 重ね合わせできるならTRUEを返す
- * @details
+ * @details
* <pre>
* See "object_similar()" for the same function for the "player"
* </pre>
* Check to see if the shop will be carrying too many objects -RAK-
* @param o_ptr 店舗に置きたいオブジェクト構造体の参照ポインタ
* @return 置き場がないなら0、重ね合わせできるアイテムがあるなら-1、スペースがあるなら1を返す。
- * @details
+ * @details
* <pre>
* Note that the shop, just like a player, will not accept things
* it cannot hold. Before, one could "nuke" potions this way.
* オプション powerup_home が設定されていると
* 我が家が 20 ページまで使える
*/
- if ((cur_store_num == STORE_HOME) && ( powerup_home == FALSE )) {
- if (st_ptr->stock_num < ((st_ptr->stock_size) / 10)) {
+ if ((cur_store_num == STORE_HOME) && (powerup_home == FALSE))
+ {
+ if (st_ptr->stock_num < ((st_ptr->stock_size) / 10))
+ {
return 1;
}
}
- else{
- if (st_ptr->stock_num < st_ptr->stock_size) {
+ else
+ {
+ if (st_ptr->stock_num < st_ptr->stock_size)
+ {
return 1;
}
}
if ((cur_store_num == STORE_HOME) || (cur_store_num == STORE_MUSEUM)) return TRUE;
switch (cur_store_num)
{
- case STORE_GENERAL:
+ case STORE_GENERAL:
+ {
+ switch (o_ptr->tval)
{
- switch (o_ptr->tval)
- {
- case TV_POTION:
- if (o_ptr->sval != SV_POTION_WATER) return FALSE;
-
- case TV_WHISTLE:
- case TV_FOOD:
- case TV_LITE:
- case TV_FLASK:
- case TV_SPIKE:
- case TV_SHOT:
- case TV_ARROW:
- case TV_BOLT:
- case TV_DIGGING:
- case TV_CLOAK:
- case TV_BOTTLE:
- case TV_FIGURINE:
- case TV_STATUE:
- case TV_CAPTURE:
- case TV_CARD:
- break;
- default:
- return FALSE;
- }
+ case TV_POTION:
+ if (o_ptr->sval != SV_POTION_WATER) return FALSE;
+ case TV_WHISTLE:
+ case TV_FOOD:
+ case TV_LITE:
+ case TV_FLASK:
+ case TV_SPIKE:
+ case TV_SHOT:
+ case TV_ARROW:
+ case TV_BOLT:
+ case TV_DIGGING:
+ case TV_CLOAK:
+ case TV_BOTTLE:
+ case TV_FIGURINE:
+ case TV_STATUE:
+ case TV_CAPTURE:
+ case TV_CARD:
break;
+ default:
+ return FALSE;
}
- case STORE_ARMOURY:
- {
- switch (o_ptr->tval)
- {
- case TV_BOOTS:
- case TV_GLOVES:
- case TV_CROWN:
- case TV_HELM:
- case TV_SHIELD:
- case TV_CLOAK:
- case TV_SOFT_ARMOR:
- case TV_HARD_ARMOR:
- case TV_DRAG_ARMOR:
- break;
- default:
- return FALSE;
- }
+ break;
+ }
+ case STORE_ARMOURY:
+ {
+ switch (o_ptr->tval)
+ {
+ case TV_BOOTS:
+ case TV_GLOVES:
+ case TV_CROWN:
+ case TV_HELM:
+ case TV_SHIELD:
+ case TV_CLOAK:
+ case TV_SOFT_ARMOR:
+ case TV_HARD_ARMOR:
+ case TV_DRAG_ARMOR:
break;
+ default:
+ return FALSE;
}
- case STORE_WEAPON:
- {
- switch (o_ptr->tval)
- {
- case TV_SHOT:
- case TV_BOLT:
- case TV_ARROW:
- case TV_BOW:
- case TV_DIGGING:
- case TV_POLEARM:
- case TV_SWORD:
- case TV_HISSATSU_BOOK:
- break;
- case TV_HAFTED:
- {
- if(o_ptr->sval == SV_WIZSTAFF) return FALSE;
- }
- break;
- default:
- return FALSE;
- }
+ break;
+ }
+ case STORE_WEAPON:
+ {
+ switch (o_ptr->tval)
+ {
+ case TV_SHOT:
+ case TV_BOLT:
+ case TV_ARROW:
+ case TV_BOW:
+ case TV_DIGGING:
+ case TV_POLEARM:
+ case TV_SWORD:
+ case TV_HISSATSU_BOOK:
break;
- }
- case STORE_TEMPLE:
+ case TV_HAFTED:
{
- switch (o_ptr->tval)
- {
- case TV_LIFE_BOOK:
- case TV_CRUSADE_BOOK:
- case TV_SCROLL:
- case TV_POTION:
- case TV_HAFTED:
- {
- break;
- }
- case TV_FIGURINE:
- case TV_STATUE:
- {
- monster_race *r_ptr = &r_info[o_ptr->pval];
- if (!(r_ptr->flags3 & RF3_EVIL))
- {
- if (r_ptr->flags3 & RF3_GOOD) break;
- if (r_ptr->flags3 & RF3_ANIMAL) break;
- if (my_strchr("?!", r_ptr->d_char)) break;
- }
- }
- case TV_POLEARM:
- case TV_SWORD:
- {
- if (is_blessed_item(o_ptr)) break;
- }
- default:
- return FALSE;
- }
+ if (o_ptr->sval == SV_WIZSTAFF) return FALSE;
+ }
+ break;
+ default:
+ return FALSE;
+ }
+ break;
+ }
+ case STORE_TEMPLE:
+ {
+ switch (o_ptr->tval)
+ {
+ case TV_LIFE_BOOK:
+ case TV_CRUSADE_BOOK:
+ case TV_SCROLL:
+ case TV_POTION:
+ case TV_HAFTED:
+ {
break;
}
- case STORE_ALCHEMIST:
+ case TV_FIGURINE:
+ case TV_STATUE:
{
- switch (o_ptr->tval)
+ monster_race *r_ptr = &r_info[o_ptr->pval];
+ if (!(r_ptr->flags3 & RF3_EVIL))
{
- case TV_SCROLL:
- case TV_POTION:
- break;
- default:
- return FALSE;
+ if (r_ptr->flags3 & RF3_GOOD) break;
+ if (r_ptr->flags3 & RF3_ANIMAL) break;
+ if (my_strchr("?!", r_ptr->d_char)) break;
}
-
- break;
}
- case STORE_MAGIC:
+ case TV_POLEARM:
+ case TV_SWORD:
{
- switch (o_ptr->tval)
- {
- case TV_SORCERY_BOOK:
- case TV_NATURE_BOOK:
- case TV_CHAOS_BOOK:
- case TV_DEATH_BOOK:
- case TV_TRUMP_BOOK:
- case TV_ARCANE_BOOK:
- case TV_CRAFT_BOOK:
- case TV_DAEMON_BOOK:
- case TV_MUSIC_BOOK:
- case TV_HEX_BOOK:
- case TV_AMULET:
- case TV_RING:
- case TV_STAFF:
- case TV_WAND:
- case TV_ROD:
- case TV_SCROLL:
- case TV_POTION:
- case TV_FIGURINE:
- break;
- case TV_HAFTED:
- {
- if(o_ptr->sval == SV_WIZSTAFF) break;
- else return FALSE;
- }
- default:
- return FALSE;
- }
+ if (is_blessed_item(o_ptr)) break;
+ }
+ default:
+ return FALSE;
+ }
+ break;
+ }
+ case STORE_ALCHEMIST:
+ {
+ switch (o_ptr->tval)
+ {
+ case TV_SCROLL:
+ case TV_POTION:
break;
+ default:
+ return FALSE;
}
- case STORE_BOOK:
+
+ break;
+ }
+ case STORE_MAGIC:
+ {
+ switch (o_ptr->tval)
{
- switch (o_ptr->tval)
- {
- case TV_SORCERY_BOOK:
- case TV_NATURE_BOOK:
- case TV_CHAOS_BOOK:
- case TV_DEATH_BOOK:
- case TV_LIFE_BOOK:
- case TV_TRUMP_BOOK:
- case TV_ARCANE_BOOK:
- case TV_CRAFT_BOOK:
- case TV_DAEMON_BOOK:
- case TV_CRUSADE_BOOK:
- case TV_MUSIC_BOOK:
- case TV_HEX_BOOK:
- break;
- default:
- return FALSE;
- }
+ case TV_SORCERY_BOOK:
+ case TV_NATURE_BOOK:
+ case TV_CHAOS_BOOK:
+ case TV_DEATH_BOOK:
+ case TV_TRUMP_BOOK:
+ case TV_ARCANE_BOOK:
+ case TV_CRAFT_BOOK:
+ case TV_DAEMON_BOOK:
+ case TV_MUSIC_BOOK:
+ case TV_HEX_BOOK:
+ case TV_AMULET:
+ case TV_RING:
+ case TV_STAFF:
+ case TV_WAND:
+ case TV_ROD:
+ case TV_SCROLL:
+ case TV_POTION:
+ case TV_FIGURINE:
+ break;
+ case TV_HAFTED:
+ {
+ if (o_ptr->sval == SV_WIZSTAFF) break;
+ else return FALSE;
+ }
+ default:
+ return FALSE;
+ }
+ break;
+ }
+ case STORE_BOOK:
+ {
+ switch (o_ptr->tval)
+ {
+ case TV_SORCERY_BOOK:
+ case TV_NATURE_BOOK:
+ case TV_CHAOS_BOOK:
+ case TV_DEATH_BOOK:
+ case TV_LIFE_BOOK:
+ case TV_TRUMP_BOOK:
+ case TV_ARCANE_BOOK:
+ case TV_CRAFT_BOOK:
+ case TV_DAEMON_BOOK:
+ case TV_CRUSADE_BOOK:
+ case TV_MUSIC_BOOK:
+ case TV_HEX_BOOK:
break;
+ default:
+ return FALSE;
}
+
+ break;
+ }
}
if (object_value(o_ptr) <= 0) return FALSE;
* 隠し機能: オプション powerup_home が設定されていると
* 我が家が 20 ページまで使える
*/
- /* No space? */
if ((cur_store_num != STORE_HOME) || (powerup_home == TRUE))
{
if (st_ptr->stock_num >= st_ptr->stock_size)
return -1;
}
}
- else{
+ else
+ {
if (st_ptr->stock_num >= ((st_ptr->stock_size) / 10))
{
return -1;
for (int i = st_ptr->stock_num; i > slot; i--)
{
- st_ptr->stock[i] = st_ptr->stock[i-1];
+ st_ptr->stock[i] = st_ptr->stock[i - 1];
}
st_ptr->stock_num++;
for (int i = st_ptr->stock_num; i > slot; i--)
{
- st_ptr->stock[i] = st_ptr->stock[i-1];
+ st_ptr->stock[i] = st_ptr->stock[i - 1];
}
st_ptr->stock_num++;
PRICE bad = st_ptr->bad_buy;
if (minprice < 10L) return TRUE;
if (good == MAX_SHORT) return TRUE;
- if (good > ((3 * bad) + (5 + (minprice/50)))) return TRUE;
+ if (good > ((3 * bad) + (5 + (minprice / 50)))) return TRUE;
return FALSE;
}
* Update the bargain info
* @param price 実際の取引価格
* @param minprice 店主の提示した価格
- * @param num 売買数
+ * @param num 売買数
* @return なし
*/
static void updatebargain(PRICE price, PRICE minprice, int num)
{
if (!manual_haggle) return;
- if ((minprice/num) < 10L) return;
+ if ((minprice / num) < 10L) return;
if (price == minprice)
{
if (st_ptr->good_buy < MAX_SHORT)
/* Label it, clear the line --(-- */
char out_val[160];
(void)sprintf(out_val, "%c) ", ((i > 25) ? toupper(I2A(i - 26)) : I2A(i)));
- prt(out_val, i+6, 0);
+ prt(out_val, i + 6, 0);
int cur_col = 3;
if (show_item_graph)
GAME_TEXT o_name[MAX_NLEN];
object_desc(player_ptr, o_name, o_ptr, 0);
o_name[maxwid] = '\0';
- c_put_str(tval_to_attr[o_ptr->tval], o_name, i+6, cur_col);
- if(show_weights)
+ c_put_str(tval_to_attr[o_ptr->tval], o_name, i + 6, cur_col);
+ if (show_weights)
{
WEIGHT wgt = o_ptr->weight;
#ifdef JP
- sprintf(out_val, "%3d.%1d kg", lbtokg1(wgt) , lbtokg2(wgt));
- put_str(out_val, i+6, 67);
+ sprintf(out_val, "%3d.%1d kg", lbtokg1(wgt), lbtokg2(wgt));
+ put_str(out_val, i + 6, 67);
#else
(void)sprintf(out_val, "%3d.%d lb", wgt / 10, wgt % 10);
- put_str(out_val, i+6, 68);
+ put_str(out_val, i + 6, 68);
#endif
}
char out_val[160];
#ifdef JP
(void)sprintf(out_val, "(%s:%c-%c, ESCで中断) %s",
- (((cur_store_num == STORE_HOME) || (cur_store_num == STORE_MUSEUM)) ? "アイテム" : "商品"),
- lo, hi, pmt);
+ (((cur_store_num == STORE_HOME) || (cur_store_num == STORE_MUSEUM)) ? "アイテム" : "商品"),
+ lo, hi, pmt);
#else
(void)sprintf(out_val, "(Items %c-%c, ESC to exit) %s",
- lo, hi, pmt);
+ lo, hi, pmt);
#endif
char command;
(void)sprintf(out_val, "%s : %ld", pmt, (long)cur_ask);
put_str(out_val, 1, 0);
cancel = receive_offer(_("提示する価格? ", "What price do you ask? "),
- &offer, last_offer, -1, cur_ask, final);
+ &offer, last_offer, -1, cur_ask, final);
if (cancel)
{
}
if (flag) continue;
-
+
s32b x1 = 100 * (last_offer - offer) / (last_offer - cur_ask);
if (x1 < min_per)
{
char out_val[160];
#ifdef JP
/* ブラックマーケットの時は別のメッセージ */
- switch( cur_store_num ) {
- case 7:
- sprintf(out_val, "どのアイテムを取りますか? ");
- break;
- case 6:
- sprintf(out_val, "どれ? ");
- break;
- default:
- sprintf(out_val, "どの品物が欲しいんだい? ");
- break;
+ switch (cur_store_num) {
+ case 7:
+ sprintf(out_val, "どのアイテムを取りますか? ");
+ break;
+ case 6:
+ sprintf(out_val, "どれ? ");
+ break;
+ default:
+ sprintf(out_val, "どの品物が欲しいんだい? ");
+ break;
}
#else
if (cur_store_num == STORE_HOME)
if (o_ptr->number > 1)
{
if ((cur_store_num != STORE_HOME) &&
- (o_ptr->ident & IDENT_FIXED))
+ (o_ptr->ident & IDENT_FIXED))
{
msg_format(_("一つにつき $%ldです。", "That costs %ld gold per item."), (long)(best));
}
msg_print(_("お金が足りません。", "You do not have enough gold."));
return;
}
-
+
say_comment_1(player_ptr);
if (cur_store_num == STORE_BLACK)
chg_virtue(player_ptr, V_JUSTICE, -1);
if (cur_store_num == STORE_BLACK)
chg_virtue(owner_ptr, V_JUSTICE, -1);
- if((o_ptr->tval == TV_BOTTLE) && (cur_store_num != STORE_HOME))
+ if ((o_ptr->tval == TV_BOTTLE) && (cur_store_num != STORE_HOME))
chg_virtue(owner_ptr, V_NATURE, 1);
decrease_insults();
switch (command_cmd)
{
- case ESCAPE:
- {
- leave_store = TRUE;
- break;
+ case ESCAPE:
+ {
+ leave_store = TRUE;
+ break;
+ }
+ case '-':
+ {
+ /* 日本語版追加 */
+ /* 1 ページ戻るコマンド: 我が家のページ数が多いので重宝するはず By BUG */
+ if (st_ptr->stock_num <= store_bottom) {
+ msg_print(_("これで全部です。", "Entire client_ptr->inventory_list is shown."));
+ }
+ else {
+ store_top -= store_bottom;
+ if (store_top < 0)
+ store_top = ((st_ptr->stock_num - 1) / store_bottom) * store_bottom;
+ if ((cur_store_num == STORE_HOME) && (powerup_home == FALSE))
+ if (store_top >= store_bottom) store_top = store_bottom;
+ display_store_inventory(client_ptr);
}
- case '-':
- {
- /* 日本語版追加 */
- /* 1 ページ戻るコマンド: 我が家のページ数が多いので重宝するはず By BUG */
- if (st_ptr->stock_num <= store_bottom) {
- msg_print(_("これで全部です。", "Entire client_ptr->inventory_list is shown."));
- }
- else{
- store_top -= store_bottom;
- if ( store_top < 0 )
- store_top = ((st_ptr->stock_num - 1 )/store_bottom) * store_bottom;
- if ( (cur_store_num == STORE_HOME) && (powerup_home == FALSE) )
- if ( store_top >= store_bottom ) store_top = store_bottom;
- display_store_inventory(client_ptr);
- }
- break;
+ break;
+ }
+ case ' ':
+ {
+ if (st_ptr->stock_num <= store_bottom)
+ {
+ msg_print(_("これで全部です。", "Entire client_ptr->inventory_list is shown."));
}
- case ' ':
+ else
{
- if (st_ptr->stock_num <= store_bottom)
+ store_top += store_bottom;
+ /*
+ * 隠しオプション(powerup_home)がセットされていないときは
+ * 我が家では 2 ページまでしか表示しない
+ */
+ if ((cur_store_num == STORE_HOME) &&
+ (powerup_home == FALSE) &&
+ (st_ptr->stock_num >= STORE_INVEN_MAX))
{
- msg_print(_("これで全部です。", "Entire client_ptr->inventory_list is shown."));
+ if (store_top >= (STORE_INVEN_MAX - 1))
+ {
+ store_top = 0;
+ }
}
else
{
- store_top += store_bottom;
- /*
- * 隠しオプション(powerup_home)がセットされていないときは
- * 我が家では 2 ページまでしか表示しない
- */
- if ((cur_store_num == STORE_HOME) &&
- (powerup_home == FALSE) &&
- (st_ptr->stock_num >= STORE_INVEN_MAX))
- {
- if (store_top >= (STORE_INVEN_MAX - 1))
- {
- store_top = 0;
- }
- }
- else
- {
- if (store_top >= st_ptr->stock_num) store_top = 0;
- }
-
- display_store_inventory(client_ptr);
+ if (store_top >= st_ptr->stock_num) store_top = 0;
}
- break;
- }
- case KTRL('R'):
- {
- do_cmd_redraw(client_ptr);
- display_store(client_ptr);
- break;
- }
- case 'g':
- {
- store_purchase(client_ptr);
- break;
- }
- case 'd':
- {
- store_sell(client_ptr);
- break;
- }
- case 'x':
- {
- store_examine(client_ptr);
- break;
- }
- case '\r':
- {
- break;
- }
- case 'w':
- {
- do_cmd_wield(client_ptr);
- break;
- }
- case 't':
- {
- do_cmd_takeoff(client_ptr);
- break;
- }
- case 'k':
- {
- do_cmd_destroy(client_ptr);
- break;
- }
- case 'e':
- {
- do_cmd_equip(client_ptr);
- break;
- }
- case 'i':
- {
- do_cmd_inven(client_ptr);
- break;
- }
- case 'I':
- {
- do_cmd_observe(client_ptr);
- break;
- }
- case KTRL('I'):
- {
- toggle_inventory_equipment(client_ptr);
- break;
- }
- case 'b':
- {
- if ( (client_ptr->pclass == CLASS_MINDCRAFTER) ||
- (client_ptr->pclass == CLASS_BERSERKER) ||
- (client_ptr->pclass == CLASS_NINJA) ||
- (client_ptr->pclass == CLASS_MIRROR_MASTER)
- ) do_cmd_mind_browse(client_ptr);
- else if (client_ptr->pclass == CLASS_SMITH)
- do_cmd_kaji(client_ptr, TRUE);
- else if (client_ptr->pclass == CLASS_MAGIC_EATER)
- do_cmd_magic_eater(client_ptr, TRUE, FALSE);
- else if (client_ptr->pclass == CLASS_SNIPER)
- do_cmd_snipe_browse(client_ptr);
- else do_cmd_browse(client_ptr);
- break;
- }
- case '{':
- {
- do_cmd_inscribe(client_ptr);
- break;
- }
- case '}':
- {
- do_cmd_uninscribe(client_ptr);
- break;
- }
- case '?':
- {
- do_cmd_help(client_ptr);
- break;
- }
- case '/':
- {
- do_cmd_query_symbol(client_ptr);
- break;
- }
- case 'C':
- {
- client_ptr->town_num = old_town_num;
- do_cmd_player_status(client_ptr);
- client_ptr->town_num = inner_town_num;
- display_store(client_ptr);
- break;
- }
- case '!':
- {
- (void)Term_user(0);
- break;
- }
- case '"':
- {
- client_ptr->town_num = old_town_num;
- do_cmd_pref(client_ptr);
- client_ptr->town_num = inner_town_num;
- break;
- }
- case '@':
- {
- client_ptr->town_num = old_town_num;
- do_cmd_macros(client_ptr);
- client_ptr->town_num = inner_town_num;
- break;
- }
- case '%':
- {
- client_ptr->town_num = old_town_num;
- do_cmd_visuals(client_ptr);
- client_ptr->town_num = inner_town_num;
- break;
- }
- case '&':
- {
- client_ptr->town_num = old_town_num;
- do_cmd_colors(client_ptr);
- client_ptr->town_num = inner_town_num;
- break;
- }
- case '=':
- {
- do_cmd_options();
- (void)combine_and_reorder_home(STORE_HOME);
- do_cmd_redraw(client_ptr);
- display_store(client_ptr);
- break;
- }
- case ':':
- {
- do_cmd_note();
- break;
- }
- case 'V':
- {
- do_cmd_version();
- break;
- }
- case KTRL('F'):
- {
- do_cmd_feeling(client_ptr);
- break;
+ display_store_inventory(client_ptr);
}
- case KTRL('O'):
- {
- do_cmd_message_one();
- break;
- }
- case KTRL('P'):
- {
- do_cmd_messages(0);
- break;
- }
- case '|':
- {
- do_cmd_diary(client_ptr);
- break;
- }
- case '~':
- {
- do_cmd_knowledge(client_ptr);
- break;
- }
- case '(':
+
+ break;
+ }
+ case KTRL('R'):
+ {
+ do_cmd_redraw(client_ptr);
+ display_store(client_ptr);
+ break;
+ }
+ case 'g':
+ {
+ store_purchase(client_ptr);
+ break;
+ }
+ case 'd':
+ {
+ store_sell(client_ptr);
+ break;
+ }
+ case 'x':
+ {
+ store_examine(client_ptr);
+ break;
+ }
+ case '\r':
+ {
+ break;
+ }
+ case 'w':
+ {
+ do_cmd_wield(client_ptr);
+ break;
+ }
+ case 't':
+ {
+ do_cmd_takeoff(client_ptr);
+ break;
+ }
+ case 'k':
+ {
+ do_cmd_destroy(client_ptr);
+ break;
+ }
+ case 'e':
+ {
+ do_cmd_equip(client_ptr);
+ break;
+ }
+ case 'i':
+ {
+ do_cmd_inven(client_ptr);
+ break;
+ }
+ case 'I':
+ {
+ do_cmd_observe(client_ptr);
+ break;
+ }
+ case KTRL('I'):
+ {
+ toggle_inventory_equipment(client_ptr);
+ break;
+ }
+ case 'b':
+ {
+ if ((client_ptr->pclass == CLASS_MINDCRAFTER) ||
+ (client_ptr->pclass == CLASS_BERSERKER) ||
+ (client_ptr->pclass == CLASS_NINJA) ||
+ (client_ptr->pclass == CLASS_MIRROR_MASTER)
+ ) do_cmd_mind_browse(client_ptr);
+ else if (client_ptr->pclass == CLASS_SMITH)
+ do_cmd_kaji(client_ptr, TRUE);
+ else if (client_ptr->pclass == CLASS_MAGIC_EATER)
+ do_cmd_magic_eater(client_ptr, TRUE, FALSE);
+ else if (client_ptr->pclass == CLASS_SNIPER)
+ do_cmd_snipe_browse(client_ptr);
+ else do_cmd_browse(client_ptr);
+ break;
+ }
+ case '{':
+ {
+ do_cmd_inscribe(client_ptr);
+ break;
+ }
+ case '}':
+ {
+ do_cmd_uninscribe(client_ptr);
+ break;
+ }
+ case '?':
+ {
+ do_cmd_help(client_ptr);
+ break;
+ }
+ case '/':
+ {
+ do_cmd_query_symbol(client_ptr);
+ break;
+ }
+ case 'C':
+ {
+ client_ptr->town_num = old_town_num;
+ do_cmd_player_status(client_ptr);
+ client_ptr->town_num = inner_town_num;
+ display_store(client_ptr);
+ break;
+ }
+ case '!':
+ {
+ (void)Term_user(0);
+ break;
+ }
+ case '"':
+ {
+ client_ptr->town_num = old_town_num;
+ do_cmd_pref(client_ptr);
+ client_ptr->town_num = inner_town_num;
+ break;
+ }
+ case '@':
+ {
+ client_ptr->town_num = old_town_num;
+ do_cmd_macros(client_ptr);
+ client_ptr->town_num = inner_town_num;
+ break;
+ }
+ case '%':
+ {
+ client_ptr->town_num = old_town_num;
+ do_cmd_visuals(client_ptr);
+ client_ptr->town_num = inner_town_num;
+ break;
+ }
+ case '&':
+ {
+ client_ptr->town_num = old_town_num;
+ do_cmd_colors(client_ptr);
+ client_ptr->town_num = inner_town_num;
+ break;
+ }
+ case '=':
+ {
+ do_cmd_options();
+ (void)combine_and_reorder_home(STORE_HOME);
+ do_cmd_redraw(client_ptr);
+ display_store(client_ptr);
+ break;
+ }
+ case ':':
+ {
+ do_cmd_note();
+ break;
+ }
+ case 'V':
+ {
+ do_cmd_version();
+ break;
+ }
+ case KTRL('F'):
+ {
+ do_cmd_feeling(client_ptr);
+ break;
+ }
+ case KTRL('O'):
+ {
+ do_cmd_message_one();
+ break;
+ }
+ case KTRL('P'):
+ {
+ do_cmd_messages(0);
+ break;
+ }
+ case '|':
+ {
+ do_cmd_diary(client_ptr);
+ break;
+ }
+ case '~':
+ {
+ do_cmd_knowledge(client_ptr);
+ break;
+ }
+ case '(':
+ {
+ do_cmd_load_screen();
+ break;
+ }
+ case ')':
+ {
+ do_cmd_save_screen(client_ptr);
+ break;
+ }
+ default:
+ {
+ if ((cur_store_num == STORE_MUSEUM) && (command_cmd == 'r'))
{
- do_cmd_load_screen();
- break;
+ museum_remove_object(client_ptr);
}
- case ')':
+ else
{
- do_cmd_save_screen(client_ptr);
- break;
+ msg_print(_("そのコマンドは店の中では使えません。", "That command does not work in stores."));
}
- default:
- {
- if ((cur_store_num == STORE_MUSEUM) && (command_cmd == 'r'))
- {
- museum_remove_object(client_ptr);
- }
- else
- {
- msg_print(_("そのコマンドは店の中では使えません。", "That command does not work in stores."));
- }
- break;
- }
+ break;
+ }
}
}
*/
void do_cmd_store(player_type *player_ptr)
{
- if(player_ptr->wild_mode) return;
+ if (player_ptr->wild_mode) return;
TERM_LEN w, h;
Term_get_size(&w, &h);
- xtra_stock = MIN(14+26, ((h > 24) ? (h - 24) : 0));
+ xtra_stock = MIN(14 + 26, ((h > 24) ? (h - 24) : 0));
store_bottom = MIN_STOCK + xtra_stock;
grid_type *g_ptr;
inner_town_num = player_ptr->town_num;
if ((town_info[player_ptr->town_num].store[which].store_open >= current_world_ptr->game_turn) ||
- (ironman_shops))
+ (ironman_shops))
{
msg_print(_("ドアに鍵がかかっている。", "The doors are locked."));
player_ptr->town_num = old_town_num;
{
prt(_("p) 商品を買う", "p) Purchase an item."), 21 + xtra_stock, 30);
prt(_("s) アイテムを売る", "s) Sell an item."), 22 + xtra_stock, 30);
- prt(_("x) 商品を調べる", "x) eXamine an item in the shop"), 23 + xtra_stock,30);
+ prt(_("x) 商品を調べる", "x) eXamine an item in the shop"), 23 + xtra_stock, 30);
}
prt(_("i/e) 持ち物/装備の一覧", "i/e) Inventry/Equipment list"), 21 + xtra_stock, 56);
st_ptr->owner = (byte)randint0(MAX_OWNERS);
if (j == st_ptr->owner) continue;
int i;
- for (i = 1;i < max_towns; i++)
+ for (i = 1; i < max_towns; i++)
{
if (i == player_ptr->town_num) continue;
if (st_ptr->owner == town_info[i].store[cur_store_num].owner) break;
{
st_ptr->owner = (byte)randint0(MAX_OWNERS);
int i;
- for (i = 1;i < max_towns; i++)
+ for (i = 1; i < max_towns; i++)
{
if (i == town_num) continue;
if (st_ptr->owner == town_info[i].store[store_num].owner) break;