<ClCompile Include="..\..\src\store\sell-order.cpp" />\r
<ClCompile Include="..\..\src\store\service-checker.cpp" />\r
<ClCompile Include="..\..\src\system\angband-version.cpp" />\r
+ <ClCompile Include="..\..\src\system\object-type-definition.cpp" />\r
<ClCompile Include="..\..\src\system\player-type-definition.cpp" />\r
<ClCompile Include="..\..\src\target\grid-selector.cpp" />\r
<ClCompile Include="..\..\src\target\projection-path-calculator.cpp" />\r
<ClCompile Include="..\..\src\object\object-stack.cpp" />\r
<ClCompile Include="..\..\src\object\object-value-calc.cpp" />\r
<ClCompile Include="..\..\src\perception\object-perception.cpp" />\r
- <ClCompile Include="..\..\src\object\object-generator.cpp" />\r
<ClCompile Include="..\..\src\object\object-value.cpp" />\r
<ClCompile Include="..\..\src\pet\pet-fall-off.cpp" />\r
<ClCompile Include="..\..\src\mspell\mspell-floor.cpp" />\r
<ClInclude Include="..\..\src\object\object-stack.h" />\r
<ClInclude Include="..\..\src\object\object-value-calc.h" />\r
<ClInclude Include="..\..\src\perception\object-perception.h" />\r
- <ClInclude Include="..\..\src\object\object-generator.h" />\r
<ClInclude Include="..\..\src\object\object-value.h" />\r
<ClInclude Include="..\..\src\pet\pet-fall-off.h" />\r
<ClInclude Include="..\..\src\pet\pet-util.h" />\r
<ClCompile Include="..\..\src\world\world-object.cpp">\r
<Filter>world</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\src\object\object-generator.cpp">\r
- <Filter>object</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\src\object-enchant\object-boost.cpp">\r
<Filter>object-enchant</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\src\object-enchant\apply-magic-amulet.cpp">\r
<Filter>object-enchant</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\src\system\object-type-definition.cpp">\r
+ <Filter>system</Filter>\r
+ </ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\src\combat\shoot.h">\r
<ClInclude Include="..\..\src\world\world-object.h">\r
<Filter>world</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\src\object\object-generator.h">\r
- <Filter>object</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\src\sv-definition\sv-armor-types.h">\r
<Filter>sv-definition</Filter>\r
</ClInclude>\r
object/item-tester-hooker.cpp object/item-tester-hooker.h \
object/object-broken.cpp object/object-broken.h \
object/object-flags.cpp object/object-flags.h \
- object/object-generator.cpp object/object-generator.h \
object/object-info.cpp object/object-info.h \
object/object-kind.cpp object/object-kind.h \
object/object-kind-hook.cpp object/object-kind-hook.h \
system/h-define.h system/h-system.h system/h-type.h \
system/monster-race-definition.h \
system/monster-type-definition.h \
- system/object-type-definition.h \
+ system/object-type-definition.cpp system/object-type-definition.h \
system/player-type-definition.cpp system/player-type-definition.h \
system/system-variables.cpp system/system-variables.h \
system/gamevalue.h \
#include "inventory/inventory-slot-types.h"
#include "object-hook/hook-checker.h"
#include "object-hook/hook-weapon.h"
-#include "object/object-generator.h"
#include "player-info/equipment-info.h"
#include "player-status/player-hand-types.h"
#include "system/object-type-definition.h"
}
new_o_ptr = &owner_ptr->inventory_list[INVEN_MAIN_HAND];
- object_copy(new_o_ptr, o_ptr);
+ new_o_ptr->object_copy(o_ptr);
inven_item_increase(owner_ptr, INVEN_SUB_HAND, -((int)o_ptr->number));
inven_item_optimize(owner_ptr, INVEN_SUB_HAND);
if (object_allow_two_hands_wielding(o_ptr) && can_two_hands_wielding(owner_ptr))
return;
new_o_ptr = &owner_ptr->inventory_list[INVEN_SUB_HAND];
- object_copy(new_o_ptr, o_ptr);
+ new_o_ptr->object_copy(o_ptr);
inven_item_increase(owner_ptr, INVEN_MAIN_HAND, -((int)o_ptr->number));
inven_item_optimize(owner_ptr, INVEN_MAIN_HAND);
msg_format(_("%sを持ち替えた。", "You switched hand of %s."), o_name);
#include "object-enchant/tr-types.h"
#include "object-enchant/trc-types.h"
#include "object-enchant/trg-types.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "player/player-sex.h"
object_type forge;
auto q_ptr = &forge;
- object_prep(player_ptr, q_ptr, i);
+ q_ptr->object_prep(player_ptr, i);
q_ptr->name1 = a_idx;
(void)apply_artifact(player_ptr, q_ptr);
/*! @note 前述の条件を満たしたら、後のIDのアーティファクトはチェックせずすぐ確定し生成処理に移す /
* Assign the template. Mega-Hack -- mark the item as an artifact. Hack: Some artifacts get random extra powers. Success. */
- object_prep(player_ptr, o_ptr, k_idx);
+ o_ptr->object_prep(player_ptr, k_idx);
o_ptr->name1 = i;
return true;
#include "monster-race/monster-race.h"
#include "monster-race/race-flags1.h"
#include "monster-race/race-flags7.h"
-#include "object/object-generator.h"
#include "object/object-kind.h"
#include "pet/pet-util.h"
#include "player/digestion-processor.h"
creature_ptr->inven_cnt = 0;
creature_ptr->equip_cnt = 0;
for (int i = 0; i < INVEN_TOTAL; i++)
- object_wipe(&creature_ptr->inventory_list[i]);
+ (&creature_ptr->inventory_list[i])->object_wipe();
for (int i = 0; i < max_a_idx; i++) {
artifact_type *a_ptr = &a_info[i];
#include "object-enchant/apply-magic.h"
#include "object-enchant/item-apply-magic.h"
#include "object-enchant/object-ego.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
object_type *i_ptr;
i_ptr = &object_type_body;
- object_copy(i_ptr, o_ptr);
+ i_ptr->object_copy(o_ptr);
i_ptr->number = 1;
if (item >= 0) {
}
o_ptr = &creature_ptr->inventory_list[slot];
- object_copy(o_ptr, i_ptr);
+ o_ptr->object_copy(i_ptr);
creature_ptr->equip_cnt++;
}
}
/* Demon can drain vitality from humanoid corpse */
get_mon_num_prep(creature_ptr, monster_hook_human, NULL);
for (int i = rand_range(3, 4); i > 0; i--) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_CORPSE, SV_CORPSE));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_CORPSE, SV_CORPSE));
q_ptr->pval = get_mon_num(creature_ptr, 0, 2, 0);
if (q_ptr->pval) {
q_ptr->number = 1;
case RACE_ZOMBIE:
case RACE_SPECTRE:
/* Staff (of Nothing) */
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_STAFF, SV_STAFF_NOTHING));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_STAFF, SV_STAFF_NOTHING));
q_ptr->number = 1;
add_outfit(creature_ptr, q_ptr);
break;
case RACE_ENT:
/* Potions of Water */
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_POTION, SV_POTION_WATER));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_POTION, SV_POTION_WATER));
q_ptr->number = (ITEM_NUMBER)rand_range(15, 23);
add_outfit(creature_ptr, q_ptr);
break;
case RACE_ANDROID:
/* Flasks of oil */
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_FLASK, SV_ANY));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_FLASK, SV_ANY));
apply_magic_to_object(creature_ptr, q_ptr, 1, AM_NO_FIXED_ART);
q_ptr->number = (ITEM_NUMBER)rand_range(7, 12);
add_outfit(creature_ptr, q_ptr);
break;
default:
/* Food rations */
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_FOOD, SV_FOOD_RATION));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_FOOD, SV_FOOD_RATION));
q_ptr->number = (ITEM_NUMBER)rand_range(3, 7);
add_outfit(creature_ptr, q_ptr);
}
q_ptr = &forge;
if ((creature_ptr->prace == RACE_VAMPIRE) && (creature_ptr->pclass != CLASS_NINJA)) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_SCROLL, SV_SCROLL_DARKNESS));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_SCROLL, SV_SCROLL_DARKNESS));
q_ptr->number = (ITEM_NUMBER)rand_range(2, 5);
add_outfit(creature_ptr, q_ptr);
} else if (creature_ptr->pclass != CLASS_NINJA) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_LITE, SV_LITE_TORCH));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_LITE, SV_LITE_TORCH));
q_ptr->number = (ITEM_NUMBER)rand_range(3, 7);
q_ptr->xtra4 = rand_range(3, 7) * 500;
q_ptr = &forge;
if (creature_ptr->prace == RACE_MERFOLK) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_RING, SV_RING_LEVITATION_FALL));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_RING, SV_RING_LEVITATION_FALL));
q_ptr->number = 1;
add_outfit(creature_ptr, q_ptr);
}
if ((creature_ptr->pclass == CLASS_RANGER) || (creature_ptr->pclass == CLASS_CAVALRY)) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_ARROW, SV_AMMO_NORMAL));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_ARROW, SV_AMMO_NORMAL));
q_ptr->number = (byte)rand_range(15, 20);
add_outfit(creature_ptr, q_ptr);
}
if (creature_ptr->pclass == CLASS_RANGER) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_BOW, SV_SHORT_BOW));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_BOW, SV_SHORT_BOW));
add_outfit(creature_ptr, q_ptr);
} else if (creature_ptr->pclass == CLASS_ARCHER) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_ARROW, SV_AMMO_NORMAL));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_ARROW, SV_AMMO_NORMAL));
q_ptr->number = (ITEM_NUMBER)rand_range(15, 20);
add_outfit(creature_ptr, q_ptr);
} else if (creature_ptr->pclass == CLASS_HIGH_MAGE || creature_ptr->pclass == CLASS_ELEMENTALIST) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_WAND, SV_WAND_MAGIC_MISSILE));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_WAND, SV_WAND_MAGIC_MISSILE));
q_ptr->number = 1;
q_ptr->pval = (PARAMETER_VALUE)rand_range(25, 30);
add_outfit(creature_ptr, q_ptr);
} else if (creature_ptr->pclass == CLASS_SORCERER) {
int book_tval;
for (book_tval = TV_LIFE_BOOK; book_tval <= TV_LIFE_BOOK + static_cast<int>(MAX_MAGIC) - 1; book_tval++) {
- object_prep(creature_ptr, q_ptr, lookup_kind(static_cast<tval_type>(book_tval), 0));
+ q_ptr->object_prep(creature_ptr, lookup_kind(static_cast<tval_type>(book_tval), 0));
q_ptr->number = 1;
add_outfit(creature_ptr, q_ptr);
}
} else if (creature_ptr->pclass == CLASS_TOURIST) {
if (creature_ptr->pseikaku != PERSONALITY_SEXY) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_SHOT, SV_AMMO_LIGHT));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_SHOT, SV_AMMO_LIGHT));
q_ptr->number = rand_range(15, 20);
add_outfit(creature_ptr, q_ptr);
}
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_FOOD, SV_FOOD_BISCUIT));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_FOOD, SV_FOOD_BISCUIT));
q_ptr->number = rand_range(2, 4);
add_outfit(creature_ptr, q_ptr);
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_FOOD, SV_FOOD_WAYBREAD));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_FOOD, SV_FOOD_WAYBREAD));
q_ptr->number = rand_range(2, 4);
add_outfit(creature_ptr, q_ptr);
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_FOOD, SV_FOOD_JERKY));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_FOOD, SV_FOOD_JERKY));
q_ptr->number = rand_range(1, 3);
add_outfit(creature_ptr, q_ptr);
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_FOOD, SV_FOOD_PINT_OF_ALE));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_FOOD, SV_FOOD_PINT_OF_ALE));
q_ptr->number = rand_range(2, 4);
add_outfit(creature_ptr, q_ptr);
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_FOOD, SV_FOOD_PINT_OF_WINE));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_FOOD, SV_FOOD_PINT_OF_WINE));
q_ptr->number = rand_range(2, 4);
add_outfit(creature_ptr, q_ptr);
} else if (creature_ptr->pclass == CLASS_NINJA) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_SPIKE, 0));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_SPIKE, 0));
q_ptr->number = rand_range(15, 20);
add_outfit(creature_ptr, q_ptr);
} else if (creature_ptr->pclass == CLASS_SNIPER) {
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_BOLT, SV_AMMO_NORMAL));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_BOLT, SV_AMMO_NORMAL));
q_ptr->number = rand_range(15, 20);
add_outfit(creature_ptr, q_ptr);
}
}
q_ptr = &forge;
- object_prep(creature_ptr, q_ptr, lookup_kind(static_cast<tval_type>(tv), sv));
+ q_ptr->object_prep(creature_ptr, lookup_kind(static_cast<tval_type>(tv), sv));
if ((tv == TV_SWORD || tv == TV_HAFTED)
&& (creature_ptr->pclass == CLASS_ROGUE && creature_ptr->realm1 == REALM_DEATH)) /* Only assassins get a poisoned weapon */
q_ptr->name2 = EGO_BRAND_POIS;
#include "object-hook/hook-expendable.h"
#include "object-hook/hook-magic.h"
#include "object/item-use-flags.h"
-#include "object/object-generator.h"
#include "object/object-stack.h"
#include "object/object-value.h"
#include "player-info/avatar.h"
static void exe_destroy_item(player_type *creature_ptr, destroy_type *destroy_ptr)
{
- object_copy(destroy_ptr->q_ptr, destroy_ptr->o_ptr);
+ destroy_ptr->q_ptr->object_copy(destroy_ptr->o_ptr);
msg_format(_("%sを壊した。", "You destroy %s."), destroy_ptr->o_name);
sound(SOUND_DESTITEM);
reduce_charges(destroy_ptr->o_ptr, destroy_ptr->amt);
#include "object-hook/hook-expendable.h"
#include "object/item-tester-hooker.h"
#include "object/item-use-flags.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
/* Modify quantity */
q_ptr->number = 1;
object_type *q_ptr = &forge;
msg_print(_("食べ物がアゴを素通りして落ちた!", "The food falls through your jaws!"));
- object_prep(creature_ptr, q_ptr, lookup_kind(o_ptr->tval, o_ptr->sval));
+ q_ptr->object_prep(creature_ptr, lookup_kind(o_ptr->tval, o_ptr->sval));
/* Drop the object from heaven */
(void)drop_near(creature_ptr, q_ptr, -1, creature_ptr->y, creature_ptr->x);
#include "object-hook/hook-weapon.h"
#include "object/item-tester-hooker.h"
#include "object/item-use-flags.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-mark-types.h"
#include "perception/object-perception.h"
object_type *otmp_ptr = &object_tmp;
GAME_TEXT switch_name[MAX_NLEN];
describe_flavor(creature_ptr, switch_name, switch_o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
- object_copy(otmp_ptr, switch_o_ptr);
- object_copy(switch_o_ptr, slot_o_ptr);
- object_copy(slot_o_ptr, otmp_ptr);
+ otmp_ptr->object_copy(switch_o_ptr);
+ switch_o_ptr->object_copy(slot_o_ptr);
+ slot_o_ptr->object_copy(otmp_ptr);
msg_format(_("%sを%sに構えなおした。", "You wield %s at %s hand."), switch_name,
(slot == INVEN_MAIN_HAND) ? (left_hander ? _("左手", "left") : _("右手", "right")) : (left_hander ? _("右手", "right") : _("左手", "left")));
slot = need_switch_wielding;
PlayerEnergy(creature_ptr).set_player_turn_energy(100);
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
q_ptr->number = 1;
if (item >= 0) {
inven_item_increase(creature_ptr, item, -1);
if (o_ptr->k_idx)
(void)inven_takeoff(creature_ptr, slot, 255);
- object_copy(o_ptr, q_ptr);
+ o_ptr->object_copy(q_ptr);
o_ptr->marked |= OM_TOUCHED;
creature_ptr->equip_cnt++;
#include "object/item-tester-hooker.h"
#include "object/item-use-flags.h"
#include "object/object-flags.h" //!< @todo 相互参照している.
-#include "object/object-generator.h"
#include "perception/object-perception.h"
#include "player-status/player-energy.h"
#include "system/object-type-definition.h"
marked = o_ptr->marked;
number = o_ptr->number;
- object_prep(creature_ptr, o_ptr, o_ptr->k_idx);
+ o_ptr->object_prep(creature_ptr, o_ptr->k_idx);
o_ptr->iy = iy;
o_ptr->ix = ix;
#include "object/item-use-flags.h"
#include "object/object-broken.h"
#include "object/object-flags.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind.h"
#include "object/object-stack.h"
static void calc_throw_range(player_type *creature_ptr, it_type *it_ptr)
{
- object_copy(it_ptr->q_ptr, it_ptr->o_ptr);
+ it_ptr->q_ptr->object_copy(it_ptr->o_ptr);
object_flags(creature_ptr, it_ptr->q_ptr, it_ptr->obj_flags);
torch_flags(it_ptr->q_ptr, it_ptr->obj_flags);
distribute_charges(it_ptr->o_ptr, it_ptr->q_ptr, 1);
}
it_ptr->o_ptr = &creature_ptr->inventory_list[it_ptr->item];
- object_copy(it_ptr->o_ptr, it_ptr->q_ptr);
+ it_ptr->o_ptr->object_copy(it_ptr->q_ptr);
creature_ptr->equip_cnt++;
creature_ptr->update |= PU_BONUS | PU_TORCH | PU_MANA;
creature_ptr->window_flags |= PW_EQUIP;
#include "monster-floor/place-monster-types.h"
#include "object-enchant/special-object-flags.h"
#include "object/item-use-flags.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind.h"
#include "perception/object-perception.h"
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
/* Modify quantity */
q_ptr->number = 1;
#include "knowledge/lighting-level-table.h"
#include "main/sound-of-music.h"
#include "monster-race/monster-race.h"
-#include "object/object-generator.h"
#include "object/object-kind.h"
#include "system/monster-race-definition.h"
#include "system/object-type-definition.h"
strip_name(o_name, k_idx);
} else {
object_type forge;
- object_prep(creature_ptr, &forge, k_idx);
+ (&forge)->object_prep(creature_ptr, k_idx);
describe_flavor(creature_ptr, o_name, &forge, OD_FORCE_FLAVOR);
}
#include "object-hook/hook-enchant.h"
#include "object/object-broken.h"
#include "object/object-flags.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind.h"
#include "object/object-mark-types.h"
y = shooter_ptr->y;
x = shooter_ptr->x;
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
/* Single object */
q_ptr->number = 1;
}
o_ptr = &shooter_ptr->current_floor_ptr->o_list[o_idx];
- object_copy(o_ptr, q_ptr);
+ o_ptr->object_copy(q_ptr);
/* Forget mark */
reset_bits(o_ptr->marked, OM_TOUCHED);
#include "grid/grid.h"
#include "object-hook/hook-checker.h"
#include "object-hook/hook-enchant.h"
-#include "object/object-generator.h"
#include "object/object-kind.h"
#include "system/floor-type-definition.h"
#include "system/monster-type-definition.h"
// 要素番号i1のオブジェクトを要素番号i2に移動
floor_ptr->o_list[i2] = floor_ptr->o_list[i1];
- object_wipe(o_ptr);
+ o_ptr->object_wipe();
}
/*!
#include "grid/grid.h"
#include "monster/monster-info.h"
#include "object-enchant/item-apply-magic.h"
-#include "object/object-generator.h"
#include "system/floor-type-definition.h"
#include "system/monster-type-definition.h"
#include "system/object-type-definition.h"
object_type *o_ptr;
for (int i = 0; i < (floor_ptr->dun_level / 15) + 1; i++) {
o_ptr = &forge;
- object_wipe(o_ptr);
+ o_ptr->object_wipe();
make_object(player_ptr, o_ptr, AM_GOOD | AM_GREAT);
(void)drop_near(player_ptr, o_ptr, -1, y, x);
}
#include "monster/smart-learn-types.h"
#include "object-enchant/item-apply-magic.h"
#include "object-enchant/trg-types.h"
-#include "object/object-generator.h"
#include "player-status/player-energy.h"
#include "player/player-personality-types.h"
#include "player/player-status.h"
#include "monster/monster-status.h"
#include "monster/monster-update.h"
#include "object-enchant/special-object-flags.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "player-info/avatar.h"
#include "util/bit-flags-calculator.h"
object_type *q_ptr;
object_type forge;
q_ptr = &forge;
- object_prep(caster_ptr, q_ptr, lookup_kind(TV_STATUE, SV_PHOTO));
+ q_ptr->object_prep(caster_ptr, lookup_kind(TV_STATUE, SV_PHOTO));
q_ptr->pval = em_ptr->photo;
q_ptr->ident |= (IDENT_FULL_KNOWN);
(void)drop_near(caster_ptr, q_ptr, -1, caster_ptr->y, caster_ptr->x);
#include "object-enchant/item-apply-magic.h"
#include "object-enchant/object-ego.h"
#include "object-enchant/trg-types.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
OBJECT_IDX o_idx = o_pop(floor_ptr);
object_type *o_ptr;
o_ptr = &floor_ptr->o_list[o_idx];
- object_copy(o_ptr, j_ptr);
+ o_ptr->object_copy(j_ptr);
o_ptr->iy = y;
o_ptr->ix = x;
o_ptr->held_m_idx = 0;
KIND_OBJECT_IDX k_idx = lookup_kind(TV_SCROLL, SV_SCROLL_ACQUIREMENT);
object_type forge;
object_type *q_ptr = &forge;
- object_prep(player_ptr, q_ptr, k_idx);
+ q_ptr->object_prep(player_ptr, k_idx);
drop_here(player_ptr->current_floor_ptr, q_ptr, *qtwg_ptr->y, *qtwg_ptr->x);
}
} else if (object_index) {
object_type tmp_object;
object_type *o_ptr = &tmp_object;
- object_prep(player_ptr, o_ptr, object_index);
+ o_ptr->object_prep(player_ptr, object_index);
if (o_ptr->tval == TV_GOLD) {
coin_type = object_index - OBJ_GOLD_LIST;
make_gold(player_ptr, o_ptr);
#include "object-enchant/special-object-flags.h"
#include "object-hook/hook-checker.h"
#include "object-hook/hook-enchant.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
if (!k_idx)
return FALSE;
- object_prep(owner_ptr, j_ptr, k_idx);
+ j_ptr->object_prep(owner_ptr, k_idx);
}
apply_magic_to_object(owner_ptr, j_ptr, floor_ptr->object_level, mode);
i = coin_type;
if (i >= MAX_GOLD)
i = MAX_GOLD - 1;
- object_prep(player_ptr, j_ptr, OBJ_GOLD_LIST + i);
+ j_ptr->object_prep(player_ptr, OBJ_GOLD_LIST + i);
s32b base = k_info[OBJ_GOLD_LIST + i].cost;
j_ptr->pval = (base + (8L * randint1(base)) + randint1(8));
for (const auto this_o_idx : g_ptr->o_idx_list) {
object_type *o_ptr;
o_ptr = &floor_ptr->o_list[this_o_idx];
- object_wipe(o_ptr);
+ o_ptr->object_wipe();
floor_ptr->o_cnt--;
}
lite_spot(player_ptr, y, x);
}
- object_wipe(j_ptr);
+ j_ptr->object_wipe();
floor_ptr->o_cnt--;
set_bits(player_ptr->window_flags, PW_FLOOR_ITEM_LIST);
}
if (!done) {
- object_copy(&floor_ptr->o_list[o_idx], j_ptr);
+ (&floor_ptr->o_list[o_idx])->object_copy(j_ptr);
j_ptr = &floor_ptr->o_list[o_idx];
j_ptr->iy = by;
j_ptr->ix = bx;
#include "grid/grid.h"
#include "object-hook/hook-checker.h"
#include "object-hook/hook-enchant.h"
-#include "object/object-generator.h"
#include "perception/object-perception.h"
#include "system/artifact-type-definition.h"
#include "system/floor-type-definition.h"
auto &list = get_o_idx_list_contains(floor_ptr, i);
list.clear();
- object_wipe(o_ptr);
+ o_ptr->object_wipe();
}
floor_ptr->o_max = 1;
#include "floor/floor-object.h"
#include "grid/grid.h"
#include "object-hook/hook-enchant.h"
-#include "object/object-generator.h"
#include "system/artifact-type-definition.h"
#include "system/floor-type-definition.h"
#include "system/object-type-definition.h"
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
if (!make_gold(player_ptr, q_ptr))
return;
object_type *o_ptr;
o_ptr = &floor_ptr->o_list[o_idx];
- object_copy(o_ptr, q_ptr);
+ o_ptr->object_copy(q_ptr);
o_ptr->iy = y;
o_ptr->ix = x;
return;
q_ptr = &forge;
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
if (!make_object(owner_ptr, q_ptr, mode))
return;
object_type *o_ptr;
o_ptr = &floor_ptr->o_list[o_idx];
- object_copy(o_ptr, q_ptr);
+ o_ptr->object_copy(q_ptr);
o_ptr->iy = y;
o_ptr->ix = x;
#include "floor/floor-object.h"
#include "inventory/inventory-slot-types.h"
#include "object-hook/hook-weapon.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-mark-types.h"
#include "object/object-stack.h"
if (item >= INVEN_MAIN_HAND) {
owner_ptr->equip_cnt--;
- object_wipe(&owner_ptr->inventory_list[item]);
+ (&owner_ptr->inventory_list[item])->object_wipe();
owner_ptr->update |= PU_BONUS;
owner_ptr->update |= PU_TORCH;
owner_ptr->update |= PU_MANA;
owner_ptr->inventory_list[i] = owner_ptr->inventory_list[i + 1];
}
- object_wipe(&owner_ptr->inventory_list[i]);
+ (&owner_ptr->inventory_list[i])->object_wipe();
owner_ptr->window_flags |= PW_INVEN;
owner_ptr->window_flags |= PW_SPELL;
}
}
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
distribute_charges(o_ptr, q_ptr, amt);
q_ptr->number = amt;
owner_ptr->inventory_list[k] = owner_ptr->inventory_list[k + 1];
}
- object_wipe(&owner_ptr->inventory_list[k]);
+ (&owner_ptr->inventory_list[k])->object_wipe();
} else {
int old_num = o_ptr->number;
int remain = j_ptr->number + o_ptr->number - max_num;
flag = TRUE;
q_ptr = &forge;
- object_copy(q_ptr, &owner_ptr->inventory_list[i]);
+ q_ptr->object_copy(&owner_ptr->inventory_list[i]);
for (k = i; k > j; k--) {
- object_copy(&owner_ptr->inventory_list[k], &owner_ptr->inventory_list[k - 1]);
+ (&owner_ptr->inventory_list[k])->object_copy(&owner_ptr->inventory_list[k - 1]);
}
- object_copy(&owner_ptr->inventory_list[j], q_ptr);
+ (&owner_ptr->inventory_list[j])->object_copy(q_ptr);
owner_ptr->window_flags |= (PW_INVEN);
}
i = j;
for (k = n; k >= i; k--) {
- object_copy(&owner_ptr->inventory_list[k + 1], &owner_ptr->inventory_list[k]);
+ (&owner_ptr->inventory_list[k + 1])->object_copy(&owner_ptr->inventory_list[k]);
}
- object_wipe(&owner_ptr->inventory_list[i]);
+ (&owner_ptr->inventory_list[i])->object_wipe();
}
- object_copy(&owner_ptr->inventory_list[i], o_ptr);
+ (&owner_ptr->inventory_list[i])->object_copy(o_ptr);
j_ptr = &owner_ptr->inventory_list[i];
j_ptr->held_m_idx = 0;
j_ptr->iy = j_ptr->ix = 0;
if (amt > o_ptr->number)
amt = o_ptr->number;
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
q_ptr->number = amt;
describe_flavor(owner_ptr, o_name, q_ptr, 0);
if (((item == INVEN_MAIN_HAND) || (item == INVEN_SUB_HAND)) && object_is_melee_weapon(o_ptr)) {
#include "knowledge/object-group-table.h"
#include "object-enchant/special-object-flags.h"
#include "object-hook/hook-enchant.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "perception/identification.h"
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_prep(player_ptr, q_ptr, z);
+ q_ptr->object_prep(player_ptr, z);
q_ptr->name1 = who[k];
q_ptr->ident |= IDENT_STORE;
describe_flavor(player_ptr, base_name, q_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
object_type *o_ptr;
object_type object_type_body;
o_ptr = &object_type_body;
- object_wipe(o_ptr);
- object_prep(creature_ptr, o_ptr, k_idx);
+ o_ptr->object_wipe();
+ o_ptr->object_prep(creature_ptr, k_idx);
o_ptr->ident |= IDENT_KNOWN;
handle_stuff(creature_ptr);
#include "locale/english.h"
#include "monster-race/monster-race.h"
#include "object-enchant/special-object-flags.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "system/artifact-type-definition.h"
#include "system/floor-type-definition.h"
object_type forge;
object_type *q_ptr = &forge;
KIND_OBJECT_IDX k_idx = lookup_kind(a_ptr->tval, a_ptr->sval);
- object_prep(creature_ptr, q_ptr, k_idx);
+ q_ptr->object_prep(creature_ptr, k_idx);
q_ptr->name1 = quest[i].k_idx;
q_ptr->ident = IDENT_STORE;
describe_flavor(creature_ptr, name, q_ptr, OD_NAME_ONLY);
#include "inventory/inventory-slot-types.h"
#include "load/item-loader.h"
#include "load/load-util.h"
-#include "object/object-generator.h"
#include "object/object-mark-types.h"
#include "system/object-type-definition.h"
#include "system/player-type-definition.h"
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
rd_item(player_ptr, q_ptr);
if (!q_ptr->k_idx)
if (n >= INVEN_MAIN_HAND) {
q_ptr->marked |= OM_TOUCHED;
- object_copy(&player_ptr->inventory_list[n], q_ptr);
+ (&player_ptr->inventory_list[n])->object_copy(q_ptr);
player_ptr->equip_cnt++;
continue;
}
n = slot++;
q_ptr->marked |= OM_TOUCHED;
- object_copy(&player_ptr->inventory_list[n], q_ptr);
+ (&player_ptr->inventory_list[n])->object_copy(q_ptr);
player_ptr->inven_cnt++;
}
#include "load/store-loader.h"
-#include "object/object-generator.h"
#include "floor/floor-town.h"
#include "load/angband-version-comparer.h"
#include "load/item-loader.h"
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
rd_item(player_ptr, q_ptr);
home_carry_load(player_ptr, store_ptr, q_ptr);
} else {
int k = store_ptr->stock_num++;
- object_copy(&store_ptr->stock[k], q_ptr);
+ (&store_ptr->stock[k])->object_copy(q_ptr);
}
}
#include "monster/monster-util.h"
#include "object-enchant/apply-magic.h"
#include "object-enchant/item-apply-magic.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind-hook.h"
#include "perception/object-perception.h"
msg_format(_("これで合計 %d ポイント獲得しました。", "You earned %d point%s total."), num, (num > 1 ? "s" : ""));
- object_prep(player_ptr, &forge, lookup_kind(prize_list[num - 1].tval, prize_list[num - 1].sval));
+ (&forge)->object_prep(player_ptr, lookup_kind(prize_list[num - 1].tval, prize_list[num - 1].sval));
apply_magic_to_object(player_ptr, &forge, player_ptr->current_floor_ptr->object_level, AM_NO_FIXED_ART);
object_aware(player_ptr, &forge);
#include "object/item-tester-hooker.h"
#include "object/item-use-flags.h"
#include "object/object-flags.h"
-#include "object/object-generator.h"
#include "realm/realm-hex-numbers.h"
#include "spell-realm/spells-hex.h"
#include "sv-definition/sv-weapon-types.h"
screen_save();
clear_bldg(0, 22);
i_ptr = &customer_ptr->inventory_list[INVEN_MAIN_HAND];
- object_copy(&orig_weapon, i_ptr);
+ (&orig_weapon)->object_copy(i_ptr);
item_tester_hook = item_tester_hook_orthodox_melee_weapons;
concptr q = _("第一の武器は?", "What is your first weapon? ");
for (int i = 0; i < n; i++) {
int col = (wid * i + mgn);
if (o_ptr[i] != i_ptr)
- object_copy(i_ptr, o_ptr[i]);
+ i_ptr->object_copy(o_ptr[i]);
customer_ptr->update |= PU_BONUS;
handle_stuff(customer_ptr);
list_weapon(customer_ptr, o_ptr[i], row, col);
compare_weapon_aux(customer_ptr, o_ptr[i], col, row + 8);
- object_copy(i_ptr, &orig_weapon);
+ i_ptr->object_copy(&orig_weapon);
}
customer_ptr->update |= PU_BONUS;
#include "object-hook/hook-bow.h"
#include "object/item-tester-hooker.h"
#include "object/item-use-flags.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "perception/object-perception.h"
#include "system/floor-type-definition.h"
object_type forge;
object_type *q_ptr = &forge;
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_SHOT, (OBJECT_SUBTYPE_VALUE)m_bonus(1, creature_ptr->lev) + 1));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_SHOT, (OBJECT_SUBTYPE_VALUE)m_bonus(1, creature_ptr->lev) + 1));
q_ptr->number = (byte)rand_range(15, 30);
object_aware(creature_ptr, q_ptr);
object_known(q_ptr);
object_type forge;
q_ptr = &forge;
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_ARROW, (OBJECT_SUBTYPE_VALUE)m_bonus(1, creature_ptr->lev) + 1));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_ARROW, (OBJECT_SUBTYPE_VALUE)m_bonus(1, creature_ptr->lev) + 1));
q_ptr->number = (byte)rand_range(5, 10);
object_aware(creature_ptr, q_ptr);
object_known(q_ptr);
object_type forge;
q_ptr = &forge;
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_BOLT, (OBJECT_SUBTYPE_VALUE)m_bonus(1, creature_ptr->lev) + 1));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_BOLT, (OBJECT_SUBTYPE_VALUE)m_bonus(1, creature_ptr->lev) + 1));
q_ptr->number = (byte)rand_range(4, 8);
object_aware(creature_ptr, q_ptr);
object_known(q_ptr);
#include "floor/floor-object.h"
#include "object-enchant/object-boost.h"
#include "object-enchant/object-ego.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "sv-definition/sv-weapon-types.h"
#include "system/floor-type-definition.h"
dummy2 = SV_BLADE_OF_CHAOS;
}
- object_prep(creature_ptr, q_ptr, lookup_kind(dummy, dummy2));
+ q_ptr->object_prep(creature_ptr, lookup_kind(dummy, dummy2));
q_ptr->to_h = 3 + randint1(creature_ptr->current_floor_ptr->dun_level) % 10;
q_ptr->to_d = 3 + randint1(creature_ptr->current_floor_ptr->dun_level) % 10;
one_resistance(q_ptr);
#include "mind/mind-hobbit.h"
#include "floor/floor-object.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "sv-definition/sv-food-types.h"
#include "system/object-type-definition.h"
{
object_type forge;
object_type *q_ptr = &forge;
- object_prep(creature_ptr, q_ptr, lookup_kind(TV_FOOD, SV_FOOD_RATION));
+ q_ptr->object_prep(creature_ptr, lookup_kind(TV_FOOD, SV_FOOD_RATION));
(void)drop_near(creature_ptr, q_ptr, -1, creature_ptr->y, creature_ptr->x);
msg_print(_("食事を料理して作った。", "You cook some food."));
return TRUE;
#include "object-hook/hook-magic.h"
#include "object/item-tester-hooker.h"
#include "object/item-use-flags.h"
-#include "object/object-generator.h"
#include "object/object-kind.h"
#include "player/player-realm.h"
#include "system/object-type-definition.h"
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
q_ptr->number = 1;
o_ptr->pval++;
#include "monster/monster-status.h"
#include "monster/monster-update.h"
#include "object-enchant/trc-types.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "player-attack/player-attack-util.h"
#include "player-info/equipment-info.h"
POSITION x = caster_ptr->x;
teleport_player(caster_ptr, 10 + randint1(90), TELEPORT_SPONTANEOUS);
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
const int SV_WOODEN_STATUE = 0;
- object_prep(caster_ptr, q_ptr, lookup_kind(TV_STATUE, SV_WOODEN_STATUE));
+ q_ptr->object_prep(caster_ptr, lookup_kind(TV_STATUE, SV_WOODEN_STATUE));
q_ptr->pval = MON_NINJA;
(void)drop_near(caster_ptr, q_ptr, -1, y, x);
#include "monster-attack/monster-attack-util.h"
#include "monster/monster-status.h"
#include "object-hook/hook-enchant.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind.h"
#include "object/object-mark-types.h"
object_type *j_ptr;
j_ptr = &target_ptr->current_floor_ptr->o_list[o_idx];
- object_copy(j_ptr, monap_ptr->o_ptr);
+ j_ptr->object_copy(monap_ptr->o_ptr);
j_ptr->number = 1;
if ((monap_ptr->o_ptr->tval == TV_ROD) || (monap_ptr->o_ptr->tval == TV_WAND)) {
j_ptr->pval = monap_ptr->o_ptr->pval / monap_ptr->o_ptr->number;
#include "monster/monster-list.h"
#include "object-enchant/apply-magic.h"
#include "object-enchant/item-apply-magic.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "pet/pet-fall-off.h"
#include "player/patron.h"
if (arena_info[player_ptr->arena_number].tval) {
object_type forge;
object_type *q_ptr = &forge;
- object_prep(player_ptr, q_ptr, lookup_kind(arena_info[player_ptr->arena_number].tval, arena_info[player_ptr->arena_number].sval));
+ q_ptr->object_prep(player_ptr, lookup_kind(arena_info[player_ptr->arena_number].tval, arena_info[player_ptr->arena_number].sval));
apply_magic_to_object(player_ptr, q_ptr, floor_ptr->object_level, AM_NO_FIXED_ART);
(void)drop_near(player_ptr, q_ptr, -1, md_ptr->md_y, md_ptr->md_x);
}
object_type forge;
object_type *q_ptr = &forge;
- object_prep(player_ptr, q_ptr, lookup_kind(TV_CORPSE, (corpse ? SV_CORPSE : SV_SKELETON)));
+ q_ptr->object_prep(player_ptr, lookup_kind(TV_CORPSE, (corpse ? SV_CORPSE : SV_SKELETON)));
apply_magic_to_object(player_ptr, q_ptr, floor_ptr->object_level, AM_NO_FIXED_ART);
q_ptr->pval = md_ptr->m_ptr->r_idx;
(void)drop_near(player_ptr, q_ptr, -1, md_ptr->md_y, md_ptr->md_x);
if (k_idx != 0) {
object_type forge;
object_type *q_ptr = &forge;
- object_prep(player_ptr, q_ptr, k_idx);
+ q_ptr->object_prep(player_ptr, k_idx);
apply_magic_to_object(player_ptr, q_ptr, player_ptr->current_floor_ptr->object_level, AM_NO_FIXED_ART | AM_GOOD);
(void)drop_near(player_ptr, q_ptr, -1, md_ptr->md_y, md_ptr->md_x);
}
for (int i = 0; i < drop_numbers; i++) {
object_type forge;
object_type *q_ptr = &forge;
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
if (md_ptr->do_gold && (!md_ptr->do_item || (randint0(100) < 50))) {
if (!make_gold(player_ptr, q_ptr))
continue;
#include "object-enchant/tr-types.h"
#include "object-hook/hook-enchant.h"
#include "object/object-flags.h"
-#include "object/object-generator.h"
#include "object/object-mark-types.h"
#include "system/floor-type-definition.h"
#include "system/monster-race-definition.h"
const OBJECT_IDX this_o_idx = *it++;
o_ptr = &player_ptr->current_floor_ptr->o_list[this_o_idx];
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
q_ptr->held_m_idx = 0;
delete_object_idx(player_ptr, this_o_idx);
(void)drop_near(player_ptr, q_ptr, -1, m_ptr->fy, m_ptr->fx);
#include "object-enchant/apply-magic.h"
#include "object-enchant/item-apply-magic.h"
#include "object-hook/hook-checker.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "spell/spell-types.h"
#include "spell/summon-types.h"
object_type forge;
object_type *q_ptr = &forge;
- object_prep(player_ptr, q_ptr, lookup_kind(TV_SWORD, SV_BLADE_OF_CHAOS));
+ q_ptr->object_prep(player_ptr, lookup_kind(TV_SWORD, SV_BLADE_OF_CHAOS));
apply_magic_to_object(player_ptr, q_ptr, player_ptr->current_floor_ptr->object_level, AM_NO_FIXED_ART | md_ptr->mo_mode);
(void)drop_near(player_ptr, q_ptr, -1, md_ptr->md_y, md_ptr->md_x);
}
object_type forge;
object_type *q_ptr = &forge;
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
if ((floor_ptr->dun_level > 49) && one_in_(5))
get_obj_num_hook = kind_is_good_book;
else
object_type forge;
object_type *q_ptr = &forge;
- object_prep(player_ptr, q_ptr, lookup_kind(TV_HAFTED, SV_GROND));
+ q_ptr->object_prep(player_ptr, lookup_kind(TV_HAFTED, SV_GROND));
q_ptr->name1 = ART_GROND;
apply_magic_to_object(player_ptr, q_ptr, -1, AM_GOOD | AM_GREAT);
(void)drop_near(player_ptr, q_ptr, -1, md_ptr->md_y, md_ptr->md_x);
q_ptr = &forge;
- object_prep(player_ptr, q_ptr, lookup_kind(TV_CROWN, SV_CHAOS));
+ q_ptr->object_prep(player_ptr, lookup_kind(TV_CROWN, SV_CHAOS));
q_ptr->name1 = ART_CHAOS;
apply_magic_to_object(player_ptr, q_ptr, -1, AM_GOOD | AM_GREAT);
(void)drop_near(player_ptr, q_ptr, -1, md_ptr->md_y, md_ptr->md_x);
object_type forge;
object_type *q_ptr = &forge;
- object_prep(player_ptr, q_ptr, lookup_kind(TV_SWORD, randint1(2)));
+ q_ptr->object_prep(player_ptr, lookup_kind(TV_SWORD, randint1(2)));
(void)drop_near(player_ptr, q_ptr, -1, md_ptr->md_y, md_ptr->md_x);
}
object_type forge;
object_type *q_ptr = &forge;
- object_prep(player_ptr, q_ptr, lookup_kind(TV_CHEST, SV_CHEST_KANDUME));
+ q_ptr->object_prep(player_ptr, lookup_kind(TV_CHEST, SV_CHEST_KANDUME));
apply_magic_to_object(player_ptr, q_ptr, player_ptr->current_floor_ptr->object_level, AM_NO_FIXED_ART);
(void)drop_near(player_ptr, q_ptr, -1, md_ptr->md_y, md_ptr->md_x);
}
*/
static bool make_equipment(player_type *player_ptr, object_type *q_ptr, const BIT_FLAGS drop_mode, const bool is_object_hook_null)
{
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
(void)make_object(player_ptr, q_ptr, drop_mode);
if (!is_object_hook_null) {
return true;
{
object_type forge;
object_type *q_ptr = &forge;
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
get_obj_num_hook = object_hook_pf;
(void)make_object(player_ptr, q_ptr, md_ptr->mo_mode);
(void)drop_near(player_ptr, q_ptr, -1, md_ptr->md_y, md_ptr->md_x);
#include "monster/monster-info.h"
#include "monster/monster-update.h"
#include "monster/monster-util.h"
-#include "object/object-generator.h"
#include "pet/pet-fall-off.h"
#include "player/player-status.h"
#include "system/alloc-entries.h"
#include "main/sound-of-music.h"
#include "mutation/mutation-investor-remover.h"
#include "object/object-broken.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind.h"
#include "perception/object-perception.h"
o_ptr = ref_item(creature_ptr, item);
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
q_ptr->number = 1;
vary_item(creature_ptr, item, -1);
sound(SOUND_QUAFF);
+++ /dev/null
-#pragma once
-
-#include "system/angband.h"
-
-typedef struct object_type object_type;
-typedef struct player_type player_type;
-void object_wipe(object_type *o_ptr);
-void object_copy(object_type *o_ptr, object_type *j_ptr);
-void object_prep(player_type *player_ptr, object_type *o_ptr, KIND_OBJECT_IDX k_idx);
#include "object-enchant/special-object-flags.h"
#include "object-enchant/trg-types.h"
#include "object/item-tester-hooker.h" // 暫定、このファイルへ引っ越す.
-#include "object/object-generator.h"
#include "object/object-kind.h"
#include "system/object-type-definition.h"
#include "system/player-type-definition.h"
GAME_TEXT o_name[MAX_NLEN];
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
q_ptr->number = 1;
describe_flavor(owner_ptr, o_name, q_ptr, OD_NAME_ONLY);
#include "object-enchant/trg-types.h"
#include "object-hook/hook-enchant.h"
#include "object-hook/hook-weapon.h"
-#include "object/object-generator.h"
#include "object/object-kind.h"
#include "object/object-value-calc.h"
#include "object/object-value.h"
if (!o_ptr->k_idx)
continue;
- object_wipe(q_ptr);
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_wipe();
+ q_ptr->object_copy(o_ptr);
q_ptr->discount = 0;
q_ptr->curse_flags = 0L;
#include "hpmp/hp-mp-processor.h"
#include "monster-floor/monster-summon.h"
#include "monster-floor/place-monster-types.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "player-attack/player-attack.h"
#include "player-info/avatar.h"
msg_print(_("食料を生成した。", "A food ration is produced."));
/* Create the food ration */
- object_prep(caster_ptr, q_ptr, lookup_kind(TV_FOOD, SV_FOOD_RATION));
+ q_ptr->object_prep(caster_ptr, lookup_kind(TV_FOOD, SV_FOOD_RATION));
/* Drop the object from heaven */
(void)drop_near(caster_ptr, q_ptr, -1, caster_ptr->y, caster_ptr->x);
#include "monster-floor/monster-summon.h"
#include "monster-floor/place-monster-types.h"
#include "object-enchant/item-apply-magic.h"
-#include "object/object-generator.h"
#include "perception/object-perception.h"
#include "player/player-class.h"
#include "player/player-damage.h"
for (; number > 0; --number)
{
q_ptr = &forge;
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
/* Small chests often drop gold */
if (small && (randint0(100) < 25))
#include "object-hook/hook-weapon.h"
#include "object/item-tester-hooker.h"
#include "object/item-use-flags.h"
-#include "object/object-generator.h"
#include "player-info/avatar.h"
#include "racial/racial-android.h"
#include "system/object-type-definition.h"
byte marked = o_ptr->marked;
u16b inscription = o_ptr->inscription;
- object_prep(owner_ptr, o_ptr, o_ptr->k_idx);
+ o_ptr->object_prep(owner_ptr, o_ptr->k_idx);
o_ptr->iy = iy;
o_ptr->ix = ix;
#include "object-hook/hook-weapon.h"
#include "object/item-tester-hooker.h"
#include "object/item-use-flags.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "perception/object-perception.h"
break;
}
i_ptr = &object_type_body;
- object_wipe(i_ptr);
+ i_ptr->object_wipe();
k_idx = lookup_kind(amuse_info[i].tval, amuse_info[i].sval);
/* Paranoia - reroll if nothing */
}
/* Make an object (if possible) */
- object_prep(creature_ptr, i_ptr, k_idx);
+ i_ptr->object_prep(creature_ptr, k_idx);
if (a_idx)
i_ptr->name1 = a_idx;
apply_magic_to_object(creature_ptr, i_ptr, 1, AM_NO_FIXED_ART);
/* Acquirement */
while (num--) {
i_ptr = &object_type_body;
- object_wipe(i_ptr);
+ i_ptr->object_wipe();
/* Make a good (or great) object (if possible) */
if (!make_object(caster_ptr, i_ptr, mode))
#include "inventory/inventory-slot-types.h"
#include "mind/mind-force-trainer.h"
#include "monster/monster-describer.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "object/object-kind.h"
#include "player-info/avatar.h"
return FALSE;
object_type forge;
- object_copy(&forge, o_ptr);
+ (&forge)->object_copy(o_ptr);
inven_item_increase(creature_ptr, slot, (0 - o_ptr->number));
inven_item_optimize(creature_ptr, slot);
#include "io/input-key-requester.h"
#include "main/music-definitions-table.h"
#include "main/sound-of-music.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "player-status/player-energy.h"
#include "store/cmd-store.h"
GAME_TEXT o_name[MAX_NLEN];
msg_print(_("ザックからアイテムがあふれてしまった!", "Your pack overflows!"));
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
describe_flavor(player_ptr, o_name, q_ptr, 0);
msg_format(_("%sが落ちた。(%c)", "You drop %s (%c)."), o_name, index_to_label(item));
vary_item(player_ptr, item, -255);
#include "floor/floor-town.h"
#include "game-option/birth-options.h"
#include "game-option/game-play-options.h"
-#include "object/object-generator.h"
#include "object/object-stack.h"
#include "object/object-value.h"
#include "player-info/avatar.h"
for (k = i; k < st_ptr->stock_num; k++)
st_ptr->stock[k] = st_ptr->stock[k + 1];
- object_wipe(&st_ptr->stock[k]);
+ (&st_ptr->stock[k])->object_wipe();
*combined = TRUE;
return TRUE;
}
object_type *j_ptr;
object_type forge;
j_ptr = &forge;
- object_copy(j_ptr, &st_ptr->stock[i]);
+ j_ptr->object_copy(&st_ptr->stock[i]);
for (int k = i; k > j; k--)
- object_copy(&st_ptr->stock[k], &st_ptr->stock[k - 1]);
+ (&st_ptr->stock[k])->object_copy(&st_ptr->stock[k - 1]);
- object_copy(&st_ptr->stock[j], j_ptr);
+ (&st_ptr->stock[j])->object_copy(j_ptr);
}
}
#include "main/sound-of-music.h"
#include "object-enchant/item-feeling.h"
#include "object-enchant/special-object-flags.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-stack.h"
#include "object/object-value.h"
ITEM_NUMBER amt = 1;
object_type forge;
object_type *j_ptr = &forge;
- object_copy(j_ptr, o_ptr);
+ j_ptr->object_copy(o_ptr);
/*
* If a rod or wand, allocate total maximum timeouts or charges
}
j_ptr = &forge;
- object_copy(j_ptr, o_ptr);
+ j_ptr->object_copy(o_ptr);
/*
* If a rod or wand, allocate total maximum timeouts or charges
#include "io/tokenizer.h"
#include "monster-race/monster-race.h"
#include "object-enchant/special-object-flags.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "system/artifact-type-definition.h"
#include "system/monster-race-definition.h"
KIND_OBJECT_IDX k_idx = lookup_kind(a_ptr->tval, a_ptr->sval);
object_type forge;
object_type *q_ptr = &forge;
- object_prep(player_ptr, q_ptr, k_idx);
+ q_ptr->object_prep(player_ptr, k_idx);
q_ptr->name1 = a_idx;
q_ptr->ident = IDENT_STORE;
describe_flavor(player_ptr, fullname, q_ptr, OD_NAME_ONLY);
#include "object-hook/hook-checker.h"
#include "object/item-tester-hooker.h"
#include "object/item-use-flags.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-stack.h"
#include "object/object-value.h"
object_type forge;
object_type *q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
q_ptr->number = amt;
if ((o_ptr->tval == TV_ROD) || (o_ptr->tval == TV_WAND))
identify_item(owner_ptr, o_ptr);
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
q_ptr->number = amt;
q_ptr->ident |= IDENT_STORE;
#include "object-enchant/item-feeling.h"
#include "object-enchant/special-object-flags.h"
#include "object-hook/hook-enchant.h"
-#include "object/object-generator.h"
#include "object/object-kind.h"
#include "object/object-value.h"
#include "perception/object-perception.h"
for (int j = item; j < st_ptr->stock_num; j++)
st_ptr->stock[j] = st_ptr->stock[j + 1];
- object_wipe(&st_ptr->stock[st_ptr->stock_num]);
+ (&st_ptr->stock[st_ptr->stock_num])->object_wipe();
}
/*!
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_prep(player_ptr, q_ptr, k_idx);
+ q_ptr->object_prep(player_ptr, k_idx);
apply_magic_to_object(player_ptr, q_ptr, level, AM_NO_FIXED_ART);
if (!(*store_will_buy)(player_ptr, q_ptr))
continue;
#include "main/sound-of-music.h"
#include "object-enchant/special-object-flags.h"
#include "object-hook/hook-enchant.h"
-#include "object/object-generator.h"
#include "object/object-stack.h"
#include "perception/identification.h"
#include "perception/object-perception.h"
st_ptr->stock_num = 0;
st_ptr->last_visit = -10L * TURNS_PER_TICK * STORE_TICKS;
for (int k = 0; k < st_ptr->stock_size; k++)
- object_wipe(&st_ptr->stock[k]);
+ (&st_ptr->stock[k])->object_wipe();
}
-#include "object/object-generator.h"
+#include "system/object-type-definition.h"
#include "object-enchant/object-curse.h"
#include "object-enchant/special-object-flags.h"
#include "object-enchant/trc-types.h"
#include "object-enchant/trg-types.h"
#include "object/object-kind.h"
-#include "system/object-type-definition.h"
#include "system/player-type-definition.h"
/*!
* Wipe an object clean.
* @param o_ptr 初期化したいオブジェクトの構造体参照ポインタ
*/
-void object_wipe(object_type *o_ptr) { (void)WIPE(o_ptr, object_type); }
+void object_type::object_wipe()
+{
+ (void)WIPE(this, object_type);
+}
/*!
* @brief オブジェクトを複製する
* @param o_ptr 複製元のオブジェクトの構造体参照ポインタ
* @param j_ptr 複製先のオブジェクトの構造体参照ポインタ
*/
-void object_copy(object_type *o_ptr, object_type *j_ptr) { (void)COPY(o_ptr, j_ptr, object_type); }
+void object_type::object_copy(object_type *j_ptr)
+{
+ (void)COPY(this, j_ptr, object_type);
+}
/*!
* @brief オブジェクト構造体にベースアイテムを作成する
* @param o_ptr 代入したいオブジェクトの構造体参照ポインタ
* @param k_idx 新たに作成したいベースアイテム情報のID
*/
-void object_prep(player_type *player_ptr, object_type *o_ptr, KIND_OBJECT_IDX k_idx)
+void object_type::object_prep(player_type *player_ptr, KIND_OBJECT_IDX ko_idx)
{
- object_kind *k_ptr = &k_info[k_idx];
- object_wipe(o_ptr);
- o_ptr->k_idx = k_idx;
- o_ptr->tval = k_ptr->tval;
- o_ptr->sval = k_ptr->sval;
- o_ptr->pval = k_ptr->pval;
- o_ptr->number = 1;
- o_ptr->weight = k_ptr->weight;
- o_ptr->to_h = k_ptr->to_h;
- o_ptr->to_d = k_ptr->to_d;
- o_ptr->to_a = k_ptr->to_a;
- o_ptr->ac = k_ptr->ac;
- o_ptr->dd = k_ptr->dd;
- o_ptr->ds = k_ptr->ds;
+ object_kind *k_ptr = &k_info[ko_idx];
+ object_wipe();
+ this->k_idx = ko_idx;
+ this->tval = k_ptr->tval;
+ this->sval = k_ptr->sval;
+ this->pval = k_ptr->pval;
+ this->number = 1;
+ this->weight = k_ptr->weight;
+ this->to_h = k_ptr->to_h;
+ this->to_d = k_ptr->to_d;
+ this->to_a = k_ptr->to_a;
+ this->ac = k_ptr->ac;
+ this->dd = k_ptr->dd;
+ this->ds = k_ptr->ds;
if (k_ptr->act_idx > 0)
- o_ptr->xtra2 = (XTRA8)k_ptr->act_idx;
- if (k_info[o_ptr->k_idx].cost <= 0)
- o_ptr->ident |= (IDENT_BROKEN);
+ this->xtra2 = (XTRA8)k_ptr->act_idx;
+ if (k_info[this->k_idx].cost <= 0)
+ this->ident |= (IDENT_BROKEN);
if (k_ptr->gen_flags.has(TRG::CURSED))
- o_ptr->curse_flags |= (TRC_CURSED);
+ this->curse_flags |= (TRC_CURSED);
if (k_ptr->gen_flags.has(TRG::HEAVY_CURSE))
- o_ptr->curse_flags |= (TRC_HEAVY_CURSE);
+ this->curse_flags |= (TRC_HEAVY_CURSE);
if (k_ptr->gen_flags.has(TRG::PERMA_CURSE))
- o_ptr->curse_flags |= (TRC_PERMA_CURSE);
+ this->curse_flags |= (TRC_PERMA_CURSE);
if (k_ptr->gen_flags.has(TRG::RANDOM_CURSE0))
- o_ptr->curse_flags |= get_curse(player_ptr, 0, o_ptr);
+ this->curse_flags |= get_curse(player_ptr, 0, this);
if (k_ptr->gen_flags.has(TRG::RANDOM_CURSE1))
- o_ptr->curse_flags |= get_curse(player_ptr, 1, o_ptr);
+ this->curse_flags |= get_curse(player_ptr, 1, this);
if (k_ptr->gen_flags.has(TRG::RANDOM_CURSE2))
- o_ptr->curse_flags |= get_curse(player_ptr, 2, o_ptr);
+ this->curse_flags |= get_curse(player_ptr, 2, this);
}
#include "system/angband.h"
#include "system/system-variables.h"
+struct player_type;
typedef struct object_type {
KIND_OBJECT_IDX k_idx; /* Kind index (zero if "dead") */
POSITION iy; /* Y-position on map, or zero */
BIT_FLAGS curse_flags; /* Flags for curse */
MONSTER_IDX held_m_idx; /*!< アイテムを所持しているモンスターID (いないなら 0) / Monster holding us (if any) */
ARTIFACT_BIAS_IDX artifact_bias; /*!< ランダムアーティファクト生成時のバイアスID */
+
+ void object_wipe();
+ void object_copy(object_type *j_ptr);
+ void object_prep(player_type *player_ptr, KIND_OBJECT_IDX ko_idx);
} object_type;
#include "flavor/flavor-describer.h"
#include "flavor/object-flavor-types.h"
#include "object-enchant/special-object-flags.h"
-#include "object/object-generator.h"
#include "perception/object-perception.h"
#include "realm/realm-names-table.h"
#include "spell/spell-info.h"
return;
q_ptr = &forge;
- object_prep(owner_ptr, q_ptr, k_idx);
+ q_ptr->object_prep(owner_ptr, k_idx);
describe_flavor(owner_ptr, o_name, q_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY | OD_STORE));
term_putstr(0, 0, -1, TERM_WHITE, o_name);
#include "wizard/fixed-artifacts-spoiler.h"
#include "io/files-util.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "system/angband-version.h"
#include "system/artifact-type-definition.h"
if (!i)
return FALSE;
- object_prep(player_ptr, o_ptr, i);
+ o_ptr->object_prep(player_ptr, i);
o_ptr->name1 = name1;
o_ptr->pval = a_ptr->pval;
o_ptr->ac = a_ptr->ac;
continue;
q_ptr = &forge;
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
if (!make_fake_artifact(&dummy, q_ptr, j))
continue;
#include "io/files-util.h"
#include "object-enchant/special-object-flags.h"
#include "object-enchant/trg-types.h"
-#include "object/object-generator.h"
#include "object/object-kind.h"
#include "object/object-value.h"
#include "system/angband-version.h"
{
object_type forge;
object_type *q_ptr = &forge;
- object_prep(player_ptr, q_ptr, k);
+ q_ptr->object_prep(player_ptr, k);
q_ptr->ident |= IDENT_KNOWN;
q_ptr->pval = 0;
q_ptr->to_a = 0;
#include "object-hook/hook-checker.h"
#include "object/item-use-flags.h"
#include "object/object-flags.h"
-#include "object/object-generator.h"
#include "object/object-info.h"
#include "object/object-kind.h"
#include "object/object-kind-hook.h"
object_type forge;
object_type *q_ptr = &forge;
- object_wipe(q_ptr);
+ q_ptr->object_wipe();
make_object(caster_ptr, q_ptr, mode);
if (object_is_fixed_artifact(q_ptr))
a_info[q_ptr->name1].cur_num = 0;
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
char ch;
bool changed = FALSE;
switch (tolower(ch)) {
/* Apply bad magic, but first clear object */
case 'w':
- object_prep(owner_ptr, q_ptr, o_ptr->k_idx);
+ q_ptr->object_prep(owner_ptr, o_ptr->k_idx);
apply_magic_to_object(owner_ptr, q_ptr, owner_ptr->current_floor_ptr->dun_level, AM_NO_FIXED_ART | AM_GOOD | AM_GREAT | AM_CURSED);
break;
/* Apply bad magic, but first clear object */
case 'c':
- object_prep(owner_ptr, q_ptr, o_ptr->k_idx);
+ q_ptr->object_prep(owner_ptr, o_ptr->k_idx);
apply_magic_to_object(owner_ptr, q_ptr, owner_ptr->current_floor_ptr->dun_level, AM_NO_FIXED_ART | AM_GOOD | AM_CURSED);
break;
/* Apply normal magic, but first clear object */
case 'n':
- object_prep(owner_ptr, q_ptr, o_ptr->k_idx);
+ q_ptr->object_prep(owner_ptr, o_ptr->k_idx);
apply_magic_to_object(owner_ptr, q_ptr, owner_ptr->current_floor_ptr->dun_level, AM_NO_FIXED_ART);
break;
/* Apply good magic, but first clear object */
case 'g':
- object_prep(owner_ptr, q_ptr, o_ptr->k_idx);
+ q_ptr->object_prep(owner_ptr, o_ptr->k_idx);
apply_magic_to_object(owner_ptr, q_ptr, owner_ptr->current_floor_ptr->dun_level, AM_NO_FIXED_ART | AM_GOOD);
break;
/* Apply great magic, but first clear object */
case 'e':
- object_prep(owner_ptr, q_ptr, o_ptr->k_idx);
+ q_ptr->object_prep(owner_ptr, o_ptr->k_idx);
apply_magic_to_object(owner_ptr, q_ptr, owner_ptr->current_floor_ptr->dun_level, AM_NO_FIXED_ART | AM_GOOD | AM_GREAT);
break;
/* Apply special magic, but first clear object */
case 's':
- object_prep(owner_ptr, q_ptr, o_ptr->k_idx);
+ q_ptr->object_prep(owner_ptr, o_ptr->k_idx);
apply_magic_to_object(owner_ptr, q_ptr, owner_ptr->current_floor_ptr->dun_level, AM_GOOD | AM_GREAT | AM_SPECIAL);
if (!object_is_artifact(q_ptr))
become_random_artifact(owner_ptr, q_ptr, FALSE);
if (!changed)
return;
- object_copy(o_ptr, q_ptr);
+ o_ptr->object_copy(q_ptr);
set_bits(owner_ptr->update, PU_BONUS | PU_COMBINE | PU_REORDER);
set_bits(owner_ptr->window_flags, PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER | PW_FLOOR_ITEM_LIST);
}
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_copy(q_ptr, o_ptr);
+ q_ptr->object_copy(o_ptr);
char ch;
bool changed = FALSE;
while (TRUE) {
if (changed) {
msg_print("Changes accepted.");
- object_copy(o_ptr, q_ptr);
+ o_ptr->object_copy(q_ptr);
set_bits(creature_ptr->update, PU_BONUS | PU_COMBINE | PU_REORDER);
set_bits(creature_ptr->window_flags, PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER | PW_FLOOR_ITEM_LIST);
} else {
if (k_ptr->name.empty())
continue;
- object_prep(caster_ptr, o_ptr, k);
+ o_ptr->object_prep(caster_ptr, k);
describe_flavor(caster_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY | OD_STORE));
#ifndef JP
str_tolower(o_name);
if (allow_ego && k_ids.size() == 1) {
KIND_OBJECT_IDX k_idx = k_ids.back();
- object_prep(caster_ptr, o_ptr, k_idx);
+ o_ptr->object_prep(caster_ptr, k_idx);
for (EGO_IDX k = 1; k < max_e_idx; k++) {
ego_item_type *e_ptr = &e_info[k];
if (!k_idx)
continue;
- object_prep(caster_ptr, o_ptr, k_idx);
+ o_ptr->object_prep(caster_ptr, k_idx);
o_ptr->name1 = i;
describe_flavor(caster_ptr, o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY | OD_STORE));
if (wish_randart) {
if (must || ok_art) {
do {
- object_prep(caster_ptr, o_ptr, k_idx);
+ o_ptr->object_prep(caster_ptr, k_idx);
apply_magic_to_object(caster_ptr, o_ptr, k_ptr->level, (AM_SPECIAL | AM_NO_FIXED_ART));
} while (!o_ptr->art_name || o_ptr->name1 || o_ptr->name2 || object_is_cursed(o_ptr));
if (allow_ego && (wish_ego || e_ids.size() > 0)) {
if (must || ok_ego) {
if (e_ids.size() > 0) {
- object_prep(caster_ptr, o_ptr, k_idx);
+ o_ptr->object_prep(caster_ptr, k_idx);
o_ptr->name2 = e_ids[0];
apply_ego(caster_ptr, o_ptr, caster_ptr->current_floor_ptr->base_level);
} else {
int max_roll = 1000;
int i = 0;
for (i = 0; i < max_roll; i++) {
- object_prep(caster_ptr, o_ptr, k_idx);
+ o_ptr->object_prep(caster_ptr, k_idx);
(void)apply_magic_to_object(caster_ptr, o_ptr, k_ptr->level, (AM_GREAT | AM_NO_FIXED_ART));
if (o_ptr->name1 || o_ptr->art_name)
res = WishResult::EGO;
} else {
for (int i = 0; i < 100; i++) {
- object_prep(caster_ptr, o_ptr, k_idx);
+ o_ptr->object_prep(caster_ptr, k_idx);
apply_magic_to_object(caster_ptr, o_ptr, 0, (AM_NO_FIXED_ART));
if (!object_is_cursed(o_ptr))
break;
#include "object-enchant/item-apply-magic.h"
#include "object-enchant/trc-types.h"
#include "object-enchant/trg-types.h"
-#include "object/object-generator.h"
#include "object/object-kind.h"
#include "perception/object-perception.h"
#include "player-info/self-info.h"
object_type forge;
object_type *q_ptr;
q_ptr = &forge;
- object_prep(caster_ptr, q_ptr, k_idx);
+ q_ptr->object_prep(caster_ptr, k_idx);
apply_magic_to_object(caster_ptr, q_ptr, caster_ptr->current_floor_ptr->dun_level, AM_NO_FIXED_ART);
(void)drop_near(caster_ptr, q_ptr, -1, caster_ptr->y, caster_ptr->x);
msg_print("Allocated.");
object_kind *k_ptr = &k_info[i];
if (k_ptr->level <= command_arg) {
q_ptr = &forge;
- object_prep(caster_ptr, q_ptr, i);
+ q_ptr->object_prep(caster_ptr, i);
object_aware(caster_ptr, q_ptr);
}
}
#include "monster-race/monster-race.h"
#include "monster-race/race-flags7.h"
#include "monster-race/race-flags8.h"
-#include "object/object-generator.h"
#include "object/object-kind-hook.h"
#include "player/player-class.h"
#include "realm/realm-names-table.h"
if (magic_ptr->spell_book != 0) {
object_type book;
auto o_ptr = &book;
- object_prep(&dummy_p, o_ptr, lookup_kind(magic_ptr->spell_book, 0));
+ o_ptr->object_prep(&dummy_p, lookup_kind(magic_ptr->spell_book, 0));
describe_flavor(&dummy_p, title, o_ptr, OD_NAME_ONLY);
book_name = title;
char *s = angband_strchr(book_name, '[');