Open Bobrokrot opened 2 years ago
Ну и ещё есть три Merchant'а. Хотелось бы им в Information вывести табличку рецептов, которые они предлагают. У них name то же самое, что и station рецептов.
Ну а ещё Дане захардкодить монстра Scarecrow. В выдаче вместо имени монстра и картинки написать Spoiler.
А, и хотелось бы свободу форматирования в написании Description. В первой итерации вряд ли описания будут большими, но потом, скорее всего с помощью коммьюнити. напишем полные описания монстров как в Геншине. Где-то понадобятся списки, где-то понадобится вставка дополнительных иллюстраций.
@Bobrokrot сделано.
Были доавлены следующие таблицы:
factions
id | name
Были изменены таблицы monsters и monsterdrops, выглядят следующим образом:
monsters
id | name | description | bloodtypeid | level | factionid | knowlegdeid | mapgenieid
monsterdrops
monsterid | itemid | droprate | amount
droprate дробное число amount целое factionid ссылается на id из factions Остальное должно быть понятно, если есть вопросы то спрашивайте.
@Jagerente Добавлены следующие эндпоинты:
/api/monster/factions
/api/monster/list
factions возвращает массив объектов в следующем формате:
{
"id": 1,
"name": "FactionName"
}
list возвращает массив объектов в следующем формате:
{
"id": 1,
"name": "Pig",
"description": "Description of pig",
"faction": {
"id": 3,
"name": "Creatures"
},
"bloodtype": {
"id": 1,
"name": "Creature"
},
"level": 8,
"knowledgeId": null,
"mapgenieId": null,
"locations": [
{
"id": 115,
"name": "Brighthaven Slums"
}
],
"loot": [
{
"itemId": 83,
"dropRate": 0.25,
"amount": 5
}
]
}
У меня есть монстры в полуготовом виде. Их надо в этом полуготовом виде и публиковать, ибо это долгий проект. Выяснить, у каких монстров какой лут, где они обитают и т.п. Так что я напишу, какие фичи надо в ближайшее время, но с заделом на будущее.
Для фильтра я разделил монстров на типы или faction. У них кроме id и названия ничего нет.
Монстр: — name — faction — blood type —— есть 6 стандартный, есть None для нежити всякой, есть Random для комаров и есть V Blood для боссов. Когда у нас будет страница для типов крови, там отображать надо будет только 6 стандартных.
— level —— У монстров есть базовый уровень, но каждые 30% качества крови их уровень повышается на 2 и ещё +4 при 100% (надо проверить). То есть можно хранить только одно число, а на странице указывать рендж от level до level+10. При этом для V Blood и None типов уровень фиксированный. Однако... —— Есть парочка монстров-исключений. Villager'ы часть имеют базовый уровень 28, а часть 26. Они одни такие, и это не зависит от локации или чего-то ещё, по крайней мере я не смог понять прикол. Пофиг на них, текстом можно написать про это. —— Есть парочка монстров, у который одинаковые названия и они одинаково выглядят, но у них разные уровни в зависимости от локации. Это Armoured Skeleton (20 ур. в начальных локациях и 40 в более сложных) и Skeleton Crossbow (2 в самой первой локации, 18 в начальных и 36 в сложных). Я думаю, можно их хранить как отдельных монстров и дописать им в название их уровень. В далёком будущем им можно будет указывать в качестве мест обитания разные локации.
— locationS —— это для далёкого будущего, это слишком муторно делать. Причём тут такая проблема ещё: для каждой локации надо указывать монстров, в которой они обитают. Но при этом есть ещё патрулирующие монстры, которые ходят по дорогам, и при этом они ходят ни где попало, а, например, в северной части региона Данли. Можно придумать свои локации "северные дороги Данли" в принципе.
— loot —— (loot id, droprate, amount) —— у нас в ближайшее время не будет никакой информации по поводу шансов выпадения. Однако я думаю, можно сразу это подключить и использовать так: писать дропрейт 0.25 для редких предметов, 0.75 для частых предметов, 1.0 для гарантированных предметов. И в information соответственно давать три списка предметов: guaranteed drops, common drops, rare drops. —— Но есть ещё "сеты" дропов. Например, Treant всегда гарантированно даёт 4 случайных предмета из списка семян, Stone Golem даёт 2 случайных гема и есть ещё пара примеров. Типа хотелось бы писать "Guaranteed to drop 4 items among these: (список итемов)". — Соответственно эту информацию можно будет писать в information у итемов. Давать список name монстров, у которых можно нафармить эти предметы.
ДЛЯ V BLOOD дополнительно — knowledgeid — mapgenieid