Closed Jagerente closed 2 years ago
Item OBJECT {
ID INT //unique
Name STRING
Description STRING
Tier INT
Station Int[] // Список id станций, где может крафтиться
Recipe INT[] // Список id предметов
ReagentFor INT[] // Список id предметов в крафте которых участвует
IngameTags INT[] // Спиисок id тэгов
Tags INT[] // Спиисок id тэгов
Durability INT
GearLevel INT
Main_Stat DOUBLE
Bonus_Stat [ { Value INT, Id INT } ] // Где первый int это прибавка, а второй int это id бонуса из таблицы Bonus Type
Set Object -> { Name STRING, Bonus STRING }
Salvageable Object[] -> { Id INT, Count INT } // Список предметов, на которые он может быть распылён
}
Station OBJECT {
ID INT //unique
Name STRING
Description STRING
Recipe INT // id предметов, из которых оно крафтится
Recipes OBJECT[] { Input INT[], Output INT } // Список крафтов внутри станции
}
Tag OBJECT {
ID INT
Name STRING
}
Weapon {
ID INT //unique
Name STRING
Description STRING
Tier INT // Id тира из списка тиров оружий
Station ?Int[] // Список id станций, где может крафтиться
Recipe ?{ Time INT, Id INT[]} // Время для крафта и список id предметов из которых крафтится
ReagentFor ?INT[] // Список id предметов в крафте которых участвует
Tags INT[] // Список id тэгов
Durability INT
GearLevel INT
Main_Stat DOUBLE
Bonus_Stats ?STRING[] //Список побочных бонусов
Set ?INT // Id сэта из списка сетов
Salvageable ?[ { Id INT, Count INT } ] // Список предметов, на которые он может быть распылён
}
Armour {
ID INT //unique
Name STRING
Description STRING
Tier INT // Id тира из списка тиров экипировки
Station ?Int[] // Список id станций, где может крафтиться
Recipe ?{ Time INT, Id INT[]} // Время для крафта и список id предметов из которых крафтится
ReagentFor ?INT[] // Список id предметов в крафте которых участвует
Tags INT[] // Список id тэгов
Durability INT
GearLevel INT
Main_Stat DOUBLE
Bonus_Stats ?STRING[] //Список побочных бонусов
Set ?INT // Id сэта из списка сетов
Salvageable ?[ { Id INT, Count INT } ] // Список предметов, на которые он может быть распылён
Location ?STRING // Инфо где падает/Собирается.
}
Consumable {
ID INT //unique
Name STRING
Description STRING
Tier INT // Просто число для сортировки
Station ?Int[] // Список id станций, где может крафтиться
Recipe ?{ Time INT, Id INT[]} // Время для крафта и список id предметов из которых крафтится
ReagentFor ?INT[] // Список id предметов в крафте которых участвует
Tags INT[] // Список id тэгов
Salvageable ?[ { Id INT, Count INT } ] // Список предметов, на которые он может быть распылён
Location ?STRING // Инфо где падает/Собирается.
}
Reagent {
ID INT //unique
Name STRING
Description STRING
Tier INT // Просто число для сортировки
Station ?Int[] // Список id станций, где может крафтиться
Recipe ?{ Time INT, Id INT[]} // Время для крафта и список id предметов из которых крафтится
ReagentFor ?INT[] // Список id предметов в крафте которых участвует
Tags INT[] // Список id тэгов
Salvageable ?[ { Id INT, Count INT } ] // Список предметов, на которые он может быть распылён
Location ?STRING // Инфо где падает/Собирается.
}
insert into items(name, description, tier, type) values
('Weapon ', 'Test description', 1, 1),
('Weapon 2', 'Test description 2', 2, 1),
('Reagent 1', 'Description 3', 1, 4),
('Reagent 2', 'Description 4', 1, 4),
('Reagent 3', 'Description 5', 1, 4)
----------
insert into tags (value) values
('weapon'),
('tag 1'),
('tag 2')
----------
insert into itemtags(itemId, tagId) values
(1, 1),
(1, 2),
(1, 3),
(2, 1),
(2, 3)
----------
insert into recipes(name, description, resultItemId, time) values
('rec 1', 'description 1', 1, 120),
('rec 2', 'description 2', 2, 180)
----------
insert into stations(name, description) values
('station 1', 'description 1')
----------
insert into recipestations(recipeId, stationId) values
(1, 1),
(2, 1)
----------
insert into locations(value) values
('Болото'),
('Пустыня')
-----------
insert into itemlocations(itemId, locationId) values
(1, 1),
(1, 2),
(2, 2),
(3, 1),
(4, 1),
(5, 2)
----------
insert into recipeingredients(recipeId, itemId, amount) values
(1, 3, 5),
(2, 3, 10),
(2, 4, 5),
(2, 5, 1)
----------
insert into itemstats(id, mainstat, set, gearlevel, durability) values
(1, 50, 'Set one', 5, 100),
(2, 65, 'Set two', 6, 110)
----------
insert into secondarystats(bonus) values
('25% physical damage'),
('25% elemental damage'),
('15% against \'undead\' type')
----------
insert into secondaryitemstats(statsId, secondarystatid) values
(1, 1),
(1, 3),
(2, 2)
/api/weapon/list
/api/armour/list
/api/consumable/list
/api/reagent/list
/api/recipe/list
Наброски структуры db @aelariane
Теги для итемов, их малая часть