В последнее время наблюдается некоторое перерождение в разработке API-приложений для EVE (при немалом участии CCP FoxFour). В этой статье мы собираемся провести обзор изменений, которые мы провели для API (application programming interface) и SDE (static data export), полагая, что Вы уже ознакомлены с внутриигровыми изменениями, касающимися производства.
SDE — Static Data Export
Мы обновили базу SDE для Криуса. Вы можете скачать бета-версию здесь.
Однако помните — числа в этой базе данных могут измениться до выхода обновления 22ого июля. Мы приложим все силы, чтобы вовремя обновлять SDE и делиться им со всеми желающими на форумах. Большие изменения SDE в Криусе затронули структуру хранения данных — теперь все данные, связанные с чертежами, переведены из BSD (Branched Static Data, хранится в таблицах базы данных) в структуру, называемую FSD (File Static Data, хранится в текстовом виде в формате YAML).
- Удалена таблица invBlueprintTypes
- Удалена таблица ramTypeRequirements
- Удалена таблица ramAssemblyLines
- Добавлен YAML-файл blueprints.yaml
Существующие же таблицы были изменены и будут релевантны для производственных целей:
- В таблицу ramAssemblyLineTypes добавлен столбец baseCostMultiplier
- В таблицу ramAssemblyLineTypeDetailPerCategory добавлен столбец costMultiplier
- В таблицу ramAssemblyLineTypeDetailPerGroup добавлен столбец costMultiplier
Несмотря на то, что сборочные линии были ликвидированы, мы до сих пор используем существующие показатели бонусов, например, NPC-станций, ПОСов и различных улучшений. На некоторых станциях можно будет запускать несколько видов производств, и лучшие цены производства, количества материалов и затрачиваемое время выбираются независимо друг от друга.
XML API
Мы продолжаем использовать подлинные XML API для доступа к защищенным данным. Здесь тоже произошли некоторые изменения:
Добавлен /corp/Facilities.xml.aspx (обновляется раз в час)
Возвращает список всех производственных комплексов (ПОСы, аутпосты) Вашей корпорации.
Добавлен /corp/IndustryJobsHistory.xml.aspx (обновляется раз в 6 часов)
Возвращает список всех текущих и завершенных работ Вашей корпорации (до 90 дней или 10000 строк)
Добавлен /char/IndustryJobsHistory.xml.aspx (обновляется раз в 6 часов)
Возвращает список всех текущих и завершенных работ Вашего персонажа (до 90 дней или 10000 строк)
Изменен /corp/IndustryJobs.xml.aspx (обновляется раз в 15 минут)
Возвращает список текущих работ Вашей корпорации (до 90 дней или 10000 строк)
Изменен /char/IndustryJobs.xml.aspx (обновляется раз в 15 минут)
Возвращает список текущих работ Вашего персонажа (до 90 дней или 10000 строк)
Мы также рассмотрели эти изменения более детально здесь.
CREST API
CREST — наш новый де-факто метод выдачи допуска к общедоступной информации. Введено 6 новых ресурсов, связанных с производством:
/market/prices/ (обновляется раз в 23 часа)
vnd.ccp.eve.MarketTypePriceCollection-v1
Возвращает список товаров (которые можно продать в маркете) и их среднерыночную цену (ту, которая отображается в Вашем инвентаре при наведении на товар). Также предоставляются скорректированные рыночные цены, используемые для производственных вычислений.
/industry/facilities/ (обновляется раз в час)
vnd.ccp.eve.IndustryFacilityCollection-v1
Возвращает список всех общедоступных сборочных линий, включая построенные игроком аутпосты в нуль-секе.
/industry/systems/ (обновляется раз в час)
vnd.ccp.eve.IndustrySystemCollection-v1
Отображает индекс стоимости установки производственных работ по типу работы (не учитывается W-космос).
/industry/specialities/ (обновляется раз в час)
vnd.ccp.eve.IndustrySpecialityCollection-v1
Отображает все детали, относящиеся к производственным командам, и то, на что они влияют.
/industry/teams/ (обновляется раз в час)
vnd.ccp.eve.IndustryTeamCollection-v1
Возвращает список всех активных производственных команд, не включая аукционы и W-космос.
/industry/teams/auction/ (обновляется раз в час)
vnd.ccp.eve.IndustryTeamCollection-v1
Возвращает список всех производственных команд, выставленных на аукцион.
Вы можете протестировать всё это на сервере Singularity по этой ссылке, и увидеть воплощенные в жизнь изменения на Tranquility с 22-ого июля (ссылка здесь).
Вычисление стоимости производства
Определение цены производства стало несколько непростым в Криусе, поэтому давайте проведем быстрый экскурс по основным пунктам, которые необходимы для этих вычислений:
1. Определить базовое количество материалов для производства из файла theblueprints.yaml в SDE. В случае изобретения или реверс-инжиниринга Вам следует смотреть материалы T2 или T3 чертежей.
2. Умножить количества материалов на скорректированные рыночные цены (столбец adjustedPrice из /market/prices/) и сложить все вместе - получаем базовую цену. Для реверс-инжиниринга с различными возможными результатами вычисляется базовая цена для каждого из них, после чего берётся среднее.
3. Базовая цена затем изменяется в зависимости от типа производства:
- Производство: базовая цена x количество запусков
- Исследование: сумма для каждого уровня
- Копирование: базовая цена x 0.02 x количество запусков на копию x количество копий
- Изобретение + реверс-инжиниринг: базовая цена x 0.02
4. Умножить полученную стоимость на стоимость из /industry/systems/ для системы, в которой вы устанавливаете производственные работы.
5. Умножить стоимость на бонусы сборочной линии, описанные в таблице ramAssemblyLineTypes в SDE.
6. Добавить 10% налог в NPC'шных линиях производства, или свой собственный налог на построенных в нуль-секе аутпостах.
7. ???
8. Профит!
Коэффициенты исследования
Уровень Коэффициент 1 1 2 29 / 21.0 3 23 / 7.0 4 39 / 5.0 5 278 / 15.0 6 928 / 21.0 7 2200 / 21.0 8 5251 / 21.0 9 4163 / 7.0 10 29660 / 21.0
Это все на сегодня. Если у Вас возникли какие-нибудь вопросы или Вы зотите поделиться предложениями - добро пожаловать на EVE Technology Forum или зайдите к нам на IRC-канал.
Приятного кодинга!
@CCP_Nullabor
Перевод © esselesse