[#] Опять про auto_animate
RSS-bot(tavern,2) — All
2021-04-16 11:30:31


peter: Посмотрел код, чтобы не забыть, опишу как работает МП. # Склонения идут от существительных Представим себе, что у нас есть -"волосатый воин". Винительный падеж будет" -"волосатого воина". Но обратите внимание, что если бы у нас был -"волосатый ящик", то винительный падеж не был бы "волосатого ящика", а остался бы "волосатый ящик". Взять "волосатый ящик". Понятно почему это происходит. Ящик - это неодушевлённый предмет, а воин - одушевлённый. Вообще, дело даже не в одушевлённости, а в том, что склонения определяются _существительным_. Ещё пример "воин заката". Склоняться будет только воин. МП всегда ищет в word существительное. Так, в "волосатый воин" он найдёт существительное "воин" и, взяв всю информацию о нём, в том числе и одушевлённость! будет склонять "волосатый" правильно. Но если есть "красный рычаг", то "красный" тоже есть в словаре как существительное. И это первое существительное в фразе, МП его и берёт. При проектировании всегда нужен баланс между простотой архитектуры и "удобством" пользователя. Повторюсь, что текущая архитектура, когда автор иногда должен уточнять род/число/одушевлённость -- видится мне приемлемой. # Одушевлённость предмета и слова Второй вопрос. Часто путают одушевлённость предмета и слова. В отличие от информ, у МП есть возможность цеплять на объект полноценные синонимы, которые могут иметь разный род, число и одушевлённость. При этом МП определяет по какому синониму обращаются к объекту и соответственно даёт реакцию с учётом этого. Поэтому в БОЛЬШИНСТВЕ случаев автоматическое одушевление это удобно. Но есть настройка, которую я привёл выше, которая отключает это поведение. Но, в любом случае, на склонение слов эта настройка не влияет. То-есть, всё-равно вам придётся решать проблему уточняя слово или добавляя его в словарь игры. Задумайтесь, у вас есть волосатый воин. Вы хотите сделать его ~animate, чтобы его можно было брать. Но склонение всё-равно должно рассчитываться так, как буд-то он одушевлённый! Взять волосатого воина! Понимаете, что одушевлённость словоформы и одушевлённость объекта -- разные вещи! Но повторюсь, настройка отключающая зависимость animate от одушевлённости слова есть. Почему она не дефулт? Потому что в 90% она удобна и потому что ПОЛЕЗНО если проблема с одушевлённостью слов вылезает на тестировании игры раньше. Хотя, вы можете писать в стиле информа, не используя синонимы через |, и используя шаблоны *. Тогда будет очень похоже на информ-логику. Но тогда вы потеряете приемущества МП.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13712/#Comment_13712