From: deskull Date: Thu, 14 Mar 2019 05:44:08 +0000 (+0900) Subject: [Refactor] #37353 can_player_destroy_object() to object-hook.c. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=aa94ea6c3ee6e01a7bd899b606ac20dbc1cb8273;p=hengband%2Fhengband.git [Refactor] #37353 can_player_destroy_object() to object-hook.c. --- diff --git a/src/externs.h b/src/externs.h index d14ffd499..d50534a32 100644 --- a/src/externs.h +++ b/src/externs.h @@ -745,7 +745,6 @@ extern byte value_check_aux1(object_type *o_ptr); extern byte value_check_aux2(object_type *o_ptr); extern PRICE object_value(object_type *o_ptr); extern PRICE object_value_real(object_type *o_ptr); -extern bool can_player_destroy_object(object_type *o_ptr); extern void distribute_charges(object_type *o_ptr, object_type *q_ptr, int amt); extern void reduce_charges(object_type *o_ptr, int amt); extern int object_similar_part(object_type *o_ptr, object_type *j_ptr); diff --git a/src/object-hook.c b/src/object-hook.c index 14ee7e2c7..c5017463a 100644 --- a/src/object-hook.c +++ b/src/object-hook.c @@ -911,3 +911,37 @@ bool object_can_refill_torch(object_type *o_ptr) return (FALSE); } + +/*! + * @brief 破壊可能なアイテムかを返す / + * Determines whether an object can be destroyed, and makes fake inscription. + * @param o_ptr 破壊可能かを確認したいオブジェクトの構造体参照ポインタ + * @return オブジェクトが破壊可能ならばTRUEを返す + */ +bool can_player_destroy_object(object_type *o_ptr) +{ + /* Artifacts cannot be destroyed */ + if (!object_is_artifact(o_ptr)) return TRUE; + + /* If object is unidentified, makes fake inscription */ + if (!object_is_known(o_ptr)) + { + byte feel = FEEL_SPECIAL; + + /* Hack -- Handle icky artifacts */ + if (object_is_cursed(o_ptr) || object_is_broken(o_ptr)) feel = FEEL_TERRIBLE; + + /* Hack -- inscribe the artifact */ + o_ptr->feeling = feel; + + /* We have "felt" it (again) */ + o_ptr->ident |= (IDENT_SENSE); + p_ptr->update |= (PU_COMBINE); + p_ptr->window |= (PW_INVEN | PW_EQUIP); + + return FALSE; + } + + /* Identified artifact -- Nothing to do */ + return FALSE; +} diff --git a/src/object-hook.h b/src/object-hook.h index fb811ed7b..29902af9c 100644 --- a/src/object-hook.h +++ b/src/object-hook.h @@ -48,3 +48,4 @@ extern bool object_is_random_artifact(object_type *o_ptr); extern bool object_is_nameless(object_type *o_ptr); extern bool object_allow_two_hands_wielding(object_type *o_ptr); extern bool object_can_refill_torch(object_type *o_ptr); +extern bool can_player_destroy_object(object_type *o_ptr); diff --git a/src/object2.c b/src/object2.c index 8e74a3a30..39418bb7a 100644 --- a/src/object2.c +++ b/src/object2.c @@ -1429,40 +1429,6 @@ PRICE object_value(object_type *o_ptr) -/*! - * @brief 破壊可能なアイテムかを返す / - * Determines whether an object can be destroyed, and makes fake inscription. - * @param o_ptr 破壊可能かを確認したいオブジェクトの構造体参照ポインタ - * @return オブジェクトが破壊可能ならばTRUEを返す - */ -bool can_player_destroy_object(object_type *o_ptr) -{ - /* Artifacts cannot be destroyed */ - if (!object_is_artifact(o_ptr)) return TRUE; - - /* If object is unidentified, makes fake inscription */ - if (!object_is_known(o_ptr)) - { - byte feel = FEEL_SPECIAL; - - /* Hack -- Handle icky artifacts */ - if (object_is_cursed(o_ptr) || object_is_broken(o_ptr)) feel = FEEL_TERRIBLE; - - /* Hack -- inscribe the artifact */ - o_ptr->feeling = feel; - - /* We have "felt" it (again) */ - o_ptr->ident |= (IDENT_SENSE); - p_ptr->update |= (PU_COMBINE); - p_ptr->window |= (PW_INVEN | PW_EQUIP); - - return FALSE; - } - - /* Identified artifact -- Nothing to do */ - return FALSE; -} - /*! * @brief 魔法棒やロッドのスロット分割時に使用回数を分配する /