#include "angband.h"
#include "chest.h"
-
+#include "object-hook.h"
/*!
* @brief フロア脱出時に出戻りが不可能だった場合に警告を加える処理
((q_ptr->status != QUEST_STATUS_STAGE_COMPLETED) ||
(down_stair && (quest[QUEST_TOWER1].status != QUEST_STATUS_COMPLETED))))))
{
-#ifdef JP
- msg_print("この階を一度去ると二度と戻って来られません。");
- if (get_check("本当にこの階を去りますか?")) return TRUE;
-#else
- msg_print("You can't come back here once you leave this floor.");
- if (get_check("Really leave this floor? ")) return TRUE;
-#endif
+ msg_print(_("この階を一度去ると二度と戻って来られません。", "You can't come back here once you leave this floor."));
+ if (get_check(_("本当にこの階を去りますか?", "Really leave this floor? "))) return TRUE;
}
else
{
* @details
* Note that artifacts never break, see the "drop_near()" function.
*/
-static int breakage_chance(object_type *o_ptr)
+static PERCENTAGE breakage_chance(object_type *o_ptr)
{
- int archer_bonus = (p_ptr->pclass == CLASS_ARCHER ? (p_ptr->lev-1)/7 + 4: 0);
+ PERCENTAGE archer_bonus = (p_ptr->pclass == CLASS_ARCHER ? (PERCENTAGE)(p_ptr->lev-1)/7 + 4: 0);
/* Examine the snipe type */
if (snipe_type)
*/
void do_cmd_fire_aux(int item, object_type *j_ptr)
{
- int dir;
- int i, j, y, x, ny, nx, ty, tx, prev_y, prev_x;
+ DIRECTION dir;
+ int i;
+ POSITION y, x, ny, nx, ty, tx, prev_y, prev_x;
int tdam_base, tdis, thits, tmul;
int bonus, chance;
int cur_dis, visible;
+ PERCENTAGE j;
object_type forge;
object_type *q_ptr;
}
}
-/*!
- * @brief オブジェクトが投射可能な武器かどうかを返す。
- * @param o_ptr 判定するオブジェクトの構造体参照ポインタ
- * @return 投射可能な武器ならばTRUE
- */
-static bool item_tester_hook_boomerang(object_type *o_ptr)
-{
- if ((o_ptr->tval==TV_DIGGING) || (o_ptr->tval == TV_SWORD) || (o_ptr->tval == TV_POLEARM) || (o_ptr->tval == TV_HAFTED)) return (TRUE);
-
- /* Assume not */
- return (FALSE);
-}
-
/*!
- * @brief æ\8a\95å°\84å\87¦ç\90\86ã\81®ã\82µã\83\96ルーチン /
+ * @brief æ\8a\95å°\84å\87¦ç\90\86ã\83¡ã\82¤ã\83³ルーチン /
* Throw an object from the pack or floor.
* @param mult 威力の倍率
* @param boomerang ブーメラン処理ならばTRUE
* the item to be destroyed? Should it do any damage at all?
* </pre>
*/
-bool do_cmd_throw_aux(int mult, bool boomerang, OBJECT_IDX shuriken)
+bool do_cmd_throw(int mult, bool boomerang, OBJECT_IDX shuriken)
{
DIRECTION dir;
OBJECT_IDX item;
- int i, j, y, x, ty, tx, prev_y, prev_x;
- int ny[19], nx[19];
+ int i;
+ POSITION y, x, ty, tx, prev_y, prev_x;
+ POSITION ny[19], nx[19];
int chance, tdam, tdis;
int mul, div, dd, ds;
int cur_dis, visible;
+ PERCENTAGE j;
object_type forge;
object_type *q_ptr;
/* Nope */
return FALSE;
}
+
}
/* Get local object */
if (shuriken >= 0)
{
- ty = randint0(101)-50+p_ptr->y;
- tx = randint0(101)-50+p_ptr->x;
+ ty = randint0(101) - 50 + p_ptr->y;
+ tx = randint0(101) - 50 + p_ptr->x;
}
else
{
if (cave[y][x].m_idx)
{
cave_type *c_ptr = &cave[y][x];
-
monster_type *m_ptr = &m_list[c_ptr->m_idx];
/* Check the visibility */
}
-/*!
- * @brief 投射処理のメインルーチン /
- * Throw an object from the pack or floor.
- * @return なし
- */
-void do_cmd_throw(void)
-{
- do_cmd_throw_aux(1, FALSE, -1);
-}
-
-
#ifdef TRAVEL
/*
* Hack: travel command