Jagerente / VRisingAcademySite

VRising Database
https://vrising-academy.info
0 stars 1 forks source link

Create Ingame Items Database #2

Closed Jagerente closed 2 years ago

Jagerente commented 2 years ago

Наброски структуры db @aelariane

  1. recipe/
  1. Item/
  1. buildigs/
  1. location/
  1. monster/

Теги для итемов, их малая часть

Jagerente commented 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 } // Список предметов, на которые он может быть распылён
}
Jagerente commented 2 years ago
Station OBJECT {
  ID          INT //unique
  Name        STRING
  Description STRING
  Recipe      INT // id  предметов, из которых оно крафтится 
  Recipes     OBJECT[] { Input INT[], Output INT } // Список крафтов внутри станции
}
Jagerente commented 2 years ago
Tag OBJECT {
  ID    INT
  Name  STRING
}
Jagerente commented 2 years ago
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 } ] // Список предметов, на которые он может быть распылён
}
Jagerente commented 2 years ago
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 // Инфо где падает/Собирается.
}
Jagerente commented 2 years ago
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 // Инфо где падает/Собирается.
}
Jagerente commented 2 years ago
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 // Инфо где падает/Собирается.
}
aelariane commented 2 years ago
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