From d98f417be0b719ce4714cb57dfc743cf5dc132ee Mon Sep 17 00:00:00 2001 From: Bylins Date: Tue, 21 Apr 2026 18:57:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=B0=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/engine/db/obj_save.cpp | 2 +- src/engine/entities/entities_constants.cpp | 2 +- src/engine/entities/entities_constants.h | 4 +-- src/engine/olc/oedit.cpp | 22 ++++++++-------- src/engine/scripting/scripting.cpp | 2 +- src/engine/ui/cmd/do_drink.cpp | 2 +- src/engine/ui/cmd/do_eat.cpp | 2 +- src/engine/ui/cmd/do_get.cpp | 4 +-- src/engine/ui/cmd_god/do_stat.cpp | 2 +- src/engine/ui/mapsystem.cpp | 6 ++--- src/engine/ui/objects_filter.cpp | 8 +++--- src/gameplay/ai/spec_procs.cpp | 4 +-- src/gameplay/clans/house.cpp | 2 +- src/gameplay/crafting/craft.cpp | 4 +-- src/gameplay/crafting/im.cpp | 4 +-- src/gameplay/crafting/item_creation.cpp | 26 +++++++++---------- src/gameplay/economics/exchange.cpp | 10 +++---- .../economics/shops_implementation.cpp | 2 +- src/gameplay/fight/pk.cpp | 2 +- src/gameplay/magic/magic.cpp | 6 ++--- src/gameplay/magic/spells.cpp | 8 +++--- src/gameplay/magic/spells.h | 2 +- src/gameplay/mechanics/depot.cpp | 8 +++--- src/gameplay/mechanics/sight.cpp | 4 +-- 24 files changed, 69 insertions(+), 69 deletions(-) diff --git a/src/engine/db/obj_save.cpp b/src/engine/db/obj_save.cpp index 8844aa73a..5ab8c34e8 100644 --- a/src/engine/db/obj_save.cpp +++ b/src/engine/db/obj_save.cpp @@ -520,7 +520,7 @@ ObjData::shared_ptr read_one_object_new(char **data, int *error) { } } // Проверка на ингры - if (object->get_type() == EObjType::kMagicIngredient) { + if (object->get_type() == EObjType::kMagicComponent) { int err = im_assign_power(object.get()); if (err) { *error = 100 + err; diff --git a/src/engine/entities/entities_constants.cpp b/src/engine/entities/entities_constants.cpp index 1f6f13ab7..ebedbf8eb 100644 --- a/src/engine/entities/entities_constants.cpp +++ b/src/engine/entities/entities_constants.cpp @@ -485,8 +485,8 @@ void init_EObjectType_ITEM_NAMES() { EObjectType_name_by_value[EObjType::kBoat] = "kBoat"; EObjectType_name_by_value[EObjType::kFountain] = "kFounrain"; EObjectType_name_by_value[EObjType::kBook] = "kBook"; - EObjectType_name_by_value[EObjType::kIngredient] = "kIngredient"; EObjectType_name_by_value[EObjType::kMagicIngredient] = "kMagicIngredient"; + EObjectType_name_by_value[EObjType::kMagicComponent] = "kMagicComponent"; EObjectType_name_by_value[EObjType::kCraftMaterial] = "kCraftMaterial"; EObjectType_name_by_value[EObjType::kBandage] = "kBandage"; EObjectType_name_by_value[EObjType::kLightArmor] = "kLightArmor"; diff --git a/src/engine/entities/entities_constants.h b/src/engine/entities/entities_constants.h index 66d7135a9..db95d81bf 100644 --- a/src/engine/entities/entities_constants.h +++ b/src/engine/entities/entities_constants.h @@ -642,8 +642,8 @@ enum EObjType { kBoat = 22, // Item is a boat // kFountain = 23, // Item is a fountain // kBook = 24, // Item is book // - kIngredient = 25, // Item is magical ingradient // - kMagicIngredient = 26, // Магический ингредиент // + kMagicIngredient = 25, // Item is magical ingradient // + kMagicComponent = 26, // Магический ингредиент // kCraftMaterial = 27, // Материал для крафтовых умений // kBandage = 28, // бинты для перевязки kLightArmor = 29, // легкий тип брони diff --git a/src/engine/olc/oedit.cpp b/src/engine/olc/oedit.cpp index c03784474..37f21b1f1 100644 --- a/src/engine/olc/oedit.cpp +++ b/src/engine/olc/oedit.cpp @@ -219,7 +219,7 @@ void olc_update_object(int robj_num, ObjData *obj, ObjData *olc_obj) { obj->get_custom_label()->author_mail = str_dup(tmp.get_custom_label()->author_mail); } // восстановим силу ингров - if (tmp.get_type() == EObjType::kMagicIngredient) { + if (tmp.get_type() == EObjType::kMagicComponent) { obj->set_val(0, tmp.get_val(0)); obj->set_val(1, tmp.get_val(1)); obj->set_val(2, tmp.get_val(2)); @@ -694,12 +694,12 @@ void oedit_disp_val1_menu(DescriptorData *d) { SendMsgToChar(buf, d->character.get()); break; - case EObjType::kIngredient: + case EObjType::kMagicIngredient: SendMsgToChar("Первый байт - лаг после применения в сек, 6 бит - уровень : ", d->character.get()); break; - case EObjType::kMagicIngredient: oedit_disp_val4_menu(d); + case EObjType::kMagicComponent: oedit_disp_val4_menu(d); break; case EObjType::kCraftMaterial: SendMsgToChar("Уровень игрока для использования + морт * 2: ", d->character.get()); @@ -787,7 +787,7 @@ void oedit_disp_val2_menu(DescriptorData *d) { } break; - case EObjType::kIngredient: SendMsgToChar("Виртуальный номер прототипа : ", d->character.get()); + case EObjType::kMagicIngredient: SendMsgToChar("Виртуальный номер прототипа : ", d->character.get()); break; case EObjType::kCraftMaterial: SendMsgToChar("Введите VNUM прототипа: ", d->character.get()); @@ -843,7 +843,7 @@ void oedit_disp_val3_menu(DescriptorData *d) { } break; - case EObjType::kIngredient: SendMsgToChar("Сколько раз можно использовать : ", d->character.get()); + case EObjType::kMagicIngredient: SendMsgToChar("Сколько раз можно использовать : ", d->character.get()); break; case EObjType::kCraftMaterial: SendMsgToChar("Введите силу ингридиента: ", d->character.get()); @@ -891,7 +891,7 @@ void oedit_disp_val4_menu(DescriptorData *d) { } break; - case EObjType::kMagicIngredient: SendMsgToChar("Класс ингредиента (0-РОСЛЬ,1-ЖИВЬ,2-ТВЕРДЬ): ", d->character.get()); + case EObjType::kMagicComponent: SendMsgToChar("Класс ингредиента (0-РОСЛЬ,1-ЖИВЬ,2-ТВЕРДЬ): ", d->character.get()); break; case EObjType::kCraftMaterial: SendMsgToChar("Введите условный уровень: ", d->character.get()); @@ -1084,7 +1084,7 @@ std::array wskill_bits = }}; void oedit_disp_skills_menu(DescriptorData *d) { - if (OLC_OBJ(d)->get_type() == EObjType::kIngredient) { + if (OLC_OBJ(d)->get_type() == EObjType::kMagicIngredient) { oedit_disp_ingradient_menu(d); return; } @@ -1489,7 +1489,7 @@ void oedit_parse(DescriptorData *d, char *arg) { case 'n': case 'N': if (OLC_OBJ(d)->get_type() == EObjType::kWeapon - || OLC_OBJ(d)->get_type() == EObjType::kIngredient) { + || OLC_OBJ(d)->get_type() == EObjType::kMagicIngredient) { oedit_disp_skills_menu(d); OLC_MODE(d) = OEDIT_SKILL; } else if (OLC_OBJ(d)->get_type() == EObjType::kLiquidContainer @@ -1610,7 +1610,7 @@ void oedit_parse(DescriptorData *d, char *arg) { OLC_OBJ(d)->set_type(static_cast(number)); snprintf(buf, sizeof(buf), "%s меняет тип предмета для %d!!!", GET_NAME(d->character), OLC_NUM(d)); mudlog(buf, BRF, kLvlGod, SYSLOG, true); - if (number != EObjType::kWeapon && number != EObjType::kIngredient) { + if (number != EObjType::kWeapon && number != EObjType::kMagicIngredient) { OLC_OBJ(d)->set_spec_param(0); } } @@ -1723,7 +1723,7 @@ void oedit_parse(DescriptorData *d, char *arg) { if (number == 0) { break; } - if (OLC_OBJ(d)->get_type() == EObjType::kIngredient) { + if (OLC_OBJ(d)->get_type() == EObjType::kMagicIngredient) { OLC_OBJ(d)->toggle_skill(1 << (number - 1)); oedit_disp_skills_menu(d); return; @@ -1936,7 +1936,7 @@ void oedit_parse(DescriptorData *d, char *arg) { min_val = 0; max_val = NUM_ATTACK_TYPES - 1; break; - case EObjType::kMagicIngredient: + case EObjType::kMagicComponent: min_val = 0; max_val = 2; break; diff --git a/src/engine/scripting/scripting.cpp b/src/engine/scripting/scripting.cpp index 43fbce4d0..946a16f8c 100644 --- a/src/engine/scripting/scripting.cpp +++ b/src/engine/scripting/scripting.cpp @@ -2153,8 +2153,8 @@ BOOST_PYTHON_MODULE (constants) { DEFINE_ENUM_CONSTANT(EObjType::kBoat); DEFINE_ENUM_CONSTANT(EObjType::kFounrain); DEFINE_ENUM_CONSTANT(EObjType::kBook); - DEFINE_ENUM_CONSTANT(EObjType::kIngredient); DEFINE_ENUM_CONSTANT(EObjType::kMagicIngredient); + DEFINE_ENUM_CONSTANT(EObjType::kMagicComponent); DEFINE_ENUM_CONSTANT(EObjType::kCraftMaterial); DEFINE_ENUM_CONSTANT(EObjType::kBandage); DEFINE_ENUM_CONSTANT(EObjType::kLightArmor); diff --git a/src/engine/ui/cmd/do_drink.cpp b/src/engine/ui/cmd/do_drink.cpp index 9dbbaa511..251a2f320 100644 --- a/src/engine/ui/cmd/do_drink.cpp +++ b/src/engine/ui/cmd/do_drink.cpp @@ -131,7 +131,7 @@ int CanDrink(CharData *ch, ObjData *jar) { return 0; } - if (jar->get_type() == EObjType::kMagicIngredient) { + if (jar->get_type() == EObjType::kMagicComponent) { SendMsgToChar("Не можешь приготовить - покупай готовое!\r\n", ch); return 0; } diff --git a/src/engine/ui/cmd/do_eat.cpp b/src/engine/ui/cmd/do_eat.cpp index cfc4f19ef..1415284ce 100644 --- a/src/engine/ui/cmd/do_eat.cpp +++ b/src/engine/ui/cmd/do_eat.cpp @@ -140,7 +140,7 @@ void do_eat(CharData *ch, char *argument, int/* cmd*/, int subcmd) { } if (!ch->IsGod()) { - if (food->get_type() == EObjType::kMagicIngredient) //Сообщение на случай попытки проглотить ингры + if (food->get_type() == EObjType::kMagicComponent) //Сообщение на случай попытки проглотить ингры { SendMsgToChar("Не можешь приготовить - покупай готовое!\r\n", ch); return; diff --git a/src/engine/ui/cmd/do_get.cpp b/src/engine/ui/cmd/do_get.cpp index f3904eeea..2b7c21130 100644 --- a/src/engine/ui/cmd/do_get.cpp +++ b/src/engine/ui/cmd/do_get.cpp @@ -199,8 +199,8 @@ void get_from_container(CharData *ch, ObjData *cont, char *local_arg, int mode, || isname(local_arg, obj->get_aliases()) || CHECK_CUSTOM_LABEL(local_arg, obj, ch))) { if (autoloot - && (obj->get_type() == EObjType::kIngredient - || obj->get_type() == EObjType::kMagicIngredient) + && (obj->get_type() == EObjType::kMagicIngredient + || obj->get_type() == EObjType::kMagicComponent) && ch->IsFlagged(EPrf::kNoIngrLoot)) { continue; } diff --git a/src/engine/ui/cmd_god/do_stat.cpp b/src/engine/ui/cmd_god/do_stat.cpp index 4b33223dd..8ed6707c5 100644 --- a/src/engine/ui/cmd_god/do_stat.cpp +++ b/src/engine/ui/cmd_god/do_stat.cpp @@ -1004,7 +1004,7 @@ void do_stat_object(CharData *ch, ObjData *j, const int virt = 0) { ); break; - case EObjType::kIngredient:sprintbit(j->get_spec_param(), ingradient_bits, smallBuf, sizeof(smallBuf)); + case EObjType::kMagicIngredient:sprintbit(j->get_spec_param(), ingradient_bits, smallBuf, sizeof(smallBuf)); snprintf(buf, sizeof(buf), "ingr bits %s", smallBuf); if (IS_SET(j->get_spec_param(), kItemCheckUses)) { diff --git a/src/engine/ui/mapsystem.cpp b/src/engine/ui/mapsystem.cpp index 7db7ba0c6..363e5802a 100644 --- a/src/engine/ui/mapsystem.cpp +++ b/src/engine/ui/mapsystem.cpp @@ -310,13 +310,13 @@ void draw_objs(const CharData *ch, int room_rnum, int next_y, int next_x) { continue; } if (!ch->map_check_option(MAP_MODE_INGREDIENTS) - && (obj->get_type() == EObjType::kIngredient - || obj->get_type() == EObjType::kMagicIngredient)) { + && (obj->get_type() == EObjType::kMagicIngredient + || obj->get_type() == EObjType::kMagicComponent)) { continue; } if (!IS_CORPSE(obj) - && obj->get_type() != EObjType::kIngredient && obj->get_type() != EObjType::kMagicIngredient + && obj->get_type() != EObjType::kMagicComponent && !ch->map_check_option(MAP_MODE_OTHER_OBJECTS)) { continue; } diff --git a/src/engine/ui/objects_filter.cpp b/src/engine/ui/objects_filter.cpp index aab73174d..06e96d95b 100644 --- a/src/engine/ui/objects_filter.cpp +++ b/src/engine/ui/objects_filter.cpp @@ -60,10 +60,10 @@ bool ParseFilter::init_type(const char *str) { type = EObjType::kBook; } else if (utils::IsAbbr(str, "руна") || utils::IsAbbr(str, "rune")) { - type = EObjType::kIngredient; + type = EObjType::kMagicIngredient; } else if (utils::IsAbbr(str, "ингредиент") || utils::IsAbbr(str, "ingradient")) { - type = EObjType::kMagicIngredient; + type = EObjType::kMagicComponent; } else if (utils::IsAbbr(str, "легкие") || utils::IsAbbr(str, "легкая")) { type = EObjType::kLightArmor; @@ -406,8 +406,8 @@ bool ParseFilter::check_name(ObjData *obj, CharData *ch) const { if (name.empty() || isname(name, name_obj)) { result = true; - } else if ((obj->get_type() == EObjType::kMagicIngredient - || obj->get_type() == EObjType::kIngredient) + } else if ((obj->get_type() == EObjType::kMagicComponent + || obj->get_type() == EObjType::kMagicIngredient) && obj->get_rnum() >= 0 && isname(name, obj_proto[obj->get_rnum()]->get_aliases().c_str())) { result = true; diff --git a/src/gameplay/ai/spec_procs.cpp b/src/gameplay/ai/spec_procs.cpp index 5194defb6..3c48d0fed 100644 --- a/src/gameplay/ai/spec_procs.cpp +++ b/src/gameplay/ai/spec_procs.cpp @@ -168,7 +168,7 @@ bool item_nouse(ObjData *obj) { case EObjType::kPen: case EObjType::kBoat: case EObjType::kFountain: - case EObjType::kMagicIngredient: return true; + case EObjType::kMagicComponent: return true; default: break; } @@ -207,7 +207,7 @@ int npc_scavenge(CharData *ch) { cont = nullptr; best_cont = nullptr; for (auto obj : world[ch->in_room]->contents) { - if (obj->get_type() == EObjType::kMagicIngredient + if (obj->get_type() == EObjType::kMagicComponent || Clan::is_clan_chest(obj) || ClanSystem::is_ingr_chest(obj)) { continue; diff --git a/src/gameplay/clans/house.cpp b/src/gameplay/clans/house.cpp index ed44c13f8..1f1453cf7 100644 --- a/src/gameplay/clans/house.cpp +++ b/src/gameplay/clans/house.cpp @@ -4369,7 +4369,7 @@ bool Clan::put_ingr_chest(CharData *ch, ObjData *obj, ObjData *chest) { return false; } - if (obj->get_type() != EObjType::kMagicIngredient + if (obj->get_type() != EObjType::kMagicComponent && obj->get_type() != EObjType::kCraftMaterial) { SendMsgToChar(ch, "%s - Хранилище ингредиентов не предназначено для предметов данного типа.\r\n", obj->get_PName(ECase::kNom).c_str()); diff --git a/src/gameplay/crafting/craft.cpp b/src/gameplay/crafting/craft.cpp index 7f70eaffe..5cf83e454 100644 --- a/src/gameplay/crafting/craft.cpp +++ b/src/gameplay/crafting/craft.cpp @@ -606,7 +606,7 @@ bool CObject::save_to_node(pugi::xml_node *node) const { // unpack item_parameters std::list item_parameters; switch (get_type()) { - case EObjType::kIngredient: { + case EObjType::kMagicIngredient: { int flag = 1; while (flag <= get_spec_param()) { if (IS_SET(get_spec_param(), flag)) { @@ -723,7 +723,7 @@ ObjData *CObject::build_object() const { bool CObject::load_item_parameters(const pugi::xml_node *node) { switch (get_type()) { - case EObjType::kIngredient: + case EObjType::kMagicIngredient: for (const auto flags : node->children("parameter")) { const char *flag = flags.child_value(); try { diff --git a/src/gameplay/crafting/im.cpp b/src/gameplay/crafting/im.cpp index 4d439398c..876c184f9 100644 --- a/src/gameplay/crafting/im.cpp +++ b/src/gameplay/crafting/im.cpp @@ -887,7 +887,7 @@ void im_reset_room(RoomData *room, int level, int type) { for (auto it = room->contents.begin(); it != room->contents.end(); ) { auto o = *it; ++it; - if (o->get_type() == EObjType::kMagicIngredient) { + if (o->get_type() == EObjType::kMagicComponent) { ExtractObjFromWorld(o, false); } } @@ -1208,7 +1208,7 @@ ObjData **im_obtain_ingredients(CharData *ch, char *argument, int *count) { snprintf(buf, kMaxInputLength, "У вас нет %s.\r\n", name); break; } - if (o->get_type() != EObjType::kMagicIngredient) { + if (o->get_type() != EObjType::kMagicComponent) { sprintf(buf, "Вы должны использовать только магические ингредиенты.\r\n"); break; } diff --git a/src/gameplay/crafting/item_creation.cpp b/src/gameplay/crafting/item_creation.cpp index 0e527ce11..b2ef6cc4a 100644 --- a/src/gameplay/crafting/item_creation.cpp +++ b/src/gameplay/crafting/item_creation.cpp @@ -893,7 +893,7 @@ void do_transform_weapon(CharData *ch, char *argument, int/* cmd*/, int subcmd) act("В $o5 что-то лежит.", false, ch, obj, 0, kToChar); return; } - if (obj->get_type() == EObjType::kIngredient) { + if (obj->get_type() == EObjType::kMagicIngredient) { for (i = 0, found = false; i < MAX_PROTO; i++) { if (GET_OBJ_VAL(obj, 1) == created_item[obj_type].proto[i]) { if (proto[i]) { @@ -935,7 +935,7 @@ void do_transform_weapon(CharData *ch, char *argument, int/* cmd*/, int subcmd) return; } for (coal = ch->carrying; coal; coal = coal->get_next_content()) { - if (coal->get_type() == EObjType::kIngredient) { + if (coal->get_type() == EObjType::kMagicIngredient) { for (i = 0; i < MAX_PROTO; i++) { if (proto[i] == coal) { break; @@ -974,7 +974,7 @@ void do_transform_weapon(CharData *ch, char *argument, int/* cmd*/, int subcmd) break; case ESkill::kCreateBow: for (coal = ch->carrying; coal; coal = coal->get_next_content()) { - if (coal->get_type() == EObjType::kIngredient) { + if (coal->get_type() == EObjType::kMagicIngredient) { for (i = 0; i < MAX_PROTO; i++) { if (proto[i] == coal) { break; @@ -1185,8 +1185,8 @@ ObjData *get_obj_in_list_ingr(int num, return i; } if ((GET_OBJ_VAL(i, 1) == num) - && (i->get_type() == EObjType::kIngredient - || i->get_type() == EObjType::kMagicIngredient + && (i->get_type() == EObjType::kMagicIngredient + || i->get_type() == EObjType::kMagicComponent || i->get_type() == EObjType::kCraftMaterial)) { return i; } @@ -1244,10 +1244,10 @@ int MakeRecept::can_make(CharData *ch) { int MakeRecept::get_ingr_lev(ObjData *ingrobj) { // Получаем уровень ингредиента ... - if (ingrobj->get_type() == EObjType::kIngredient) { + if (ingrobj->get_type() == EObjType::kMagicIngredient) { // Получаем уровень игредиента до 128 return (GET_OBJ_VAL(ingrobj, 0) >> 8); - } else if (ingrobj->get_type() == EObjType::kMagicIngredient) { + } else if (ingrobj->get_type() == EObjType::kMagicComponent) { // У ингров типа 26 совпадает уровень и сила. return GET_OBJ_VAL(ingrobj, IM_POWER_SLOT); } else if (ingrobj->get_type() == EObjType::kCraftMaterial) { @@ -1259,10 +1259,10 @@ int MakeRecept::get_ingr_lev(ObjData *ingrobj) { int MakeRecept::get_ingr_pow(ObjData *ingrobj) { // Получаем силу ингредиента ... - if (ingrobj->get_type() == EObjType::kIngredient + if (ingrobj->get_type() == EObjType::kMagicIngredient || ingrobj->get_type() == EObjType::kCraftMaterial) { return GET_OBJ_VAL(ingrobj, 2); - } else if (ingrobj->get_type() == EObjType::kMagicIngredient) { + } else if (ingrobj->get_type() == EObjType::kMagicComponent) { return GET_OBJ_VAL(ingrobj, IM_POWER_SLOT); } else { return -1; @@ -1938,7 +1938,7 @@ int MakeRecept::make(CharData *ch) { } int sign = -1; if (obj->get_type() == EObjType::kWeapon - || obj->get_type() == EObjType::kIngredient) { + || obj->get_type() == EObjType::kMagicIngredient) { sign = 1; } obj->set_weight(stat_modify(ch, obj->get_weight(), 20 * sign)); @@ -1992,7 +1992,7 @@ int MakeRecept::make(CharData *ch) { // Считаем объем контейнера. obj->set_val(0, stat_modify(ch, GET_OBJ_VAL(obj, 0), 1)); break; - case EObjType::kIngredient: + case EObjType::kMagicIngredient: // Для ингров ничего не трогаем ... ибо опасно. :) break; default: break; @@ -2040,8 +2040,8 @@ int MakeRecept::make(CharData *ch) { // число шмоток в мире то шмотки по хуже будут вытеснять // шмотки по лучше (в целом это не так страшно). // Ставим метку если все хорошо. - if ((obj->get_type() != EObjType::kIngredient - && obj->get_type() != EObjType::kMagicIngredient) + if ((obj->get_type() != EObjType::kMagicIngredient + && obj->get_type() != EObjType::kMagicComponent) && (number(1, 100) - CalcCurrentSkill(ch, skill, 0) < 0)) { act(tagging.c_str(), false, ch, obj.get(), 0, kToChar); // Прибавляем в экстра описание строчку. diff --git a/src/gameplay/economics/exchange.cpp b/src/gameplay/economics/exchange.cpp index 07e82df24..2885e879d 100644 --- a/src/gameplay/economics/exchange.cpp +++ b/src/gameplay/economics/exchange.cpp @@ -232,7 +232,7 @@ int exchange_exhibit(CharData *ch, char *arg) { item_cost = std::max(1, obj->get_cost()); } - tax = (obj->get_type() != EObjType::kMagicIngredient) + tax = (obj->get_type() != EObjType::kMagicComponent) ? EXCHANGE_EXHIBIT_PAY + (int) (item_cost * EXCHANGE_EXHIBIT_PAY_COEFF) : (int) (item_cost * EXCHANGE_EXHIBIT_PAY_COEFF / 2); if ((ch->get_total_gold() < tax) @@ -245,8 +245,8 @@ int exchange_exhibit(CharData *ch, char *arg) { j = next_thing) { next_thing = j->next; if (GET_EXCHANGE_ITEM_SELLERID(j) == ch->get_uid()) { - if (GET_EXCHANGE_ITEM(j)->get_type() != EObjType::kMagicIngredient - && GET_EXCHANGE_ITEM(j)->get_type() != EObjType::kIngredient) { + if (GET_EXCHANGE_ITEM(j)->get_type() != EObjType::kMagicComponent + && GET_EXCHANGE_ITEM(j)->get_type() != EObjType::kMagicIngredient) { counter++; } else { counter_ming++; @@ -1096,8 +1096,8 @@ void message_exchange(char *message, CharData *ch, ExchangeItem *j) { && !ROOM_FLAGGED(i->character->in_room, ERoomFlag::kSoundproof) && i->character->GetPosition() > EPosition::kSleep) { if (!i->character->IsFlagged(EPrf::kNoIngrMode) - && (GET_EXCHANGE_ITEM(j)->get_type() == EObjType::kIngredient - || GET_EXCHANGE_ITEM(j)->get_type() == EObjType::kMagicIngredient)) { + && (GET_EXCHANGE_ITEM(j)->get_type() == EObjType::kMagicIngredient + || GET_EXCHANGE_ITEM(j)->get_type() == EObjType::kMagicComponent)) { continue; } ParseFilter params(ParseFilter::EXCHANGE); diff --git a/src/gameplay/economics/shops_implementation.cpp b/src/gameplay/economics/shops_implementation.cpp index 69f5ead39..33fe5dee2 100644 --- a/src/gameplay/economics/shops_implementation.cpp +++ b/src/gameplay/economics/shops_implementation.cpp @@ -915,7 +915,7 @@ void shop_node::put_item_to_shop(ObjData *obj) { continue; } - if (obj->get_type() != EObjType::kMagicIngredient //а у них всех один рнум + if (obj->get_type() != EObjType::kMagicComponent //а у них всех один рнум || obj->get_short_description() == tmp_obj->get_short_description()) { item->add_uid(obj->get_unique_id()); put_to_storage(obj); diff --git a/src/gameplay/fight/pk.cpp b/src/gameplay/fight/pk.cpp index a1d67772c..72da2a263 100644 --- a/src/gameplay/fight/pk.cpp +++ b/src/gameplay/fight/pk.cpp @@ -1008,7 +1008,7 @@ void set_bloody_flag(ObjData *list, const CharData *ch) { || t == EObjType::kLightArmor || t == EObjType::kMediumArmor || t == EObjType::kHeavyArmor - || t == EObjType::kIngredient + || t == EObjType::kMagicIngredient || t == EObjType::kWorm)) { list->set_extra_flag(EObjFlag::kBloody); bloody_map[list].owner_unique = ch->get_uid(); diff --git a/src/gameplay/magic/magic.cpp b/src/gameplay/magic/magic.cpp index 8cc76cca5..bfd2042b0 100644 --- a/src/gameplay/magic/magic.cpp +++ b/src/gameplay/magic/magic.cpp @@ -843,7 +843,7 @@ bool ProcessMatComponents(CharData *caster, CharData *victim, ESpell spell_id) { switch (spell_id) { case ESpell::kFascination: for (auto i = caster->carrying; i; i = i->get_next_content()) { - if (i->get_type() == EObjType::kIngredient && i->get_val(1) == 3000) { + if (i->get_type() == EObjType::kMagicIngredient && i->get_val(1) == 3000) { vnum = GET_OBJ_VNUM(i); break; } @@ -854,7 +854,7 @@ bool ProcessMatComponents(CharData *caster, CharData *victim, ESpell spell_id) { break; case ESpell::kHypnoticPattern: for (auto i = caster->carrying; i; i = i->get_next_content()) { - if (i->get_type() == EObjType::kIngredient && i->get_val(1) == 3006) { + if (i->get_type() == EObjType::kMagicIngredient && i->get_val(1) == 3006) { vnum = GET_OBJ_VNUM(i); break; } @@ -865,7 +865,7 @@ bool ProcessMatComponents(CharData *caster, CharData *victim, ESpell spell_id) { break; case ESpell::kEnchantWeapon: for (auto i = caster->carrying; i; i = i->get_next_content()) { - if (i->get_type() == EObjType::kIngredient && i->get_val(1) == 1930) { + if (i->get_type() == EObjType::kMagicIngredient && i->get_val(1) == 1930) { vnum = GET_OBJ_VNUM(i); break; } diff --git a/src/gameplay/magic/spells.cpp b/src/gameplay/magic/spells.cpp index 6624eecd3..ac1bab6f5 100644 --- a/src/gameplay/magic/spells.cpp +++ b/src/gameplay/magic/spells.cpp @@ -1711,7 +1711,7 @@ void mort_show_obj_values(const ObjData *obj, CharData *ch, int fullness) { } break; - case EObjType::kIngredient: sprintbit(obj->get_spec_param(), ingradient_bits, buf2, sizeof(buf2)); + case EObjType::kMagicIngredient: sprintbit(obj->get_spec_param(), ingradient_bits, buf2, sizeof(buf2)); snprintf(buf, kMaxStringLength, "%s\r\n", buf2); SendMsgToChar(buf, ch); @@ -1743,7 +1743,7 @@ void mort_show_obj_values(const ObjData *obj, CharData *ch, int fullness) { } break; - case EObjType::kMagicIngredient: + case EObjType::kMagicComponent: for (j = 0; imtypes[j].id != GET_OBJ_VAL(obj, IM_TYPE_SLOT) && j <= top_imtypes;) { j++; } @@ -2408,11 +2408,11 @@ bool mag_item_ok(CharData *ch, ObjData *obj, int spelltype) { int num = 0; if (spelltype == ESpellType::kRunes - && obj->get_type() != EObjType::kIngredient) { + && obj->get_type() != EObjType::kMagicIngredient) { return false; } - if (obj->get_type() == EObjType::kIngredient) { + if (obj->get_type() == EObjType::kMagicIngredient) { if ((!IS_SET(obj->get_spec_param(), kItemRunes) && spelltype == ESpellType::kRunes) || (IS_SET(obj->get_spec_param(), kItemRunes) && spelltype != ESpellType::kRunes)) { return false; diff --git a/src/gameplay/magic/spells.h b/src/gameplay/magic/spells.h index 5cf997af6..c51058e5d 100644 --- a/src/gameplay/magic/spells.h +++ b/src/gameplay/magic/spells.h @@ -47,7 +47,7 @@ constexpr Bitvector kEafPoisoned = 1 << 20; // отравление с пуше constexpr Bitvector kEafFirstPoison = 1 << 21; // отравление цели первый раз за бой constexpr Bitvector kEafInvisible = 1 << 22; // одет автоинвиз -/// Flags for ingredient items (kIngredient) +/// Flags for ingredient items (kMagicIngredient) enum EIngredientFlag { kItemRunes = 1 << 0, kItemCheckUses = 1 << 1, diff --git a/src/gameplay/mechanics/depot.cpp b/src/gameplay/mechanics/depot.cpp index 426de5393..bfb5e2e20 100644 --- a/src/gameplay/mechanics/depot.cpp +++ b/src/gameplay/mechanics/depot.cpp @@ -776,7 +776,7 @@ bool is_depot(ObjData *obj) { // * Распечатка отдельного предмета при осмотре хранилища. void print_obj(std::stringstream &i_out, std::stringstream &s_out, ObjData *obj, int count, CharData *ch) { - const bool output_to_i = obj->get_type() == EObjType::kMagicIngredient + const bool output_to_i = obj->get_type() == EObjType::kMagicComponent || obj->get_type() == EObjType::kCraftMaterial; std::stringstream &out = output_to_i ? i_out : s_out; @@ -814,7 +814,7 @@ std::string print_obj_list(CharData *ch, ObjListType &cont) { auto prev_obj_it = cont.cend(); for (auto obj_it = cont.cbegin(); obj_it != cont.cend(); ++obj_it) { - if ((*obj_it)->get_type() == EObjType::kMagicIngredient + if ((*obj_it)->get_type() == EObjType::kMagicComponent || (*obj_it)->get_type() == EObjType::kCraftMaterial) { ++i_cnt; } else { @@ -959,7 +959,7 @@ bool can_put_chest(CharData *ch, ObjData *obj) { unsigned count_inrg(const ObjListType &cont) { unsigned ingr_cnt = 0; for (auto obj_it = cont.cbegin(); obj_it != cont.cend(); ++obj_it) { - if ((*obj_it)->get_type() == EObjType::kMagicIngredient + if ((*obj_it)->get_type() == EObjType::kMagicComponent || (*obj_it)->get_type() == EObjType::kCraftMaterial) { ++ingr_cnt; } @@ -1004,7 +1004,7 @@ bool put_depot(CharData *ch, ObjData::shared_ptr &obj) { const size_t ingr_cnt = count_inrg(it->second.pers_online); const size_t staff_cnt = it->second.pers_online.size() - ingr_cnt; - const bool is_ingr = obj->get_type() == EObjType::kMagicIngredient + const bool is_ingr = obj->get_type() == EObjType::kMagicComponent || obj->get_type() == EObjType::kCraftMaterial; if (is_ingr && ingr_cnt >= (MAX_PERS_SLOTS(ch) * 2)) { diff --git a/src/gameplay/mechanics/sight.cpp b/src/gameplay/mechanics/sight.cpp index 63b3e0be2..7a00bebda 100644 --- a/src/gameplay/mechanics/sight.cpp +++ b/src/gameplay/mechanics/sight.cpp @@ -1499,7 +1499,7 @@ void obj_info(CharData *ch, ObjData *obj, char buf[kMaxStringLength]) { sprintf(buf + strlen(buf), "\r\n%s", kColorNrm); } - if (obj->get_type() == EObjType::kMagicIngredient + if (obj->get_type() == EObjType::kMagicComponent && (CanUseFeat(ch, EFeat::kHerbalist) || ch->IsFlagged(EPrf::kHolylight))) { for (j = 0; imtypes[j].id != GET_OBJ_VAL(obj, IM_TYPE_SLOT) && j <= top_imtypes;) { @@ -2161,7 +2161,7 @@ char *diag_uses_to_char(ObjData *obj, CharData *ch) { static char out_str[kMaxStringLength]; *out_str = 0; - if (obj->get_type() == EObjType::kIngredient + if (obj->get_type() == EObjType::kMagicIngredient && IS_SET(obj->get_spec_param(), kItemCheckUses) && IS_MANA_CASTER(ch)) { int i = -1;