OSDN Git Service

[Refactor] #38862 Moved object*.c/h to object/
[hengband/hengband.git] / src / spells-object.c
index 28fcc32..68dbaf3 100644 (file)
@@ -4,24 +4,24 @@
 
 #include "cmd-basic.h"
 #include "artifact.h"
-#include "floor.h"
+#include "floor/floor.h"
 #include "grid.h"
-#include "spells.h"
+#include "spell/spells3.h"
 #include "spells-object.h"
-#include "object-boost.h"
-#include "object-hook.h"
-#include "object-flavor.h"
-#include "object-ego.h"
+#include "object/object-boost.h"
+#include "object/object-hook.h"
+#include "object/object-flavor.h"
+#include "object/object-ego.h"
 #include "player-damage.h"
 #include "player-status.h"
 #include "avatar.h"
 #include "player-effects.h"
 #include "player-class.h"
 #include "player-inventory.h"
-#include "objectkind.h"
-#include "autopick.h"
+#include "object/object-kind.h"
+#include "autopick/autopick.h"
 #include "targeting.h"
-#include "view-mainwindow.h"
+#include "view/display-main-window.h"
 
 
 typedef struct
@@ -74,7 +74,7 @@ static amuse_type amuse_info[] =
        { TV_SWORD, SV_BROKEN_SWORD, 5, AMS_NOTHING },
        { TV_SCROLL, SV_SCROLL_AMUSEMENT, 10, AMS_NOTHING },
 
-       { 0, 0, 0 }
+       { 0, 0, 0, 0 }
 };
 
 /*!
@@ -135,14 +135,14 @@ bool create_ammo(player_type *creature_ptr)
                DIRECTION dir;
                grid_type *g_ptr;
 
-               if (!get_rep_dir(&dir, FALSE)) return FALSE;
+               if (!get_rep_dir(creature_ptr, &dir, FALSE)) return FALSE;
                y = creature_ptr->y + ddy[dir];
                x = creature_ptr->x + ddx[dir];
                g_ptr = &creature_ptr->current_floor_ptr->grid_array[y][x];
 
                if (!have_flag(f_info[get_feat_mimic(g_ptr)].flags, FF_CAN_DIG))
                {
-                       msg_print(_("そこには岩石がない。", "You need pile of rubble."));
+                       msg_print(_("そこには岩石がない。", "You need pile of rubble."));
                        return FALSE;
                }
                
@@ -165,11 +165,11 @@ bool create_ammo(player_type *creature_ptr)
 
                slot = inven_carry(creature_ptr, q_ptr);
 
-               object_desc(o_name, q_ptr, 0);
+               object_desc(creature_ptr, o_name, q_ptr, 0);
                msg_format(_("%sを作った。", "You make some ammo."), o_name);
 
                /* Auto-inscription */
-               if (slot >= 0) autopick_alter_item(slot, FALSE);
+               if (slot >= 0) autopick_alter_item(creature_ptr, slot, FALSE);
 
                /* Destroy the wall */
                cave_alter_feat(creature_ptr, y, x, FF_HURT_ROCK);
@@ -203,14 +203,14 @@ bool create_ammo(player_type *creature_ptr)
 
                q_ptr->discount = 99;
 
-               object_desc(o_name, q_ptr, 0);
+               object_desc(creature_ptr, o_name, q_ptr, 0);
                msg_format(_("%sを作った。", "You make some ammo."), o_name);
 
                vary_item(creature_ptr, item, -1);
                slot = inven_carry(creature_ptr, q_ptr);
 
                /* Auto-inscription */
-               if (slot >= 0) autopick_alter_item(slot, FALSE);
+               if (slot >= 0) autopick_alter_item(creature_ptr, slot, FALSE);
                return TRUE;
        }
 
@@ -240,7 +240,7 @@ bool create_ammo(player_type *creature_ptr)
 
                q_ptr->discount = 99;
 
-               object_desc(o_name, q_ptr, 0);
+               object_desc(creature_ptr, o_name, q_ptr, 0);
                msg_format(_("%sを作った。", "You make some ammo."), o_name);
 
                vary_item(creature_ptr, item, -1);
@@ -248,7 +248,7 @@ bool create_ammo(player_type *creature_ptr)
                slot = inven_carry(creature_ptr, q_ptr);
 
                /* Auto-inscription */
-               if (slot >= 0) autopick_alter_item(slot, FALSE);
+               if (slot >= 0) autopick_alter_item(creature_ptr, slot, FALSE);
        }
 
        return TRUE;
@@ -271,7 +271,7 @@ bool import_magic_device(player_type *user_ptr)
        OBJECT_IDX item;
        object_type *o_ptr;
        o_ptr = choose_object(user_ptr, &item, q, s, (USE_INVEN | USE_FLOOR), 0);
-       if (!o_ptr) return (FALSE);
+       if (!o_ptr) return FALSE;
 
        if (o_ptr->tval == TV_STAFF && o_ptr->sval == SV_STAFF_NOTHING)
        {
@@ -326,7 +326,7 @@ bool import_magic_device(player_type *user_ptr)
        }
 
        GAME_TEXT o_name[MAX_NLEN];
-       object_desc(o_name, o_ptr, 0);
+       object_desc(user_ptr, o_name, o_ptr, 0);
        msg_format(_("%sの魔力を取り込んだ。", "You absorb magic of %s."), o_name);
 
        vary_item(user_ptr, item, -999);
@@ -577,7 +577,7 @@ bool curse_armor(player_type *owner_ptr)
        if (!o_ptr->k_idx) return FALSE;
 
        GAME_TEXT o_name[MAX_NLEN];
-       object_desc(o_name, o_ptr, OD_OMIT_PREFIX);
+       object_desc(owner_ptr, o_name, o_ptr, OD_OMIT_PREFIX);
 
        /* Attempt a saving throw for artifacts */
        if (object_is_artifact(o_ptr) && (randint0(100) < 50))
@@ -635,7 +635,7 @@ bool curse_weapon_object(player_type *owner_ptr, bool force, object_type *o_ptr)
        if (!o_ptr->k_idx) return FALSE;
 
        GAME_TEXT o_name[MAX_NLEN];
-       object_desc(o_name, o_ptr, OD_OMIT_PREFIX);
+       object_desc(owner_ptr, o_name, o_ptr, OD_OMIT_PREFIX);
 
        /* Attempt a saving throw */
        if (object_is_artifact(o_ptr) && (randint0(100) < 50) && !force)
@@ -697,7 +697,7 @@ bool rustproof(player_type *caster_ptr)
        if (!o_ptr) return FALSE;
 
        GAME_TEXT o_name[MAX_NLEN];
-       object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
+       object_desc(caster_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
 
        add_flag(o_ptr->art_flags, TR_IGNORE_ACID);
 
@@ -764,7 +764,7 @@ void brand_bolts(player_type *caster_ptr)
 
 bool perilous_secrets(player_type *user_ptr)
 {
-       if (!ident_spell(user_ptr, FALSE)) return FALSE;
+       if (!ident_spell(user_ptr, FALSE, 0)) return FALSE;
 
        if (mp_ptr->spell_book)
        {
@@ -846,7 +846,7 @@ void get_bloody_moon_flags(object_type *o_ptr)
 void phlogiston(player_type *caster_ptr)
 {
        GAME_TURN max_flog = 0;
-       object_type * o_ptr = &caster_ptr->inventory_list[INVEN_LITE];
+       object_type *o_ptr = &caster_ptr->inventory_list[INVEN_LITE];
 
        /* It's a lamp */
        if ((o_ptr->tval == TV_LITE) && (o_ptr->sval == SV_LITE_LANTERN))
@@ -906,7 +906,7 @@ bool bless_weapon(player_type *caster_ptr)
        if (!o_ptr) return FALSE;
 
        GAME_TEXT o_name[MAX_NLEN];
-       object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
+       object_desc(caster_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
        BIT_FLAGS flgs[TR_FLAG_SIZE];
        object_flags(o_ptr, flgs);
 
@@ -1038,19 +1038,16 @@ bool bless_weapon(player_type *caster_ptr)
  */
 bool pulish_shield(player_type *caster_ptr)
 {
-       /* Assume enchant weapon */
-       item_tester_tval = TV_SHIELD;
-
        concptr q = _("どの盾を磨きますか?", "Pulish which weapon? ");
        concptr s = _("磨く盾がありません。", "You have weapon to pulish.");
 
        OBJECT_IDX item;
        object_type *o_ptr;
-       o_ptr = choose_object(caster_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), 0);
+       o_ptr = choose_object(caster_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), TV_SHIELD);
        if (!o_ptr) return FALSE;
 
        GAME_TEXT o_name[MAX_NLEN];
-       object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
+       object_desc(caster_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
        BIT_FLAGS flgs[TR_FLAG_SIZE];
        object_flags(o_ptr, flgs);
 
@@ -1211,14 +1208,14 @@ bool enchant(player_type *caster_ptr, object_type *o_ptr, int n, int eflag)
        }
 
        /* Failure */
-       if (!res) return (FALSE);
+       if (!res) return FALSE;
        caster_ptr->update |= (PU_BONUS | PU_COMBINE | PU_REORDER);
        caster_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
 
        calc_android_exp(caster_ptr);
 
        /* Success */
-       return (TRUE);
+       return TRUE;
 }
 
 
@@ -1248,10 +1245,10 @@ bool enchant_spell(player_type *caster_ptr, HIT_PROB num_hit, HIT_POINT num_dam,
        OBJECT_IDX item;
        object_type *o_ptr;
        o_ptr = choose_object(caster_ptr, &item, q, s, (USE_EQUIP | USE_INVEN | USE_FLOOR | IGNORE_BOTHHAND_SLOT), 0);
-       if (!o_ptr) return (FALSE);
+       if (!o_ptr) return FALSE;
 
        GAME_TEXT o_name[MAX_NLEN];
-       object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
+       object_desc(caster_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
 #ifdef JP
        msg_format("%s は明るく輝いた!", o_name);
 #else
@@ -1302,7 +1299,7 @@ void brand_weapon(player_type *caster_ptr, int brand_type)
 
        bool is_special_item = o_ptr->k_idx && !object_is_artifact(o_ptr) && !object_is_ego(o_ptr) &&
                !object_is_cursed(o_ptr) &&
-               !((o_ptr->tval == TV_SWORD) && (o_ptr->sval == SV_DOKUBARI)) &&
+               !((o_ptr->tval == TV_SWORD) && (o_ptr->sval == SV_POISON_NEEDLE)) &&
                !((o_ptr->tval == TV_POLEARM) && (o_ptr->sval == SV_DEATH_SCYTHE)) &&
                !((o_ptr->tval == TV_SWORD) && (o_ptr->sval == SV_DIAMOND_EDGE));
        if (!is_special_item)
@@ -1317,7 +1314,7 @@ void brand_weapon(player_type *caster_ptr, int brand_type)
 
        /* Let's get the name before it is changed... */
        GAME_TEXT o_name[MAX_NLEN];
-       object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
+       object_desc(caster_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
 
        concptr act = NULL;
        switch (brand_type)