*/
#include "angband.h"
-#include "term.h"
-#include "core.h"
+#include "gameterm.h"
+#include "core/stuff-handler.h"
#include "util.h"
#include "creature.h"
#include "artifact.h"
#include "cmd-dump.h"
-#include "floor.h"
-#include "bldg.h"
-#include "birth.h"
+#include "floor/floor.h"
+#include "market/building.h"
+#include "birth/birth.h"
#include "grid.h"
-#include "mutation.h"
+#include "mutation/mutation.h"
#include "quest.h"
#include "avatar.h"
#include "spells-status.h"
-#include "realm-song.h"
-#include "realm-hex.h"
+#include "realm/realm-song.h"
+#include "realm/realm-hex.h"
#include "object-ego.h"
#include "object-hook.h"
#include "wild.h"
#include "player-class.h"
#include "player-move.h"
#include "player-effects.h"
-#include "player-race.h"
+#include "player/race-info-table.h"
#include "player-class.h"
#include "player-personality.h"
#include "player-sex.h"
#include "snipe.h"
#include "files.h"
#include "monster-spell.h"
-#include "world.h"
-#include "objectkind.h"
-#include "autopick.h"
+#include "world/world.h"
+#include "object/object-kind.h"
+#include "autopick/autopick-reader-writer.h"
#include "save.h"
#include "report.h"
-#include "view-mainwindow.h"
+#include "view/display-main-window.h"
/*!
* @brief 修行僧の構え能力テーブル
{
object_type *o_ptr = &creature_ptr->inventory_list[i];
if (!o_ptr->k_idx) continue;
- if (o_ptr->ident & (IDENT_MENTAL)) continue;
+ if (OBJECT_IS_FULL_KNOWN(o_ptr)) continue;
o_ptr->feeling = FEEL_NONE;
o_ptr->ident &= ~(IDENT_EMPTY);
screen_load();
return TRUE;
}
+
+bool_hack drop_weapons(player_type *creature_ptr)
+{
+ INVENTORY_IDX slot = 0;
+ object_type *o_ptr = NULL;
+
+ if (creature_ptr->wild_mode) return FALSE;
+
+ msg_print(NULL);
+ if (has_melee_weapon(creature_ptr, INVEN_RARM))
+ {
+ slot = INVEN_RARM;
+ o_ptr = &creature_ptr->inventory_list[INVEN_RARM];
+
+ if (has_melee_weapon(creature_ptr, INVEN_LARM) && one_in_(2))
+ {
+ o_ptr = &creature_ptr->inventory_list[INVEN_LARM];
+ slot = INVEN_LARM;
+ }
+ }
+ else if (has_melee_weapon(creature_ptr, INVEN_LARM))
+ {
+ o_ptr = &creature_ptr->inventory_list[INVEN_LARM];
+ slot = INVEN_LARM;
+ }
+
+ if (slot && !object_is_cursed(o_ptr))
+ {
+ msg_print(_("武器を落としてしまった!", "You drop your weapon!"));
+ drop_from_inventory(creature_ptr, slot, 1);
+ return TRUE;
+ }
+
+ return FALSE;
+}