Итак, спустя 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.
Текущие уровни брони показаны в команде состояние.
Смотрите сами, там все написано.
В строке состояния показывается здоровье всех атакуемых, а текущий выделен ярким цветом.
При осмотре персонажа можно узнать его здоровье.
Тут тоже все понятно, полагаю.