Версия 1.4.4

Основная история изменений.


Итак, спустя 17 дней, официально объявляю о выходе новой версии Нереала, версии во многом концептуальной, помимо всего прочего, придающей нашему миру еще одну сторону жизни — битвы. После долгих рассуждений и споров они-таки появились. Но обо всем по порядку, как и в прошлый раз, публикую и комментирую полную историю развития мира.

Что нового в Нереале версии 1.4.4:

Ограничено число одновременно принятых заказов — не более трех.

Хотя биржа труда еще и не вступила особо в работу, заранее приняты защитные меры от «сквоттеров» — перехватчиков всех заказов на себя.

Уменьшено опьянение для вампира от выпитой крови.

Касается это только крови от укуса (вампиризм). Там и правда уж слишком подскакивало опьянение.

Добавлена вторичная характеристика скорость, зависящая от силы и ловкости. При скорости 0 идти нельзя вообще.

Появилось понятие скорости, в первую очередь перемещения, но вполне применима ко многим действиям, которые требуют её и появятся в будущем. Узнать свою скорость можно командой состояние.

Добавлено свойство персонажа Add - для хранения изменений множества параметров, в первую очередь по эффектам.

Внутреннее дополнение, не обращайте внимания.

Добавлены эффекты увеличения и уменьшения скорости.

Так сказать, можно сделать «сапоги-скороходы». :) Или заявить заклинание «ускорение»/«замедление».

Теперь объекту можно указать собственную цену, независимую от материала и свойств. Указать цену можно только при помещении его в товары магазина.

Думаю понятно что это такое? Для владельцев магазинов — возможность управлять ценами товаров, а для тех, кто сдает свой товар на реализацию, так же возможность самому указать желаемую сумму. Какую именно, это дело ваше.

Добавлены свойства персонажа OMEObjId и OMEOrgId.

Просто переменные для некоторых следующих действих.

Переделано помещение товара в магазин (команда магазин положить) — теперь вместо сложной команды нужно ответить на несколько вопросов.

Чуточку облегчена жизнь владельцев магазинов. :)

Добавлена функция магазин_реализация — флаг того, что данный товар был сдан на реализацию, и хранит, кто его сдал (кому потом перечислить деньги).
Добавлена команда магазин сдать — сдать товар в магазин на реализацию, деньги можно получить лишь после того, как его купят.
Когда кто-то покупает сданный на реализацию товар, его бывший владелец получает вырученную сумму на свой банковский счет.
Добавлена команда магазин вернуть — вернуть ранее сданный на реализацию товар. Это может сделать только тот, кто этот товар сдавал.
Добавлено свойство организации RealizeCan (только для магазинов) — принимает ли магазин товары на реализацию (меняется в управлении магазином).

Все это направлено лишь на одно — возможность магазина-комиссионки-барахолки. Для покупателя это обычный магазин, никаких отличий, а для того, кто хочет что-то продать, отличия есть. Сначала вы просто сдаете свой товар, притом указав цену, какую вы за него хотите. Денег при этом не получаете, но и не платите. Но когда его кто-то другой купит, магазин переведет деньги на ваш счет. (а банк пошлет извещение, если у вас есть почта) Магазин может лишь удержать некоторую сумму из цены (зависит от того как настроил владелец магазина), но операции сдачи товара, и его возвращения при желании — совершенно бесплатны.
Смотрите так же: справка магазин

Изменено система перемещения — персонаж оказывается сразу в локации назначения, но далее ждет время, равное времени перемещения. Так же удалено свойство персонажа RoomMove.

Внимание! Данный пункт может вызвать у вас поначалу некоторый дискомфорт, просто не с привычки. Хотя, как показала практика, никто на это особо внимания не обратил и не пожаловался. :)
Поясняю суть: раньше, когда вы куда-либо шли, нужно было сперва подождать некоторое время (необходимое для перемещения), а затем уже вы оказывались там, куда шли. На время ожидания вы как бы находились между локациями, хотя по сути «неизвестно где». Это, с одной стороны, реальнее, с другой — были возможны расхождения, когда двое идут навстречу, и проходят мимо, даже не заметив друг друга. Учтя это и некоторые другие причины (возможность убегания/погони в битве), было принято решение переделать систему. В итоге получилось так: как только вы куда-то направляетесь, вы моментально оказываетесь в нужном месте, но для дальнейших действий нужно ждать то самое время. Мне самому это поначалу показалось непривычно, но потом нормально стало.
Естественно, что именно на это время ожидания и влияет скорость.

Добавлена команда заявка и реализовано семь типов заявок.

АУ! Исследователи мира! Те, кто хочет новых и уникальных для себя возможностей! Вот, команда для вас! :) Я очень надеюсь, что она будет использоваться, и станет официальным путем развития мира по желаниям его жителей.
Хочу уточнить некоторые нюансы. Во-первых, все заявки строго конфиденциальны, и читать их буду лишь я сам (или другие боги), но никак не жители. Во-вторых, это как б односторонняя связь с богами, и если их ваша заявка заинтересует, и им нужны будут подробности, они с вами свяжутся сами, иными способами. В-третьих, по желанию вы можете либо «запатентовать» то что описано в заявке, и это станет вашей собственной уникальной возможностью, либо оставить на общее пользование. Патентование особенно может быть нужно на навыки и заклинания, тогда о них не узнает никто другой, если только вы сами не расскажете.

Добавлена божественная команда !заявка для проверки наличия заявок.

Исходя из предыдущего пункта, с этим все понятно и без пояснений.

Добавлена функция износ — значение от 0 до 1, где 1 — полный износ/поломка.

Вещи теперь могут изнашивать и в итоге ломаться. Но касается это только используемых вещей, как то — инструменты, оружие, доспехи.

В таблицу материалов добавлен столбец DeterCoeff — коэффициент износа.

Каждый материал имеет свою собственную скорость износа.

Добавлено свойство команды ExecOutOfTurn — выполнение вне очереди. В данный момент таким свойством обладают разговорные команды, социалы, комментарии, и все команды группы «+». Все они могут выполняться во время любого ожидания, будь то перемещение, или копание, или еще чего.

Разговаривать и использовать социалы теперь можно даже во время ожидания выполнения какого-либо действия.

Переработана группа навыков владения оружием.

Убрано владение двойным мечом и добавлены владения гибким и разнообразным оружием.

Добавлены таблицы: типы повреждений, типы атак, места атак, типы оружия.

Новые табличные данные для мира. Могут меняться и дополняться без обновления версии самого Нереала.

Добавлены функции оружие и оружие_качество.

Объект может быть оружием. :) И этим все сказано.

Добавлено свойство персонажа Relation — мирное, обычное, или агресссивное отношение. По умолчанию у всех оно мирное.
Добавлена команда отношение — для просмотра и изменения своего текущего отношения.

У каждого из вас есть свое отношение, оно собственно определяет ваше основное поведение и занятие в Нереале. Хочешь лишь болтать с другими и/или строить и создавать — будь мирным. Хочешь ходить иногда на охоту, или чего подобное — ставь обычное отношение. Ну а если хочешь драться на Арене, или просто иметь возможность атаковать других — надо быть агрессивным. Только учтите, это значит, что не только вы можете нападать, но и на вас могут нападать.

Прежнее разграничение на нерасширенных и расширенных персонажей здесь не имеет особого значения, не считая того, что нерасширенным в бою придется весьма не сладко. У них нет минусов, но нет и плюсов.

Добавлено свойство зоны BattleType — боевой тип зоны: мирная, игровая, или боевая.
Добавлена команда !зона тип — для переключения боевого типа зоны.

Помимо отношения, битвы еще ограничены и территорией. Поэтому, находясь в мирной зоне, вы можете быть уверены — вас никто не атакует. А отличие же между игровой и боевой зонами заключается в смерти. В игровой вы в случае гибели просто окажетесь в другом месте, с минимальным здоровьем. А в боевой смерть реальна, по всем законам Нереала на этот счет — тело остается на месте, а душа в астрал.

Добавлено свойство зоны ReturnRoom — локация, куда попадают убитые в данной зоне (используется в случае игровой зоны).
Добавлена команда !зона возврат — для указания локации возврата.

Локация, куда вас перенесет в случае гибели в игровой зоне.

Добавлена глобальная переменная BattleCounter — счетчик битв.
Добавлены свойства персонажа BattleId, BattleAttackTo и BattleLostRound.

Просто шаги на пути к системе боя. :)

Добавлена команда атаковать.

Вот собственно главная для бойца команда. :) Пока что кроме нее ничего не надо.

Добавлено свойство расы WeaponNatural — список природного оружия у этой расы (обычно кулак).

Чем будет бить персонаж при отсутствии оружия — определяется его расой и этим свойством. Для большинства это действительно просто кулак, а например для тигра и волка — когти и зубы.

Уважаемые драконы, а вы можете представить мне список вашего природного оружия? :)

Реализована первая и простая версия боя — с оружием, навыками владения, критическим ударом, уклонением, и парированием.
Увеличен урон у всех типов оружия.
Изменено действие качества оружия на урон — не умножение на коэффициент (от 0.5 до 1.5), а прибавка, меняющаяся в диапазоне от -4 до +4.

Все это не нуждается в комментариях и является шагами к системе боя и усовершенствованиями оной.

Реализована прокачка боевых навыков от их практики.

Практика, и только практика, позволит вам стать хорошим бойцом!

Реализован износ оружия (при удачных ударах).
При полном износе объект ломается и теряет свои функции.

Не забывайте, что ваше оружие иногда требует заботы. :)

Свойство оружие реализовано в проектировании.

Хочешь делать оружие? Стань оружейником. Вовсе не обязательно для этого быть богом. :)

В боевой зоне мобы могут атаковать даже мирных персонажей.

На то она и боевая зона… Не суйся куда не надо, если жить хочешь!

Добавлены два ограничения на команды — одни не могут быть в бою, другие наоборот, только в бою.
Реализована игровая и боевая смерть.
Списки состояний здоровья и глаголов атаки сделаны динамическими, и могут изменяться без перекомпиляции.
Душа после смерти у мобов не создается.
Добавлено скриптовое событие для мобов death — вызывается в момент смерти моба. Если результат равен False, то с мобом ничего не делается, а иначе переносится в неизвестное пространство.

Все это так же шаги к системе боя, во многом внутренние и вам не нужные. :) Но я уж просто публикую полную историю, ничего не убирая.

Исправлено внеочередное выполнение команд в различных режимах, где требуется ввод вовсе не команд. (текстовый редактор, проектирование, и прочее)

Глюки…

При осмотре объекта показывается его примерные качество и износ.

Чаще посматривайте на свои вещички! :)

Добавлены таблицы типов брони и мест брони.
Добавлены функции броня и броня_качество.
Реализовано действие брони (надетой).

Вот и доспехи появились. Смотрите, кто если мечтает о полных мифриловых латах, силы, да и денег, вам потребуется огого сколько!

Сделано изменение цены объекта в зависимости от износа и качества оружия/объекта.

Некачественное оружие при всех прочих равных условиях явно будет дешевле качественного. И порой очень и очень намного!

Свойство броня реализовано в проектировании.

Аналогично оружию, коли хочешь доспех лепить, всего лишь выучись на доспешника! :)

Реализовано уменьшение ловкости от некоторых видов брони.

Хороша бронька… да вот только каким неповоротливым становишься в ней! :)

Определение при 20% позволяет узнать материал, из которого изготовлен объект.
Определение при 25% позволяет узнать точный износ объекта.
Определение при 40% позволяет узнать базовый тип оружия, его качество, и урон.
Определение при 40% позволяет узнать базовый тип брони, её качество, и уровень брони.
Определение при 75% позволяет узнать эффекты, которые дает объект при надевании.

Очень полезный теперь навык определение! Вон сколько всего можно узнать интересного о неких фиговинках, которые с виду вообще непонятно что такое! :)

Добавлено скриптовое событие для персонажей endbattle - вызывается в момент окончания боя, никаких параметров и результатов не имеет.
Добавлены свойства персонажа BattleAttackList и BattleAttackTarget - список атакуемых и цель (место) атаки.
Команда атаковать теперь либо добавляет врага в список атаки, либо очищает этот список. Кроме того, вторым параметром возможно указать место атаки.
На шанс безоружных атак так же влияет ловкость.
Если в течении раунда не было ни единой атаки, притом что все участники боя в одной локации, бой прекращается.

Очередные доработки системы боя… Если чего непонятно, то спрашивайте!

Добавлено свойство расы ArmourNatural — уровень природной брони.

Тролли и драконы, у вас ведь и кожа чуть потолще, да? :) У вас теперь есть природная броня. Кроме того, эффект каменная кожа добавляет оную на 5.

Текущие уровни брони показаны в команде состояние.

Смотрите сами, там все написано.

В строке состояния показывается здоровье всех атакуемых, а текущий выделен ярким цветом.
При осмотре персонажа можно узнать его здоровье.

Тут тоже все понятно, полагаю.