Значительно изменил бд и генерацию так же добавил роли
This commit is contained in:
@@ -13,6 +13,14 @@ Sequel.migration do
|
||||
column :rarity, String
|
||||
column :type, String
|
||||
|
||||
# Уникальность имени карты
|
||||
add_unique_constraint :name
|
||||
|
||||
# Ограничения
|
||||
constraint(:valid_rarity, Sequel.lit("rarity IN ('common','rare','epic','legendary','champion', 'evo', 'hero')"))
|
||||
constraint(:valid_type, Sequel.lit("type IN ('troop','spell','building')"))
|
||||
constraint(:positive_elixir, Sequel.lit("elixir_cost >= 0"))
|
||||
|
||||
# 0/1 флаг: карточка в актуальной мете или нет.
|
||||
# Можно позже заменить на true/false, если решим хранить boolean.
|
||||
column :is_meta, Integer, default: 0
|
||||
@@ -20,6 +28,7 @@ Sequel.migration do
|
||||
# Технические таймстемпы для аудита и сортировки
|
||||
column :created_at, DateTime, null: false, default: Sequel::CURRENT_TIMESTAMP
|
||||
column :updated_at, DateTime, null: false, default: Sequel::CURRENT_TIMESTAMP
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,55 +3,29 @@
|
||||
repo = ClashDeckGenerator2::Repos::CardsRepo.new
|
||||
|
||||
CARD_TYPES = %w[troop spell building].freeze
|
||||
RARITIES = %w[common rare epic legendary champion].freeze
|
||||
RARITIES = %w[common rare epic legendary champion hero evolution].freeze
|
||||
|
||||
COMMON_CARDS = [
|
||||
# ========================
|
||||
# TROOPS
|
||||
# ========================
|
||||
{ name: "Skeletons", elixir_cost: 1, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Electro Spirit", elixir_cost: 1, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Fire Spirit", elixir_cost: 1, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Ice Spirit", elixir_cost: 1, rarity: "common", type: "troop", is_meta: 0 },
|
||||
# Подключаем файлы с картами
|
||||
require_relative "seeds/common"
|
||||
require_relative "seeds/rare"
|
||||
require_relative "seeds/epic"
|
||||
require_relative "seeds/legendary"
|
||||
require_relative "seeds/champion"
|
||||
require_relative "seeds/hero"
|
||||
require_relative "seeds/evo"
|
||||
|
||||
{ name: "Goblins", elixir_cost: 2, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Spear Goblins", elixir_cost: 2, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Bomber", elixir_cost: 2, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Bats", elixir_cost: 2, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Berserker", elixir_cost: 2, rarity: "common", type: "troop", is_meta: 0 },
|
||||
# Объединяем все карты
|
||||
CARDS = []
|
||||
CARDS.concat(COMMON_CARDS)
|
||||
CARDS.concat(RARE_CARDS)
|
||||
CARDS.concat(EPIC_CARDS)
|
||||
CARDS.concat(LEGENDARY_CARDS)
|
||||
CARDS.concat(CHAMPION_CARDS)
|
||||
CARDS.concat(HERO_CARDS)
|
||||
CARDS.concat(EVOLUTION_CARDS)
|
||||
|
||||
{ name: "Archers", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Knight", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Minions", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Goblin Gang", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Skeleton Barrel", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Firecracker", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Skeleton Dragons", elixir_cost: 4, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Barbarians", elixir_cost: 5, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Minion Horde", elixir_cost: 5, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Rascals", elixir_cost: 5, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Royal Giant", elixir_cost: 6, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Elite Barbarians", elixir_cost: 6, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Royal Recruits", elixir_cost: 7, rarity: "common", type: "troop", is_meta: 0 },
|
||||
|
||||
# ========================
|
||||
# SPELLS
|
||||
# ========================
|
||||
{ name: "Zap", elixir_cost: 2, rarity: "common", type: "spell", is_meta: 1 },
|
||||
{ name: "Giant Snowball", elixir_cost: 2, rarity: "common", type: "spell", is_meta: 0 },
|
||||
{ name: "Arrows", elixir_cost: 3, rarity: "common", type: "spell", is_meta: 0 },
|
||||
{ name: "Royal Delivery", elixir_cost: 3, rarity: "common", type: "spell", is_meta: 0 },
|
||||
|
||||
# ========================
|
||||
# BUILDINGS
|
||||
# ========================
|
||||
{ name: "Cannon", elixir_cost: 3, rarity: "common", type: "building", is_meta: 0 },
|
||||
{ name: "Mortar", elixir_cost: 4, rarity: "common", type: "building", is_meta: 0 },
|
||||
{ name: "Tesla", elixir_cost: 4, rarity: "common", type: "building", is_meta: 0 }
|
||||
].freeze
|
||||
|
||||
CARDS = COMMON_CARDS
|
||||
|
||||
# ВАЛИДАЦИЯ
|
||||
CARDS.each do |c|
|
||||
raise "Missing name" if c[:name].nil? || c[:name].strip.empty?
|
||||
raise "Missing elixir_cost for #{c[:name]}" if c[:elixir_cost].nil?
|
||||
@@ -62,10 +36,13 @@ CARDS.each do |c|
|
||||
raise "Unknown type: #{c[:type]} for #{c[:name]}" unless CARD_TYPES.include?(c[:type])
|
||||
end
|
||||
|
||||
# Проверка на дубликаты
|
||||
names = CARDS.map { |c| c[:name] }
|
||||
duplicates = names.group_by { |name| name }.select { |_k, v| v.size > 1 }.keys
|
||||
raise "Duplicate cards found: #{duplicates.join(', ')}" if duplicates.any?
|
||||
|
||||
|
||||
# ЗАПИСЬ В БАЗУ
|
||||
CARDS.each do |card|
|
||||
repo.create(card)
|
||||
end
|
||||
12
config/db/seeds/champion.rb
Normal file
12
config/db/seeds/champion.rb
Normal file
@@ -0,0 +1,12 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
CHAMPION_CARDS = [
|
||||
{ name: "Little Prince", elixir_cost: 3, rarity: "champion", type: "troop", is_meta: 1 },
|
||||
{ name: "Golden Knight", elixir_cost: 4, rarity: "champion", type: "troop", is_meta: 1 },
|
||||
{ name: "Skeleton King", elixir_cost: 4, rarity: "champion", type: "troop", is_meta: 1 },
|
||||
{ name: "Mighty Miner", elixir_cost: 4, rarity: "champion", type: "troop", is_meta: 1 },
|
||||
{ name: "Archer Queen", elixir_cost: 5, rarity: "champion", type: "troop", is_meta: 1 },
|
||||
{ name: "Goblinstein", elixir_cost: 5, rarity: "champion", type: "troop", is_meta: 0 },
|
||||
{ name: "Monk", elixir_cost: 5, rarity: "champion", type: "troop", is_meta: 1 },
|
||||
{ name: "Boss Bandit", elixir_cost: 6, rarity: "champion", type: "troop", is_meta: 0 }
|
||||
].freeze
|
||||
41
config/db/seeds/common.rb
Normal file
41
config/db/seeds/common.rb
Normal file
@@ -0,0 +1,41 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
COMMON_CARDS = [
|
||||
|
||||
#Юниты
|
||||
{ name: "Skeletons", elixir_cost: 1, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Electro Spirit", elixir_cost: 1, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Fire Spirit", elixir_cost: 1, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Ice Spirit", elixir_cost: 1, rarity: "common", type: "troop", is_meta: 0 },
|
||||
|
||||
{ name: "Goblins", elixir_cost: 2, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Spear Goblins", elixir_cost: 2, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Bomber", elixir_cost: 2, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Bats", elixir_cost: 2, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Berserker", elixir_cost: 2, rarity: "common", type: "troop", is_meta: 0 },
|
||||
|
||||
{ name: "Archers", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Knight", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Minions", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Goblin Gang", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Skeleton Barrel", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Firecracker", elixir_cost: 3, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Skeleton Dragons", elixir_cost: 4, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Barbarians", elixir_cost: 5, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Minion Horde", elixir_cost: 5, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Rascals", elixir_cost: 5, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Royal Giant", elixir_cost: 6, rarity: "common", type: "troop", is_meta: 1 },
|
||||
{ name: "Elite Barbarians", elixir_cost: 6, rarity: "common", type: "troop", is_meta: 0 },
|
||||
{ name: "Royal Recruits", elixir_cost: 7, rarity: "common", type: "troop", is_meta: 0 },
|
||||
|
||||
#Заклинания
|
||||
{ name: "Zap", elixir_cost: 2, rarity: "common", type: "spell", is_meta: 1 },
|
||||
{ name: "Giant Snowball", elixir_cost: 2, rarity: "common", type: "spell", is_meta: 0 },
|
||||
{ name: "Arrows", elixir_cost: 3, rarity: "common", type: "spell", is_meta: 0 },
|
||||
{ name: "Royal Delivery", elixir_cost: 3, rarity: "common", type: "spell", is_meta: 0 },
|
||||
|
||||
#Здания
|
||||
{ name: "Cannon", elixir_cost: 3, rarity: "common", type: "building", is_meta: 0 },
|
||||
{ name: "Mortar", elixir_cost: 4, rarity: "common", type: "building", is_meta: 0 },
|
||||
{ name: "Tesla", elixir_cost: 4, rarity: "common", type: "building", is_meta: 0 }
|
||||
].freeze
|
||||
39
config/db/seeds/epic.rb
Normal file
39
config/db/seeds/epic.rb
Normal file
@@ -0,0 +1,39 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
EPIC_CARDS = [
|
||||
# Юниты
|
||||
{ name: "Wall Breakers", elixir_cost: 2, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
{ name: "Guards", elixir_cost: 3, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
{ name: "Dark Prince", elixir_cost: 4, rarity: "epic", type: "troop", is_meta: 1 },
|
||||
{ name: "Hunter", elixir_cost: 4, rarity: "epic", type: "troop", is_meta: 1 },
|
||||
{ name: "Baby Dragon", elixir_cost: 4, rarity: "epic", type: "troop", is_meta: 1 },
|
||||
{ name: "Goblin Drill", elixir_cost: 4, rarity: "epic", type: "troop", is_meta: 1 },
|
||||
{ name: "Prince", elixir_cost: 5, rarity: "epic", type: "troop", is_meta: 1 },
|
||||
{ name: "Balloon", elixir_cost: 5, rarity: "epic", type: "troop", is_meta: 1 },
|
||||
{ name: "Witch", elixir_cost: 5, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
{ name: "Bowler", elixir_cost: 5, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
{ name: "Cannon Cart", elixir_cost: 5, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
{ name: "Electro Dragon", elixir_cost: 5, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
{ name: "Giant Skeleton", elixir_cost: 6, rarity: "epic", type: "troop", is_meta: 1 },
|
||||
{ name: "Goblin Giant", elixir_cost: 6, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
{ name: "P.E.K.K.A", elixir_cost: 7, rarity: "epic", type: "troop", is_meta: 1 },
|
||||
{ name: "Golem", elixir_cost: 8, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
{ name: "Electro Giant", elixir_cost: 7, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
{ name: "Goblin Giantess", elixir_cost: 6, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
{ name: "Skeleton Army", elixir_cost: 3, rarity: "epic", type: "troop", is_meta: 1 },
|
||||
{ name: "Executioner", elixir_cost: 5, rarity: "epic", type: "troop", is_meta: 0 },
|
||||
|
||||
# Заклинания
|
||||
{ name: "Mirror", elixir_cost: 0, rarity: "epic", type: "spell", is_meta: 0 },
|
||||
{ name: "Rage", elixir_cost: 2, rarity: "epic", type: "spell", is_meta: 0 },
|
||||
{ name: "Clone", elixir_cost: 3, rarity: "epic", type: "spell", is_meta: 0 },
|
||||
{ name: "Freeze", elixir_cost: 4, rarity: "epic", type: "spell", is_meta: 1 },
|
||||
{ name: "Poison", elixir_cost: 4, rarity: "epic", type: "spell", is_meta: 1 },
|
||||
{ name: "Lightning", elixir_cost: 6, rarity: "epic", type: "spell", is_meta: 0 },
|
||||
{ name: "Void", elixir_cost: 3, rarity: "epic", type: "spell", is_meta: 0 },
|
||||
{ name: "Goblin Barrel", elixir_cost: 3, rarity: "epic", type: "spell", is_meta: 1 },
|
||||
{ name: "Tornado", elixir_cost: 3, rarity: "epic", type: "spell", is_meta: 1 },
|
||||
|
||||
# Здания
|
||||
{ name: "X-Bow", elixir_cost: 6, rarity: "epic", type: "building", is_meta: 0 }
|
||||
].freeze
|
||||
43
config/db/seeds/evo.rb
Normal file
43
config/db/seeds/evo.rb
Normal file
@@ -0,0 +1,43 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
EVOLUTION_CARDS = [
|
||||
{ name: "Archers Evolution", elixir_cost: 3, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Baby Dragon Evolution", elixir_cost: 4, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Barbarians Evolution", elixir_cost: 5, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Battle Ram Evolution", elixir_cost: 4, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Bats Evolution", elixir_cost: 2, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Bomber Evolution", elixir_cost: 2, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Cannon Evolution", elixir_cost: 3, rarity: "evolution", type: "building", is_meta: 0 },
|
||||
{ name: "Dart Goblin Evolution", elixir_cost: 3, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Electro Dragon Evolution", elixir_cost: 5, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Executioner Evolution", elixir_cost: 5, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Firecracker Evolution", elixir_cost: 3, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Furnace Evolution", elixir_cost: 4, rarity: "evolution", type: "building", is_meta: 0 },
|
||||
{ name: "Giant Snowball Evolution", elixir_cost: 2, rarity: "evolution", type: "spell", is_meta: 0 },
|
||||
{ name: "Goblin Barrel Evolution", elixir_cost: 3, rarity: "evolution", type: "spell", is_meta: 1 },
|
||||
{ name: "Goblin Cage Evolution", elixir_cost: 4, rarity: "evolution", type: "building", is_meta: 0 },
|
||||
{ name: "Goblin Drill Evolution", elixir_cost: 4, rarity: "evolution", type: "building", is_meta: 1 },
|
||||
{ name: "Goblin Giant Evolution", elixir_cost: 6, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Hunter Evolution", elixir_cost: 4, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Ice Spirit Evolution", elixir_cost: 1, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Inferno Dragon Evolution", elixir_cost: 4, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Knight Evolution", elixir_cost: 3, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Lumberjack Evolution", elixir_cost: 4, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Mega Knight Evolution", elixir_cost: 7, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Mortar Evolution", elixir_cost: 4, rarity: "evolution", type: "building", is_meta: 0 },
|
||||
{ name: "Musketeer Evolution", elixir_cost: 4, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "P.E.K.K.A Evolution", elixir_cost: 7, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Royal Ghost Evolution", elixir_cost: 3, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Royal Giant Evolution", elixir_cost: 6, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Royal Hogs Evolution", elixir_cost: 5, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Royal Recruits Evolution", elixir_cost: 7, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Skeleton Army Evolution", elixir_cost: 3, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Skeleton Barrel Evolution", elixir_cost: 3, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Skeletons Evolution", elixir_cost: 1, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Tesla Evolution", elixir_cost: 4, rarity: "evolution", type: "building", is_meta: 1 },
|
||||
{ name: "Valkyrie Evolution", elixir_cost: 4, rarity: "evolution", type: "troop", is_meta: 1 },
|
||||
{ name: "Wall Breakers Evolution", elixir_cost: 2, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Witch Evolution", elixir_cost: 5, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Wizard Evolution", elixir_cost: 5, rarity: "evolution", type: "troop", is_meta: 0 },
|
||||
{ name: "Zap Evolution", elixir_cost: 2, rarity: "evolution", type: "spell", is_meta: 1 }
|
||||
].freeze
|
||||
14
config/db/seeds/hero.rb
Normal file
14
config/db/seeds/hero.rb
Normal file
@@ -0,0 +1,14 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
HERO_CARDS = [
|
||||
{ name: "Goblins Hero", elixir_cost: 2, rarity: "hero", type: "troop", is_meta: 1 },
|
||||
{ name: "Knight Hero", elixir_cost: 3, rarity: "hero", type: "troop", is_meta: 1 },
|
||||
{ name: "Ice Golem Hero", elixir_cost: 2, rarity: "hero", type: "troop", is_meta: 0 },
|
||||
{ name: "Mega Minion Hero", elixir_cost: 3, rarity: "hero", type: "troop", is_meta: 0 },
|
||||
{ name: "Mini P.E.K.K.A Hero", elixir_cost: 4, rarity: "hero", type: "troop", is_meta: 1 },
|
||||
{ name: "Musketeer Hero", elixir_cost: 4, rarity: "hero", type: "troop", is_meta: 1 },
|
||||
{ name: "Giant Hero", elixir_cost: 5, rarity: "hero", type: "troop", is_meta: 0 },
|
||||
{ name: "Wizard Hero", elixir_cost: 5, rarity: "hero", type: "troop", is_meta: 0 },
|
||||
{ name: "Barbarian Barrel Hero", elixir_cost: 2, rarity: "hero", type: "spell", is_meta: 1 },
|
||||
{ name: "Magic Archer Hero", elixir_cost: 4, rarity: "hero", type: "troop", is_meta: 1 }
|
||||
].freeze
|
||||
28
config/db/seeds/legendary.rb
Normal file
28
config/db/seeds/legendary.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
LEGENDARY_CARDS = [
|
||||
# Юниты
|
||||
{ name: "Miner", elixir_cost: 3, rarity: "legendary", type: "troop", is_meta: 1 },
|
||||
{ name: "Princess", elixir_cost: 3, rarity: "legendary", type: "troop", is_meta: 1 },
|
||||
{ name: "Ice Wizard", elixir_cost: 3, rarity: "legendary", type: "troop", is_meta: 0 },
|
||||
{ name: "Royal Ghost", elixir_cost: 3, rarity: "legendary", type: "troop", is_meta: 1 },
|
||||
{ name: "Bandit", elixir_cost: 3, rarity: "legendary", type: "troop", is_meta: 1 },
|
||||
{ name: "Fisherman", elixir_cost: 3, rarity: "legendary", type: "troop", is_meta: 0 },
|
||||
{ name: "Electro Wizard", elixir_cost: 4, rarity: "legendary", type: "troop", is_meta: 1 },
|
||||
{ name: "Inferno Dragon", elixir_cost: 4, rarity: "legendary", type: "troop", is_meta: 1 },
|
||||
{ name: "Phoenix", elixir_cost: 4, rarity: "legendary", type: "troop", is_meta: 1 },
|
||||
{ name: "Magic Archer", elixir_cost: 4, rarity: "legendary", type: "troop", is_meta: 1 },
|
||||
{ name: "Lumberjack", elixir_cost: 4, rarity: "legendary", type: "troop", is_meta: 1 },
|
||||
{ name: "Night Witch", elixir_cost: 4, rarity: "legendary", type: "troop", is_meta: 0 },
|
||||
{ name: "Mother Witch", elixir_cost: 4, rarity: "legendary", type: "troop", is_meta: 0 },
|
||||
{ name: "Ram Rider", elixir_cost: 5, rarity: "legendary", type: "troop", is_meta: 0 },
|
||||
{ name: "Goblin Machine", elixir_cost: 5, rarity: "legendary", type: "troop", is_meta: 0 },
|
||||
{ name: "Sparky", elixir_cost: 6, rarity: "legendary", type: "troop", is_meta: 0 },
|
||||
{ name: "Spirit Empress", elixir_cost: 6, rarity: "legendary", type: "troop", is_meta: 0 },
|
||||
{ name: "Mega Knight", elixir_cost: 7, rarity: "legendary", type: "troop", is_meta: 1 },
|
||||
{ name: "Lava Hound", elixir_cost: 7, rarity: "legendary", type: "troop", is_meta: 0 },
|
||||
|
||||
# Заклинания
|
||||
{ name: "The Log", elixir_cost: 2, rarity: "legendary", type: "spell", is_meta: 1 },
|
||||
{ name: "Graveyard", elixir_cost: 5, rarity: "legendary", type: "spell", is_meta: 1 }
|
||||
].freeze
|
||||
38
config/db/seeds/rare.rb
Normal file
38
config/db/seeds/rare.rb
Normal file
@@ -0,0 +1,38 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
RARE_CARDS = [
|
||||
# Юниты
|
||||
{ name: "Heal Spirit", elixir_cost: 1, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Ice Golem", elixir_cost: 2, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Suspicious Bush", elixir_cost: 2, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Mega Minion", elixir_cost: 3, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Dart Goblin", elixir_cost: 3, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Elixir Golem", elixir_cost: 3, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Mini P.E.K.K.A", elixir_cost: 4, rarity: "rare", type: "troop", is_meta: 1 },
|
||||
{ name: "Musketeer", elixir_cost: 4, rarity: "rare", type: "troop", is_meta: 1 },
|
||||
{ name: "Valkyrie", elixir_cost: 4, rarity: "rare", type: "troop", is_meta: 1 },
|
||||
{ name: "Battle Ram", elixir_cost: 4, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Hog Rider", elixir_cost: 4, rarity: "rare", type: "troop", is_meta: 1 },
|
||||
{ name: "Battle Healer", elixir_cost: 4, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Goblin Demolisher", elixir_cost: 4, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Giant", elixir_cost: 5, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Wizard", elixir_cost: 5, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Royal Hogs", elixir_cost: 5, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Three Musketeers", elixir_cost: 9, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Zappies", elixir_cost: 4, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
{ name: "Furnace", elixir_cost: 4, rarity: "rare", type: "troop", is_meta: 0 },
|
||||
|
||||
# Заклинания
|
||||
{ name: "Earthquake", elixir_cost: 3, rarity: "rare", type: "spell", is_meta: 1 },
|
||||
{ name: "Fireball", elixir_cost: 4, rarity: "rare", type: "spell", is_meta: 1 },
|
||||
{ name: "Rocket", elixir_cost: 6, rarity: "rare", type: "spell", is_meta: 0 },
|
||||
|
||||
# Здания
|
||||
{ name: "Tombstone", elixir_cost: 3, rarity: "rare", type: "building", is_meta: 0 },
|
||||
{ name: "Goblin Cage", elixir_cost: 4, rarity: "rare", type: "building", is_meta: 0 },
|
||||
{ name: "Goblin Hut", elixir_cost: 5, rarity: "rare", type: "building", is_meta: 0 },
|
||||
{ name: "Bomb Tower", elixir_cost: 4, rarity: "rare", type: "building", is_meta: 0 },
|
||||
{ name: "Inferno Tower", elixir_cost: 5, rarity: "rare", type: "building", is_meta: 1 },
|
||||
{ name: "Barbarian Hut", elixir_cost: 6, rarity: "rare", type: "building", is_meta: 0 },
|
||||
{ name: "Elixir Collector", elixir_cost: 6, rarity: "rare", type: "building", is_meta: 0 }
|
||||
].freeze
|
||||
Reference in New Issue
Block a user