Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Неполный lottmapgen update #659

Closed
wants to merge 15 commits into from

Conversation

ssdaniel24
Copy link
Contributor

@ssdaniel24 ssdaniel24 commented Jul 20, 2022

lottmapgen update (#346)

Общие изменения

  • текстуры default_grass.png и default_grass_side.png перенесены в правильное место - mods/lord/_overwrites/MTG;
  • пробельные отступы заменены на табуляцию;
  • перевод на встроенную систему локализации (Переход с intllib на minetest.get_translator  #328).

Изменения в файлах

chests.lua

  • устранение дублирующегося кода путём добавления одной функции регистрации спавнеров сундуков.

Примечания:

  • в связи с особенностями реализации функции регистрации спавнеров сундуков вероятность появления предметов стала немного другой. Произошло это из-за ограничения выбора генератора случайных чисел пределами таблицы-массива, раньше он мог выбрать незаданную ячейку таблицы-массива возможных предметов, в результате чего в инвентарь сундука добавлялось "ничего". Пример (код, который был до этого PR):
...
local items_available = {
    [0] = "lottfarming:barley0 2",
    [1] = "lottfarming:barley_cooked",
    ...,
    [24] = "farming:hoe_steel" -- последний элемент!
}
...
    local item_idx = math.random(0,36) -- несоответствие последнему элементу
    inv:add_item("main",items_available[item_idx])
...
  • принцип размещения предметов в появившихся сундуках, по моему мнению, плох и в оригинале, и у нас: в оригинале предметы разбрасываются случайно по инвентарю сундука, но при наличии в выбранной ячейке предмета выбирается следующая за этой ячейка без какой-либо проверки на существование оной или наличия уже в ней предмета; у нас же предметы просто добавляются подряд в первых ячейках сундука через InvRef:add_item(). Поэтому был написан свой алгоритм размещения предметов в случайном стаке инвентаря сундука, лишённый недостатков из оригинала.

deco.lua

Ранее этот файл генерировал некие гробницы но в 5afb7bc, были удалены нужные блоки, поэтому гробница стала немного бесполезной, да и никто её ни разу не встречал.

  • удалён.

functions.lua

  • удалены неиспользуемые функции;
  • упрощение кода генерации различных растений.

nodes.lua

  • изменены текстуры трав разных регионов (Шира, Рохана и т.д.) - всё сводится к тому, что красится в разные палитры одна и та же текстура травы, упоминания прошлых текстур в lottachievements заменены на новые текстуры;
  • добавлен урон от чёрной воды Мордора (полсердца в секунду);
  • добавлена возможность набрать чёрной воды Мордора в ведро (текстура ведра находится в этом же моде).

schematics.lua

Здесь автора оригинала решили использовать изолированный код из worldedit, поэтому файл оставлен без изменений.

init.lua

Почти не был изменён, только связанные вещи из соседних файлов.

Новые задачи

  • chests.lua: в оригинале в список возможных предметов в сундуке добавились новые предметы, ничего не добавлял, так как нужно будет пересмотреть текущий лут сундуков с соблюдением баланса (теперь можно задать случайное кол-во предметов в определённых пределах);
  • удалить дублирование кода при генерации деревьев в lottmapgen/functions.lua (начать использовать функции генерации деревьев из lottplants/functions.lua) и начать использовать LVM для "постройки" деревьев в lottplants/functions.lua (только после приёма PR с обновлением lottplants - Lottplants last update #646!) - Refactoring: Убрать дубли кода генерации деревьев и оптимизация с помощью LVM #661.

@ssdaniel24 ssdaniel24 changed the title Lottmapgen update Неполный lottmapgen update Jul 20, 2022
@Doloment Doloment added update Связанное с обновлениями LOTT Связанное с модами LOTT labels Aug 17, 2022
@alek13 alek13 added this to the 2022.09 milestone Sep 3, 2022
@ssdaniel24 ssdaniel24 linked an issue Sep 12, 2022 that may be closed by this pull request
@alek13
Copy link
Member

alek13 commented Oct 23, 2022

@ssdaniel24 , чтобы не затягивать всё по этому огромному PR,
"замерджил" все коммиты (12 из 15), кроме удаления deco.lua и изменения травы.

  1. по deco остался вопрос: там кроме гробниц удалились
    • abandoned_fort
    • abandoned_tower
  2. по изменениям травы, по факту (когда уже приходишь в биом, а не смотришь сбоку на 1 ноду травы):
    • были лучше:
      • шир
      • лориен
      • рохан
      • железные холмы
    • стали лучше:
      • итилиен
      • фангорн

этот PR закрываю, эти 2 момента тогда отдельно

@alek13 alek13 closed this Oct 23, 2022
@alek13 alek13 added the partialy merged Для PR: часть коммитов, представленных в данном PR были подвержены слиянию с главной веткой отдельно label Jan 15, 2023
@alek13 alek13 mentioned this pull request Jan 15, 2023
10 tasks
@ssdaniel24 ssdaniel24 deleted the lottmapgen-update branch May 10, 2024 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
LOTT Связанное с модами LOTT partialy merged Для PR: часть коммитов, представленных в данном PR были подвержены слиянию с главной веткой отдельно update Связанное с обновлениями
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Обновление модов: LOTT/lottmapgen
3 participants