Merge staging
This commit is contained in:
commit
ce9775c838
91 changed files with 4685 additions and 2559 deletions
5
.env
5
.env
|
|
@ -1,5 +0,0 @@
|
|||
PORT=3000
|
||||
|
||||
DATABASE=hensei
|
||||
DATABASE_USER=justin
|
||||
DATABASE_PASSWORD=
|
||||
1
.ruby-gemset
Normal file
1
.ruby-gemset
Normal file
|
|
@ -0,0 +1 @@
|
|||
granblue
|
||||
11
Gemfile
11
Gemfile
|
|
@ -5,6 +5,7 @@ gem 'bootsnap'
|
|||
gem 'pg'
|
||||
gem 'rack-cors'
|
||||
gem 'rails'
|
||||
gem 'sprockets-rails'
|
||||
|
||||
# A Ruby Web Server Built For Concurrency
|
||||
gem 'puma'
|
||||
|
|
@ -43,15 +44,23 @@ gem 'pg_search'
|
|||
# Pagination library
|
||||
gem 'will_paginate', '~> 3.3'
|
||||
|
||||
|
||||
gem 'httparty'
|
||||
|
||||
# Migrate and update data alongside your database structure.
|
||||
gem 'data_migrate'
|
||||
|
||||
# A ruby gem to allow the copying of ActiveRecord objects and their associated children, configurable with a DSL on the model
|
||||
gem 'amoeba'
|
||||
|
||||
|
||||
group :doc do
|
||||
gem 'apipie-rails'
|
||||
gem 'sdoc'
|
||||
end
|
||||
|
||||
group :development, :test do
|
||||
gem 'awesome_print'
|
||||
gem 'amazing_print'
|
||||
gem 'dotenv-rails'
|
||||
gem 'factory_bot_rails'
|
||||
gem 'faker'
|
||||
|
|
|
|||
351
Gemfile.lock
351
Gemfile.lock
|
|
@ -1,259 +1,285 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actioncable (6.1.4.1)
|
||||
actionpack (= 6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
actioncable (7.0.4.1)
|
||||
actionpack (= 7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (>= 0.6.1)
|
||||
actionmailbox (6.1.4.1)
|
||||
actionpack (= 6.1.4.1)
|
||||
activejob (= 6.1.4.1)
|
||||
activerecord (= 6.1.4.1)
|
||||
activestorage (= 6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
actionmailbox (7.0.4.1)
|
||||
actionpack (= 7.0.4.1)
|
||||
activejob (= 7.0.4.1)
|
||||
activerecord (= 7.0.4.1)
|
||||
activestorage (= 7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
mail (>= 2.7.1)
|
||||
actionmailer (6.1.4.1)
|
||||
actionpack (= 6.1.4.1)
|
||||
actionview (= 6.1.4.1)
|
||||
activejob (= 6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
actionmailer (7.0.4.1)
|
||||
actionpack (= 7.0.4.1)
|
||||
actionview (= 7.0.4.1)
|
||||
activejob (= 7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
rails-dom-testing (~> 2.0)
|
||||
actionpack (6.1.4.1)
|
||||
actionview (= 6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
rack (~> 2.0, >= 2.0.9)
|
||||
actionpack (7.0.4.1)
|
||||
actionview (= 7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
rack (~> 2.0, >= 2.2.0)
|
||||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
||||
actiontext (6.1.4.1)
|
||||
actionpack (= 6.1.4.1)
|
||||
activerecord (= 6.1.4.1)
|
||||
activestorage (= 6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
actiontext (7.0.4.1)
|
||||
actionpack (= 7.0.4.1)
|
||||
activerecord (= 7.0.4.1)
|
||||
activestorage (= 7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
globalid (>= 0.6.0)
|
||||
nokogiri (>= 1.8.5)
|
||||
actionview (6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
actionview (7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
||||
activejob (6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
activejob (7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
activerecord (6.1.4.1)
|
||||
activemodel (= 6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
activestorage (6.1.4.1)
|
||||
actionpack (= 6.1.4.1)
|
||||
activejob (= 6.1.4.1)
|
||||
activerecord (= 6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
marcel (~> 1.0.0)
|
||||
activemodel (7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
activerecord (7.0.4.1)
|
||||
activemodel (= 7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
activestorage (7.0.4.1)
|
||||
actionpack (= 7.0.4.1)
|
||||
activejob (= 7.0.4.1)
|
||||
activerecord (= 7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
marcel (~> 1.0)
|
||||
mini_mime (>= 1.1.0)
|
||||
activesupport (6.1.4.1)
|
||||
activesupport (7.0.4.1)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 1.6, < 2)
|
||||
minitest (>= 5.1)
|
||||
tzinfo (~> 2.0)
|
||||
zeitwerk (~> 2.3)
|
||||
amazing_print (1.4.0)
|
||||
amoeba (3.2.0)
|
||||
activerecord (>= 4.2.0)
|
||||
api_matchers (0.6.2)
|
||||
activesupport (>= 3.2.5)
|
||||
nokogiri (>= 1.5.2)
|
||||
rspec (>= 3.1)
|
||||
apipie-rails (0.5.19)
|
||||
rails (>= 4.1)
|
||||
apipie-rails (0.9.1)
|
||||
actionpack (>= 5.0)
|
||||
activesupport (>= 5.0)
|
||||
ast (2.4.2)
|
||||
awesome_nested_set (3.4.0)
|
||||
activerecord (>= 4.0.0, < 7.0)
|
||||
awesome_print (1.9.2)
|
||||
awesome_nested_set (3.5.0)
|
||||
activerecord (>= 4.0.0, < 7.1)
|
||||
backport (1.2.0)
|
||||
bcrypt (3.1.16)
|
||||
benchmark (0.2.0)
|
||||
bcrypt (3.1.18)
|
||||
benchmark (0.2.1)
|
||||
blueprinter (0.25.3)
|
||||
bootsnap (1.9.1)
|
||||
msgpack (~> 1.0)
|
||||
bootsnap (1.15.0)
|
||||
msgpack (~> 1.2)
|
||||
builder (3.2.4)
|
||||
byebug (11.1.3)
|
||||
coderay (1.1.3)
|
||||
concurrent-ruby (1.1.9)
|
||||
concurrent-ruby (1.1.10)
|
||||
crass (1.0.6)
|
||||
data_migrate (8.5.0)
|
||||
activerecord (>= 5.0)
|
||||
railties (>= 5.0)
|
||||
database_cleaner (2.0.1)
|
||||
database_cleaner-active_record (~> 2.0.0)
|
||||
database_cleaner-active_record (2.0.1)
|
||||
activerecord (>= 5.a)
|
||||
database_cleaner-core (~> 2.0.0)
|
||||
database_cleaner-core (2.0.1)
|
||||
diff-lcs (1.4.4)
|
||||
date (3.3.3)
|
||||
diff-lcs (1.5.0)
|
||||
docile (1.4.0)
|
||||
doorkeeper (5.5.4)
|
||||
doorkeeper (5.6.2)
|
||||
railties (>= 5)
|
||||
dotenv (2.7.6)
|
||||
dotenv-rails (2.7.6)
|
||||
dotenv (= 2.7.6)
|
||||
dotenv (2.8.1)
|
||||
dotenv-rails (2.8.1)
|
||||
dotenv (= 2.8.1)
|
||||
railties (>= 3.2)
|
||||
e2mmap (0.1.0)
|
||||
email_validator (2.2.3)
|
||||
email_validator (2.2.4)
|
||||
activemodel
|
||||
erubi (1.10.0)
|
||||
factory_bot (6.2.0)
|
||||
erubi (1.12.0)
|
||||
factory_bot (6.2.1)
|
||||
activesupport (>= 5.0.0)
|
||||
factory_bot_rails (6.2.0)
|
||||
factory_bot (~> 6.2.0)
|
||||
railties (>= 5.0.0)
|
||||
faker (2.19.0)
|
||||
i18n (>= 1.6, < 2)
|
||||
ffi (1.15.4)
|
||||
faker (3.1.0)
|
||||
i18n (>= 1.8.11, < 2)
|
||||
ffi (1.15.5)
|
||||
figaro (1.2.0)
|
||||
thor (>= 0.14.0, < 2)
|
||||
gemoji (3.0.1)
|
||||
gemoji (4.0.1)
|
||||
gemoji-parser (1.3.1)
|
||||
gemoji (>= 2.1.0)
|
||||
globalid (0.5.2)
|
||||
globalid (1.0.1)
|
||||
activesupport (>= 5.0)
|
||||
httparty (0.20.0)
|
||||
mime-types (~> 3.0)
|
||||
multi_xml (>= 0.5.2)
|
||||
i18n (1.8.10)
|
||||
i18n (1.12.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jaro_winkler (1.5.4)
|
||||
kramdown (2.3.1)
|
||||
json (2.6.3)
|
||||
kramdown (2.4.0)
|
||||
rexml
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
listen (3.7.0)
|
||||
listen (3.8.0)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
loofah (2.12.0)
|
||||
loofah (2.19.1)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.5.9)
|
||||
mail (2.7.1)
|
||||
mail (2.8.0.1)
|
||||
mini_mime (>= 0.1.1)
|
||||
net-imap
|
||||
net-pop
|
||||
net-smtp
|
||||
marcel (1.0.2)
|
||||
method_source (1.0.0)
|
||||
mime-types (3.4.1)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2022.0105)
|
||||
mini_mime (1.1.2)
|
||||
mini_portile2 (2.6.1)
|
||||
minitest (5.14.4)
|
||||
msgpack (1.4.2)
|
||||
mini_portile2 (2.8.1)
|
||||
minitest (5.17.0)
|
||||
msgpack (1.6.0)
|
||||
multi_xml (0.6.0)
|
||||
net-imap (0.3.4)
|
||||
date
|
||||
net-protocol
|
||||
net-pop (0.1.2)
|
||||
net-protocol
|
||||
net-protocol (0.2.1)
|
||||
timeout
|
||||
net-smtp (0.3.3)
|
||||
net-protocol
|
||||
nio4r (2.5.8)
|
||||
nokogiri (1.12.5)
|
||||
mini_portile2 (~> 2.6.1)
|
||||
nokogiri (1.14.0)
|
||||
mini_portile2 (~> 2.8.0)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.12.5-arm64-darwin)
|
||||
racc (~> 1.4)
|
||||
nokogiri (1.12.5-x86_64-linux)
|
||||
racc (~> 1.4)
|
||||
oj (3.13.9)
|
||||
parallel (1.21.0)
|
||||
parser (3.0.2.0)
|
||||
oj (3.13.23)
|
||||
parallel (1.22.1)
|
||||
parser (3.2.0.0)
|
||||
ast (~> 2.4.1)
|
||||
pg (1.2.3)
|
||||
pg_search (2.3.5)
|
||||
pg (1.4.5)
|
||||
pg_search (2.3.6)
|
||||
activerecord (>= 5.2)
|
||||
activesupport (>= 5.2)
|
||||
pry (0.14.1)
|
||||
coderay (~> 1.1)
|
||||
method_source (~> 1.0)
|
||||
puma (5.5.2)
|
||||
psych (5.0.2)
|
||||
stringio
|
||||
puma (6.0.2)
|
||||
nio4r (~> 2.0)
|
||||
racc (1.6.0)
|
||||
rack (2.2.3)
|
||||
racc (1.6.2)
|
||||
rack (2.2.6.2)
|
||||
rack-cors (1.1.1)
|
||||
rack (>= 2.0.0)
|
||||
rack-test (1.1.0)
|
||||
rack (>= 1.0, < 3)
|
||||
rails (6.1.4.1)
|
||||
actioncable (= 6.1.4.1)
|
||||
actionmailbox (= 6.1.4.1)
|
||||
actionmailer (= 6.1.4.1)
|
||||
actionpack (= 6.1.4.1)
|
||||
actiontext (= 6.1.4.1)
|
||||
actionview (= 6.1.4.1)
|
||||
activejob (= 6.1.4.1)
|
||||
activemodel (= 6.1.4.1)
|
||||
activerecord (= 6.1.4.1)
|
||||
activestorage (= 6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
rack-test (2.0.2)
|
||||
rack (>= 1.3)
|
||||
rails (7.0.4.1)
|
||||
actioncable (= 7.0.4.1)
|
||||
actionmailbox (= 7.0.4.1)
|
||||
actionmailer (= 7.0.4.1)
|
||||
actionpack (= 7.0.4.1)
|
||||
actiontext (= 7.0.4.1)
|
||||
actionview (= 7.0.4.1)
|
||||
activejob (= 7.0.4.1)
|
||||
activemodel (= 7.0.4.1)
|
||||
activerecord (= 7.0.4.1)
|
||||
activestorage (= 7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
bundler (>= 1.15.0)
|
||||
railties (= 6.1.4.1)
|
||||
sprockets-rails (>= 2.0.0)
|
||||
railties (= 7.0.4.1)
|
||||
rails-dom-testing (2.0.3)
|
||||
activesupport (>= 4.2.0)
|
||||
nokogiri (>= 1.6)
|
||||
rails-html-sanitizer (1.4.2)
|
||||
loofah (~> 2.3)
|
||||
railties (6.1.4.1)
|
||||
actionpack (= 6.1.4.1)
|
||||
activesupport (= 6.1.4.1)
|
||||
rails-html-sanitizer (1.5.0)
|
||||
loofah (~> 2.19, >= 2.19.1)
|
||||
railties (7.0.4.1)
|
||||
actionpack (= 7.0.4.1)
|
||||
activesupport (= 7.0.4.1)
|
||||
method_source
|
||||
rake (>= 0.13)
|
||||
rake (>= 12.2)
|
||||
thor (~> 1.0)
|
||||
rainbow (3.0.0)
|
||||
zeitwerk (~> 2.5)
|
||||
rainbow (3.1.1)
|
||||
rake (13.0.6)
|
||||
rb-fsevent (0.11.0)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.10.1)
|
||||
ffi (~> 1.0)
|
||||
rdoc (6.3.2)
|
||||
regexp_parser (2.1.1)
|
||||
rdoc (6.5.0)
|
||||
psych (>= 4.0.0)
|
||||
regexp_parser (2.6.2)
|
||||
responders (3.0.1)
|
||||
actionpack (>= 5.0)
|
||||
railties (>= 5.0)
|
||||
reverse_markdown (2.0.0)
|
||||
reverse_markdown (2.1.1)
|
||||
nokogiri
|
||||
rexml (3.2.5)
|
||||
rspec (3.10.0)
|
||||
rspec-core (~> 3.10.0)
|
||||
rspec-expectations (~> 3.10.0)
|
||||
rspec-mocks (~> 3.10.0)
|
||||
rspec-core (3.10.1)
|
||||
rspec-support (~> 3.10.0)
|
||||
rspec-expectations (3.10.1)
|
||||
rspec (3.12.0)
|
||||
rspec-core (~> 3.12.0)
|
||||
rspec-expectations (~> 3.12.0)
|
||||
rspec-mocks (~> 3.12.0)
|
||||
rspec-core (3.12.0)
|
||||
rspec-support (~> 3.12.0)
|
||||
rspec-expectations (3.12.2)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.10.0)
|
||||
rspec-mocks (3.10.2)
|
||||
rspec-support (~> 3.12.0)
|
||||
rspec-mocks (3.12.3)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.10.0)
|
||||
rspec-rails (5.0.2)
|
||||
actionpack (>= 5.2)
|
||||
activesupport (>= 5.2)
|
||||
railties (>= 5.2)
|
||||
rspec-core (~> 3.10)
|
||||
rspec-expectations (~> 3.10)
|
||||
rspec-mocks (~> 3.10)
|
||||
rspec-support (~> 3.10)
|
||||
rspec-support (3.10.2)
|
||||
rspec_junit_formatter (0.4.1)
|
||||
rspec-support (~> 3.12.0)
|
||||
rspec-rails (6.0.1)
|
||||
actionpack (>= 6.1)
|
||||
activesupport (>= 6.1)
|
||||
railties (>= 6.1)
|
||||
rspec-core (~> 3.11)
|
||||
rspec-expectations (~> 3.11)
|
||||
rspec-mocks (~> 3.11)
|
||||
rspec-support (~> 3.11)
|
||||
rspec-support (3.12.0)
|
||||
rspec_junit_formatter (0.6.0)
|
||||
rspec-core (>= 2, < 4, != 2.12.0)
|
||||
rubocop (1.22.3)
|
||||
rubocop (1.43.0)
|
||||
json (~> 2.3)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 3.0.0.0)
|
||||
parser (>= 3.2.0.0)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 1.8, < 3.0)
|
||||
rexml
|
||||
rubocop-ast (>= 1.12.0, < 2.0)
|
||||
rexml (>= 3.2.5, < 4.0)
|
||||
rubocop-ast (>= 1.24.1, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 3.0)
|
||||
rubocop-ast (1.12.0)
|
||||
parser (>= 3.0.1.1)
|
||||
unicode-display_width (>= 2.4.0, < 3.0)
|
||||
rubocop-ast (1.24.1)
|
||||
parser (>= 3.1.1.0)
|
||||
ruby-progressbar (1.11.0)
|
||||
sdoc (2.2.0)
|
||||
sdoc (2.6.0)
|
||||
rdoc (>= 5.0)
|
||||
shoulda-matchers (5.0.0)
|
||||
shoulda-matchers (5.3.0)
|
||||
activesupport (>= 5.2.0)
|
||||
simplecov (0.21.2)
|
||||
simplecov (0.22.0)
|
||||
docile (~> 1.1)
|
||||
simplecov-html (~> 0.11)
|
||||
simplecov_json_formatter (~> 0.1)
|
||||
simplecov-html (0.12.3)
|
||||
simplecov_json_formatter (0.1.3)
|
||||
solargraph (0.44.0)
|
||||
simplecov_json_formatter (0.1.4)
|
||||
solargraph (0.48.0)
|
||||
backport (~> 1.2)
|
||||
benchmark
|
||||
bundler (>= 1.17.2)
|
||||
|
|
@ -268,42 +294,46 @@ GEM
|
|||
thor (~> 1.0)
|
||||
tilt (~> 2.0)
|
||||
yard (~> 0.9, >= 0.9.24)
|
||||
spring (3.0.0)
|
||||
spring (4.1.1)
|
||||
spring-commands-rspec (1.0.4)
|
||||
spring (>= 0.9.1)
|
||||
sprockets (4.0.2)
|
||||
sprockets (4.2.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
rack (> 1, < 3)
|
||||
sprockets-rails (3.2.2)
|
||||
actionpack (>= 4.0)
|
||||
activesupport (>= 4.0)
|
||||
rack (>= 2.2.4, < 4)
|
||||
sprockets-rails (3.4.2)
|
||||
actionpack (>= 5.2)
|
||||
activesupport (>= 5.2)
|
||||
sprockets (>= 3.0.0)
|
||||
thor (1.1.0)
|
||||
tilt (2.0.10)
|
||||
tzinfo (2.0.4)
|
||||
stringio (3.0.4)
|
||||
thor (1.2.1)
|
||||
tilt (2.0.11)
|
||||
timeout (0.3.1)
|
||||
tzinfo (2.0.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
unicode-display_width (2.1.0)
|
||||
unicode-display_width (2.4.2)
|
||||
webrick (1.7.0)
|
||||
websocket-driver (0.7.5)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.5)
|
||||
will_paginate (3.3.1)
|
||||
yard (0.9.26)
|
||||
zeitwerk (2.5.1)
|
||||
yard (0.9.28)
|
||||
webrick (~> 1.7.0)
|
||||
zeitwerk (2.6.6)
|
||||
|
||||
PLATFORMS
|
||||
arm64-darwin-21
|
||||
ruby
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
amazing_print
|
||||
amoeba
|
||||
api_matchers
|
||||
apipie-rails
|
||||
awesome_nested_set
|
||||
awesome_print
|
||||
bcrypt
|
||||
blueprinter
|
||||
bootsnap
|
||||
byebug
|
||||
data_migrate
|
||||
database_cleaner
|
||||
doorkeeper
|
||||
dotenv-rails
|
||||
|
|
@ -331,10 +361,11 @@ DEPENDENCIES
|
|||
solargraph
|
||||
spring
|
||||
spring-commands-rspec
|
||||
sprockets-rails
|
||||
will_paginate (~> 3.3)
|
||||
|
||||
RUBY VERSION
|
||||
ruby 3.0.0p0
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.2
|
||||
2.3.26
|
||||
|
|
|
|||
0
app/assets/config/manifest.js
Normal file
0
app/assets/config/manifest.js
Normal file
|
|
@ -18,8 +18,8 @@ module Api
|
|||
end
|
||||
|
||||
view :weapons do
|
||||
field :conflicts, if: ->(_fn, _obj, options) { options.key?(:conflict_weapons) } do |_, options|
|
||||
GridWeaponBlueprint.render_as_hash(options[:conflict_weapons], view: :nested)
|
||||
field :conflicts, if: ->(_fn, _obj, options) { options.key?(:conflict_weapon) } do |_, options|
|
||||
GridWeaponBlueprint.render_as_hash(options[:conflict_weapon], view: :nested)
|
||||
end
|
||||
|
||||
field :incoming, if: ->(_fn, _obj, options) { options.key?(:incoming_weapon) } do |_, options|
|
||||
|
|
|
|||
|
|
@ -14,6 +14,10 @@ module Api
|
|||
field :errors, if: ->(_field_name, _error, options) { options.key?(:exception) } do |_, options|
|
||||
options[:exception]
|
||||
end
|
||||
|
||||
field :errors, if: ->(_field_name, object, options) { options.key?(:errors) } do |_, options|
|
||||
options[:errors]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -11,11 +11,33 @@ module Api
|
|||
view :nested do
|
||||
fields :position, :uncap_level, :perpetuity
|
||||
|
||||
field :transcendence_step, if: lambda { |_fn, obj, _opt|
|
||||
obj.character.ulb
|
||||
} do |c|
|
||||
c.transcendence_step
|
||||
end
|
||||
|
||||
field :awakening do |c|
|
||||
{
|
||||
type: c.awakening_type,
|
||||
level: c.awakening_level
|
||||
}
|
||||
c.awakening
|
||||
end
|
||||
|
||||
field :over_mastery, if: lambda { |_fn, obj, _opt|
|
||||
!obj.ring1['modifier'].nil? && !obj.ring2['modifier'].nil?
|
||||
} do |c|
|
||||
rings = []
|
||||
|
||||
rings.push(c.ring1) unless c.ring1['modifier'].nil?
|
||||
rings.push(c.ring2) unless c.ring2['modifier'].nil?
|
||||
rings.push(c.ring3) unless c.ring3['modifier'].nil?
|
||||
rings.push(c.ring4) unless c.ring4['modifier'].nil?
|
||||
|
||||
rings
|
||||
end
|
||||
|
||||
field :aetherial_mastery, if: lambda { |_fn, obj, _opt|
|
||||
!obj.earring['modifier'].nil?
|
||||
} do |c|
|
||||
c.earring
|
||||
end
|
||||
|
||||
association :character, name: :object, blueprint: CharacterBlueprint
|
||||
|
|
@ -25,6 +47,10 @@ module Api
|
|||
include_view :nested
|
||||
association :party, blueprint: PartyBlueprint, view: :minimal
|
||||
end
|
||||
|
||||
view :destroyed do
|
||||
fields :position, :created_at, :updated_at
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ module Api
|
|||
class GridSummonBlueprint < ApiBlueprint
|
||||
view :uncap do
|
||||
association :party, blueprint: PartyBlueprint, view: :minimal
|
||||
fields :position, :uncap_level
|
||||
fields :position, :uncap_level, :transcendence_step
|
||||
end
|
||||
|
||||
view :nested do
|
||||
fields :main, :friend, :position, :uncap_level
|
||||
fields :main, :friend, :position, :uncap_level, :transcendence_step
|
||||
association :summon, name: :object, blueprint: SummonBlueprint
|
||||
end
|
||||
|
||||
|
|
@ -17,6 +17,10 @@ module Api
|
|||
include_view :nested
|
||||
association :party, blueprint: PartyBlueprint, view: :minimal
|
||||
end
|
||||
|
||||
view :destroyed do
|
||||
fields :main, :friend, :position, :created_at, :updated_at
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ module Api
|
|||
[2, 3, 17, 24].include?(w.weapon.series)
|
||||
}
|
||||
|
||||
field :ax, if: ->(_field_name, w, _options) { w.weapon.ax.positive? } do |w|
|
||||
field :ax, if: ->(_field_name, w, _options) { w.weapon.ax } do |w|
|
||||
[
|
||||
{
|
||||
modifier: w.ax_modifier1,
|
||||
|
|
@ -43,6 +43,10 @@ module Api
|
|||
include_view :nested
|
||||
association :party, blueprint: PartyBlueprint, view: :minimal
|
||||
end
|
||||
|
||||
view :destroyed do
|
||||
fields :mainhand, :position, :created_at, :updated_at
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
20
app/blueprints/api/v1/job_accessory_blueprint.rb
Normal file
20
app/blueprints/api/v1/job_accessory_blueprint.rb
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Api
|
||||
module V1
|
||||
class JobAccessoryBlueprint < ApiBlueprint
|
||||
field :name do |skill|
|
||||
{
|
||||
en: skill.name_en,
|
||||
ja: skill.name_jp
|
||||
}
|
||||
end
|
||||
|
||||
association :job,
|
||||
name: :job,
|
||||
blueprint: JobBlueprint
|
||||
|
||||
fields :granblue_id, :rarity, :release_date
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -17,7 +17,7 @@ module Api
|
|||
]
|
||||
end
|
||||
|
||||
fields :row, :ml, :order
|
||||
fields :granblue_id, :row, :ml, :order
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -33,7 +33,12 @@ module Api
|
|||
end
|
||||
|
||||
view :minimal do
|
||||
fields :name, :element, :shortcode, :favorited, :extra, :created_at, :updated_at
|
||||
fields :name, :element, :shortcode, :favorited, :extra,
|
||||
:full_auto, :clear_time, :auto_guard, :created_at, :updated_at
|
||||
|
||||
field :remix do |p|
|
||||
p.is_remix
|
||||
end
|
||||
|
||||
association :raid,
|
||||
blueprint: RaidBlueprint
|
||||
|
|
@ -63,7 +68,18 @@ module Api
|
|||
include_view :characters
|
||||
include_view :job_skills
|
||||
|
||||
fields :description, :extra
|
||||
association :accessory,
|
||||
blueprint: JobAccessoryBlueprint
|
||||
fields :description, :charge_attack, :button_count, :turn_count, :chain_count
|
||||
|
||||
association :source_party,
|
||||
blueprint: PartyBlueprint,
|
||||
view: :minimal
|
||||
|
||||
# TODO: This should probably be paginated
|
||||
association :remixes,
|
||||
blueprint: PartyBlueprint,
|
||||
view: :collection
|
||||
end
|
||||
|
||||
view :collection do
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@ module Api
|
|||
field :uncap do |w|
|
||||
{
|
||||
flb: w.flb,
|
||||
ulb: w.ulb
|
||||
ulb: w.ulb,
|
||||
xlb: w.xlb
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -24,7 +25,8 @@ module Api
|
|||
min_hp: w.min_hp,
|
||||
max_hp: w.max_hp,
|
||||
max_hp_flb: w.max_hp_flb,
|
||||
max_hp_ulb: w.max_hp_ulb
|
||||
max_hp_ulb: w.max_hp_ulb,
|
||||
max_hp_xlb: w.max_hp_xlb
|
||||
}
|
||||
end
|
||||
|
||||
|
|
@ -33,7 +35,8 @@ module Api
|
|||
min_atk: w.min_atk,
|
||||
max_atk: w.max_atk,
|
||||
max_atk_flb: w.max_atk_flb,
|
||||
max_atk_ulb: w.max_atk_ulb
|
||||
max_atk_ulb: w.max_atk_ulb,
|
||||
max_atk_xlb: w.max_atk_xlb
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
|||
9
app/blueprints/api/v1/update_blueprint.rb
Normal file
9
app/blueprints/api/v1/update_blueprint.rb
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Api
|
||||
module V1
|
||||
class UpdateBlueprint < Blueprinter::Base
|
||||
fields :version, :update_type, :updated_at
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -12,7 +12,7 @@ module Api
|
|||
|
||||
fields :granblue_id, :element, :proficiency,
|
||||
:max_level, :max_skill_level, :limit, :rarity,
|
||||
:series, :ax, :awakening
|
||||
:series, :ax, :ax_type, :awakening
|
||||
|
||||
field :uncap do |w|
|
||||
{
|
||||
|
|
|
|||
|
|
@ -36,6 +36,11 @@ module Api
|
|||
respond_to :json
|
||||
|
||||
##### Methods
|
||||
# Returns the latest update
|
||||
def version
|
||||
render json: UpdateBlueprint.render_as_json(AppUpdate.last)
|
||||
end
|
||||
|
||||
# Assign the current user if the Doorkeeper token isn't nil, then
|
||||
# update the current user's last seen datetime and last IP address
|
||||
# before returning
|
||||
|
|
@ -85,9 +90,9 @@ module Api
|
|||
|
||||
def render_not_found_response(object)
|
||||
render json: ErrorBlueprint.render(nil, error: {
|
||||
message: "#{object.capitalize} could not be found",
|
||||
code: 'not_found'
|
||||
}), status: :not_found
|
||||
message: "#{object.capitalize} could not be found",
|
||||
code: 'not_found'
|
||||
}), status: :not_found
|
||||
end
|
||||
|
||||
def render_unauthorized_response
|
||||
|
|
|
|||
|
|
@ -3,50 +3,55 @@
|
|||
module Api
|
||||
module V1
|
||||
class GridCharactersController < Api::V1::ApiController
|
||||
attr_reader :party, :incoming_character, :current_characters
|
||||
|
||||
before_action :find_party, only: :create
|
||||
before_action :set, only: %i[update destroy]
|
||||
before_action :check_authorization, only: %i[update destroy]
|
||||
before_action :find_incoming_character, only: :create
|
||||
before_action :find_current_characters, only: :create
|
||||
|
||||
def create
|
||||
party = Party.find(character_params[:party_id])
|
||||
incoming_character = Character.find(character_params[:character_id])
|
||||
|
||||
render_unauthorized_response if current_user && (party.user != current_user)
|
||||
|
||||
current_characters = party.characters.map do |c|
|
||||
Character.find(c.character.id).character_id
|
||||
end.flatten
|
||||
|
||||
# Check all character ids on incoming character against current characters
|
||||
conflict_ids = (current_characters & incoming_character.character_id)
|
||||
|
||||
if conflict_ids.length.positive?
|
||||
# Find conflicting character ids in party characters
|
||||
conflict_characters = party.characters.filter do |c|
|
||||
c if (conflict_ids & c.character.character_id).length.positive?
|
||||
end.flatten
|
||||
|
||||
if !conflict_characters.nil? && conflict_characters.length.positive?
|
||||
# Render a template with the conflicting and incoming characters,
|
||||
# as well as the selected position, so the user can be presented with
|
||||
# a decision.
|
||||
|
||||
# Up to 3 characters can be removed at the same time
|
||||
render json: ConflictBlueprint.render(nil, view: :characters,
|
||||
conflict_characters: conflict_characters,
|
||||
incoming_character: incoming_character,
|
||||
incoming_position: character_params[:position])
|
||||
conflict_view = render_conflict_view(conflict_characters, incoming_character, character_params[:position])
|
||||
render json: conflict_view
|
||||
else
|
||||
# Replace the grid character in the position if it is already filled
|
||||
# Destroy the grid character in the position if it is already filled
|
||||
if GridCharacter.where(party_id: party.id, position: character_params[:position]).exists?
|
||||
character = GridCharacter.where(party_id: party.id, position: character_params[:position]).limit(1)[0]
|
||||
character.character_id = incoming_character.id
|
||||
|
||||
# Otherwise, create a new grid character
|
||||
else
|
||||
character = GridCharacter.create!(character_params.merge(party_id: party.id,
|
||||
character_id: incoming_character.id))
|
||||
character.destroy
|
||||
end
|
||||
|
||||
render json: GridCharacterBlueprint.render(character, view: :nested), status: :created if character.save!
|
||||
# Then, create a new grid character
|
||||
character = GridCharacter.create!(character_params.merge(party_id: party.id,
|
||||
character_id: incoming_character.id))
|
||||
|
||||
if character.save!
|
||||
grid_character_view = render_grid_character_view(character)
|
||||
render json: grid_character_view, status: :created
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
mastery = {}
|
||||
%i[ring1 ring2 ring3 ring4 earring awakening].each do |key|
|
||||
value = character_params.to_h[key]
|
||||
mastery[key] = value unless value.nil?
|
||||
end
|
||||
|
||||
@character.attributes = character_params.merge(mastery)
|
||||
|
||||
return render json: GridCharacterBlueprint.render(@character, view: :full) if @character.save
|
||||
|
||||
render_validation_error_response(@character)
|
||||
end
|
||||
|
||||
def resolve
|
||||
incoming = Character.find(resolve_params[:incoming])
|
||||
conflicting = resolve_params[:conflicting].map { |id| GridCharacter.find(id) }
|
||||
|
|
@ -80,25 +85,84 @@ module Api
|
|||
render_unauthorized_response if current_user && (character.party.user != current_user)
|
||||
|
||||
character.uncap_level = character_params[:uncap_level]
|
||||
character.transcendence_step = character_params[:transcendence_step]
|
||||
return unless character.save!
|
||||
|
||||
render json: GridCharacterBlueprint.render(character, view: :nested, root: :grid_character)
|
||||
end
|
||||
|
||||
# TODO: Implement removing characters
|
||||
def destroy; end
|
||||
def destroy
|
||||
render_unauthorized_response if @character.party.user != current_user
|
||||
return render json: GridCharacterBlueprint.render(@character, view: :destroyed) if @character.destroy
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def conflict_characters
|
||||
@conflict_characters ||= find_conflict_characters(incoming_character)
|
||||
end
|
||||
|
||||
def find_conflict_characters(incoming_character)
|
||||
# Check all character ids on incoming character against current characters
|
||||
conflict_ids = (current_characters & incoming_character.character_id)
|
||||
|
||||
return unless conflict_ids.length.positive?
|
||||
|
||||
# Find conflicting character ids in party characters
|
||||
party.characters.filter do |c|
|
||||
c if (conflict_ids & c.character.character_id).length.positive?
|
||||
end.flatten
|
||||
end
|
||||
|
||||
def find_current_characters
|
||||
# Make a list of all character IDs
|
||||
@current_characters = party.characters.map do |c|
|
||||
Character.find(c.character.id).character_id
|
||||
end.flatten
|
||||
end
|
||||
|
||||
def set
|
||||
@character = GridCharacter.find(params[:id])
|
||||
end
|
||||
|
||||
def find_incoming_character
|
||||
@incoming_character = Character.find(character_params[:character_id])
|
||||
end
|
||||
|
||||
def find_party
|
||||
@party = Party.find(character_params[:party_id])
|
||||
render_unauthorized_response if current_user && (party.user != current_user)
|
||||
end
|
||||
|
||||
def check_authorization
|
||||
render_unauthorized_response if @character.party.user != current_user
|
||||
end
|
||||
|
||||
# Specify whitelisted properties that can be modified.
|
||||
def character_params
|
||||
params.require(:character).permit(:id, :party_id, :character_id, :position, :uncap_level, :conflicting,
|
||||
:incoming)
|
||||
params.require(:character).permit(:id, :party_id, :character_id, :position,
|
||||
:uncap_level, :transcendence_step, :perpetuity,
|
||||
ring1: %i[modifier strength], ring2: %i[modifier strength],
|
||||
ring3: %i[modifier strength], ring4: %i[modifier strength],
|
||||
earring: %i[modifier strength], awakening: %i[type level])
|
||||
end
|
||||
|
||||
def resolve_params
|
||||
params.require(:resolve).permit(:position, :incoming, conflicting: [])
|
||||
end
|
||||
|
||||
def render_conflict_view(conflict_characters, incoming_character, incoming_position)
|
||||
ConflictBlueprint.render(nil,
|
||||
view: :characters,
|
||||
conflict_characters: conflict_characters,
|
||||
incoming_character: incoming_character,
|
||||
incoming_position: incoming_position)
|
||||
end
|
||||
|
||||
def render_grid_character_view(grid_character)
|
||||
GridCharacterBlueprint.render(grid_character, view: :nested)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -3,12 +3,34 @@
|
|||
module Api
|
||||
module V1
|
||||
class GridSummonsController < Api::V1::ApiController
|
||||
before_action :set, only: %w[update destroy]
|
||||
|
||||
attr_reader :party, :incoming_summon
|
||||
|
||||
before_action :find_party, only: :create
|
||||
before_action :find_incoming_summon, only: :create
|
||||
|
||||
def create
|
||||
party = Party.find(summon_params[:party_id])
|
||||
canonical_summon = Summon.find(summon_params[:summon_id])
|
||||
# Create the GridSummon with the desired parameters
|
||||
summon = GridSummon.new
|
||||
summon.attributes = summon_params.merge(party_id: party.id, summon_id: incoming_summon.id)
|
||||
|
||||
render_unauthorized_response if current_user && (party.user != current_user)
|
||||
if summon.validate
|
||||
save_summon(summon)
|
||||
else
|
||||
handle_conflict(summon)
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
@summon.attributes = summon_params
|
||||
|
||||
return render json: GridSummonBlueprint.render(@summon, view: :nested, root: :grid_summon) if @summon.save
|
||||
|
||||
render_validation_error_response(@character)
|
||||
end
|
||||
|
||||
def save_summon(summon)
|
||||
if (grid_summon = GridSummon.where(
|
||||
party_id: party.id,
|
||||
position: summon_params[:position]
|
||||
|
|
@ -16,8 +38,24 @@ module Api
|
|||
GridSummon.destroy(grid_summon.id)
|
||||
end
|
||||
|
||||
summon = GridSummon.create!(summon_params.merge(party_id: party.id, summon_id: canonical_summon.id))
|
||||
render json: GridSummonBlueprint.render(summon, view: :nested), status: :created if summon.save!
|
||||
return unless summon.save
|
||||
|
||||
output = render_grid_summon_view(summon)
|
||||
render json: output, status: :created
|
||||
end
|
||||
|
||||
def handle_conflict(summon)
|
||||
conflict_summon = summon.conflicts(party)
|
||||
ap conflict_summon
|
||||
return unless conflict_summon.summon.id == incoming_summon.id
|
||||
|
||||
old_position = conflict_summon.position
|
||||
conflict_summon.position = summon_params[:position]
|
||||
|
||||
return unless conflict_summon.save
|
||||
|
||||
output = render_grid_summon_view(conflict_summon, old_position)
|
||||
render json: output
|
||||
end
|
||||
|
||||
def update_uncap_level
|
||||
|
|
@ -26,19 +64,44 @@ module Api
|
|||
render_unauthorized_response if current_user && (summon.party.user != current_user)
|
||||
|
||||
summon.uncap_level = summon_params[:uncap_level]
|
||||
summon.transcendence_step = 0
|
||||
|
||||
return unless summon.save!
|
||||
|
||||
render json: GridSummonBlueprint.render(summon, view: :nested, root: :grid_summon)
|
||||
end
|
||||
|
||||
# TODO: Implement removing summons
|
||||
def destroy; end
|
||||
def destroy
|
||||
render_unauthorized_response if @summon.party.user != current_user
|
||||
return render json: GridSummonBlueprint.render(@summon, view: :destroyed) if @summon.destroy
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def find_incoming_summon
|
||||
@incoming_summon = Summon.find_by(id: summon_params[:summon_id])
|
||||
end
|
||||
|
||||
def find_party
|
||||
# BUG: I can create grid weapons even when I'm not logged in on an authenticated party
|
||||
@party = Party.find(summon_params[:party_id])
|
||||
render_unauthorized_response if current_user && (party.user != current_user)
|
||||
end
|
||||
|
||||
def render_grid_summon_view(grid_summon, conflict_position = nil)
|
||||
GridSummonBlueprint.render(grid_summon, view: :nested,
|
||||
root: :grid_summon,
|
||||
meta: { replaced: conflict_position })
|
||||
end
|
||||
|
||||
def set
|
||||
@summon = GridSummon.where('id = ?', params[:id]).first
|
||||
end
|
||||
|
||||
# Specify whitelisted properties that can be modified.
|
||||
def summon_params
|
||||
params.require(:summon).permit(:id, :party_id, :summon_id, :position, :main, :friend, :uncap_level)
|
||||
params.require(:summon).permit(:id, :party_id, :summon_id, :position, :main, :friend, :uncap_level,
|
||||
:transcendence_step)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -3,72 +3,23 @@
|
|||
module Api
|
||||
module V1
|
||||
class GridWeaponsController < Api::V1::ApiController
|
||||
before_action :set, except: %w[create update_uncap_level destroy]
|
||||
before_action :set, except: %w[create update_uncap_level]
|
||||
|
||||
attr_reader :party, :incoming_weapon
|
||||
|
||||
before_action :find_party, only: :create
|
||||
before_action :find_incoming_weapon, only: :create
|
||||
|
||||
def create
|
||||
# BUG: I can create grid weapons even when I'm not logged in on an authenticated party
|
||||
party = Party.find(weapon_params[:party_id])
|
||||
render_unauthorized_response if current_user && (party.user != current_user)
|
||||
|
||||
incoming_weapon = Weapon.find(weapon_params[:weapon_id])
|
||||
incoming_weapon.limit
|
||||
|
||||
# Set up conflict_position in case it is used
|
||||
conflict_position = nil
|
||||
|
||||
if [9, 10, 11].include?(weapon_params[:position].to_i) && ![11, 16, 17, 28, 29].include?(incoming_weapon.series)
|
||||
raise Api::V1::IncompatibleWeaponForPositionError.new(weapon: incoming_weapon)
|
||||
end
|
||||
|
||||
# 1. If the weapon has a limit
|
||||
# 2. If the weapon does not match a weapon already in grid
|
||||
# 3. If the incoming weapon has a limit and other weapons of the same series are in grid
|
||||
if incoming_weapon.limit && incoming_weapon.limit.positive?
|
||||
conflict_weapon = party.weapons.find do |weapon|
|
||||
weapon if incoming_weapon.series == weapon.weapon.series ||
|
||||
([2, 3].include?(incoming_weapon.series) && [2, 3].include?(weapon.weapon.series))
|
||||
end
|
||||
|
||||
if conflict_weapon
|
||||
if conflict_weapon.weapon.id != incoming_weapon.id
|
||||
return render json: ConflictBlueprint.render(nil, view: :weapons,
|
||||
conflict_weapons: [conflict_weapon],
|
||||
incoming_weapon: incoming_weapon,
|
||||
incoming_position: weapon_params[:position])
|
||||
else
|
||||
# Destroy the original grid weapon
|
||||
# TODO: Use conflict_position to alert the client that that position has changed
|
||||
conflict_position = conflict_weapon.position
|
||||
GridWeapon.destroy(conflict_weapon.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Destroy the existing item before adding a new one
|
||||
if (grid_weapon = GridWeapon.where(
|
||||
party_id: party.id,
|
||||
position: weapon_params[:position]
|
||||
).first)
|
||||
GridWeapon.destroy(grid_weapon.id)
|
||||
end
|
||||
|
||||
# Create the GridWeapon with the desired parameters
|
||||
weapon = GridWeapon.new
|
||||
weapon.attributes = weapon_params.merge(party_id: party.id, weapon_id: incoming_weapon.id)
|
||||
|
||||
if weapon.position == -1
|
||||
party.element = weapon.weapon.element
|
||||
party.save!
|
||||
if weapon.validate
|
||||
save_weapon(weapon)
|
||||
else
|
||||
handle_conflict(weapon)
|
||||
end
|
||||
|
||||
# Render the new weapon and any weapons changed
|
||||
return unless weapon.save!
|
||||
|
||||
render json: GridWeaponBlueprint.render(weapon, view: :full,
|
||||
root: :grid_weapon,
|
||||
meta: {
|
||||
replaced: conflict_position
|
||||
}),
|
||||
status: :created
|
||||
end
|
||||
|
||||
def resolve
|
||||
|
|
@ -89,7 +40,11 @@ module Api
|
|||
|
||||
weapon = GridWeapon.create!(party_id: party.id, weapon_id: incoming.id,
|
||||
position: resolve_params[:position], uncap_level: uncap_level)
|
||||
render json: GridWeaponBlueprint.render(weapon, view: :nested), status: :created if weapon.save!
|
||||
|
||||
if weapon.save
|
||||
view = render_grid_weapon_view(weapon, resolve_params[:position])
|
||||
render json: view, status: :created
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
|
|
@ -104,8 +59,10 @@ module Api
|
|||
render json: GridWeaponBlueprint.render(@weapon, view: :nested) if @weapon.update(weapon_params)
|
||||
end
|
||||
|
||||
# TODO: Implement removing characters
|
||||
def destroy; end
|
||||
def destroy
|
||||
render_unauthorized_response if @weapon.party.user != current_user
|
||||
return render json: GridCharacterBlueprint.render(@weapon, view: :destroyed) if @weapon.destroy
|
||||
end
|
||||
|
||||
def update_uncap_level
|
||||
weapon = GridWeapon.find(weapon_params[:id])
|
||||
|
|
@ -121,6 +78,107 @@ module Api
|
|||
|
||||
private
|
||||
|
||||
def check_weapon_compatibility
|
||||
return if compatible_with_position?(incoming_weapon, weapon_params[:position])
|
||||
|
||||
raise Api::V1::IncompatibleWeaponForPositionError.new(weapon: incoming_weapon)
|
||||
end
|
||||
|
||||
# Check if the incoming weapon is compatible with the specified position
|
||||
def compatible_with_position?(incoming_weapon, position)
|
||||
false if [9, 10, 11].include?(position.to_i) && ![11, 16, 17, 28, 29].include?(incoming_weapon.series)
|
||||
true
|
||||
end
|
||||
|
||||
def conflict_weapon
|
||||
@conflict_weapon ||= find_conflict_weapon(party, incoming_weapon)
|
||||
end
|
||||
|
||||
# Find a conflict weapon if one exists
|
||||
def find_conflict_weapon(party, incoming_weapon)
|
||||
return unless incoming_weapon.limit
|
||||
|
||||
party.weapons.find do |weapon|
|
||||
series_match = incoming_weapon.series == weapon.weapon.series
|
||||
weapon if series_match || opus_or_draconic?(weapon.weapon) && opus_or_draconic?(incoming_weapon)
|
||||
end
|
||||
end
|
||||
|
||||
def find_incoming_weapon
|
||||
@incoming_weapon = Weapon.find_by(id: weapon_params[:weapon_id])
|
||||
end
|
||||
|
||||
def find_party
|
||||
# BUG: I can create grid weapons even when I'm not logged in on an authenticated party
|
||||
@party = Party.find(weapon_params[:party_id])
|
||||
render_unauthorized_response if current_user && (party.user != current_user)
|
||||
end
|
||||
|
||||
def opus_or_draconic?(weapon)
|
||||
[2, 3].include?(weapon.series)
|
||||
end
|
||||
|
||||
# Render the conflict view as a string
|
||||
def render_conflict_view(conflict_weapon, incoming_weapon, incoming_position)
|
||||
ConflictBlueprint.render(nil, view: :weapons,
|
||||
conflict_weapon: conflict_weapon,
|
||||
incoming_weapon: incoming_weapon,
|
||||
incoming_position: incoming_position)
|
||||
end
|
||||
|
||||
def render_grid_weapon_view(grid_weapon, conflict_position)
|
||||
GridWeaponBlueprint.render(grid_weapon, view: :full,
|
||||
root: :grid_weapon,
|
||||
meta: { replaced: conflict_position })
|
||||
end
|
||||
|
||||
def save_weapon(weapon)
|
||||
# Check weapon validation and delete existing grid weapon
|
||||
# if one already exists at position
|
||||
if (grid_weapon = GridWeapon.where(
|
||||
party_id: party.id,
|
||||
position: weapon_params[:position]
|
||||
).first)
|
||||
GridWeapon.destroy(grid_weapon.id)
|
||||
end
|
||||
|
||||
# Set the party's element if the grid weapon is being set as mainhand
|
||||
if weapon.position == -1
|
||||
party.element = weapon.weapon.element
|
||||
party.save!
|
||||
elsif [9, 10, 11].include?(weapon.position)
|
||||
party.extra = true
|
||||
party.save!
|
||||
end
|
||||
|
||||
# Render the weapon if it can be saved
|
||||
return unless weapon.save
|
||||
|
||||
output = GridWeaponBlueprint.render(weapon, view: :full, root: :grid_weapon)
|
||||
render json: output, status: :created
|
||||
end
|
||||
|
||||
def handle_conflict(weapon)
|
||||
conflict_weapon = weapon.conflicts(party)
|
||||
|
||||
if conflict_weapon.weapon.id != incoming_weapon.id
|
||||
# Render conflict view if the underlying canonical weapons
|
||||
# are not identical
|
||||
output = render_conflict_view([conflict_weapon], incoming_weapon, weapon_params[:position])
|
||||
render json: output
|
||||
else
|
||||
# Move the original grid weapon to the new position
|
||||
# to preserve keys and other modifications
|
||||
old_position = conflict_weapon.position
|
||||
conflict_weapon.position = weapon_params[:position]
|
||||
|
||||
if conflict_weapon.save
|
||||
output = render_grid_weapon_view(conflict_weapon, old_position)
|
||||
render json: output
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def set
|
||||
@weapon = GridWeapon.where('id = ?', params[:id]).first
|
||||
end
|
||||
|
|
|
|||
12
app/controllers/api/v1/job_accessories_controller.rb
Normal file
12
app/controllers/api/v1/job_accessories_controller.rb
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Api
|
||||
module V1
|
||||
class JobAccessoriesController < Api::V1::ApiController
|
||||
def job
|
||||
accessories = JobAccessory.where('job_id = ?', params[:id])
|
||||
render json: JobAccessoryBlueprint.render(accessories)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -29,10 +29,10 @@ module Api
|
|||
|
||||
# Remove extra subskills if necessary
|
||||
if old_job &&
|
||||
%w[1 2 3].include?(old_job.row) &&
|
||||
%w[4 5 ex2].include?(job.row) &&
|
||||
@party.skill1 && @party.skill2 && @party.skill3 &&
|
||||
@party.skill1.sub && @party.skill2.sub && @party.skill3.sub
|
||||
%w[1 2 3].include?(old_job.row) &&
|
||||
%w[4 5 ex2].include?(job.row) &&
|
||||
@party.skill1 && @party.skill2 && @party.skill3 &&
|
||||
@party.skill1.sub && @party.skill2.sub && @party.skill3.sub
|
||||
@party['skill3_id'] = nil
|
||||
end
|
||||
else
|
||||
|
|
@ -63,8 +63,7 @@ module Api
|
|||
new_skill_ids = new_skill_keys.map { |key| job_params[key] }
|
||||
new_skill_ids.map do |id|
|
||||
skill = JobSkill.find(id)
|
||||
raise Api::V1::IncompatibleSkillError.new(job: @party.job, skill: skill) if mismatched_skill(@party.job,
|
||||
skill)
|
||||
raise Api::V1::IncompatibleSkillError.new(job: @party.job, skill: skill) if mismatched_skill(@party.job, skill)
|
||||
end
|
||||
|
||||
positions = extract_positions_from_keys(new_skill_keys)
|
||||
|
|
@ -154,7 +153,11 @@ module Api
|
|||
mismatched_base = skill.job.base_job && (job.row != 'ex2' || skill.job.base_job.id != job.base_job.id) && skill.base
|
||||
|
||||
if %w[4 5 ex2].include?(job.row)
|
||||
true if mismatched_emp || mismatched_base || mismatched_main
|
||||
if skill.base && !mismatched_base
|
||||
false
|
||||
else
|
||||
true if mismatched_emp || mismatched_main
|
||||
end
|
||||
elsif mismatched_emp || mismatched_main
|
||||
true
|
||||
else
|
||||
|
|
|
|||
|
|
@ -8,22 +8,25 @@ module Api
|
|||
before_action :set, only: %w[update destroy]
|
||||
|
||||
def create
|
||||
@party = Party.new(shortcode: random_string)
|
||||
@party.extra = party_params['extra']
|
||||
party = Party.new
|
||||
party.user = current_user if current_user
|
||||
party.attributes = party_params if party_params
|
||||
|
||||
# TODO: Extract this into a different method
|
||||
job = Job.find(party_params['job_id']) if party_params['job_id'].present?
|
||||
if job
|
||||
job_skills = JobSkill.where(job: job.id, main: true)
|
||||
job_skills.each_with_index do |skill, index|
|
||||
@party["skill#{index}_id"] = skill.id
|
||||
end
|
||||
end
|
||||
# unless party_params.empty?
|
||||
# party.attributes = party_params
|
||||
#
|
||||
# # TODO: Extract this into a different method
|
||||
# job = Job.find(party_params['job_id']) if party_params['job_id'].present?
|
||||
# if job
|
||||
# job_skills = JobSkill.where(job: job.id, main: true)
|
||||
# job_skills.each_with_index do |skill, index|
|
||||
# party["skill#{index}_id"] = skill.id
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
|
||||
@party.user = current_user if current_user
|
||||
|
||||
if @party.save!
|
||||
return render json: PartyBlueprint.render(@party, view: :full, root: :party),
|
||||
if party.save!
|
||||
return render json: PartyBlueprint.render(party, view: :full, root: :party),
|
||||
status: :created
|
||||
end
|
||||
|
||||
|
|
@ -41,6 +44,8 @@ module Api
|
|||
|
||||
@party.attributes = party_params.except(:skill1_id, :skill2_id, :skill3_id)
|
||||
|
||||
# TODO: Validate accessory with job
|
||||
|
||||
return render json: PartyBlueprint.render(@party, view: :full, root: :party) if @party.save!
|
||||
|
||||
render_validation_error_response(@party)
|
||||
|
|
@ -51,6 +56,22 @@ module Api
|
|||
return render json: PartyBlueprint.render(@party, view: :destroyed, root: :checkin) if @party.destroy
|
||||
end
|
||||
|
||||
def remix
|
||||
new_party = @party.amoeba_dup
|
||||
new_party.attributes = {
|
||||
user: current_user,
|
||||
name: remixed_name(@party.name),
|
||||
source_party: @party
|
||||
}
|
||||
|
||||
if new_party.save
|
||||
render json: PartyBlueprint.render(new_party, view: :full, root: :party,
|
||||
meta: { remix: true })
|
||||
else
|
||||
render_validation_error_response(new_party)
|
||||
end
|
||||
end
|
||||
|
||||
def index
|
||||
conditions = build_conditions(request.params)
|
||||
|
||||
|
|
@ -105,7 +126,7 @@ module Api
|
|||
def build_conditions(params)
|
||||
unless params['recency'].blank?
|
||||
start_time = (DateTime.current - params['recency'].to_i.seconds)
|
||||
.to_datetime.beginning_of_day
|
||||
.to_datetime.beginning_of_day
|
||||
end
|
||||
|
||||
{}.tap do |hash|
|
||||
|
|
@ -116,15 +137,31 @@ module Api
|
|||
end
|
||||
end
|
||||
|
||||
def random_string
|
||||
num_chars = 6
|
||||
o = [('a'..'z'), ('A'..'Z'), (0..9)].map(&:to_a).flatten
|
||||
(0...num_chars).map { o[rand(o.length)] }.join
|
||||
def remixed_name(name)
|
||||
blanked_name = {
|
||||
en: name.blank? ? 'Untitled team' : name,
|
||||
ja: name.blank? ? '無名の編成' : name
|
||||
}
|
||||
|
||||
if current_user
|
||||
case current_user.language
|
||||
when 'en'
|
||||
"Remix of #{blanked_name[:en]}"
|
||||
when 'ja'
|
||||
"#{blanked_name[:ja]}のリミックス"
|
||||
end
|
||||
else
|
||||
"Remix of #{blanked_name[:en]}"
|
||||
end
|
||||
end
|
||||
|
||||
def set_from_slug
|
||||
@party = Party.where('shortcode = ?', params[:id]).first
|
||||
@party.favorited = current_user && @party ? @party.is_favorited(current_user) : false
|
||||
if @party
|
||||
@party.favorited = current_user && @party ? @party.is_favorited(current_user) : false
|
||||
else
|
||||
render_not_found_response('party')
|
||||
end
|
||||
end
|
||||
|
||||
def set
|
||||
|
|
@ -132,6 +169,8 @@ module Api
|
|||
end
|
||||
|
||||
def party_params
|
||||
return unless params[:party].present?
|
||||
|
||||
params.require(:party).permit(
|
||||
:user_id,
|
||||
:extra,
|
||||
|
|
@ -139,10 +178,18 @@ module Api
|
|||
:description,
|
||||
:raid_id,
|
||||
:job_id,
|
||||
:accessory_id,
|
||||
:skill0_id,
|
||||
:skill1_id,
|
||||
:skill2_id,
|
||||
:skill3_id
|
||||
:skill3_id,
|
||||
:full_auto,
|
||||
:auto_guard,
|
||||
:charge_attack,
|
||||
:clear_time,
|
||||
:button_count,
|
||||
:turn_count,
|
||||
:chain_count
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -40,30 +40,33 @@ module Api
|
|||
end
|
||||
|
||||
def show
|
||||
render_not_found_response('user') unless @user
|
||||
if @user.nil?
|
||||
render_not_found_response('user')
|
||||
else
|
||||
|
||||
conditions = build_conditions(request.params)
|
||||
conditions[:user_id] = @user.id
|
||||
conditions = build_conditions(request.params)
|
||||
conditions[:user_id] = @user.id
|
||||
|
||||
parties = Party
|
||||
.where(conditions)
|
||||
.order(created_at: :desc)
|
||||
.paginate(page: request.params[:page], per_page: COLLECTION_PER_PAGE)
|
||||
.each do |party|
|
||||
party.favorited = current_user ? party.is_favorited(current_user) : false
|
||||
parties = Party
|
||||
.where(conditions)
|
||||
.order(created_at: :desc)
|
||||
.paginate(page: request.params[:page], per_page: COLLECTION_PER_PAGE)
|
||||
.each do |party|
|
||||
party.favorited = current_user ? party.is_favorited(current_user) : false
|
||||
end
|
||||
|
||||
count = Party.where(conditions).count
|
||||
|
||||
render json: UserBlueprint.render(@user,
|
||||
view: :profile,
|
||||
root: 'profile',
|
||||
parties: parties,
|
||||
meta: {
|
||||
count: count,
|
||||
total_pages: count.to_f / COLLECTION_PER_PAGE > 1 ? (count.to_f / COLLECTION_PER_PAGE).ceil : 1,
|
||||
per_page: COLLECTION_PER_PAGE
|
||||
})
|
||||
end
|
||||
|
||||
count = Party.where(conditions).count
|
||||
|
||||
render json: UserBlueprint.render(@user,
|
||||
view: :profile,
|
||||
root: 'profile',
|
||||
parties: parties,
|
||||
meta: {
|
||||
count: count,
|
||||
total_pages: count.to_f / COLLECTION_PER_PAGE > 1 ? (count.to_f / COLLECTION_PER_PAGE).ceil : 1,
|
||||
per_page: COLLECTION_PER_PAGE
|
||||
})
|
||||
end
|
||||
|
||||
def check_email
|
||||
|
|
@ -81,7 +84,7 @@ module Api
|
|||
def build_conditions(params)
|
||||
unless params['recency'].blank?
|
||||
start_time = (DateTime.current - params['recency'].to_i.seconds)
|
||||
.to_datetime.beginning_of_day
|
||||
.to_datetime.beginning_of_day
|
||||
end
|
||||
|
||||
{}.tap do |hash|
|
||||
|
|
|
|||
5
app/models/app_update.rb
Normal file
5
app/models/app_update.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AppUpdate < ApplicationRecord
|
||||
|
||||
end
|
||||
|
|
@ -1,7 +1,78 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class GridCharacter < ApplicationRecord
|
||||
belongs_to :party
|
||||
belongs_to :party,
|
||||
counter_cache: :characters_count,
|
||||
inverse_of: :characters
|
||||
validates_presence_of :party
|
||||
|
||||
validate :awakening_level, on: :update
|
||||
validate :transcendence, on: :update
|
||||
validate :validate_over_mastery_values, on: :update
|
||||
validate :validate_aetherial_mastery_value, on: :update
|
||||
validate :over_mastery_attack_matches_hp, on: :update
|
||||
|
||||
##### Amoeba configuration
|
||||
amoeba do
|
||||
set ring1: { modifier: nil, strength: nil }
|
||||
set ring2: { modifier: nil, strength: nil }
|
||||
set ring3: { modifier: nil, strength: nil }
|
||||
set ring4: { modifier: nil, strength: nil }
|
||||
set earring: { modifier: nil, strength: nil }
|
||||
set perpetuity: false
|
||||
end
|
||||
|
||||
def awakening_level
|
||||
return if awakening.nil?
|
||||
|
||||
errors.add(:awakening, 'awakening level too low') if awakening['level'] < 1
|
||||
errors.add(:awakening, 'awakening level too high') if awakening['level'] > 9
|
||||
end
|
||||
|
||||
def transcendence
|
||||
errors.add(:transcendence_step, 'character has no transcendence') if transcendence_step.positive? && !character.ulb
|
||||
errors.add(:transcendence_step, 'transcendence step too high') if transcendence_step > 5 && character.ulb
|
||||
errors.add(:transcendence_step, 'transcendence step too low') if transcendence_step.negative? && character.ulb
|
||||
end
|
||||
|
||||
def over_mastery_attack
|
||||
errors.add(:ring1, 'invalid value') unless ring1['modifier'].nil? || atk_values.include?(ring1['strength'])
|
||||
end
|
||||
|
||||
def over_mastery_hp
|
||||
return if ring2['modifier'].nil?
|
||||
|
||||
errors.add(:ring2, 'invalid value') unless hp_values.include?(ring2['strength'])
|
||||
end
|
||||
|
||||
def over_mastery_attack_matches_hp
|
||||
return if ring1[:modifier].nil? && ring2[:modifier].nil?
|
||||
|
||||
return if ring2[:strength] == (ring1[:strength] / 2)
|
||||
|
||||
errors.add(:over_mastery,
|
||||
'over mastery attack and hp values do not match')
|
||||
end
|
||||
|
||||
def validate_over_mastery_values
|
||||
[ring1, ring2, ring3, ring4].each_with_index do |ring, index|
|
||||
next if ring['modifier'].nil?
|
||||
|
||||
modifier = over_mastery_modifiers[ring['modifier']]
|
||||
check_value({ "ring#{index}": { ring[modifier] => ring['strength'] } },
|
||||
'over_mastery')
|
||||
end
|
||||
end
|
||||
|
||||
def validate_aetherial_mastery_value
|
||||
return if earring['modifier'].nil?
|
||||
|
||||
return unless earring['modifier'].positive?
|
||||
|
||||
modifier = aetherial_mastery_modifiers[earring['modifier']].to_sym
|
||||
check_value({ "earring": { modifier => earring['strength'] } },
|
||||
'aetherial_mastery')
|
||||
end
|
||||
|
||||
def character
|
||||
Character.find(character_id)
|
||||
|
|
@ -10,4 +81,132 @@ class GridCharacter < ApplicationRecord
|
|||
def blueprint
|
||||
GridCharacterBlueprint
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def check_value(property, type)
|
||||
# Input format
|
||||
# { ring1: { atk: 300 } }
|
||||
|
||||
key = property.keys.first
|
||||
modifier = property[key].keys.first
|
||||
|
||||
return if modifier.nil?
|
||||
|
||||
case type
|
||||
when 'over_mastery'
|
||||
errors.add(key, 'invalid value') unless over_mastery_values.include?(key['strength'])
|
||||
when 'aetherial_mastery'
|
||||
errors.add(key, 'value too low') if aetherial_mastery_values[modifier][:min] > self[key]['strength']
|
||||
errors.add(key, 'value too high') if aetherial_mastery_values[modifier][:max] < self[key]['strength']
|
||||
end
|
||||
end
|
||||
|
||||
def over_mastery_modifiers
|
||||
{
|
||||
1 => 'atk',
|
||||
2 => 'hp',
|
||||
3 => 'debuff_success',
|
||||
4 => 'skill_cap',
|
||||
5 => 'ca_dmg',
|
||||
6 => 'ca_cap',
|
||||
7 => 'stamina',
|
||||
8 => 'enmity',
|
||||
9 => 'crit',
|
||||
10 => 'da',
|
||||
11 => 'ta',
|
||||
12 => 'def',
|
||||
13 => 'heal',
|
||||
14 => 'debuff_resist',
|
||||
15 => 'dodge'
|
||||
}
|
||||
end
|
||||
|
||||
def over_mastery_values
|
||||
{
|
||||
atk: [300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000],
|
||||
hp: [150, 300, 450, 600, 750, 900, 1050, 1200, 1350, 1500],
|
||||
debuff_success: [6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
|
||||
skill_cap: [6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
|
||||
ca_dmg: [10, 12, 14, 16, 18, 20, 22, 24, 27, 30],
|
||||
ca_cap: [6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
|
||||
crit: [10, 12, 14, 16, 18, 20, 22, 24, 27, 30],
|
||||
enmity: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
||||
stamina: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
||||
def: [6, 7, 8, 9, 10, 12, 14, 16, 18, 20],
|
||||
heal: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30],
|
||||
debuff_resist: [6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
|
||||
dodge: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
||||
da: [6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
|
||||
ta: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
}
|
||||
end
|
||||
|
||||
def aetherial_mastery_modifiers
|
||||
{
|
||||
1 => 'da',
|
||||
2 => 'ta',
|
||||
3 => 'ele_atk',
|
||||
4 => 'ele_resist',
|
||||
5 => 'stamina',
|
||||
6 => 'enmity',
|
||||
7 => 'supplemental',
|
||||
8 => 'crit',
|
||||
9 => 'counter_dodge',
|
||||
10 => 'counter_dmg'
|
||||
}
|
||||
end
|
||||
|
||||
def aetherial_mastery_values
|
||||
{
|
||||
da: {
|
||||
min: 10,
|
||||
max: 17
|
||||
},
|
||||
ta: {
|
||||
min: 5,
|
||||
max: 12
|
||||
},
|
||||
ele_atk: {
|
||||
min: 15,
|
||||
max: 22
|
||||
},
|
||||
ele_resist: {
|
||||
min: 5,
|
||||
max: 12
|
||||
},
|
||||
stamina: {
|
||||
min: 5,
|
||||
max: 12
|
||||
},
|
||||
enmity: {
|
||||
min: 5,
|
||||
max: 12
|
||||
},
|
||||
supplemental: {
|
||||
min: 5,
|
||||
max: 12
|
||||
},
|
||||
crit: {
|
||||
min: 18,
|
||||
max: 35
|
||||
},
|
||||
counter_dodge: {
|
||||
min: 5,
|
||||
max: 12
|
||||
},
|
||||
counter_dmg: {
|
||||
min: 10,
|
||||
max: 17
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
def atk_values
|
||||
[300, 600, 900, 1200, 1500, 1800, 2100, 2400, 2700, 3000]
|
||||
end
|
||||
|
||||
def hp_values
|
||||
[150, 300, 450, 600, 750, 900, 1050, 1200, 1350, 1500]
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,7 +1,13 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class GridSummon < ApplicationRecord
|
||||
belongs_to :party
|
||||
belongs_to :party,
|
||||
counter_cache: :summons_count,
|
||||
inverse_of: :summons
|
||||
validates_presence_of :party
|
||||
|
||||
validate :compatible_with_position, on: :create
|
||||
validate :no_conflicts, on: :create
|
||||
|
||||
def summon
|
||||
Summon.find(summon_id)
|
||||
|
|
@ -10,4 +16,29 @@ class GridSummon < ApplicationRecord
|
|||
def blueprint
|
||||
GridSummonBlueprint
|
||||
end
|
||||
|
||||
# Returns conflicting summons if they exist
|
||||
def conflicts(party)
|
||||
return unless summon.limit
|
||||
|
||||
party.summons.find do |grid_summon|
|
||||
return unless grid_summon.id
|
||||
grid_summon if summon.id == grid_summon.summon.id
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Validates whether there is a conflict with the party
|
||||
def no_conflicts
|
||||
# Check if the grid summon conflicts with any of the other grid summons in the party
|
||||
errors.add(:series, 'must not conflict with existing summons') unless conflicts(party).nil?
|
||||
end
|
||||
|
||||
# Validates whether the summon can be added to the desired position
|
||||
def compatible_with_position
|
||||
return unless [4, 5].include?(position.to_i) && !summon.subaura
|
||||
|
||||
errors.add(:position, 'must have subaura for position')
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -2,26 +2,73 @@
|
|||
|
||||
class GridWeapon < ApplicationRecord
|
||||
belongs_to :party,
|
||||
counter_cache: :weapons_count
|
||||
counter_cache: :weapons_count,
|
||||
inverse_of: :weapons
|
||||
validates_presence_of :party
|
||||
|
||||
belongs_to :weapon_key1, class_name: 'WeaponKey', foreign_key: :weapon_key1_id, optional: true
|
||||
belongs_to :weapon_key2, class_name: 'WeaponKey', foreign_key: :weapon_key2_id, optional: true
|
||||
belongs_to :weapon_key3, class_name: 'WeaponKey', foreign_key: :weapon_key3_id, optional: true
|
||||
|
||||
validate :compatible_with_position, on: :create
|
||||
validate :no_conflicts, on: :create
|
||||
|
||||
##### Amoeba configuration
|
||||
amoeba do
|
||||
nullify :ax_modifier1
|
||||
nullify :ax_modifier2
|
||||
nullify :ax_strength1
|
||||
nullify :ax_strength2
|
||||
end
|
||||
|
||||
# Helper methods
|
||||
def blueprint
|
||||
GridWeaponBlueprint
|
||||
end
|
||||
|
||||
def weapon
|
||||
Weapon.find(weapon_id)
|
||||
end
|
||||
|
||||
def weapon_keys
|
||||
weapon_keys = []
|
||||
weapon_keys.push(weapon_key1) unless weapon_key1.nil?
|
||||
weapon_keys.push(weapon_key2) unless weapon_key2.nil?
|
||||
weapon_keys.push(weapon_key3) unless weapon_key3.nil?
|
||||
|
||||
weapon_keys
|
||||
[weapon_key1, weapon_key2, weapon_key3].compact
|
||||
end
|
||||
|
||||
def blueprint
|
||||
GridWeaponBlueprint
|
||||
# Returns conflicting weapons if they exist
|
||||
def conflicts(party)
|
||||
return unless weapon.limit
|
||||
|
||||
party.weapons.find do |party_weapon|
|
||||
return unless party_weapon.id
|
||||
|
||||
id_match = weapon.id == party_weapon.id
|
||||
series_match = weapon.series == party_weapon.weapon.series
|
||||
both_opus_or_draconic = weapon.opus_or_draconic? && party_weapon.weapon.opus_or_draconic?
|
||||
weapon if (series_match || both_opus_or_draconic) && !id_match
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Conflict management methods
|
||||
|
||||
# Validates whether the weapon can be added to the desired position
|
||||
def compatible_with_position
|
||||
return unless [9, 10, 11].include?(position.to_i) && ![11, 16, 17, 28, 29].include?(weapon.series)
|
||||
|
||||
errors.add(:series, 'must be compatible with position')
|
||||
end
|
||||
|
||||
# Validates whether the desired weapon key can be added to the weapon
|
||||
def compatible_with_key
|
||||
weapon_keys.each do |key|
|
||||
errors.add(:weapon_keys, 'must be compatible with weapon') unless weapon.compatible_with_key?(key)
|
||||
end
|
||||
end
|
||||
|
||||
# Validates whether there is a conflict with the party
|
||||
def no_conflicts
|
||||
# Check if the grid weapon conflicts with any of the other grid weapons in the party
|
||||
errors.add(:series, 'must not conflict with existing weapons') unless conflicts(party).nil?
|
||||
end
|
||||
end
|
||||
|
|
|
|||
37
app/models/job_accessory.rb
Normal file
37
app/models/job_accessory.rb
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class JobAccessory < ApplicationRecord
|
||||
include PgSearch::Model
|
||||
|
||||
belongs_to :job
|
||||
|
||||
pg_search_scope :en_search,
|
||||
against: :name_en,
|
||||
using: {
|
||||
tsearch: {
|
||||
prefix: true,
|
||||
dictionary: 'simple'
|
||||
}
|
||||
}
|
||||
|
||||
pg_search_scope :jp_search,
|
||||
against: :name_jp,
|
||||
using: {
|
||||
tsearch: {
|
||||
prefix: true,
|
||||
dictionary: 'simple'
|
||||
}
|
||||
}
|
||||
|
||||
def blueprint
|
||||
JobAccessoryBlueprint
|
||||
end
|
||||
|
||||
def display_resource(skill)
|
||||
skill.name_en
|
||||
end
|
||||
|
||||
def ==(other)
|
||||
self.class == other.class && id == other.id
|
||||
end
|
||||
end
|
||||
|
|
@ -2,10 +2,25 @@
|
|||
|
||||
class Party < ApplicationRecord
|
||||
##### ActiveRecord Associations
|
||||
belongs_to :source_party,
|
||||
class_name: 'Party',
|
||||
foreign_key: :source_party_id,
|
||||
optional: true
|
||||
|
||||
has_many :derivative_parties,
|
||||
class_name: 'Party',
|
||||
foreign_key: :source_party_id,
|
||||
inverse_of: :source_party
|
||||
|
||||
belongs_to :user, optional: true
|
||||
belongs_to :raid, optional: true
|
||||
belongs_to :job, optional: true
|
||||
|
||||
belongs_to :accessory,
|
||||
foreign_key: 'accessory_id',
|
||||
class_name: 'JobAccessory',
|
||||
optional: true
|
||||
|
||||
belongs_to :skill0,
|
||||
foreign_key: 'skill0_id',
|
||||
class_name: 'JobSkill',
|
||||
|
|
@ -29,20 +44,35 @@ class Party < ApplicationRecord
|
|||
has_many :characters,
|
||||
foreign_key: 'party_id',
|
||||
class_name: 'GridCharacter',
|
||||
dependent: :destroy
|
||||
dependent: :destroy,
|
||||
inverse_of: :party
|
||||
|
||||
has_many :weapons,
|
||||
foreign_key: 'party_id',
|
||||
class_name: 'GridWeapon',
|
||||
dependent: :destroy
|
||||
dependent: :destroy,
|
||||
inverse_of: :party
|
||||
|
||||
has_many :summons,
|
||||
foreign_key: 'party_id',
|
||||
class_name: 'GridSummon',
|
||||
dependent: :destroy
|
||||
dependent: :destroy,
|
||||
inverse_of: :party
|
||||
|
||||
has_many :favorites
|
||||
|
||||
before_create :set_shortcode
|
||||
|
||||
##### Amoeba configuration
|
||||
amoeba do
|
||||
nullify :description
|
||||
nullify :shortcode
|
||||
|
||||
include_association :characters
|
||||
include_association :weapons
|
||||
include_association :summons
|
||||
end
|
||||
|
||||
##### ActiveRecord Validations
|
||||
validate :skills_are_unique
|
||||
|
||||
|
|
@ -52,22 +82,40 @@ class Party < ApplicationRecord
|
|||
user.favorite_parties.include? self
|
||||
end
|
||||
|
||||
def is_remix
|
||||
self.source_party != nil
|
||||
end
|
||||
|
||||
def remixes
|
||||
Party.where(source_party_id: self.id)
|
||||
end
|
||||
|
||||
def blueprint
|
||||
PartyBlueprint
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_shortcode
|
||||
self.shortcode = random_string
|
||||
end
|
||||
|
||||
def random_string
|
||||
num_chars = 6
|
||||
o = [('a'..'z'), ('A'..'Z'), (0..9)].map(&:to_a).flatten
|
||||
(0...num_chars).map { o[rand(o.length)] }.join
|
||||
end
|
||||
|
||||
def skills_are_unique
|
||||
skills = [skill0, skill1, skill2, skill3].compact
|
||||
|
||||
return unless skills.uniq.length != skills.length
|
||||
return if skills.uniq.length == skills.length
|
||||
|
||||
errors.add(:skill1, 'must be unique') if skill0 == skill1
|
||||
skills.each_with_index do |skill, index|
|
||||
next if index.zero?
|
||||
|
||||
errors.add(:skill2, 'must be unique') if skill0 == skill2 || skill1 == skill2
|
||||
|
||||
errors.add(:skill3, 'must be unique') if skill0 == skill3 || skill1 == skill3 || skill2 == skill3
|
||||
errors.add(:"skill#{index + 1}", 'must be unique') if skills[0...index].include?(skill)
|
||||
end
|
||||
|
||||
errors.add(:job_skills, 'must be unique')
|
||||
end
|
||||
|
|
|
|||
|
|
@ -27,4 +27,13 @@ class Weapon < ApplicationRecord
|
|||
def display_resource(weapon)
|
||||
weapon.name_en
|
||||
end
|
||||
|
||||
def compatible_with_key?(key)
|
||||
key.series == series
|
||||
end
|
||||
|
||||
# Returns whether the weapon is included in the Draconic or Dark Opus series
|
||||
def opus_or_draconic?
|
||||
[2, 3].include?(series)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
11
bin/rails
11
bin/rails
|
|
@ -1,9 +1,4 @@
|
|||
#!/usr/bin/env ruby
|
||||
begin
|
||||
load File.expand_path('../spring', __FILE__)
|
||||
rescue LoadError => e
|
||||
raise unless e.message.include?('spring')
|
||||
end
|
||||
APP_PATH = File.expand_path('../config/application', __dir__)
|
||||
require_relative '../config/boot'
|
||||
require 'rails/commands'
|
||||
APP_PATH = File.expand_path("../config/application", __dir__)
|
||||
require_relative "../config/boot"
|
||||
require "rails/commands"
|
||||
|
|
|
|||
9
bin/rake
9
bin/rake
|
|
@ -1,9 +1,4 @@
|
|||
#!/usr/bin/env ruby
|
||||
begin
|
||||
load File.expand_path('../spring', __FILE__)
|
||||
rescue LoadError => e
|
||||
raise unless e.message.include?('spring')
|
||||
end
|
||||
require_relative '../config/boot'
|
||||
require 'rake'
|
||||
require_relative "../config/boot"
|
||||
require "rake"
|
||||
Rake.application.run
|
||||
|
|
|
|||
24
bin/setup
24
bin/setup
|
|
@ -1,33 +1,33 @@
|
|||
#!/usr/bin/env ruby
|
||||
require 'fileutils'
|
||||
require "fileutils"
|
||||
|
||||
# path to your application root.
|
||||
APP_ROOT = File.expand_path('..', __dir__)
|
||||
APP_ROOT = File.expand_path("..", __dir__)
|
||||
|
||||
def system!(*args)
|
||||
system(*args) || abort("\n== Command #{args} failed ==")
|
||||
end
|
||||
|
||||
FileUtils.chdir APP_ROOT do
|
||||
# This script is a way to setup or update your development environment automatically.
|
||||
# This script is idempotent, so that you can run it at anytime and get an expectable outcome.
|
||||
# This script is a way to set up or update your development environment automatically.
|
||||
# This script is idempotent, so that you can run it at any time and get an expectable outcome.
|
||||
# Add necessary setup steps to this file.
|
||||
|
||||
puts '== Installing dependencies =='
|
||||
system! 'gem install bundler --conservative'
|
||||
system('bundle check') || system!('bundle install')
|
||||
puts "== Installing dependencies =="
|
||||
system! "gem install bundler --conservative"
|
||||
system("bundle check") || system!("bundle install")
|
||||
|
||||
# puts "\n== Copying sample files =="
|
||||
# unless File.exist?('config/database.yml')
|
||||
# FileUtils.cp 'config/database.yml.sample', 'config/database.yml'
|
||||
# unless File.exist?("config/database.yml")
|
||||
# FileUtils.cp "config/database.yml.sample", "config/database.yml"
|
||||
# end
|
||||
|
||||
puts "\n== Preparing database =="
|
||||
system! 'bin/rails db:prepare'
|
||||
system! "bin/rails db:prepare"
|
||||
|
||||
puts "\n== Removing old logs and tempfiles =="
|
||||
system! 'bin/rails log:clear tmp:clear'
|
||||
system! "bin/rails log:clear tmp:clear"
|
||||
|
||||
puts "\n== Restarting application server =="
|
||||
system! 'bin/rails restart'
|
||||
system! "bin/rails restart"
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
require_relative 'boot'
|
||||
require_relative "boot"
|
||||
|
||||
require "rails"
|
||||
# Pick the frameworks you want:
|
||||
|
|
@ -7,10 +7,11 @@ require "active_job/railtie"
|
|||
require "active_record/railtie"
|
||||
require "active_storage/engine"
|
||||
require "action_controller/railtie"
|
||||
# require "action_mailer/railtie"
|
||||
# require "action_mailbox/engine"
|
||||
require "action_text/engine"
|
||||
require "action_view/railtie"
|
||||
require "action_cable/engine"
|
||||
# require "sprockets/railtie"
|
||||
require "rails/test_unit/railtie"
|
||||
|
||||
# Require the gems listed in Gemfile, including any gems
|
||||
|
|
@ -20,12 +21,15 @@ Bundler.require(*Rails.groups)
|
|||
module HenseiApi
|
||||
class Application < Rails::Application
|
||||
# Initialize configuration defaults for originally generated Rails version.
|
||||
config.load_defaults 6.0
|
||||
config.load_defaults 7.0
|
||||
|
||||
# Settings in config/environments/* take precedence over those specified here.
|
||||
# Application configuration can go into files in config/initializers
|
||||
# -- all .rb files in that directory are automatically loaded after loading
|
||||
# the framework and any gems in your application.
|
||||
# Configuration for the application, engines, and railties goes here.
|
||||
#
|
||||
# These settings can be overridden in specific environments using the files
|
||||
# in config/environments, which are processed later.
|
||||
#
|
||||
# config.time_zone = "Central Time (US & Canada)"
|
||||
# config.eager_load_paths << Rails.root.join("extras")
|
||||
|
||||
# Only loads a smaller set of middleware suitable for API only apps.
|
||||
# Middleware like session, flash, cookies can be added back manually.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
||||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
|
||||
|
||||
require 'bundler/setup' # Set up gems listed in the Gemfile.
|
||||
require 'bootsnap/setup' # Speed up boot time by caching expensive operations.
|
||||
require "bundler/setup" # Set up gems listed in the Gemfile.
|
||||
require "bootsnap/setup" # Speed up boot time by caching expensive operations.
|
||||
|
|
|
|||
|
|
@ -1,13 +1,17 @@
|
|||
default: &default
|
||||
adapter: postgresql
|
||||
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
||||
host: <%= ENV['DATABASE_HOST'] %>
|
||||
port: <%= ENV['DATABASE_PORT'] %>
|
||||
username: <%= ENV['DATABASE_USERNAME'] %>
|
||||
password: <%= ENV['DATABASE_PASSWORD'] %>
|
||||
host: <%= ENV['PGHOST'] %>
|
||||
port: <%= ENV['PGPORT'] %>
|
||||
username: <%= ENV['PGUSER'] %>
|
||||
password: <%= ENV['PGPASSWORD'] %>
|
||||
encoding: utf8
|
||||
timeout: 5000
|
||||
|
||||
production:
|
||||
<<: *default
|
||||
database: <%= ENV['PGDATABASE'] %>
|
||||
|
||||
development:
|
||||
<<: *default
|
||||
database: hensei_dev
|
||||
|
|
@ -15,7 +19,3 @@ development:
|
|||
test:
|
||||
<<: *default
|
||||
database: hensei_test
|
||||
|
||||
production:
|
||||
<<: *default
|
||||
database: hensei
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# Load the Rails application.
|
||||
require_relative 'application'
|
||||
require_relative "application"
|
||||
|
||||
# Initialize the Rails application.
|
||||
Rails.application.initialize!
|
||||
|
|
|
|||
|
|
@ -1,60 +1,60 @@
|
|||
require "active_support/core_ext/integer/time"
|
||||
|
||||
Rails.application.configure do
|
||||
config.after_initialize do
|
||||
ActiveRecord::Base.logger = Rails.logger.clone
|
||||
ActiveRecord::Base.logger.level = Logger::INFO
|
||||
end
|
||||
# Settings specified here will take precedence over those in config/application.rb.
|
||||
config.hosts << "staging-api.granblue.team"
|
||||
|
||||
# Settings specified here will take precedence over those in config/application.rb.
|
||||
config.hosts << "grid-api.ngrok.io"
|
||||
# In the development environment your application's code is reloaded any time
|
||||
# it changes. This slows down response time but is perfect for development
|
||||
# since you don't have to restart the web server when you make code changes.
|
||||
config.cache_classes = false
|
||||
|
||||
# In the development environment your application's code is reloaded on
|
||||
# every request. This slows down response time but is perfect for development
|
||||
# since you don't have to restart the web server when you make code changes.
|
||||
config.cache_classes = false
|
||||
# Do not eager load code on boot.
|
||||
config.eager_load = false
|
||||
|
||||
# Do not eager load code on boot.
|
||||
config.eager_load = false
|
||||
# Show full error reports.
|
||||
config.consider_all_requests_local = true
|
||||
|
||||
# Show full error reports.
|
||||
config.consider_all_requests_local = true
|
||||
# Enable server timing
|
||||
config.server_timing = true
|
||||
|
||||
# Enable/disable caching. By default caching is disabled.
|
||||
# Run rails dev:cache to toggle caching.
|
||||
if Rails.root.join('tmp', 'caching-dev.txt').exist?
|
||||
config.cache_store = :memory_store
|
||||
config.public_file_server.headers = {
|
||||
'Cache-Control' => "public, max-age=#{2.days.to_i}"
|
||||
}
|
||||
else
|
||||
config.action_controller.perform_caching = false
|
||||
# Enable/disable caching. By default caching is disabled.
|
||||
# Run rails dev:cache to toggle caching.
|
||||
if Rails.root.join("tmp/caching-dev.txt").exist?
|
||||
config.cache_store = :memory_store
|
||||
config.public_file_server.headers = {
|
||||
"Cache-Control" => "public, max-age=#{2.days.to_i}"
|
||||
}
|
||||
else
|
||||
config.action_controller.perform_caching = false
|
||||
|
||||
config.cache_store = :null_store
|
||||
end
|
||||
|
||||
config.action_controller.allow_forgery_protection = false
|
||||
config.cache_store = :null_store
|
||||
end
|
||||
|
||||
# Store uploaded files on the local file system (see config/storage.yml for options).
|
||||
config.active_storage.service = :local
|
||||
# Store uploaded files on the local file system (see config/storage.yml for options).
|
||||
config.active_storage.service = :local
|
||||
|
||||
# Don't care if the mailer can't send.
|
||||
# config.action_mailer.raise_delivery_errors = false
|
||||
# Print deprecation notices to the Rails logger.
|
||||
config.active_support.deprecation = :log
|
||||
|
||||
# config.action_mailer.perform_caching = false
|
||||
# Raise exceptions for disallowed deprecations.
|
||||
config.active_support.disallowed_deprecation = :raise
|
||||
|
||||
# Print deprecation notices to the Rails logger.
|
||||
config.active_support.deprecation = :log
|
||||
# Tell Active Support which deprecation messages to disallow.
|
||||
config.active_support.disallowed_deprecation_warnings = []
|
||||
|
||||
# Raise an error on page load if there are pending migrations.
|
||||
config.active_record.migration_error = :page_load
|
||||
# Raise an error on page load if there are pending migrations.
|
||||
config.active_record.migration_error = :page_load
|
||||
|
||||
# Highlight code that triggered database queries in logs.
|
||||
config.active_record.verbose_query_logs = true
|
||||
# Highlight code that triggered database queries in logs.
|
||||
config.active_record.verbose_query_logs = true
|
||||
|
||||
# Raises error for missing translations.
|
||||
# config.i18n.raise_on_missing_translations = true
|
||||
|
||||
# Raises error for missing translations.
|
||||
# config.action_view.raise_on_missing_translations = true
|
||||
# Annotate rendered view with file names.
|
||||
# config.action_view.annotate_rendered_view_with_filenames = true
|
||||
|
||||
# Use an evented file watcher to asynchronously detect changes in source code,
|
||||
# routes, locales, etc. This feature depends on the listen gem.
|
||||
config.file_watcher = ActiveSupport::EventedFileUpdateChecker
|
||||
# Uncomment if you wish to allow Action Cable access from any origin.
|
||||
# config.action_cable.disable_request_forgery_protection = true
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
require "active_support/core_ext/integer/time"
|
||||
|
||||
Rails.application.configure do
|
||||
# Settings specified here will take precedence over those in config/application.rb.
|
||||
|
||||
|
|
@ -11,9 +13,7 @@ Rails.application.configure do
|
|||
config.eager_load = true
|
||||
|
||||
# Full error reports are disabled and caching is turned on.
|
||||
config.consider_all_requests_local = false
|
||||
|
||||
config.action_controller.allow_forgery_protection = false
|
||||
config.consider_all_requests_local = false
|
||||
|
||||
# Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
|
||||
# or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
|
||||
|
|
@ -21,32 +21,32 @@ Rails.application.configure do
|
|||
|
||||
# Disable serving static files from the `/public` folder by default since
|
||||
# Apache or NGINX already handles this.
|
||||
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
|
||||
config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present?
|
||||
|
||||
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
||||
# config.action_controller.asset_host = 'http://assets.example.com'
|
||||
# config.asset_host = "http://assets.example.com"
|
||||
|
||||
# Specifies the header that your server uses for sending files.
|
||||
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
|
||||
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
|
||||
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache
|
||||
# config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX
|
||||
|
||||
# Store uploaded files on the local file system (see config/storage.yml for options).
|
||||
config.active_storage.service = :local
|
||||
|
||||
# Mount Action Cable outside main process or domain.
|
||||
# config.action_cable.mount_path = nil
|
||||
# config.action_cable.url = 'wss://example.com/cable'
|
||||
# config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
|
||||
# config.action_cable.url = "wss://example.com/cable"
|
||||
# config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ]
|
||||
|
||||
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
||||
# config.force_ssl = true
|
||||
|
||||
# Use the lowest log level to ensure availability of diagnostic information
|
||||
# when problems arise.
|
||||
config.log_level = :debug
|
||||
# Include generic and useful information about system operation, but avoid logging too much
|
||||
# information to avoid inadvertent exposure of personally identifiable information (PII).
|
||||
config.log_level = :info
|
||||
|
||||
# Prepend all log lines with the following tags.
|
||||
config.log_tags = [ :request_id ]
|
||||
config.log_tags = [:request_id]
|
||||
|
||||
# Use a different cache store in production.
|
||||
# config.cache_store = :mem_cache_store
|
||||
|
|
@ -55,53 +55,26 @@ Rails.application.configure do
|
|||
# config.active_job.queue_adapter = :resque
|
||||
# config.active_job.queue_name_prefix = "hensei_api_production"
|
||||
|
||||
# config.action_mailer.perform_caching = false
|
||||
|
||||
# Ignore bad email addresses and do not raise email delivery errors.
|
||||
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
||||
# config.action_mailer.raise_delivery_errors = false
|
||||
|
||||
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
||||
# the I18n.default_locale when a translation cannot be found).
|
||||
config.i18n.fallbacks = true
|
||||
|
||||
# Send deprecation notices to registered listeners.
|
||||
config.active_support.deprecation = :notify
|
||||
# Don't log any deprecations.
|
||||
config.active_support.report_deprecations = false
|
||||
|
||||
# Use default logging formatter so that PID and timestamp are not suppressed.
|
||||
config.log_formatter = ::Logger::Formatter.new
|
||||
|
||||
# Use a different logger for distributed setups.
|
||||
# require 'syslog/logger'
|
||||
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
|
||||
# require "syslog/logger"
|
||||
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name")
|
||||
|
||||
if ENV["RAILS_LOG_TO_STDOUT"].present?
|
||||
logger = ActiveSupport::Logger.new(STDOUT)
|
||||
logger = ActiveSupport::Logger.new(STDOUT)
|
||||
logger.formatter = config.log_formatter
|
||||
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
||||
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
||||
end
|
||||
|
||||
# Do not dump schema after migrations.
|
||||
config.active_record.dump_schema_after_migration = false
|
||||
|
||||
# Inserts middleware to perform automatic connection switching.
|
||||
# The `database_selector` hash is used to pass options to the DatabaseSelector
|
||||
# middleware. The `delay` is used to determine how long to wait after a write
|
||||
# to send a subsequent read to the primary.
|
||||
#
|
||||
# The `database_resolver` class is used by the middleware to determine which
|
||||
# database is appropriate to use based on the time delay.
|
||||
#
|
||||
# The `database_resolver_context` class is used by the middleware to set
|
||||
# timestamps for the last write to the primary. The resolver uses the context
|
||||
# class timestamps to determine how long to wait before reading from the
|
||||
# replica.
|
||||
#
|
||||
# By default Rails will store a last write timestamp in the session. The
|
||||
# DatabaseSelector middleware is designed as such you can define your own
|
||||
# strategy for connection switching and pass that into the middleware through
|
||||
# these configuration options.
|
||||
# config.active_record.database_selector = { delay: 2.seconds }
|
||||
# config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver
|
||||
# config.active_record.database_resolver_context = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
require "active_support/core_ext/integer/time"
|
||||
|
||||
# The test environment is used exclusively to run your application's
|
||||
# test suite. You never need to work with it otherwise. Remember that
|
||||
# your test database is "scratch space" for the test suite and is wiped
|
||||
|
|
@ -6,18 +8,18 @@
|
|||
Rails.application.configure do
|
||||
# Settings specified here will take precedence over those in config/application.rb.
|
||||
|
||||
config.cache_classes = false
|
||||
config.action_view.cache_template_loading = true
|
||||
# Turn false under Spring and add config.action_view.cache_template_loading = true.
|
||||
config.cache_classes = true
|
||||
|
||||
# Do not eager load code on boot. This avoids loading your whole application
|
||||
# just for the purpose of running a single test. If you are using a tool that
|
||||
# preloads Rails for running tests, you may have to set it to true.
|
||||
config.eager_load = false
|
||||
# Eager loading loads your whole application. When running a single test locally,
|
||||
# this probably isn't necessary. It's a good idea to do in a continuous integration
|
||||
# system, or in some way before deploying your code.
|
||||
config.eager_load = ENV["CI"].present?
|
||||
|
||||
# Configure public file server for tests with Cache-Control for performance.
|
||||
config.public_file_server.enabled = true
|
||||
config.public_file_server.headers = {
|
||||
'Cache-Control' => "public, max-age=#{1.hour.to_i}"
|
||||
"Cache-Control" => "public, max-age=#{1.hour.to_i}"
|
||||
}
|
||||
|
||||
# Show full error reports and disable caching.
|
||||
|
|
@ -34,16 +36,18 @@ Rails.application.configure do
|
|||
# Store uploaded files on the local file system in a temporary directory.
|
||||
config.active_storage.service = :test
|
||||
|
||||
config.action_mailer.perform_caching = false
|
||||
|
||||
# Tell Action Mailer not to deliver emails to the real world.
|
||||
# The :test delivery method accumulates sent emails in the
|
||||
# ActionMailer::Base.deliveries array.
|
||||
config.action_mailer.delivery_method = :test
|
||||
|
||||
# Print deprecation notices to the stderr.
|
||||
config.active_support.deprecation = :stderr
|
||||
|
||||
# Raise exceptions for disallowed deprecations.
|
||||
config.active_support.disallowed_deprecation = :raise
|
||||
|
||||
# Tell Active Support which deprecation messages to disallow.
|
||||
config.active_support.disallowed_deprecation_warnings = []
|
||||
|
||||
# Raises error for missing translations.
|
||||
# config.action_view.raise_on_missing_translations = true
|
||||
# config.i18n.raise_on_missing_translations = true
|
||||
|
||||
# Annotate rendered view with file names.
|
||||
# config.action_view.annotate_rendered_view_with_filenames = true
|
||||
end
|
||||
|
|
|
|||
|
|
@ -7,10 +7,14 @@
|
|||
|
||||
Rails.application.config.middleware.insert_before 0, Rack::Cors do
|
||||
allow do
|
||||
# origins ENV.fetch("CORS_ORIGIN","").split(",")
|
||||
origins ["127.0.0.1:1234", "app.granblue.team", "hensei-web-production.up.railway.app"]
|
||||
resource '*',
|
||||
headers: :any,
|
||||
methods: [:get, :post, :put, :patch, :delete, :options, :head]
|
||||
if Rails.env.production?
|
||||
origins %w[app.granblue.team hensei-web-production.up.railway.app]
|
||||
else
|
||||
origins %w[staging.granblue.team 127.0.0.1:1234]
|
||||
end
|
||||
|
||||
resource "*",
|
||||
headers: :any,
|
||||
methods: [:get, :post, :put, :patch, :delete, :options, :head]
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
# Be sure to restart your server when you modify this file.
|
||||
|
||||
# Configure sensitive parameters which will be filtered from the log file.
|
||||
Rails.application.config.filter_parameters += [:password]
|
||||
# Configure parameters to be filtered from the log file. Use this to limit dissemination of
|
||||
# sensitive information. See the ActiveSupport::ParameterFilter documentation for supported
|
||||
# notations and behaviors.
|
||||
Rails.application.config.filter_parameters += [
|
||||
:passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn
|
||||
]
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@
|
|||
# are locale specific, and you may define rules for as many different
|
||||
# locales as you wish. All of these examples are active by default:
|
||||
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
||||
# inflect.plural /^(ox)$/i, '\1en'
|
||||
# inflect.singular /^(ox)en/i, '\1'
|
||||
# inflect.irregular 'person', 'people'
|
||||
# inflect.plural /^(ox)$/i, "\\1en"
|
||||
# inflect.singular /^(ox)en/i, "\\1"
|
||||
# inflect.irregular "person", "people"
|
||||
# inflect.uncountable %w( fish sheep )
|
||||
# end
|
||||
|
||||
# These inflection rules are supported but not enabled by default:
|
||||
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
||||
# inflect.acronym 'RESTful'
|
||||
# inflect.acronym "RESTful"
|
||||
# end
|
||||
|
|
|
|||
135
config/initializers/new_framework_defaults_7_0.rb
Normal file
135
config/initializers/new_framework_defaults_7_0.rb
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
# Be sure to restart your server when you modify this file.
|
||||
#
|
||||
# This file eases your Rails 7.0 framework defaults upgrade.
|
||||
#
|
||||
# Uncomment each configuration one by one to switch to the new default.
|
||||
# Once your application is ready to run with all new defaults, you can remove
|
||||
# this file and set the `config.load_defaults` to `7.0`.
|
||||
#
|
||||
# Read the Guide for Upgrading Ruby on Rails for more info on each option.
|
||||
# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
|
||||
|
||||
# `button_to` view helper will render `<button>` element, regardless of whether
|
||||
# or not the content is passed as the first argument or as a block.
|
||||
# Rails.application.config.action_view.button_to_generates_button_tag = true
|
||||
|
||||
# `stylesheet_link_tag` view helper will not render the media attribute by default.
|
||||
# Rails.application.config.action_view.apply_stylesheet_media_default = false
|
||||
|
||||
# Change the digest class for the key generators to `OpenSSL::Digest::SHA256`.
|
||||
# Changing this default means invalidate all encrypted messages generated by
|
||||
# your application and, all the encrypted cookies. Only change this after you
|
||||
# rotated all the messages using the key rotator.
|
||||
#
|
||||
# See upgrading guide for more information on how to build a rotator.
|
||||
# https://guides.rubyonrails.org/v7.0/upgrading_ruby_on_rails.html
|
||||
# Rails.application.config.active_support.key_generator_hash_digest_class = OpenSSL::Digest::SHA256
|
||||
|
||||
# Change the digest class for ActiveSupport::Digest.
|
||||
# Changing this default means that for example Etags change and
|
||||
# various cache keys leading to cache invalidation.
|
||||
# Rails.application.config.active_support.hash_digest_class = OpenSSL::Digest::SHA256
|
||||
|
||||
# Don't override ActiveSupport::TimeWithZone.name and use the default Ruby
|
||||
# implementation.
|
||||
# Rails.application.config.active_support.remove_deprecated_time_with_zone_name = true
|
||||
|
||||
# Calls `Rails.application.executor.wrap` around test cases.
|
||||
# This makes test cases behave closer to an actual request or job.
|
||||
# Several features that are normally disabled in test, such as Active Record query cache
|
||||
# and asynchronous queries will then be enabled.
|
||||
# Rails.application.config.active_support.executor_around_test_case = true
|
||||
|
||||
# Define the isolation level of most of Rails internal state.
|
||||
# If you use a fiber based server or job processor, you should set it to `:fiber`.
|
||||
# Otherwise the default of `:thread` if preferable.
|
||||
# Rails.application.config.active_support.isolation_level = :thread
|
||||
|
||||
# Set both the `:open_timeout` and `:read_timeout` values for `:smtp` delivery method.
|
||||
# Rails.application.config.action_mailer.smtp_timeout = 5
|
||||
|
||||
# The ActiveStorage video previewer will now use scene change detection to generate
|
||||
# better preview images (rather than the previous default of using the first frame
|
||||
# of the video).
|
||||
# Rails.application.config.active_storage.video_preview_arguments =
|
||||
# "-vf 'select=eq(n\\,0)+eq(key\\,1)+gt(scene\\,0.015),loop=loop=-1:size=2,trim=start_frame=1' -frames:v 1 -f image2"
|
||||
|
||||
# Automatically infer `inverse_of` for associations with a scope.
|
||||
# Rails.application.config.active_record.automatic_scope_inversing = true
|
||||
|
||||
# Raise when running tests if fixtures contained foreign key violations
|
||||
# Rails.application.config.active_record.verify_foreign_keys_for_fixtures = true
|
||||
|
||||
# Disable partial inserts.
|
||||
# This default means that all columns will be referenced in INSERT queries
|
||||
# regardless of whether they have a default or not.
|
||||
# Rails.application.config.active_record.partial_inserts = false
|
||||
|
||||
# Protect from open redirect attacks in `redirect_back_or_to` and `redirect_to`.
|
||||
# Rails.application.config.action_controller.raise_on_open_redirects = true
|
||||
|
||||
# Change the variant processor for Active Storage.
|
||||
# Changing this default means updating all places in your code that
|
||||
# generate variants to use image processing macros and ruby-vips
|
||||
# operations. See the upgrading guide for detail on the changes required.
|
||||
# The `:mini_magick` option is not deprecated; it's fine to keep using it.
|
||||
# Rails.application.config.active_storage.variant_processor = :vips
|
||||
|
||||
# Enable parameter wrapping for JSON.
|
||||
# Previously this was set in an initializer. It's fine to keep using that initializer if you've customized it.
|
||||
# To disable parameter wrapping entirely, set this config to `false`.
|
||||
# Rails.application.config.action_controller.wrap_parameters_by_default = true
|
||||
|
||||
# Specifies whether generated namespaced UUIDs follow the RFC 4122 standard for namespace IDs provided as a
|
||||
# `String` to `Digest::UUID.uuid_v3` or `Digest::UUID.uuid_v5` method calls.
|
||||
#
|
||||
# See https://guides.rubyonrails.org/configuring.html#config-active-support-use-rfc4122-namespaced-uuids for
|
||||
# more information.
|
||||
# Rails.application.config.active_support.use_rfc4122_namespaced_uuids = true
|
||||
|
||||
# Change the default headers to disable browsers' flawed legacy XSS protection.
|
||||
# Rails.application.config.action_dispatch.default_headers = {
|
||||
# "X-Frame-Options" => "SAMEORIGIN",
|
||||
# "X-XSS-Protection" => "0",
|
||||
# "X-Content-Type-Options" => "nosniff",
|
||||
# "X-Download-Options" => "noopen",
|
||||
# "X-Permitted-Cross-Domain-Policies" => "none",
|
||||
# "Referrer-Policy" => "strict-origin-when-cross-origin"
|
||||
# }
|
||||
|
||||
|
||||
# ** Please read carefully, this must be configured in config/application.rb **
|
||||
# Change the format of the cache entry.
|
||||
# Changing this default means that all new cache entries added to the cache
|
||||
# will have a different format that is not supported by Rails 6.1 applications.
|
||||
# Only change this value after your application is fully deployed to Rails 7.0
|
||||
# and you have no plans to rollback.
|
||||
# When you're ready to change format, add this to `config/application.rb` (NOT this file):
|
||||
# config.active_support.cache_format_version = 7.0
|
||||
|
||||
|
||||
# Cookie serializer: 2 options
|
||||
#
|
||||
# If you're upgrading and haven't set `cookies_serializer` previously, your cookie serializer
|
||||
# is `:marshal`. The default for new apps is `:json`.
|
||||
#
|
||||
# Rails.application.config.action_dispatch.cookies_serializer = :json
|
||||
#
|
||||
#
|
||||
# To migrate an existing application to the `:json` serializer, use the `:hybrid` option.
|
||||
#
|
||||
# Rails transparently deserializes existing (Marshal-serialized) cookies on read and
|
||||
# re-writes them in the JSON format.
|
||||
#
|
||||
# It is fine to use `:hybrid` long term; you should do that until you're confident *all* your cookies
|
||||
# have been converted to JSON. To keep using `:hybrid` long term, move this config to its own
|
||||
# initializer or to `config/application.rb`.
|
||||
#
|
||||
# Rails.application.config.action_dispatch.cookies_serializer = :hybrid
|
||||
#
|
||||
#
|
||||
# If your cookies can't yet be serialized to JSON, keep using `:marshal` for backward-compatibility.
|
||||
#
|
||||
# If you have configured the serializer elsewhere, you can remove this section of the file.
|
||||
#
|
||||
# See https://guides.rubyonrails.org/action_controller_overview.html#cookies for more information.
|
||||
|
|
@ -8,13 +8,18 @@ Rails.application.routes.draw do
|
|||
namespace :v1 do
|
||||
resources :parties, only: %i[index create update destroy]
|
||||
resources :users, only: %i[create update show]
|
||||
resources :grid_weapons, only: [:update]
|
||||
resources :grid_weapons, only: %i[update destroy]
|
||||
resources :grid_characters, only: %i[update destroy]
|
||||
resources :grid_summons, only: %i[update destroy]
|
||||
resources :favorites, only: [:create]
|
||||
|
||||
get 'version', to: 'api#version'
|
||||
|
||||
get 'users/info/:id', to: 'users#info'
|
||||
|
||||
get 'parties/favorites', to: 'parties#favorites'
|
||||
get 'parties/:id', to: 'parties#show'
|
||||
post 'parties/:id/remix', to: 'parties#remix'
|
||||
|
||||
put 'parties/:id/jobs', to: 'jobs#update_job'
|
||||
put 'parties/:id/job_skills', to: 'jobs#update_job_skills'
|
||||
|
|
@ -31,6 +36,7 @@ Rails.application.routes.draw do
|
|||
|
||||
get 'jobs/skills', to: 'job_skills#all'
|
||||
get 'jobs/:id/skills', to: 'job_skills#job'
|
||||
get 'jobs/:id/accessories', to: 'job_accessories#job'
|
||||
|
||||
get 'raids', to: 'raids#all'
|
||||
get 'weapon_keys', to: 'weapon_keys#all'
|
||||
|
|
|
|||
20
db/data/20230102233527_migrate_ax_type_to_ax.rb
Normal file
20
db/data/20230102233527_migrate_ax_type_to_ax.rb
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class MigrateAxTypeToAx < ActiveRecord::Migration[6.1]
|
||||
def up
|
||||
Weapon.all.each do |weapon|
|
||||
if weapon.ax_type > 0
|
||||
weapon.ax = true
|
||||
elsif weapon.ax_type == 0
|
||||
weapon.ax = false
|
||||
weapon.ax_type = nil
|
||||
end
|
||||
|
||||
weapon.save
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
raise ActiveRecord::IrreversibleMigration
|
||||
end
|
||||
end
|
||||
21
db/data/20230102235227_set_flb_to_false_on_summons.rb
Normal file
21
db/data/20230102235227_set_flb_to_false_on_summons.rb
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class SetFlbToFalseOnSummons < ActiveRecord::Migration[6.1]
|
||||
def up
|
||||
Summon.all.each do |summon|
|
||||
if summon.flb.nil?
|
||||
summon.flb = false
|
||||
summon.save
|
||||
end
|
||||
|
||||
if summon.ulb.nil?
|
||||
summon.ulb = false
|
||||
summon.save
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
raise ActiveRecord::IrreversibleMigration
|
||||
end
|
||||
end
|
||||
1
db/data_schema.rb
Normal file
1
db/data_schema.rb
Normal file
|
|
@ -0,0 +1 @@
|
|||
DataMigrate::Data.define(version: 20230102235227)
|
||||
6
db/migrate/20230102154816_change_limit_to_boolean.rb
Normal file
6
db/migrate/20230102154816_change_limit_to_boolean.rb
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
class ChangeLimitToBoolean < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :weapons, :limit2, :boolean, default: false, null: false
|
||||
add_column :summons, :limit2, :boolean, default: false, null: false
|
||||
end
|
||||
end
|
||||
5
db/migrate/20230102161702_remove_limit_from_weapons.rb
Normal file
5
db/migrate/20230102161702_remove_limit_from_weapons.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class RemoveLimitFromWeapons < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
remove_column :weapons, :limit, :integer
|
||||
end
|
||||
end
|
||||
5
db/migrate/20230102161738_rename_limit2_on_weapon.rb
Normal file
5
db/migrate/20230102161738_rename_limit2_on_weapon.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class RenameLimit2OnWeapon < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
rename_column :weapons, :limit2, :limit
|
||||
end
|
||||
end
|
||||
5
db/migrate/20230102161820_remove_limit_from_summons.rb
Normal file
5
db/migrate/20230102161820_remove_limit_from_summons.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class RemoveLimitFromSummons < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
remove_column :summons, :limit, :integer
|
||||
end
|
||||
end
|
||||
5
db/migrate/20230102161941_rename_limit2_on_summons.rb
Normal file
5
db/migrate/20230102161941_rename_limit2_on_summons.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class RenameLimit2OnSummons < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
rename_column :summons, :limit2, :limit
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class RenameAxToAxTypeOnWeapons < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
rename_column :weapons, :ax, :ax_type
|
||||
end
|
||||
end
|
||||
5
db/migrate/20230102233457_add_boolean_ax_to_weapons.rb
Normal file
5
db/migrate/20230102233457_add_boolean_ax_to_weapons.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class AddBooleanAxToWeapons < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :weapons, :ax, :boolean
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
class ChangeAxAxTypeProperties < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
change_column :weapons, :ax, :boolean, null: false, default: false
|
||||
change_column :weapons, :ax_type, :integer, null: true, default: nil
|
||||
end
|
||||
end
|
||||
5
db/migrate/20230102234217_add_xlb_to_summons.rb
Normal file
5
db/migrate/20230102234217_add_xlb_to_summons.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class AddXlbToSummons < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :summons, :xlb, :boolean, default: false, null: false
|
||||
end
|
||||
end
|
||||
7
db/migrate/20230102234252_set_defaults_on_summons.rb
Normal file
7
db/migrate/20230102234252_set_defaults_on_summons.rb
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
class SetDefaultsOnSummons < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
change_column :summons, :flb, :boolean, null: false, default: false
|
||||
change_column :summons, :ulb, :boolean, null: false, default: false
|
||||
change_column :summons, :max_level, :integer, null: false, default: 100
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class AddTranscendenceStepToGridCharacters < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :grid_characters, :transcendence_step, :integer, default: 0, null: false
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class AddTranscendenceStepToGridSummons < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :grid_summons, :transcendence_step, :integer, default: 0, null: false
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
class AddRingsEarringsToGridCharacters < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :grid_characters, :ring_modifier1, :integer
|
||||
add_column :grid_characters, :ring_strength1, :float
|
||||
|
||||
add_column :grid_characters, :ring_modifier2, :integer
|
||||
add_column :grid_characters, :ring_strength2, :float
|
||||
|
||||
add_column :grid_characters, :ring_modifier3, :integer
|
||||
add_column :grid_characters, :ring_strength3, :float
|
||||
|
||||
add_column :grid_characters, :ring_modifier4, :integer
|
||||
add_column :grid_characters, :ring_strength4, :float
|
||||
|
||||
add_column :grid_characters, :earring_modifier, :integer
|
||||
add_column :grid_characters, :earring_strength, :float
|
||||
end
|
||||
end
|
||||
12
db/migrate/20230103111523_add_new_party_details.rb
Normal file
12
db/migrate/20230103111523_add_new_party_details.rb
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
class AddNewPartyDetails < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :parties, :full_auto, :boolean, default: false, null: false
|
||||
add_column :parties, :auto_guard, :boolean, default: false, null: false
|
||||
add_column :parties, :charge_attack, :boolean, default: false, null: false
|
||||
|
||||
add_column :parties, :clear_time, :integer, default: 0, null: false
|
||||
add_column :parties, :button_count, :integer, default: 0, null: false
|
||||
add_column :parties, :chain_count, :integer, default: 0, null: false
|
||||
add_column :parties, :turn_count, :integer, default: 0, null: false
|
||||
end
|
||||
end
|
||||
5
db/migrate/20230103150807_update_turn_count_default.rb
Normal file
5
db/migrate/20230103150807_update_turn_count_default.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class UpdateTurnCountDefault < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
change_column :parties, :turn_count, :integer, null: false, default: 1
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
class UpdateNullableOnPartyDetails < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
change_column :parties, :button_count, :integer, null: true, default: nil
|
||||
change_column :parties, :chain_count, :integer, null: true, default: nil
|
||||
change_column :parties, :turn_count, :integer, null: true, default: nil
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class ChangeDefaultValueOnChargeAttack < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
change_column :parties, :charge_attack, :boolean, null: false, default: true
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class ChangeAwakeningTypeDefaultValue < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
change_column :grid_characters, :awakening_type, :integer, null: false, default: 1
|
||||
end
|
||||
end
|
||||
22
db/migrate/20230107121520_change_mastery_columns_to_jsonb.rb
Normal file
22
db/migrate/20230107121520_change_mastery_columns_to_jsonb.rb
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
class ChangeMasteryColumnsToJsonb < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
# Remove old columns
|
||||
remove_column :grid_characters, :ring_modifier1, :integer
|
||||
remove_column :grid_characters, :ring_modifier2, :integer
|
||||
remove_column :grid_characters, :ring_modifier3, :integer
|
||||
remove_column :grid_characters, :ring_modifier4, :integer
|
||||
remove_column :grid_characters, :ring_strength1, :integer
|
||||
remove_column :grid_characters, :ring_strength2, :integer
|
||||
remove_column :grid_characters, :ring_strength3, :integer
|
||||
remove_column :grid_characters, :ring_strength4, :integer
|
||||
remove_column :grid_characters, :earring_modifier, :integer
|
||||
remove_column :grid_characters, :earring_strength, :integer
|
||||
|
||||
# Add new columns
|
||||
add_column :grid_characters, :ring1, :jsonb, default: { modifier: nil, strength: nil }
|
||||
add_column :grid_characters, :ring2, :jsonb, default: { modifier: nil, strength: nil }
|
||||
add_column :grid_characters, :ring3, :jsonb, default: { modifier: nil, strength: nil }
|
||||
add_column :grid_characters, :ring4, :jsonb, default: { modifier: nil, strength: nil }
|
||||
add_column :grid_characters, :earring, :jsonb, default: { modifier: nil, strength: nil }
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
class ChangeAwakeningColumnsToJsonb < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
# Remove old columns
|
||||
remove_column :grid_characters, :awakening_type, :integer
|
||||
remove_column :grid_characters, :awakening_level, :integer
|
||||
|
||||
# Add new column
|
||||
add_column :grid_characters, :awakening, :jsonb, default: { type: 1, level: 1 }
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
class MakeMasteryColumnsNotNullable < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
change_column :grid_characters, :ring1, :jsonb, null: false
|
||||
change_column :grid_characters, :ring2, :jsonb, null: false
|
||||
change_column :grid_characters, :ring3, :jsonb, null: false
|
||||
change_column :grid_characters, :ring4, :jsonb, null: false
|
||||
change_column :grid_characters, :earring, :jsonb, null: false
|
||||
change_column :grid_characters, :awakening, :jsonb, null: false
|
||||
end
|
||||
end
|
||||
7
db/migrate/20230108150956_add_source_party_to_parties.rb
Normal file
7
db/migrate/20230108150956_add_source_party_to_parties.rb
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
class AddSourcePartyToParties < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
change_table(:parties) do |t|
|
||||
t.references :source_party, type: :uuid, foreign_key: { to_table: 'parties' }
|
||||
end
|
||||
end
|
||||
end
|
||||
6
db/migrate/20230123035602_add_max_hpatkxlb_to_summon.rb
Normal file
6
db/migrate/20230123035602_add_max_hpatkxlb_to_summon.rb
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
class AddMaxHpatkxlbToSummon < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :summons, :max_atk_xlb, :integer
|
||||
add_column :summons, :max_hp_xlb, :integer
|
||||
end
|
||||
end
|
||||
5
db/migrate/20230123055508_add_granblue_id_to_jobs.rb
Normal file
5
db/migrate/20230123055508_add_granblue_id_to_jobs.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class AddGranblueIdToJobs < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :jobs, :granblue_id, :string
|
||||
end
|
||||
end
|
||||
14
db/migrate/20230124000252_create_job_accessories.rb
Normal file
14
db/migrate/20230124000252_create_job_accessories.rb
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
class CreateJobAccessories < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
create_table :job_accessories, id: :uuid, default: -> { "gen_random_uuid()" } do |t|
|
||||
t.references :job, type: :uuid
|
||||
|
||||
t.string :name_en, null: false, unique: true
|
||||
t.string :name_jp, null: false, unique: true
|
||||
t.string :granblue_id, null: false, unique: true
|
||||
|
||||
t.integer :rarity
|
||||
t.date :release_date
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class AddAccessoryTypeToJobAccessories < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :job_accessories, :accessory_type, :integer
|
||||
end
|
||||
end
|
||||
7
db/migrate/20230124100823_add_accessory_id_to_party.rb
Normal file
7
db/migrate/20230124100823_add_accessory_id_to_party.rb
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
class AddAccessoryIdToParty < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
change_table(:parties) do |t|
|
||||
t.references :accessory, type: :uuid, foreign_key: { to_table: 'job_accessories' }
|
||||
end
|
||||
end
|
||||
end
|
||||
8
db/migrate/20230126030358_add_updates_table.rb
Normal file
8
db/migrate/20230126030358_add_updates_table.rb
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
class AddUpdatesTable < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
create_table :app_updates, id: false do |t|
|
||||
t.string :update_type, null: false
|
||||
t.datetime :updated_at, null: false, unique: true, primary_key: true
|
||||
end
|
||||
end
|
||||
end
|
||||
5
db/migrate/20230126040207_add_version_to_app_updates.rb
Normal file
5
db/migrate/20230126040207_add_version_to_app_updates.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
class AddVersionToAppUpdates < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :app_updates, :version, :string
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
class AddCharacterAndSummonCountsToParty < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :parties, :characters_count, :integer
|
||||
add_column :parties, :summons_count, :integer
|
||||
end
|
||||
end
|
||||
101
db/schema.rb
101
db/schema.rb
|
|
@ -10,13 +10,18 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
||||
|
||||
ActiveRecord::Schema[7.0].define(version: 2023_01_28_091710) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "btree_gin"
|
||||
enable_extension "pg_trgm"
|
||||
enable_extension "pgcrypto"
|
||||
enable_extension "plpgsql"
|
||||
enable_extension "timescaledb"
|
||||
|
||||
create_table "app_updates", primary_key: "updated_at", id: :datetime, force: :cascade do |t|
|
||||
t.string "update_type", null: false
|
||||
t.string "version"
|
||||
end
|
||||
|
||||
create_table "characters", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||
t.string "name_en"
|
||||
|
|
@ -51,8 +56,8 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
create_table "favorites", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||
t.uuid "user_id"
|
||||
t.uuid "party_id"
|
||||
t.datetime "created_at", precision: 6, null: false
|
||||
t.datetime "updated_at", precision: 6, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["party_id"], name: "index_favorites_on_party_id"
|
||||
t.index ["user_id"], name: "index_favorites_on_user_id"
|
||||
end
|
||||
|
|
@ -62,11 +67,16 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.uuid "character_id"
|
||||
t.integer "uncap_level"
|
||||
t.integer "position"
|
||||
t.datetime "created_at", precision: 6, null: false
|
||||
t.datetime "updated_at", precision: 6, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.boolean "perpetuity", default: false, null: false
|
||||
t.integer "awakening_type", default: 0, null: false
|
||||
t.integer "awakening_level", default: 1, null: false
|
||||
t.integer "transcendence_step", default: 0, null: false
|
||||
t.jsonb "ring1", default: {"modifier"=>nil, "strength"=>nil}, null: false
|
||||
t.jsonb "ring2", default: {"modifier"=>nil, "strength"=>nil}, null: false
|
||||
t.jsonb "ring3", default: {"modifier"=>nil, "strength"=>nil}, null: false
|
||||
t.jsonb "ring4", default: {"modifier"=>nil, "strength"=>nil}, null: false
|
||||
t.jsonb "earring", default: {"modifier"=>nil, "strength"=>nil}, null: false
|
||||
t.jsonb "awakening", default: {"type"=>1, "level"=>1}, null: false
|
||||
t.index ["character_id"], name: "index_grid_characters_on_character_id"
|
||||
t.index ["party_id"], name: "index_grid_characters_on_party_id"
|
||||
end
|
||||
|
|
@ -78,8 +88,9 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.boolean "main"
|
||||
t.boolean "friend"
|
||||
t.integer "position"
|
||||
t.datetime "created_at", precision: 6, null: false
|
||||
t.datetime "updated_at", precision: 6, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.integer "transcendence_step", default: 0, null: false
|
||||
t.index ["party_id"], name: "index_grid_summons_on_party_id"
|
||||
t.index ["summon_id"], name: "index_grid_summons_on_summon_id"
|
||||
end
|
||||
|
|
@ -92,8 +103,8 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.integer "uncap_level"
|
||||
t.boolean "mainhand"
|
||||
t.integer "position"
|
||||
t.datetime "created_at", precision: 6, null: false
|
||||
t.datetime "updated_at", precision: 6, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.uuid "weapon_key3_id"
|
||||
t.integer "ax_modifier1"
|
||||
t.float "ax_strength1"
|
||||
|
|
@ -104,6 +115,20 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.integer "awakening_level", default: 1, null: false
|
||||
t.index ["party_id"], name: "index_grid_weapons_on_party_id"
|
||||
t.index ["weapon_id"], name: "index_grid_weapons_on_weapon_id"
|
||||
t.index ["weapon_key1_id"], name: "index_grid_weapons_on_weapon_key1_id"
|
||||
t.index ["weapon_key2_id"], name: "index_grid_weapons_on_weapon_key2_id"
|
||||
t.index ["weapon_key3_id"], name: "index_grid_weapons_on_weapon_key3_id"
|
||||
end
|
||||
|
||||
create_table "job_accessories", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||
t.uuid "job_id"
|
||||
t.string "name_en", null: false
|
||||
t.string "name_jp", null: false
|
||||
t.string "granblue_id", null: false
|
||||
t.integer "rarity"
|
||||
t.date "release_date"
|
||||
t.integer "accessory_type"
|
||||
t.index ["job_id"], name: "index_job_accessories_on_job_id"
|
||||
end
|
||||
|
||||
create_table "job_skills", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||
|
|
@ -129,6 +154,7 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.boolean "ml", default: false
|
||||
t.integer "order"
|
||||
t.uuid "base_job_id"
|
||||
t.string "granblue_id"
|
||||
t.index ["base_job_id"], name: "index_jobs_on_base_job_id"
|
||||
end
|
||||
|
||||
|
|
@ -138,8 +164,8 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.string "token", null: false
|
||||
t.integer "expires_in", null: false
|
||||
t.text "redirect_uri", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "revoked_at"
|
||||
t.datetime "created_at", precision: nil, null: false
|
||||
t.datetime "revoked_at", precision: nil
|
||||
t.string "scopes"
|
||||
t.index ["token"], name: "index_oauth_access_grants_on_token", unique: true
|
||||
end
|
||||
|
|
@ -150,8 +176,8 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.string "token", null: false
|
||||
t.string "refresh_token"
|
||||
t.integer "expires_in"
|
||||
t.datetime "revoked_at"
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "revoked_at", precision: nil
|
||||
t.datetime "created_at", precision: nil, null: false
|
||||
t.string "scopes"
|
||||
t.string "previous_refresh_token", default: "", null: false
|
||||
t.index ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true
|
||||
|
|
@ -165,16 +191,16 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.string "secret", null: false
|
||||
t.text "redirect_uri", null: false
|
||||
t.string "scopes", default: "", null: false
|
||||
t.datetime "created_at", precision: 6, null: false
|
||||
t.datetime "updated_at", precision: 6, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["uid"], name: "index_oauth_applications_on_uid", unique: true
|
||||
end
|
||||
|
||||
create_table "parties", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
|
||||
t.uuid "user_id"
|
||||
t.string "shortcode"
|
||||
t.datetime "created_at", precision: 6, null: false
|
||||
t.datetime "updated_at", precision: 6, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.boolean "extra", default: false, null: false
|
||||
t.string "name"
|
||||
t.text "description"
|
||||
|
|
@ -187,11 +213,24 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.uuid "skill2_id"
|
||||
t.uuid "skill3_id"
|
||||
t.uuid "skill0_id"
|
||||
t.boolean "full_auto", default: false, null: false
|
||||
t.boolean "auto_guard", default: false, null: false
|
||||
t.boolean "charge_attack", default: true, null: false
|
||||
t.integer "clear_time", default: 0, null: false
|
||||
t.integer "button_count"
|
||||
t.integer "chain_count"
|
||||
t.integer "turn_count"
|
||||
t.uuid "source_party_id"
|
||||
t.integer "characters_count"
|
||||
t.integer "summons_count"
|
||||
t.uuid "accessory_id"
|
||||
t.index ["accessory_id"], name: "index_parties_on_accessory_id"
|
||||
t.index ["job_id"], name: "index_parties_on_job_id"
|
||||
t.index ["skill0_id"], name: "index_parties_on_skill0_id"
|
||||
t.index ["skill1_id"], name: "index_parties_on_skill1_id"
|
||||
t.index ["skill2_id"], name: "index_parties_on_skill2_id"
|
||||
t.index ["skill3_id"], name: "index_parties_on_skill3_id"
|
||||
t.index ["source_party_id"], name: "index_parties_on_source_party_id"
|
||||
t.index ["user_id"], name: "index_parties_on_user_id"
|
||||
end
|
||||
|
||||
|
|
@ -211,9 +250,9 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.integer "rarity"
|
||||
t.integer "element"
|
||||
t.string "series"
|
||||
t.boolean "flb"
|
||||
t.boolean "ulb"
|
||||
t.integer "max_level"
|
||||
t.boolean "flb", default: false, null: false
|
||||
t.boolean "ulb", default: false, null: false
|
||||
t.integer "max_level", default: 100, null: false
|
||||
t.integer "min_hp"
|
||||
t.integer "max_hp"
|
||||
t.integer "max_hp_flb"
|
||||
|
|
@ -223,7 +262,10 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.integer "max_atk_flb"
|
||||
t.integer "max_atk_ulb"
|
||||
t.boolean "subaura", default: false, null: false
|
||||
t.integer "limit"
|
||||
t.boolean "limit", default: false, null: false
|
||||
t.boolean "xlb", default: false, null: false
|
||||
t.integer "max_atk_xlb"
|
||||
t.integer "max_hp_xlb"
|
||||
t.index ["name_en"], name: "index_summons_on_name_en", opclass: :gin_trgm_ops, using: :gin
|
||||
end
|
||||
|
||||
|
|
@ -232,8 +274,8 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.string "password_digest"
|
||||
t.string "username"
|
||||
t.integer "granblue_id"
|
||||
t.datetime "created_at", precision: 6, null: false
|
||||
t.datetime "updated_at", precision: 6, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.string "picture", default: "gran"
|
||||
t.string "language", default: "en", null: false
|
||||
t.boolean "private", default: false, null: false
|
||||
|
|
@ -273,9 +315,10 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
t.integer "max_atk_flb"
|
||||
t.integer "max_atk_ulb"
|
||||
t.boolean "extra", default: false, null: false
|
||||
t.integer "limit"
|
||||
t.integer "ax", default: 0, null: false
|
||||
t.integer "ax_type"
|
||||
t.boolean "awakening", default: true, null: false
|
||||
t.boolean "limit", default: false, null: false
|
||||
t.boolean "ax", default: false, null: false
|
||||
t.index ["name_en"], name: "index_weapons_on_name_en", opclass: :gin_trgm_ops, using: :gin
|
||||
end
|
||||
|
||||
|
|
@ -291,11 +334,13 @@ ActiveRecord::Schema.define(version: 2022_12_26_054501) do
|
|||
add_foreign_key "jobs", "jobs", column: "base_job_id"
|
||||
add_foreign_key "oauth_access_grants", "oauth_applications", column: "application_id"
|
||||
add_foreign_key "oauth_access_tokens", "oauth_applications", column: "application_id"
|
||||
add_foreign_key "parties", "job_accessories", column: "accessory_id"
|
||||
add_foreign_key "parties", "job_skills", column: "skill0_id"
|
||||
add_foreign_key "parties", "job_skills", column: "skill1_id"
|
||||
add_foreign_key "parties", "job_skills", column: "skill2_id"
|
||||
add_foreign_key "parties", "job_skills", column: "skill3_id"
|
||||
add_foreign_key "parties", "jobs"
|
||||
add_foreign_key "parties", "parties", column: "source_party_id"
|
||||
add_foreign_key "parties", "raids"
|
||||
add_foreign_key "parties", "users"
|
||||
end
|
||||
|
|
|
|||
232
db/seeds.rb
232
db/seeds.rb
|
|
@ -1,95 +1,165 @@
|
|||
require 'csv'
|
||||
|
||||
def seed_weapons
|
||||
csv_text = File.read(Rails.root.join('lib', 'seeds', 'weapons.csv'))
|
||||
csv = CSV.parse(csv_text, headers: true, encoding: 'UTF-8')
|
||||
csv.each do |row|
|
||||
w = Weapon.new
|
||||
w.name_en = row['name_en']
|
||||
w.name_jp = row['name_jp']
|
||||
w.granblue_id = row['granblue_id']
|
||||
w.rarity = row['rarity']
|
||||
w.element = row['element']
|
||||
w.proficiency = row['proficiency']
|
||||
w.series = row['series']
|
||||
w.flb = row['flb']
|
||||
w.ulb = row['ulb']
|
||||
w.max_level = row['max_level']
|
||||
w.max_skill_level = row['max_skill_level']
|
||||
w.min_hp = row['min_hp']
|
||||
w.max_hp = row['max_hp']
|
||||
w.max_hp_flb = row['max_hp_flb']
|
||||
w.max_hp_ulb = row['max_hp_ulb']
|
||||
w.min_atk = row['min_hp']
|
||||
w.max_atk = row['max_hp']
|
||||
w.max_atk_flb = row['max_hp_flb']
|
||||
w.max_atk_ulb = row['max_hp_ulb']
|
||||
w.save
|
||||
end
|
||||
csv_text = File.read(Rails.root.join('lib', 'seeds', 'weapons.csv'))
|
||||
csv = CSV.parse(csv_text, headers: true, encoding: 'UTF-8')
|
||||
csv.each do |row|
|
||||
w = Weapon.new
|
||||
w.name_en = row['name_en']
|
||||
w.name_jp = row['name_jp']
|
||||
w.granblue_id = row['granblue_id']
|
||||
w.rarity = row['rarity']
|
||||
w.element = row['element']
|
||||
w.proficiency = row['proficiency']
|
||||
w.series = row['series']
|
||||
w.flb = row['flb']
|
||||
w.ulb = row['ulb']
|
||||
w.extra = row['extra']
|
||||
w.ax = row['ax']
|
||||
w.awakening = row['awakening']
|
||||
w.limit = row['limit']
|
||||
w.max_level = row['max_level']
|
||||
w.max_skill_level = row['max_skill_level']
|
||||
w.min_hp = row['min_hp']
|
||||
w.max_hp = row['max_hp']
|
||||
w.max_hp_flb = row['max_hp_flb']
|
||||
w.max_hp_ulb = row['max_hp_ulb']
|
||||
w.min_atk = row['min_hp']
|
||||
w.max_atk = row['max_hp']
|
||||
w.max_atk_flb = row['max_hp_flb']
|
||||
w.max_atk_ulb = row['max_hp_ulb']
|
||||
w.save
|
||||
end
|
||||
|
||||
puts "There are now #{Weapon.count} rows in the weapons table."
|
||||
puts "There are now #{Weapon.count} rows in the weapons table."
|
||||
end
|
||||
|
||||
def seed_summons
|
||||
csv_text = File.read(Rails.root.join('lib', 'seeds', 'summons.csv'))
|
||||
csv = CSV.parse(csv_text, headers: true, encoding: 'UTF-8')
|
||||
csv.each do |row|
|
||||
s = Summon.new
|
||||
s.name_en = row['name_en']
|
||||
s.name_jp = row['name_jp']
|
||||
s.granblue_id = row['granblue_id']
|
||||
s.rarity = row['rarity']
|
||||
s.element = row['element']
|
||||
s.flb = row['flb']
|
||||
s.ulb = row['ulb']
|
||||
s.max_level = row['max_level']
|
||||
s.min_hp = row['min_hp']
|
||||
s.max_hp = row['max_hp']
|
||||
s.max_hp_flb = row['max_hp_flb']
|
||||
s.max_hp_ulb = row['max_hp_ulb']
|
||||
s.min_atk = row['min_hp']
|
||||
s.max_atk = row['max_hp']
|
||||
s.max_atk_flb = row['max_hp_flb']
|
||||
s.max_atk_ulb = row['max_hp_ulb']
|
||||
s.save
|
||||
end
|
||||
csv_text = File.read(Rails.root.join('lib', 'seeds', 'summons.csv'))
|
||||
csv = CSV.parse(csv_text, headers: true, encoding: 'UTF-8')
|
||||
csv.each do |row|
|
||||
s = Summon.new
|
||||
s.name_en = row['name_en']
|
||||
s.name_jp = row['name_jp']
|
||||
s.granblue_id = row['granblue_id']
|
||||
s.rarity = row['rarity']
|
||||
s.element = row['element']
|
||||
s.flb = row['flb']
|
||||
s.ulb = row['ulb']
|
||||
s.subaura = row['subaura']
|
||||
s.limit = row['limit']
|
||||
s.max_level = row['max_level']
|
||||
s.min_hp = row['min_hp']
|
||||
s.max_hp = row['max_hp']
|
||||
s.max_hp_flb = row['max_hp_flb']
|
||||
s.max_hp_ulb = row['max_hp_ulb']
|
||||
s.min_atk = row['min_hp']
|
||||
s.max_atk = row['max_hp']
|
||||
s.max_atk_flb = row['max_hp_flb']
|
||||
s.max_atk_ulb = row['max_hp_ulb']
|
||||
s.save
|
||||
end
|
||||
|
||||
puts "There are now #{Summon.count} rows in the summons table."
|
||||
puts "There are now #{Summon.count} rows in the summons table."
|
||||
end
|
||||
|
||||
def seed_characters
|
||||
csv_text = File.read(Rails.root.join('lib', 'seeds', 'characters.csv'))
|
||||
csv = CSV.parse(csv_text, headers: true, encoding: 'UTF-8')
|
||||
csv.each do |row|
|
||||
c = Character.new
|
||||
c.name_en = row['name_en']
|
||||
c.name_jp = row['name_jp']
|
||||
c.granblue_id = row['granblue_id']
|
||||
c.rarity = row['rarity']
|
||||
c.element = row['element']
|
||||
c.proficiency1 = row['proficiency1']
|
||||
c.proficiency2 = row['proficiency2']
|
||||
c.gender = row['gender']
|
||||
c.race1 = row['race1']
|
||||
c.race2 = row['race2']
|
||||
c.flb = row['flb']
|
||||
c.max_level = row['max_level']
|
||||
c.min_hp = row['min_hp']
|
||||
c.max_hp = row['max_hp']
|
||||
c.max_hp_flb = row['max_hp_flb']
|
||||
c.min_atk = row['min_hp']
|
||||
c.max_atk = row['max_hp']
|
||||
c.max_atk_flb = row['max_hp_flb']
|
||||
c.base_da = row['base_da']
|
||||
c.base_ta = row['base_ta']
|
||||
c.ougi_ratio = row['ougi_ratio']
|
||||
c.ougi_ratio_flb = row['ougi_ratio_flb']
|
||||
c.save
|
||||
end
|
||||
csv_text = File.read(Rails.root.join('lib', 'seeds', 'characters.csv'))
|
||||
csv = CSV.parse(csv_text, headers: true, encoding: 'UTF-8')
|
||||
csv.each do |row|
|
||||
c = Character.new
|
||||
c.name_en = row['name_en']
|
||||
c.name_jp = row['name_jp']
|
||||
c.granblue_id = row['granblue_id']
|
||||
c.character_id = row['character_id']
|
||||
c.rarity = row['rarity']
|
||||
c.element = row['element']
|
||||
c.proficiency1 = row['proficiency1']
|
||||
c.proficiency2 = row['proficiency2']
|
||||
c.gender = row['gender']
|
||||
c.race1 = row['race1']
|
||||
c.race2 = row['race2']
|
||||
c.flb = row['flb']
|
||||
c.ulb = row['ulb']
|
||||
c.max_level = row['max_level']
|
||||
c.min_hp = row['min_hp']
|
||||
c.max_hp = row['max_hp']
|
||||
c.max_hp_flb = row['max_hp_flb']
|
||||
c.max_hp_ulb = row['max_hp_ulb']
|
||||
c.min_atk = row['min_hp']
|
||||
c.max_atk = row['max_hp']
|
||||
c.max_atk_flb = row['max_hp_flb']
|
||||
c.max_atk_ulb = row['max_hp_ulb']
|
||||
c.base_da = row['base_da']
|
||||
c.base_ta = row['base_ta']
|
||||
c.ougi_ratio = row['ougi_ratio']
|
||||
c.ougi_ratio_flb = row['ougi_ratio_flb']
|
||||
c.special = row['special']
|
||||
c.save
|
||||
end
|
||||
|
||||
puts "There are now #{Character.count} rows in the characters table."
|
||||
puts "There are now #{Character.count} rows in the characters table."
|
||||
end
|
||||
|
||||
seed_weapons()
|
||||
seed_summons()
|
||||
seed_characters()
|
||||
def seed_jobs
|
||||
csv_text = File.read(Rails.root.join('lib', 'seeds', 'jobs.csv'))
|
||||
csv = CSV.parse(csv_text, headers: true, encoding: 'UTF-8')
|
||||
csv.each do |row|
|
||||
j = Job.new
|
||||
j.id = row['id']
|
||||
j.name_en = row['name_en']
|
||||
j.name_jp = row['name_jp']
|
||||
j.proficiency1 = row['proficiency1']
|
||||
j.proficiency2 = row['proficiency2']
|
||||
j.row = row['row']
|
||||
j.ml = row['ml']
|
||||
j.order = row['order']
|
||||
j.base_job_id = row['base_job_id']
|
||||
j.save
|
||||
end
|
||||
end
|
||||
|
||||
def seed_job_skills
|
||||
csv_text = File.read(Rails.root.join('lib', 'seeds', 'job_skills.csv'))
|
||||
csv = CSV.parse(csv_text, headers: true, encoding: 'UTF-8')
|
||||
csv.each do |row|
|
||||
j = JobSkill.new
|
||||
j.job_id = row['job_id']
|
||||
j.name_en = row['name_en']
|
||||
j.name_jp = row['name_jp']
|
||||
j.slug = row['slug']
|
||||
j.color = row['color']
|
||||
j.main = row['main']
|
||||
j.sub = row['sub']
|
||||
j.emp = row['emp']
|
||||
j.base = row['base']
|
||||
j.order = row['order']
|
||||
j.save
|
||||
end
|
||||
end
|
||||
|
||||
def seed_weapon_keys
|
||||
csv_text = File.read(Rails.root.join('lib', 'seeds', 'weapon_keys.csv'))
|
||||
csv = CSV.parse(csv_text, headers: true, encoding: 'UTF-8')
|
||||
csv.each do |row|
|
||||
k = WeaponKey.new
|
||||
k.name_en = row['name_en']
|
||||
k.name_jp = row['name_jp']
|
||||
k.series = row['series']
|
||||
k.slot = row['slot']
|
||||
k.group = row['group']
|
||||
k.order = row['order']
|
||||
k.slug = row['slug']
|
||||
k.save
|
||||
end
|
||||
end
|
||||
|
||||
def seed_all
|
||||
seed_weapons
|
||||
seed_summons
|
||||
seed_characters
|
||||
seed_jobs
|
||||
seed_job_skills
|
||||
end
|
||||
|
||||
seed_all
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
268
lib/seeds/job_skills.csv
Normal file
268
lib/seeds/job_skills.csv
Normal file
|
|
@ -0,0 +1,268 @@
|
|||
"id","job_id","name_en","name_jp","slug","color","main","sub","emp","order","base"
|
||||
"005b5b80-6c67-4d14-bafe-0237535a6566","a2cff6d3-390a-48df-b414-0c00e4da78c8","Alchemize Green Potion","錬成:キュアポーション","alchemize-green-potion",3,TRUE,FALSE,FALSE,0,FALSE
|
||||
"01811568-6f37-409a-9975-4e79b1c8635f","2ea006f4-160d-494c-ab95-85b6d897f12c","Dance of Zeal","狂信演舞","dance-of-zeal",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"02c9740b-458f-494c-ac0e-2aa9e3cadf24","bc88726b-9f96-4061-be1c-7a2306be238e","Aether Blast II","エーテルブラストII","aether-blast-ii",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"03a7d35f-821f-44ed-be4a-da1f2c518f58","3885c629-fc2a-4298-9e51-4857f0afb2b5","Battle Scar","パイルリベレーション","battle-scar",2,TRUE,TRUE,FALSE,2,FALSE
|
||||
"040943a8-1a97-4559-8cd8-9d93f70a7c49","249bae0a-c1e8-4c1f-80b5-72760b72511b","Megali Fotia","メガリフォーティア","megali-fotia",2,FALSE,FALSE,TRUE,3,FALSE
|
||||
"05241c9e-2b79-4724-8d9e-83ba3f04f723","a2cff6d3-390a-48df-b414-0c00e4da78c8","Fury Capsule","鬼神の丸薬","fury-capsule",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"069b2078-1c08-4dcb-a4d3-6feca0a7f99b","d27a4f29-5f0b-4bc6-b75a-1bd187e1a529","Fate Foreseen","宿命陣","fate-foreseen",0,TRUE,FALSE,FALSE,1,TRUE
|
||||
"06c20c65-4f56-49dd-aa97-77bf149e192b","683ffee8-4ea2-432d-bc30-4865020ac9f4","Sacred Protection","セイクリッド・プロテクション","sacred-protection",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"07c05520-0b68-428e-afc1-bfb5fa1bfa8f","3ae3a8da-a6a6-4114-acbe-7bc2bd928437","Spell Boost","スペルブースト","spell-boost",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"08e5d10a-6322-41b1-9b43-b8547edfc1ab","5b06f834-5b54-4638-8934-0afa82c373e1","Stall III","ディレイIII","stall-iii",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"091f68f6-439d-4c99-b237-9b22a1285754","56aa0f3e-5cc1-49e7-a12d-a4d506064c9a","Armor Break","アーマーブレイク","armor-break",2,TRUE,TRUE,FALSE,2,FALSE
|
||||
"0947706d-fc3b-403e-aa62-9a64aef8e0a2","2ea006f4-160d-494c-ab95-85b6d897f12c","Crestfallen Flower","曼珠沙華","crestfallen-flower",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"0a01b14d-7b0d-47a5-bdc6-e3f4f2ff133e","34237f55-3646-4a9e-93dc-2039b11bdd12","Refuel","リフューリング","refuel",0,TRUE,FALSE,FALSE,2,FALSE
|
||||
"0a9b7527-5893-41d7-a101-691cea53a975","b6284935-2e22-4f84-b886-40eda2a9a4a4","Force Snatch","フォーススナッチ","force-snatch",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"0d6f38e8-806f-4feb-a418-5f6eb2b5e5d1","9d495e8c-7aac-4e22-b5ad-99bbce4a6b24","Quick Step","ライトウェイト","quick-step",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"0db587b6-d94f-4a53-ac4f-5426b3dc8e39","2fd99d5b-9fab-4116-923d-aa84168def6c","Awakening Blade","剣神解放","awakening-blade",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"103cde46-46e8-4f88-be02-bcf848130d37","408c8cd0-6315-4faa-b1eb-d545a3570de8","Einherjar","エインフェリアル","einherjar",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"11fa4d9b-6574-418e-a002-b99143788107","f11459b2-ee20-4927-aeee-bc85bab39c3e","Overdrive Surge III","ドライブバーストIII","overdrive-surge-iii",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"12435660-78c0-4d26-92f8-bf3083acc9be","568406b9-3622-4ef1-953f-57cf7c0bfa43","Chi Channeler","内功","chi-channeler",3,TRUE,TRUE,FALSE,2,FALSE
|
||||
"14595690-db53-416d-8491-9cc11d4ebaf2","d2e1858f-66ac-418b-aafb-f40eb8f283c1","Sky Realm Song","ソング・オブ・グランデ","sky-realm-song",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"15001f54-82cd-4fae-b46c-6ef0d4a063d4","07fef189-432c-42e4-bee2-f69603e6a046","Adrenaline Rush","アドレナリンラッシュ","adrenaline-rush",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"168af7d2-19ba-4d34-a990-cf0a9da3aef8","0e0c149d-8021-4f1e-a9d4-e2c77fd9e59a","Vinland","ヴィンランド","vinland",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"1822275b-0193-4d44-b0df-2ed6854cf2eb","6283eb60-234f-4851-8cc7-7ea36e42def2","Brave Soul","ブレイブソウル","brave-soul",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"19486a63-7dee-4eb7-8004-235a117bc2c4","0e0c149d-8021-4f1e-a9d4-e2c77fd9e59a","Banahogg","バナホッグ","banahogg",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
"19a9b054-de5d-4c1e-97bc-aaeb4798141d","d2e1858f-66ac-418b-aafb-f40eb8f283c1","Soul Soloist","ソウルピルファー","soul-soloist",1,TRUE,TRUE,FALSE,1,FALSE
|
||||
"1d03f030-7061-4104-8b3f-64b8ba4c1109","a45ba1fb-64cf-4f29-ad54-4cf75a914622","Acrobatic Volley","アクロバットヴォレイ","acrobatic-volley",1,FALSE,FALSE,TRUE,1,FALSE
|
||||
"1d1e9b0a-7ea1-4ddf-966f-7bcb9aee27ce","34237f55-3646-4a9e-93dc-2039b11bdd12","Customized Action","フレキシブル・アーツ","customized-action",0,TRUE,FALSE,FALSE,1,FALSE
|
||||
"1e4c2031-c880-4d98-874e-c1249a857448","dcf91798-3cf9-46a0-aec6-313e91248995","Call of the Abyss","コール・オブ・アビス","call-of-the-abyss",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"1edb5266-7538-40c4-ab55-e65a709f63db","787c1554-8ee8-438c-8b30-18b5c86f3831","Non-Sequence","ノン・シークエンス","non-sequence",2,FALSE,FALSE,TRUE,2,FALSE
|
||||
"2049e420-b9ac-49be-92f0-7c894724e119","efe756ea-e0b7-4560-8fa2-9bf266f5f013","Blitzburst","ブリッツバースト","blitzburst",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"20a44398-b403-44f9-87d5-4dd4024c1b6e","efe756ea-e0b7-4560-8fa2-9bf266f5f013","Triple Thread","トライン","triple-thread",0,TRUE,FALSE,FALSE,1,FALSE
|
||||
"2246cc75-ea0a-413c-becf-7e4efd695967","797bcb10-ebd4-48fc-b253-7fd55ccf4809","Judicious Shot","レイショナルショット","judicious-shot",2,FALSE,FALSE,TRUE,4,FALSE
|
||||
"225c6b72-5184-441e-b996-a62253538b41","c5a7c0f0-9408-4b8b-901c-bd1804db36eb","Spirit of Training","練気","spirit-of-training",2,FALSE,FALSE,TRUE,3,FALSE
|
||||
"23a19cf9-cb46-4014-a466-895ae4d0d572","113ba069-ede0-4a58-b033-4e574d12dd75","Quick Step II","ライトウェイトII","quick-step-ii",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"244bffc2-b6e9-4067-8d88-96df680d745c","f11459b2-ee20-4927-aeee-bc85bab39c3e","Substitute","かばう","substitute",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"25ff8da3-c54c-450e-a34d-55996ceb9456","e35f8cd6-82ec-4624-beb6-3948f30a0cf8","Pas Seul","ヴァリアシオン","pas-seul",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"26bdb28e-62f4-4624-b4a4-639ac1bedb53","683ffee8-4ea2-432d-bc30-4865020ac9f4","Noblesse Proteger","ノブレス・プロテジー","noblesse-proteger",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"2753fa6d-175b-4b17-a34b-bb8747910095","2262c791-6517-4f4c-bbd3-414999d8fb8a","Panacea III","ヒールオールIII","panacea-iii",3,TRUE,FALSE,FALSE,0,FALSE
|
||||
"28317a52-1f7d-425c-8b0b-ec075807215d","34237f55-3646-4a9e-93dc-2039b11bdd12","Actuation","アクチュエーション","actuation",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"286d35e7-ed73-42fd-962f-896667a74dd9","824fb790-26c1-4a1c-911e-9b2debad4662","Quiet Strategy","鴉雀無声","quiet-strategy",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"2aab3577-5953-451a-bb11-9e4b5d85d49e","2262c791-6517-4f4c-bbd3-414999d8fb8a","Dispel Deluge","ディスペル・シージ","dispel-deluge",1,FALSE,FALSE,TRUE,2,FALSE
|
||||
"2d0c1823-3608-402d-ae26-03c889f9f19d","45e26ec7-37c6-44f7-a9ac-a8b36f37ea30","Overdrive Surge II","ドライブバーストII","overdrive-surge-ii",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"2d9b03d9-ba63-4dbe-8b1e-db5e305ff480","d27a4f29-5f0b-4bc6-b75a-1bd187e1a529","Omnipotent Eye","天眼陣","omnipotent-eye",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"2de20e97-c154-4604-8523-22f0146e5f9b","568406b9-3622-4ef1-953f-57cf7c0bfa43","Taking Chances II","捨身の型II","taking-chances-ii",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"2f8d0aeb-9642-40a7-92b4-90cd9e3621c9","0e0c149d-8021-4f1e-a9d4-e2c77fd9e59a","Jomsborg","ヨムスボルグ","jomsborg",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"30170049-d25f-4e33-a3e4-5cef02d7197c","43652444-64bb-4938-85d7-aafdfc503d66","Quick Down","クイックダウン","quick-down",1,FALSE,FALSE,TRUE,3,FALSE
|
||||
"30df2315-457a-414c-9eef-3980b72b17c2","1eb55dd3-3278-4da1-8940-c4fc50c1a0f5","Ulfhedinn","ウールヴヘジン","ulfhedinn",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"32dac837-63e2-4712-8e14-939b5ba2584c","82e3adde-f0a1-4769-90ca-305044324448","Blade Swap II","アナザーブレードII","blade-swap-ii",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"32f4b5d7-3de3-43ec-bfd3-b767a239d203","113ba069-ede0-4a58-b033-4e574d12dd75","Rain of Arrows III","アローレインIII","rain-of-arrows-iii",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"3301c8bb-1905-4ff7-841e-c8a4367337f3","b6284935-2e22-4f84-b886-40eda2a9a4a4","Extend Break","ブレイクキープ","extend-break",1,FALSE,FALSE,TRUE,3,FALSE
|
||||
"33608780-a3e9-44ca-aaa3-d78c68333918","824fb790-26c1-4a1c-911e-9b2debad4662","Self Reflection","瞑想","self-reflection",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"36684b88-69bb-4c66-aab5-f56102de88a3","6283eb60-234f-4851-8cc7-7ea36e42def2","Power Raise","パワーレイズ","power-raise",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"36fab7a5-a887-445d-81f8-841ebafb7def","544711ef-1191-458c-909d-bc49022708f4","Leaf Burning","落葉焚き","leaf-burning",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"37218a55-3335-4457-98c3-4d8367af3d7c","d27a4f29-5f0b-4bc6-b75a-1bd187e1a529","Splitting Spirit","他心陣","splitting-spirit",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"3724e69a-cd1d-44fb-b677-e4129e5cf8c1","67c62a3f-9083-473e-a8a1-47875ad31d2b","Overture","オーヴァチュア","overture",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"38e52d75-9aff-4c34-b37f-d6a4a52f4cac","2262c791-6517-4f4c-bbd3-414999d8fb8a","Peace of Mind","キュアーフェン","peace-of-mind",3,FALSE,FALSE,TRUE,3,FALSE
|
||||
"39389075-7627-4133-9159-5f2e0ef2cce1","07fef189-432c-42e4-bee2-f69603e6a046","Maddening Vitality","マッドバイタリティ","maddening-vitality",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"39ada2b6-a8c8-454f-9b12-9ed216eb9b52","824fb790-26c1-4a1c-911e-9b2debad4662","Finishing Touch","画竜点睛","finishing-touch",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"39f6ed51-eae2-45c0-ad38-a2859d12ea39","fb15b381-9eb7-49c3-aa23-2f3d78f2dc1a","Conceal","ハイディング","conceal",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"3ad97159-f4cc-4600-9cc6-bde6b0013a1f","99c2a88f-efef-445a-ae34-d17a31fddf7b","Spring's Gate","楼門五三桐","springs-gate",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"3b54377c-04db-4ac1-82ef-dab7e67df019","2fd99d5b-9fab-4116-923d-aa84168def6c","Contrablade","斬釘截鉄","contrablade",2,FALSE,FALSE,TRUE,3,FALSE
|
||||
"3b624b80-83c7-4bb9-b4a6-545260fd2654","99c2a88f-efef-445a-ae34-d17a31fddf7b","Crack Shot III","ブレイクアサシンIII","crack-shot-iii",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"3ba3a3fd-f208-4a17-83c2-860d67f5e202","9733c23f-bb42-48b4-8473-5ed7fb94e9c1","Bounty Hunter","トレジャーハント","bounty-hunter",1,TRUE,TRUE,FALSE,1,FALSE
|
||||
"3c595281-5036-408a-b8b9-762bc1ee749f","f06a6d30-1f61-4059-97ae-2921a0dfec64","Drive It In","リードドライブ","drive-it-in",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"3dd5bf50-ba06-4294-b6e3-6bbf713055e5","408c8cd0-6315-4faa-b1eb-d545a3570de8","Double Trouble III","デュアルインパルスIII","double-trouble-iii",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"3eb6fbf8-ee62-4366-9694-f00fea1b0830","f9023154-5cb4-448d-b108-36ccb3820d2e","Unyielding Form","剛耐の型","unyielding-form",2,FALSE,FALSE,TRUE,2,FALSE
|
||||
"3fdde908-2002-4205-8a44-90eb6860fcf4","6c93ecd6-ed87-4895-87c0-049262814aef","Mosh Pit","モッシュピット","mosh-pit",4,FALSE,FALSE,TRUE,1,FALSE
|
||||
"422a2011-b9b4-4996-82f9-2a07bf471f7b","249bae0a-c1e8-4c1f-80b5-72760b72511b","Vita Brevis","ヴィータ・プレウィス","vita-brevis",3,TRUE,FALSE,FALSE,0,FALSE
|
||||
"4289394f-ae9e-41a7-b23a-30307ab2a118","2262c791-6517-4f4c-bbd3-414999d8fb8a","Blessing II","シャイニングII","blessing-ii",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
"44890a89-47db-4f41-b152-50250b207546","0ce77325-c445-403d-a29e-311044337142","Glory Arts","グロリアス・アーツ","glory-arts",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"44f706ea-ab5b-4693-bb16-e138b78ef283","c128944b-cc79-45b4-bfed-17c8b68db612","Veil","ベール","veil",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"458feea6-e336-4243-a6c6-81e8ffa078c1","408c8cd0-6315-4faa-b1eb-d545a3570de8","Drive It In II","リードドライブII","drive-it-in-ii",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"462dda36-e477-49f5-be91-5930aa2d46ed","408c8cd0-6315-4faa-b1eb-d545a3570de8","Randgrith","ランドグリース","randgrith",1,FALSE,FALSE,TRUE,3,FALSE
|
||||
"470ce8a0-1fc1-4287-8b8a-ebe8ca365ac5","f7930eda-b674-4d5f-9233-7c3c6459382c","Bounty Hunter II","トレジャーハントII","bounty-hunter-ii",1,TRUE,TRUE,FALSE,1,FALSE
|
||||
"47c2044c-e58b-4978-88f1-612f41c5b862","2ea006f4-160d-494c-ab95-85b6d897f12c","Lightning Strike","霹靂閃電","lightning-strike",0,FALSE,FALSE,TRUE,5,FALSE
|
||||
"499b71c1-8877-46c9-9902-9f03753b09be","544711ef-1191-458c-909d-bc49022708f4","Dappled Sunlight","安らぎの木もれ日","dappled-sunlight",3,FALSE,FALSE,TRUE,3,FALSE
|
||||
"4a00259a-9e2b-4239-bca2-2afdc2f52be7","c128944b-cc79-45b4-bfed-17c8b68db612","Dispel","ディスペル","dispel",1,TRUE,TRUE,FALSE,1,FALSE
|
||||
"4b82c7f9-9090-40b6-9e76-6d3510400a20","3c9e447e-dd30-46da-8df0-adb9fc19ac4a","Execute","エクセキュート","execute",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"4d88655d-2bb0-4210-a1b5-5583e7db1ba6","33e01b0f-068f-4ce0-af61-b8e61e6484e8","Three-Round Burst","スリーラウンドバースト","three-round-burst",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"4df00bf2-aab1-4bd4-a399-fcad942c7daf","1eb55dd3-3278-4da1-8940-c4fc50c1a0f5","Rage IV","アーマーブレイクII","rage-iv",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"4e4b80a6-eab0-4ae5-8e01-d4bc8131f2bb","eff31084-e70d-4fc0-a468-d07fccb4fe99","Haze","朧","haze",2,TRUE,TRUE,FALSE,2,FALSE
|
||||
"4eb53470-1964-4f95-9785-715c0699e08a","bc88726b-9f96-4061-be1c-7a2306be238e","Bounce","バウンス","bounce",2,FALSE,FALSE,TRUE,3,FALSE
|
||||
"4f49e4e9-4d9f-4df1-a081-65448fe6e9d3","dcf91798-3cf9-46a0-aec6-313e91248995","Dirge for the Dead","ソング・トゥ・ザ・デッド","dirge-of-the-dead",1,FALSE,FALSE,TRUE,1,FALSE
|
||||
"4f96950c-da93-4aa5-b279-4858ec0e300a","e35f8cd6-82ec-4624-beb6-3948f30a0cf8","Two to Tango","リンガリング・セント","two-to-tango",0,TRUE,FALSE,FALSE,2,TRUE
|
||||
"52aff1de-bfe4-4154-8415-b9b51e48bfd3","a9953e14-f2a3-4558-8e6c-ecbce9552aa9","Stall","ディレイ","stall",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"5330e738-ed1d-446e-ac3b-738f3de7f73d","568406b9-3622-4ef1-953f-57cf7c0bfa43","Counter","カウンター","counter",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"53513881-1a8c-4cad-ae9d-7639045e6834","950f659b-0521-4a79-b578-7f3b05cb3102","Grace","オーラ","grace",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"547ef737-6bc4-4b70-b503-a71d6ac40efa","a474a4f8-4cd2-453f-aa19-84efc4ef5924","Blitz Raid","ブリッツレイド","blitz-raid",2,FALSE,FALSE,TRUE,3,FALSE
|
||||
"5507f560-6e20-4486-9bff-5c4c0df7ea8a","45e26ec7-37c6-44f7-a9ac-a8b36f37ea30","Centurion","センチュリオン","centurion",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"5599cbad-5aa4-4df5-a820-01024cc5542d","be6a2e8e-15e3-4f59-9621-58bda3318874","Overture","オーヴァチュア","overture",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"5770e0a9-cc58-4f4f-8e6a-653efb42991b","f9023154-5cb4-448d-b108-36ccb3820d2e","Rock Crusher","岩崩拳","rock-crusher",2,FALSE,FALSE,TRUE,3,FALSE
|
||||
"577613d1-803c-4038-bb92-6dbb84f47f29","6283eb60-234f-4851-8cc7-7ea36e42def2","Full Arsenal II","ウェポンバーストII","full-arsenal-ii",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"5a7b6eaa-d718-4609-921a-c5646c948de6","c5a7c0f0-9408-4b8b-901c-bd1804db36eb","Pandemonium","羅喉阿修羅陣","pandemonium",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"5f5b328d-7278-4686-bc66-a8ab6066b8f8","667bf041-61c9-4568-bdd3-ce6e43f40603","Aether Bane","エーテルフラップ","aether-bane",1,FALSE,FALSE,TRUE,2,FALSE
|
||||
"5fd3dfd7-a7f6-40ab-a3cb-8b21320f6120","f945115c-74b0-4baf-9308-c2d7e64396aa","Never Miss a Beat","熱烈峻厳","never-miss-a-beat",0,TRUE,FALSE,FALSE,1,TRUE
|
||||
"601d0c6f-4f9d-4bac-863c-335119162072","113ba069-ede0-4a58-b033-4e574d12dd75","Change","チェンジ","change",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"61e5ee77-1487-475a-806d-5333b1defbd2","824fb790-26c1-4a1c-911e-9b2debad4662","Into Thin Air","雲散霧消","into-thin-air",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"61e9a862-41f1-477a-9131-72b366c359be","2abbab55-5bf7-49f8-9ed6-1fe8a3991cca","Clarity","クリアオール","clarity",3,TRUE,TRUE,FALSE,1,FALSE
|
||||
"61ef5942-3a9e-4ddb-a442-0a0e1c5a5d8a","6283eb60-234f-4851-8cc7-7ea36e42def2","Rage III","レイジIII","rage-iii",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"622a1521-a66c-450b-a54a-77ca18e2cf93","408c8cd0-6315-4faa-b1eb-d545a3570de8","Resonating Surge","レゾナンスサージ","resonating-surge",2,TRUE,TRUE,FALSE,2,FALSE
|
||||
"630814c4-0557-4233-8b48-d97c76f0d978","249bae0a-c1e8-4c1f-80b5-72760b72511b","Pneuma","プネウマ","pneuma",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"6366535f-131e-4b48-9918-27e4ad6f4ae7","a2cff6d3-390a-48df-b414-0c00e4da78c8","Just the Cure","メディク","just-the-cure",3,TRUE,TRUE,FALSE,1,FALSE
|
||||
"63a4c4fa-e5e1-485a-9655-c399a0446f23","9d495e8c-7aac-4e22-b5ad-99bbce4a6b24","Rain of Arrows","アローレイン","rain-of-arrows",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"65d0d9cd-d425-45ed-9b08-b8b7a9cc3ea7","12ed80e3-b0ec-4062-bc3b-78c35dbbd1b7","Paws of Power","スペシャルボム","paws-of-power",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"662b0fae-841c-487a-bb8a-947c2f95be3d","bc88726b-9f96-4061-be1c-7a2306be238e","Venom","ヴェノム","venom",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"66389617-ab89-44f0-9a7b-c438525d8195","797bcb10-ebd4-48fc-b253-7fd55ccf4809","Twilight Zone","トワイライトゾーン","twilight-zone",4,FALSE,FALSE,TRUE,3,FALSE
|
||||
"669e7c31-a5f2-4601-8ba4-e22687817254","eff31084-e70d-4fc0-a468-d07fccb4fe99","Home-Made Bomb","焙烙玉","home-made-bomb",2,FALSE,FALSE,TRUE,3,FALSE
|
||||
"66e84133-6995-4a6a-afee-1af900ca8bf8","2b0cfead-50b3-4acd-8cb0-18aab243fdd1","Aether Blast","エーテルブラスト","aether-blast",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"67a126d1-5515-492f-aeaf-7f88b25e2e26","667bf041-61c9-4568-bdd3-ce6e43f40603","Dark Haze","ブラックヘイズ","dark-haze",1,FALSE,FALSE,TRUE,1,FALSE
|
||||
"681e4ace-7104-470c-beec-db18a7fd9d41","eff31084-e70d-4fc0-a468-d07fccb4fe99","Ninjutsu","忍術","ninjutsu",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"693ca807-cd79-4b0d-a3ef-8a67c0cf9063","e35f8cd6-82ec-4624-beb6-3948f30a0cf8","Spellbound Salsa","アトラクト・サルサ","spellbound-salsa",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"69ae220a-da72-4183-b076-11650d8721df","c128944b-cc79-45b4-bfed-17c8b68db612","Panacea II","ヒールオールII","panacea-ii",3,TRUE,FALSE,FALSE,0,FALSE
|
||||
"6afdc3c2-42f2-46d8-b16e-f2d269754269","9733c23f-bb42-48b4-8473-5ed7fb94e9c1","Crack Shot","ブレイクアサシン","crack-shot",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"6b46542c-8bd5-4944-b87a-11ce8be026be","82e3adde-f0a1-4769-90ca-305044324448","Diptych","ディプティク","diptych",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"6ba079ef-40f6-4ec9-9806-d93bfcd141d9","12ed80e3-b0ec-4062-bc3b-78c35dbbd1b7","Black Cat's Path","テネブラエ","black-cats-path",1,FALSE,FALSE,TRUE,1,FALSE
|
||||
"6bb38027-5768-498f-87a1-50566eb33b8d","5b06f834-5b54-4638-8934-0afa82c373e1","Unpredictable","アンプレディクト","unpredictable",1,FALSE,FALSE,TRUE,2,FALSE
|
||||
"6bd2ae41-44df-4dcd-a604-08fe7cb6730d","67c62a3f-9083-473e-a8a1-47875ad31d2b","Bard Song","ミンストレルソング","bard-song",3,TRUE,TRUE,FALSE,2,FALSE
|
||||
"6c93430e-f6e2-4051-a648-0f813877d6c6","b6284935-2e22-4f84-b886-40eda2a9a4a4","Crack Shot II","ブレイクアサシンII","crack-shot-ii",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"6e5b2600-e82b-4e51-a01c-6c40be3609ab","a9953e14-f2a3-4558-8e6c-ecbce9552aa9","Quick Strike","クイック","quick-strike",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"6eac28f9-ce12-4edc-9aa6-6c4bece62aff","0ce77325-c445-403d-a29e-311044337142","Espada","エスパーダ","espada",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
"6efe3d58-0a8e-43b1-893f-6336a08a2193","0ce77325-c445-403d-a29e-311044337142","Al Doble","ドゥプレクス","al-doble",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"6f01f202-bbd1-45e3-97de-62f0d16b3994","0b536736-669c-48d2-9b3c-a450f5183951","Freeze","アイス","freeze",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"727ab2fa-80eb-4216-9100-3c68263159ae","6283eb60-234f-4851-8cc7-7ea36e42def2","Rampage","ランページ","rampage",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"732293b5-70f0-4fd5-a134-abde8400b54d","f1ac37f0-87ff-470a-8922-5a40f25bee8f","Counter","カウンター","counter",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"733e60db-7ee2-49cc-b407-28f3693566d6","f11459b2-ee20-4927-aeee-bc85bab39c3e","Phalanx II","ファランクスII","phalanx-ii",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"738e3582-de88-4d39-96ee-1b5c78fed03f","a474a4f8-4cd2-453f-aa19-84efc4ef5924","Limit Burst","リミットバースト","limit-burst",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"73f8deed-c7e3-4d82-bf37-33109b1fdf3d","99c2a88f-efef-445a-ae34-d17a31fddf7b","Rupie Flip","ルピフリップ","rupie-flip",2,FALSE,FALSE,TRUE,3,FALSE
|
||||
"7425b5d1-8072-43ec-b6dd-21e29658d2b1","a2cff6d3-390a-48df-b414-0c00e4da78c8","A Little Pick-Me-Up","士気向上","a-little-pick-me-up",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"75ed3a64-f650-4dd2-849a-9dc90732111f","77f3a3d5-4236-404e-94e0-f62f9c4ccb2c","Phalanx III","ファランクスIII","phalanx-iii",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"7615b309-a2bd-4723-9a3f-aafe4f191625","249bae0a-c1e8-4c1f-80b5-72760b72511b","Amyntiko Fos","アミティコフォス","amyntiko-fos",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"76485c4d-3196-4481-981a-69c03c461225","f11459b2-ee20-4927-aeee-bc85bab39c3e","Testudo","テストゥド","testudo",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"7729db21-c6ed-4c8e-b39b-a2a6d1ee27f7","9e3a9b34-b077-4600-84df-cce09f1ae4f8","High Command","ハイ・コマンド","high-command",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"77352bbe-22a0-45c6-8aad-1da769edea6a","12ed80e3-b0ec-4062-bc3b-78c35dbbd1b7","Moonshadow","ムーンライト","moonshadow",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"78460a54-a3ac-47a8-94dc-919a22114fe6","dcf91798-3cf9-46a0-aec6-313e91248995","Oratorio","オラトリオ","oratorio",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"786c8cf2-3231-4d54-8853-11c0aeded8d7","ce45920f-7b54-48d1-9a8f-9067ea2aec53","Cross Guard","クロスガード","cross-guard",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"7896f87c-21dc-4fc0-9ff6-1a8ae0c89d0e","b6284935-2e22-4f84-b886-40eda2a9a4a4","Bounty Hunter III","トレジャーハントIII","bounty-hunter-iii",1,TRUE,TRUE,FALSE,1,FALSE
|
||||
"7b8f5c96-4667-44bc-ace7-0d33d3d6e9fe","be6a2e8e-15e3-4f59-9621-58bda3318874","Angelic Voice","チャームボイス","angelic-voice",1,TRUE,TRUE,FALSE,1,FALSE
|
||||
"7e9f405c-f3f9-4433-8cad-c43f3219f077","0e0c149d-8021-4f1e-a9d4-e2c77fd9e59a","Norden Harr","ノルデン・ハル","norden-harr",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"80441e90-6992-4fa4-88ed-e433ccc62d5c","21dff3a3-22bc-4863-9861-af0a1b41a5f0","Stall","ディレイ","stall",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"8079a2cf-7a75-445b-a561-f89d5a515a35","3c9e447e-dd30-46da-8df0-adb9fc19ac4a","Devotion","ディヴォーション","devotion",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"80adc124-a5df-4ba1-bf17-b6b7917a0cc8","f06a6d30-1f61-4059-97ae-2921a0dfec64","Double Trouble","デュアルインパルス","double-trouble",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"81501aef-401f-4864-8e4c-19a1515131ea","3ae3a8da-a6a6-4114-acbe-7bc2bd928437","Runeweaving","エレメンタルキャスト","runeweaving",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"81a9dba2-8cdf-4589-8fe8-278a5a0e6a8e","113ba069-ede0-4a58-b033-4e574d12dd75","Steady Aim","スタディエイム","steady-aim",1,FALSE,FALSE,TRUE,3,FALSE
|
||||
"82284326-145d-4721-bdc0-2a7b0edbd336","67899c05-e73a-43ee-a83b-30fcd6e8ccf8","Full Arsenal","ウェポンバースト","full-arsenal",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"8308c74b-2514-437a-ab87-074c2e42fa64","77f3a3d5-4236-404e-94e0-f62f9c4ccb2c","Guardian","ガーディアン","guardian",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"837d6e6d-288d-4636-940e-05546498ed86","5b06f834-5b54-4638-8934-0afa82c373e1","Uprising","アップリフト","uprising",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"83b4e50b-048c-4892-b036-208ca1093dd9","efe756ea-e0b7-4560-8fa2-9bf266f5f013","Early Shot","アーリーショット","early-shot",2,TRUE,FALSE,FALSE,0,TRUE
|
||||
"83b89b14-8bd6-46fa-8be1-9a232b0f1ffb","0ce77325-c445-403d-a29e-311044337142","Colmillos","コルミロス","colmillos",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"8679af5d-405d-4675-967d-7d8696871785","07fef189-432c-42e4-bee2-f69603e6a046","Nutrients","ニュートリエント","nutrients",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"874a40b7-1f39-4861-9fbf-ad1b7d0808c1","a45ba1fb-64cf-4f29-ad54-4cf75a914622","Emerald Fog","エメラルドフォグ","emerald-fog",1,FALSE,FALSE,TRUE,2,FALSE
|
||||
"87e68734-92f4-47bf-bc04-0922d42dc7e0","19505ce1-d63f-471d-a18f-2191ef352b6a","Mic Hype","マイクパフォーマンス","mic-hype",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"88aab126-abeb-4931-adb9-a09d9fa5d057","2fd99d5b-9fab-4116-923d-aa84168def6c","Resonating Blade","剣神共鳴","resonating-blade",0,TRUE,FALSE,FALSE,1,TRUE
|
||||
"88d13c10-29ba-4366-92bc-a3fe6a098e83","3885c629-fc2a-4298-9e51-4857f0afb2b5","Double Trouble II","デュアルインパルスII","double-trouble-ii",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"89979d4f-d5da-4a2c-ba4e-f0ab39b67daf","f945115c-74b0-4baf-9308-c2d7e64396aa","Resounding Rhythm","闘志の残響","resounding-rhythm",1,TRUE,FALSE,FALSE,2,TRUE
|
||||
"8a919595-b9b3-4990-b003-d37b11b6c74d","c5a7c0f0-9408-4b8b-901c-bd1804db36eb","Fighting Spirit","闘気","fighting-spirit",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"8aabbc78-51f4-4f2d-857b-43a437e4bca4","797bcb10-ebd4-48fc-b253-7fd55ccf4809","Tactical Relocation","タクティクスコマンド","tactical-relocation",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"8abd0760-385d-474d-9f65-2d6757b4164f","ce45920f-7b54-48d1-9a8f-9067ea2aec53","Twin Coil","ツインサーキュラー","twin-coil",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"8b067987-93fe-4dae-9584-bc1321d611ab","787c1554-8ee8-438c-8b30-18b5c86f3831","Shall We Dance","ノン・シークエンス","shall-we-dance",4,FALSE,FALSE,TRUE,3,FALSE
|
||||
"8ba19fc3-8e00-4ce3-ba21-65c13f73b392","2ea006f4-160d-494c-ab95-85b6d897f12c","Swan Song","水鳥の歌詠","swan-song",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"8f0f85f5-d7cd-463d-b430-3002391380ab","544711ef-1191-458c-909d-bc49022708f4","Woodcutter's Song","木こりのうた","woodcutters-song",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"91dc453f-15b9-4d51-96d5-d54f7a783c8e","43652444-64bb-4938-85d7-aafdfc503d66","Stall II","ディレイII","stall-ii",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"92ad2f2d-cdce-4eea-855e-87e4200526a1","33e01b0f-068f-4ce0-af61-b8e61e6484e8","Guerilla Tactics","ゲリーリャ","guerilla-tactics",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"930a55f7-d473-4e70-9050-f152a59054b1","77f3a3d5-4236-404e-94e0-f62f9c4ccb2c","Centurion II","センチュリオンII","centurion-ii",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"937ec922-f697-461f-b1a7-535d06a1b06f","a9953e14-f2a3-4558-8e6c-ecbce9552aa9","Elemental Focus II","エレメンタルフォースII","elemental-focus-ii",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"9522f44f-c151-40f4-9bf0-86e07a254e82","6c93ecd6-ed87-4895-87c0-049262814aef","Rising Force","ライジングフォース","rising-force",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"95d50136-ff90-4933-a670-74ffb5d21fe5","3c9e447e-dd30-46da-8df0-adb9fc19ac4a","Barbed Wire","バーブド・ワイヤー","barbed-wire",1,FALSE,FALSE,TRUE,3,FALSE
|
||||
"9764d315-7805-4906-82a3-f3c8047c92e6","950f659b-0521-4a79-b578-7f3b05cb3102","Panacea","ヒールオール","panacea",3,TRUE,FALSE,FALSE,0,FALSE
|
||||
"97c00575-5350-4172-9054-b9000bbe7d15","0b536736-669c-48d2-9b3c-a450f5183951","Aether Blast","エーテルブラスト","aether-blast",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"9965e7e8-b6d2-4e67-998c-40c7636429d4","3885c629-fc2a-4298-9e51-4857f0afb2b5","Drive It In","リードドライブ","drive-it-in",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"9a5b3961-2ba2-4ce6-beb8-9c12738c73e0","2fd99d5b-9fab-4116-923d-aa84168def6c","Energize","集気","energize",0,TRUE,FALSE,FALSE,2,TRUE
|
||||
"9ac0cf64-c73b-42f3-826d-1d3f08f375bb","82e3adde-f0a1-4769-90ca-305044324448","Aurum Flow","アーセガル","aurum-flow",2,FALSE,FALSE,TRUE,3,FALSE
|
||||
"9baa4203-74cf-4795-a076-01b544841473","b6284935-2e22-4f84-b886-40eda2a9a4a4","Lethal Aim","デッドリーエイム","lethal-aim",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"9be7e39d-6a70-480d-9237-da354bb82b91","6c93ecd6-ed87-4895-87c0-049262814aef","Jet To Jet","ジェット・トゥ・ジェット","jet-to-jet",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"9c8ef30d-53b8-4d86-a91e-91d1d2c43a31","f7930eda-b674-4d5f-9233-7c3c6459382c","Crack Shot","ブレイクアサシン","crack-shot",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"9cde7d58-442c-4106-8e9c-5ae193f55f2f","12ed80e3-b0ec-4062-bc3b-78c35dbbd1b7","Cat's Meow","ブラックチャーム","cats-meow",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"9ef4f4d5-4476-42b5-9699-5e3b28a6ca9f","d2e1858f-66ac-418b-aafb-f40eb8f283c1","Tremor Round","トレマーラウンド","tremor-round",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"9f550c9f-4f47-4887-a05a-01468c00b5a6","f9023154-5cb4-448d-b108-36ccb3820d2e","True Strike","武操術","true-strike",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
"a0707562-2407-440d-a938-9ade3aeb13d4","98572ef3-71ac-4081-844c-48a4175dcead","Rain of Arrows II","アローレインII","rain-of-arrows-ii",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"a370a083-e5c4-4f9e-92de-3c4c7e71ec85","21dff3a3-22bc-4863-9861-af0a1b41a5f0","Elemental Focus","エレメンタルフォース","elemental-focus",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"a4929359-5e06-4511-8295-d379c00dd056","07fef189-432c-42e4-bee2-f69603e6a046","Potion Refinement","ポーションリファイン","potion-refinement",3,TRUE,FALSE,FALSE,0,FALSE
|
||||
"a61ccb71-22a1-496e-9fef-2ab2a841e3f6","683ffee8-4ea2-432d-bc30-4865020ac9f4","Elemental Phalanx","エレメンタル・ファランクス","elemental-phalanx",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"a82c8b29-6148-4813-96e1-116b63f02919","c128944b-cc79-45b4-bfed-17c8b68db612","White Wall","ホワイトウォール","white-wall",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"a8648d83-c849-4bb5-bcf6-7407d2373398","9e3a9b34-b077-4600-84df-cce09f1ae4f8","Dragphract","ドラグラクト","dragphract",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
"a8989905-362f-42ac-a76f-fc3f2e37d1c3","ce45920f-7b54-48d1-9a8f-9067ea2aec53","Decimate","ディストリーム","decimate",2,TRUE,TRUE,FALSE,2,FALSE
|
||||
"acc3f1d3-372d-4621-b9e5-67d9f2748e23","a45ba1fb-64cf-4f29-ad54-4cf75a914622","Return of the Fox","フォックス・リターンズ","return-of-the-fox",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"ae28486e-3611-4b73-adb9-540342073dc4","a474a4f8-4cd2-453f-aa19-84efc4ef5924","Engage Augments","オーグメント・マギア","engage-augments",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"b02184ab-cf01-460c-ae22-fe289d1624c1","77f3a3d5-4236-404e-94e0-f62f9c4ccb2c","Hardened Shield","シールドワイア","hardened-shield",1,FALSE,FALSE,TRUE,3,FALSE
|
||||
"b0a50aec-6f88-4a0f-900a-c26e84fd09c6","1eb55dd3-3278-4da1-8940-c4fc50c1a0f5","Full Arsenal III","ウェポンバーストIII","full-arsenal-iii",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"b0c1f2fa-977e-450f-ad4a-1a94883100d9","45e26ec7-37c6-44f7-a9ac-a8b36f37ea30","Phalanx","ファランクス","phalanx",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"b114ce1d-615e-4026-bf19-b645f22f53d6","3ae3a8da-a6a6-4114-acbe-7bc2bd928437","Dragon Break","ドラゴンブレイク","dragon-break",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"b1460342-3bdb-4734-9740-acdc82c37a4b","113ba069-ede0-4a58-b033-4e574d12dd75","Bullseye Run","キルストリーク","bullseye-run",2,TRUE,TRUE,FALSE,2,FALSE
|
||||
"b1bd0805-ab29-4868-ba8c-4fa0ff62d5e9","787c1554-8ee8-438c-8b30-18b5c86f3831","Bait Step","アトラクト・ステップ","bait-step",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"b30ac223-df93-45ed-91ea-003f70c8f65c","c5a7c0f0-9408-4b8b-901c-bd1804db36eb","Horizontal Solace","一字構え","horizontal-solace",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"b4a5de03-3759-4cce-a964-22b0ea9a7d67","67c62a3f-9083-473e-a8a1-47875ad31d2b","Angelic Voice II","チャームボイスII","angelic-voice-ii",1,TRUE,TRUE,FALSE,1,FALSE
|
||||
"b56d9dea-c570-419a-bb62-5075b598d163","9e3a9b34-b077-4600-84df-cce09f1ae4f8","Battering Ram","バタリング・ラム","battering-ram",2,FALSE,FALSE,TRUE,2,FALSE
|
||||
"b579ec86-c8b0-4cfc-ae36-ac99561d2521","c5a7c0f0-9408-4b8b-901c-bd1804db36eb","Counter II","カウンターII","counter-ii",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"b63fa776-f255-41c2-866e-4c940f1eacb1","3c9e447e-dd30-46da-8df0-adb9fc19ac4a","Recursive Nightmare","悪夢の再演","recursive-nightmare",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"b8279d60-9811-4b19-a9b5-9a12bb131218","d2e1858f-66ac-418b-aafb-f40eb8f283c1","Overture II","オーヴァチュアII","overture-ii",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"b84799d6-ff65-4957-b3c5-3e86e3471cc3","fb15b381-9eb7-49c3-aa23-2f3d78f2dc1a","Selectively Skilled","アサシネーション","selectively-skilled",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"b9ba6eda-bfec-4bec-8eb8-1aa877529ceb","fb15b381-9eb7-49c3-aa23-2f3d78f2dc1a","Out of Sight","バニッシュ","out-of-sight",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"b9fb0f26-9384-47c7-9e3e-1968e12736c4","43652444-64bb-4938-85d7-aafdfc503d66","Gravity Wave","グラビティ","gravity-wave",1,TRUE,TRUE,FALSE,2,FALSE
|
||||
"bc3bac92-5bf8-462c-bb54-55af078dac60","5b06f834-5b54-4638-8934-0afa82c373e1","Chaos","カオス","chaos",4,FALSE,FALSE,TRUE,3,FALSE
|
||||
"bc8e7bc0-7298-4797-8502-cc21d9ee5ae2","0b536736-669c-48d2-9b3c-a450f5183951","Blind","ブラインド","blind",1,TRUE,TRUE,FALSE,2,FALSE
|
||||
"bf1be477-a060-4443-9c58-33f5180ffe8a","34237f55-3646-4a9e-93dc-2039b11bdd12","Activate","アクティベート","activate",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"c1654e66-be4f-4248-9e52-8a2f134dae88","5b06f834-5b54-4638-8934-0afa82c373e1","Absorption","アブソーブ","absorption",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"c1cf687d-a256-45e5-94a5-f15a9a0feb1b","e35f8cd6-82ec-4624-beb6-3948f30a0cf8","Classical Lead","プリンシパル・クラシック","classical-lead",0,TRUE,FALSE,FALSE,1,TRUE
|
||||
"c28e076e-7fc3-4ad5-8fdd-1810e8e84b22","ca1cdbe4-3bf2-4eeb-9dd3-daf94b672682","Rending Flash","烈刀一閃","rending-flash",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"c33dc375-e8c3-4003-90d2-767ddcbc7bf3","167971f8-0e96-4905-ab53-4fc068027846","Overdrive Surge","ドライブバースト","overdrive-surge",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"c603903e-c9cb-4047-bf20-b1a36d4f6a6f","f945115c-74b0-4baf-9308-c2d7e64396aa","Resonate Rhythm","闘志の残響 ","resonate-rhythm",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"c694f54b-794d-4fe6-8662-cad7cacfbe33","56aa0f3e-5cc1-49e7-a12d-a4d506064c9a","Full Arsenal","ウェポンバースト","full-arsenal",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"c8af3aa1-4bb2-43a9-be93-ef945e7fd178","33e01b0f-068f-4ce0-af61-b8e61e6484e8","Fortitude","フォーティチュード","fortitude",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"c96c5fd0-fa53-4fb5-836b-a60907249e7e","67899c05-e73a-43ee-a83b-30fcd6e8ccf8","Rage","レイジ","rage",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"c9f0226d-2709-4fb3-a8e9-5181946cdee7","fb15b381-9eb7-49c3-aa23-2f3d78f2dc1a","Retaliation Reprise","ダブルアサシン","retaliation-reprise",0,TRUE,FALSE,FALSE,2,TRUE
|
||||
"cb059baa-67e0-4f95-93d6-485aa285778b","2abbab55-5bf7-49f8-9ed6-1fe8a3991cca","Panacea","ヒールオール","panacea",3,TRUE,FALSE,FALSE,0,FALSE
|
||||
"cbcfdce4-e8cc-43f4-9482-72dc1b8f4d07","544711ef-1191-458c-909d-bc49022708f4","Laughing Logger","大伐断","laughing-logger",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
"cc0c2f2f-1816-43ef-9909-10b2638904d7","667bf041-61c9-4568-bdd3-ce6e43f40603","Aether Blast III","エーテルブラストIII","aether-blast-iii",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"ce3dbf46-392e-4fa8-b8f9-d2aead38e5b7","167971f8-0e96-4905-ab53-4fc068027846","Phalanx","ファランクス","phalanx",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"ce5ce13c-e03c-46b2-8e48-acf4ed5ccdb5","2abbab55-5bf7-49f8-9ed6-1fe8a3991cca","Blessing","シャイニング","blessing",2,TRUE,TRUE,FALSE,2,FALSE
|
||||
"cf880f0f-0d9c-4871-9e24-0584765803d7","ca1cdbe4-3bf2-4eeb-9dd3-daf94b672682","Eagle Reversal","大鷲返し","eagle-reversal",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
"d09a5020-f0b1-48ff-923c-f306cf3d38ce","797bcb10-ebd4-48fc-b253-7fd55ccf4809","Frequency Jam","ジャミング","frequency-jam",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"d0e4f65a-3e72-4ff9-a201-0999623cf57e","43652444-64bb-4938-85d7-aafdfc503d66","Blood Sword","ブラッドソード","blood-sword",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"d37646b0-1c45-492d-8cb9-21ef20910aca","82e3adde-f0a1-4769-90ca-305044324448","Dual Arts","デュアルアーツ","dual-arts",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"d59822e0-9913-44ea-be1a-9bedba8b912e","ca1cdbe4-3bf2-4eeb-9dd3-daf94b672682","No More Doubt","無明斬","no-more-doubt",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"d87d93d3-ccc6-466e-af9a-c4a47bd4bf5f","d27a4f29-5f0b-4bc6-b75a-1bd187e1a529","Third Eye","三明","third-eye",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"da41d999-7522-4c66-8ce7-34dc5bf8952f","efe756ea-e0b7-4560-8fa2-9bf266f5f013","Lock 'n' Load","バレットリロード","lock-n-load",0,TRUE,FALSE,FALSE,2,TRUE
|
||||
"da436b7c-6258-43e2-bdf3-945190737e51","f11459b2-ee20-4927-aeee-bc85bab39c3e","Reflection","リフレクション","reflection",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"da8bedd8-24b6-4d8f-823e-7160efa74331","f945115c-74b0-4baf-9308-c2d7e64396aa","Drum Roll","極点","drum-roll",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"db894daf-24f9-4929-9934-5992d3bb48ba","683ffee8-4ea2-432d-bc30-4865020ac9f4","Boosted Resistance","フルレジスト","boosted-resistance",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"dea7b3d0-c455-4f71-987f-4f4306543b81","c128944b-cc79-45b4-bfed-17c8b68db612","Revive","リヴァイヴ","revive",3,TRUE,TRUE,FALSE,2,FALSE
|
||||
"df5b07f8-530e-4314-9e8c-266d89858448","19505ce1-d63f-471d-a18f-2191ef352b6a","Knifehand Strike","ナイフハンド・ストライク","knifehand-strike",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"df8487fa-d3d8-4d8a-9235-1678d552c1ae","dcf91798-3cf9-46a0-aec6-313e91248995","Voice Unveiled","解放の歌声","voice-unveiled",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"e0009528-ebad-4c2b-8d08-14bd03cfce0b","98572ef3-71ac-4081-844c-48a4175dcead","Hard Line","ハードライン","hard-line",2,TRUE,TRUE,FALSE,2,FALSE
|
||||
"e0611a5d-95a2-45e9-9067-f5fe602032e0","bc88726b-9f96-4061-be1c-7a2306be238e","Choke","チョーク","choke",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"e10c1cf3-eb46-454e-b103-73802a8fedd7","2ea006f4-160d-494c-ab95-85b6d897f12c","Springwater Robe","湧水の羽衣","springwater-robe",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"e121882b-bab5-4500-b1e3-c650ae6b5995","2b0cfead-50b3-4acd-8cb0-18aab243fdd1","Fire","ファイア","fire",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"e2f0690f-39ab-4df6-80b6-7eef9216cbd1","99c2a88f-efef-445a-ae34-d17a31fddf7b","White Smoke","ホワイトスモーク","white-smoke",0,FALSE,FALSE,TRUE,2,FALSE
|
||||
"e3c135af-a784-4699-bea2-830e05a0401a","dcf91798-3cf9-46a0-aec6-313e91248995","Concludere","コンクルージョン","concludere",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"e4a91762-1804-4fe7-85d4-5355b0865cb7","ce45920f-7b54-48d1-9a8f-9067ea2aec53","Blade Swap","アナザーブレード","blade-swap",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"e59cb246-7744-4a44-a45f-a779cc1deb86","a474a4f8-4cd2-453f-aa19-84efc4ef5924","Tactical Shield","タクティカル・シールド","tactical-shield",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"e6bedc00-d162-4750-82f8-a722dd754930","f1ac37f0-87ff-470a-8922-5a40f25bee8f","Taking Chances","捨身の型","taking-chances",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"e705ef94-4d70-4e24-b505-4a1e8b0038f0","1eb55dd3-3278-4da1-8940-c4fc50c1a0f5","Rampage II","ランページII","rampage-ii",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"e76fbe2a-4dc7-4c29-9db7-7feee06559fb","43652444-64bb-4938-85d7-aafdfc503d66","Miserable Mist","ミゼラブルミスト","miserable-mist",1,TRUE,TRUE,FALSE,1,FALSE
|
||||
"e783dc43-8a65-45d0-bfd5-1a1ac7443851","33e01b0f-068f-4ce0-af61-b8e61e6484e8","Open Fire","フルファイア","open-fire",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
"e84593bc-faed-4391-8ee5-b071fd8e3a54","a45ba1fb-64cf-4f29-ad54-4cf75a914622","Opening Shot","ビギニングアロー","opening-shot",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"e8659434-66c3-43a8-be14-15da7c89e809","bc88726b-9f96-4061-be1c-7a2306be238e","Laser Focus","フォーカス","laser-focus",0,TRUE,TRUE,FALSE,2,FALSE
|
||||
"eadb1ff5-6f61-46fb-8acf-70bb568717db","6c93ecd6-ed87-4895-87c0-049262814aef","Unleash the Fury","アンリーシュザフューリー","unleash-the-fury",2,FALSE,FALSE,TRUE,3,FALSE
|
||||
"ebc445b4-0f80-461e-8a98-d1837808dd77","f7930eda-b674-4d5f-9233-7c3c6459382c","Tricky Moves","トリックステップ","tricky-moves",1,TRUE,TRUE,FALSE,2,FALSE
|
||||
"edfd5578-9ebb-4ab4-b23d-55a7d959b0a5","797bcb10-ebd4-48fc-b253-7fd55ccf4809","Evasive Maneuvers","チャフリリース","evasive-maneuvers",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"ee1f1353-395d-4421-be18-3323eb0a6d1f","19505ce1-d63f-471d-a18f-2191ef352b6a","Ring Ruler","ファイティングスピリット","ring-ruler",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"eea73967-7001-4a4e-81f6-bb03a0fbb2f8","f9023154-5cb4-448d-b108-36ccb3820d2e","Ascetic Stance","修験の構え","ascetic-stance",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"eed3a9df-d7e7-4957-a0b8-9ae311759c2f","99c2a88f-efef-445a-ae34-d17a31fddf7b","Bounty Hunter IV","トレジャーハントIV","bounty-hunter-iv",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
"ef1f882c-31de-4e72-9217-2422ebec0408","3ae3a8da-a6a6-4114-acbe-7bc2bd928437","Mana Burst","マナバースト","mana-burst",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
"efdca59a-514d-4442-9e7f-021c98e2602c","797bcb10-ebd4-48fc-b253-7fd55ccf4809","Time On Target","タイム・オン・ターゲット","time-on-target",1,FALSE,FALSE,TRUE,5,FALSE
|
||||
"f0b5d01d-a55d-45c9-9e9a-6dc994d32aa5","2ea006f4-160d-494c-ab95-85b6d897f12c","Thunder on the Water","雷光水明","thunder-on-the-water",2,TRUE,FALSE,FALSE,0,FALSE
|
||||
"f2097538-cd98-46e1-a13b-1fbe29632517","d2e1858f-66ac-418b-aafb-f40eb8f283c1","Sheep Song","ひつじのうた","sheep-song",1,FALSE,FALSE,TRUE,3,FALSE
|
||||
"f212d2ec-c503-45c3-8369-7fb61fa0896f","56aa0f3e-5cc1-49e7-a12d-a4d506064c9a","Rage II","レイジII","rage-ii",0,TRUE,TRUE,FALSE,1,FALSE
|
||||
"f21b22b4-6697-48e0-8394-a50503bd0771","33e01b0f-068f-4ce0-af61-b8e61e6484e8","Blitzburst","ブリッツバースト","blitzburst",2,FALSE,FALSE,TRUE,4,FALSE
|
||||
"f2623f05-6395-411c-b8c8-f9aab51d9838","98572ef3-71ac-4081-844c-48a4175dcead","Quick Step","ライトウェイト","quick-step",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"f56f9eca-ef66-4cd6-9626-38ddc85e0e95","19505ce1-d63f-471d-a18f-2191ef352b6a","Tag Team","ツープラトン","tag-team",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"f5da876b-631e-4e54-98f1-f9799e322bad","667bf041-61c9-4568-bdd3-ce6e43f40603","Chase","チェイサー","chase",0,FALSE,FALSE,TRUE,3,FALSE
|
||||
"f862ef04-6c38-4869-9a62-297f1251093a","eff31084-e70d-4fc0-a468-d07fccb4fe99","Fuma Shuriken","風魔手裏剣","fuma-shuriken",2,TRUE,TRUE,FALSE,1,FALSE
|
||||
"fadd0308-9da1-4f75-804d-5e928b8a44f5","ce45920f-7b54-48d1-9a8f-9067ea2aec53","Chase Blade","チェイスブレード","chase-blade",0,FALSE,FALSE,TRUE,4,FALSE
|
||||
"fbae3023-bf61-4901-abf2-80da519f264e","ca1cdbe4-3bf2-4eeb-9dd3-daf94b672682","One with the Blade","剣禅一如","one-with-the-blade",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"fbafd627-4215-4912-bca4-b761c82ba050","9e3a9b34-b077-4600-84df-cce09f1ae4f8","Horseman's Duty","ホースマンズデューティ","horsemans-duty",0,TRUE,FALSE,FALSE,0,FALSE
|
||||
"fc10d311-0ced-41ac-9e8e-54e407624154","787c1554-8ee8-438c-8b30-18b5c86f3831","Bounce Chase","バウンス・シャッセ","bounce-chase",0,FALSE,FALSE,TRUE,1,FALSE
|
||||
"fc67859e-160b-4f81-8e07-ae4011aed235","667bf041-61c9-4568-bdd3-ce6e43f40603","Resounding Chant","レプリケーションキャスト","resounding-chant",2,FALSE,FALSE,TRUE,4,FALSE
|
||||
"fdfdee6d-6ead-4504-9add-a04776546b15","1eb55dd3-3278-4da1-8940-c4fc50c1a0f5","Armor Break II","レイジIV","armor-break-ii",2,FALSE,FALSE,TRUE,1,FALSE
|
||||
|
70
lib/seeds/jobs.csv
Normal file
70
lib/seeds/jobs.csv
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
"id","name_en","name_jp","proficiency1","proficiency2","row","ml","order","base_job_id"
|
||||
"167971f8-0e96-4905-ab53-4fc068027846","Knight","ナイト",1,4,"1",FALSE,2,"167971f8-0e96-4905-ab53-4fc068027846"
|
||||
"21dff3a3-22bc-4863-9861-af0a1b41a5f0","Enhancer","エンハンサー",1,2,"1",FALSE,6,"21dff3a3-22bc-4863-9861-af0a1b41a5f0"
|
||||
"2b0cfead-50b3-4acd-8cb0-18aab243fdd1","Wizard","ウィザード",6,2,"1",FALSE,4,"2b0cfead-50b3-4acd-8cb0-18aab243fdd1"
|
||||
"67899c05-e73a-43ee-a83b-30fcd6e8ccf8","Fighter","ファイター",1,3,"1",FALSE,1,"67899c05-e73a-43ee-a83b-30fcd6e8ccf8"
|
||||
"950f659b-0521-4a79-b578-7f3b05cb3102","Priest","プリースト",6,4,"1",FALSE,3,"950f659b-0521-4a79-b578-7f3b05cb3102"
|
||||
"9733c23f-bb42-48b4-8473-5ed7fb94e9c1","Thief","シーフ",2,9,"1",FALSE,5,"9733c23f-bb42-48b4-8473-5ed7fb94e9c1"
|
||||
"9d495e8c-7aac-4e22-b5ad-99bbce4a6b24","Ranger","レンジャー",5,9,"1",FALSE,8,"9d495e8c-7aac-4e22-b5ad-99bbce4a6b24"
|
||||
"be6a2e8e-15e3-4f59-9621-58bda3318874","Harpist","ハーピスト",8,2,"1",FALSE,9,"be6a2e8e-15e3-4f59-9621-58bda3318874"
|
||||
"f06a6d30-1f61-4059-97ae-2921a0dfec64","Lancer","ランサー",4,3,"1",FALSE,10,"f06a6d30-1f61-4059-97ae-2921a0dfec64"
|
||||
"f1ac37f0-87ff-470a-8922-5a40f25bee8f","Grappler","グラップラー",7,7,"1",FALSE,7,"f1ac37f0-87ff-470a-8922-5a40f25bee8f"
|
||||
"0b536736-669c-48d2-9b3c-a450f5183951","Sorcerer","ソーサラー",6,2,"2",FALSE,4,"2b0cfead-50b3-4acd-8cb0-18aab243fdd1"
|
||||
"2abbab55-5bf7-49f8-9ed6-1fe8a3991cca","Cleric","クレリック",6,4,"2",FALSE,3,"950f659b-0521-4a79-b578-7f3b05cb3102"
|
||||
"3885c629-fc2a-4298-9e51-4857f0afb2b5","Dragoon","ドラグーン",4,3,"2",FALSE,10,"f06a6d30-1f61-4059-97ae-2921a0dfec64"
|
||||
"45e26ec7-37c6-44f7-a9ac-a8b36f37ea30","Sentinel","フォートレス",1,4,"2",FALSE,2,"167971f8-0e96-4905-ab53-4fc068027846"
|
||||
"568406b9-3622-4ef1-953f-57cf7c0bfa43","Kung Fu Artist","クンフー",7,7,"2",FALSE,7,"f1ac37f0-87ff-470a-8922-5a40f25bee8f"
|
||||
"56aa0f3e-5cc1-49e7-a12d-a4d506064c9a","Warrior","ウオーリア",1,3,"2",FALSE,1,"67899c05-e73a-43ee-a83b-30fcd6e8ccf8"
|
||||
"67c62a3f-9083-473e-a8a1-47875ad31d2b","Bard","ミンストレル",8,2,"2",FALSE,9,"be6a2e8e-15e3-4f59-9621-58bda3318874"
|
||||
"98572ef3-71ac-4081-844c-48a4175dcead","Archer","マークスマン",5,9,"2",FALSE,8,"9d495e8c-7aac-4e22-b5ad-99bbce4a6b24"
|
||||
"a9953e14-f2a3-4558-8e6c-ecbce9552aa9","Arcana Dueler","アルカナソード",1,2,"2",FALSE,6,"21dff3a3-22bc-4863-9861-af0a1b41a5f0"
|
||||
"f7930eda-b674-4d5f-9233-7c3c6459382c","Raider","レイダー",2,9,"2",FALSE,5,"9733c23f-bb42-48b4-8473-5ed7fb94e9c1"
|
||||
"113ba069-ede0-4a58-b033-4e574d12dd75","Sidewinder","サイドワインダー",5,9,"3",FALSE,8,"9d495e8c-7aac-4e22-b5ad-99bbce4a6b24"
|
||||
"408c8cd0-6315-4faa-b1eb-d545a3570de8","Valkyrie","ヴァルキュリア",4,3,"3",FALSE,10,"f06a6d30-1f61-4059-97ae-2921a0dfec64"
|
||||
"43652444-64bb-4938-85d7-aafdfc503d66","Dark Fencer","ダークフェンサー",1,2,"3",FALSE,6,"21dff3a3-22bc-4863-9861-af0a1b41a5f0"
|
||||
"6283eb60-234f-4851-8cc7-7ea36e42def2","Weapon Master","ウェポンマスター",1,3,"3",FALSE,1,"67899c05-e73a-43ee-a83b-30fcd6e8ccf8"
|
||||
"b6284935-2e22-4f84-b886-40eda2a9a4a4","Hawkeye","ホークアイ",2,9,"3",FALSE,5,"9733c23f-bb42-48b4-8473-5ed7fb94e9c1"
|
||||
"bc88726b-9f96-4061-be1c-7a2306be238e","Hermit","ハーミット",6,2,"3",FALSE,4,"950f659b-0521-4a79-b578-7f3b05cb3102"
|
||||
"c128944b-cc79-45b4-bfed-17c8b68db612","Bishop","ビショップ",6,4,"3",FALSE,3,"950f659b-0521-4a79-b578-7f3b05cb3102"
|
||||
"c5a7c0f0-9408-4b8b-901c-bd1804db36eb","Ogre","オーガ",7,7,"3",FALSE,7,"f1ac37f0-87ff-470a-8922-5a40f25bee8f"
|
||||
"ce45920f-7b54-48d1-9a8f-9067ea2aec53","Gladiator","グラディエーター",1,10,"3",FALSE,11,"ce45920f-7b54-48d1-9a8f-9067ea2aec53"
|
||||
"d2e1858f-66ac-418b-aafb-f40eb8f283c1","Superstar","スーパースター",8,2,"3",FALSE,9,"be6a2e8e-15e3-4f59-9621-58bda3318874"
|
||||
"f11459b2-ee20-4927-aeee-bc85bab39c3e","Holy Saber","ホーリーセイバー",1,4,"3",FALSE,2,"167971f8-0e96-4905-ab53-4fc068027846"
|
||||
"19505ce1-d63f-471d-a18f-2191ef352b6a","Luchador","レスラー",7,7,"4",TRUE,7,"f1ac37f0-87ff-470a-8922-5a40f25bee8f"
|
||||
"1eb55dd3-3278-4da1-8940-c4fc50c1a0f5","Berserker","ベルセルク",1,3,"4",TRUE,1,"67899c05-e73a-43ee-a83b-30fcd6e8ccf8"
|
||||
"2262c791-6517-4f4c-bbd3-414999d8fb8a","Sage","セージ",6,4,"4",TRUE,3,"950f659b-0521-4a79-b578-7f3b05cb3102"
|
||||
"2ea006f4-160d-494c-ab95-85b6d897f12c","Apsaras","アプサラス",4,3,"4",TRUE,10,"f06a6d30-1f61-4059-97ae-2921a0dfec64"
|
||||
"544711ef-1191-458c-909d-bc49022708f4","Lumberjack","ランバージャック",3,8,"4",TRUE,12,"544711ef-1191-458c-909d-bc49022708f4"
|
||||
"5b06f834-5b54-4638-8934-0afa82c373e1","Chaos Ruler","カオスルーダー",1,2,"4",TRUE,6,"21dff3a3-22bc-4863-9861-af0a1b41a5f0"
|
||||
"667bf041-61c9-4568-bdd3-ce6e43f40603","Warlock","ウォーロック",6,2,"4",TRUE,4,"2b0cfead-50b3-4acd-8cb0-18aab243fdd1"
|
||||
"77f3a3d5-4236-404e-94e0-f62f9c4ccb2c","Spartan","スパルタ",1,4,"4",TRUE,2,"167971f8-0e96-4905-ab53-4fc068027846"
|
||||
"797bcb10-ebd4-48fc-b253-7fd55ccf4809","Nighthound","ハウンドドッグ",5,9,"4",TRUE,8,"9d495e8c-7aac-4e22-b5ad-99bbce4a6b24"
|
||||
"82e3adde-f0a1-4769-90ca-305044324448","Chrysaor","クリュサオル",1,10,"4",TRUE,11,"ce45920f-7b54-48d1-9a8f-9067ea2aec53"
|
||||
"99c2a88f-efef-445a-ae34-d17a31fddf7b","Bandit Tycoon","義賊",2,9,"4",TRUE,5,"9733c23f-bb42-48b4-8473-5ed7fb94e9c1"
|
||||
"9e3a9b34-b077-4600-84df-cce09f1ae4f8","Cavalier","キャバルリー",4,9,"4",TRUE,13,"9e3a9b34-b077-4600-84df-cce09f1ae4f8"
|
||||
"a45ba1fb-64cf-4f29-ad54-4cf75a914622","Robin Hood","ロビンフッド",5,5,"4",TRUE,15,"a45ba1fb-64cf-4f29-ad54-4cf75a914622"
|
||||
"a474a4f8-4cd2-453f-aa19-84efc4ef5924","Relic Buster","レリックバスター",1,9,"4",TRUE,16,"a474a4f8-4cd2-453f-aa19-84efc4ef5924"
|
||||
"dcf91798-3cf9-46a0-aec6-313e91248995","Elysian","エリュシオン",8,2,"4",TRUE,9,"be6a2e8e-15e3-4f59-9621-58bda3318874"
|
||||
"f9023154-5cb4-448d-b108-36ccb3820d2e","Monk","モンク",7,6,"4",TRUE,14,"f9023154-5cb4-448d-b108-36ccb3820d2e"
|
||||
"0e0c149d-8021-4f1e-a9d4-e2c77fd9e59a","Viking","ヴァイキング",1,3,"5",FALSE,1,"67899c05-e73a-43ee-a83b-30fcd6e8ccf8"
|
||||
"249bae0a-c1e8-4c1f-80b5-72760b72511b","Iatromantis","パナケイア",6,4,"5",FALSE,3,"950f659b-0521-4a79-b578-7f3b05cb3102"
|
||||
"683ffee8-4ea2-432d-bc30-4865020ac9f4","Paladin","パラディン",1,4,"5",FALSE,2,"167971f8-0e96-4905-ab53-4fc068027846"
|
||||
"2fd99d5b-9fab-4116-923d-aa84168def6c","Sword Master","剣聖",1,10,"ex1",FALSE,4,"2fd99d5b-9fab-4116-923d-aa84168def6c"
|
||||
"34237f55-3646-4a9e-93dc-2039b11bdd12","Mechanic","メカニック",9,9,"ex1",FALSE,10,"34237f55-3646-4a9e-93dc-2039b11bdd12"
|
||||
"824fb790-26c1-4a1c-911e-9b2debad4662","Samurai","侍",10,5,"ex1",FALSE,3,"824fb790-26c1-4a1c-911e-9b2debad4662"
|
||||
"a2cff6d3-390a-48df-b414-0c00e4da78c8","Alchemist","アルケミスト",2,9,"ex1",FALSE,1,"a2cff6d3-390a-48df-b414-0c00e4da78c8"
|
||||
"d27a4f29-5f0b-4bc6-b75a-1bd187e1a529","Mystic","賢者",6,6,"ex1",FALSE,6,"d27a4f29-5f0b-4bc6-b75a-1bd187e1a529"
|
||||
"e35f8cd6-82ec-4624-beb6-3948f30a0cf8","Dancer","ダンサー",2,2,"ex1",FALSE,9,"e35f8cd6-82ec-4624-beb6-3948f30a0cf8"
|
||||
"efe756ea-e0b7-4560-8fa2-9bf266f5f013","Gunslinger","ガンスリンガー",9,9,"ex1",FALSE,5,"efe756ea-e0b7-4560-8fa2-9bf266f5f013"
|
||||
"eff31084-e70d-4fc0-a468-d07fccb4fe99","Ninja","忍者",10,7,"ex1",FALSE,2,"eff31084-e70d-4fc0-a468-d07fccb4fe99"
|
||||
"f945115c-74b0-4baf-9308-c2d7e64396aa","Drum Master","ドラムマスター",8,8,"ex1",FALSE,8,"f945115c-74b0-4baf-9308-c2d7e64396aa"
|
||||
"fb15b381-9eb7-49c3-aa23-2f3d78f2dc1a","Assassin","アサシン",2,2,"ex1",FALSE,7,"fb15b381-9eb7-49c3-aa23-2f3d78f2dc1a"
|
||||
"07fef189-432c-42e4-bee2-f69603e6a046","Doctor","ドクター",2,9,"ex2",TRUE,1,"a2cff6d3-390a-48df-b414-0c00e4da78c8"
|
||||
"0ce77325-c445-403d-a29e-311044337142","Glorybringer","ザ・グローリー",1,10,"ex2",TRUE,4,"2fd99d5b-9fab-4116-923d-aa84168def6c"
|
||||
"12ed80e3-b0ec-4062-bc3b-78c35dbbd1b7","Nekomancer","黒猫道士",6,6,"ex2",TRUE,6,"d27a4f29-5f0b-4bc6-b75a-1bd187e1a529"
|
||||
"33e01b0f-068f-4ce0-af61-b8e61e6484e8","Soldier","ソルジャー",9,9,"ex2",TRUE,5,"efe756ea-e0b7-4560-8fa2-9bf266f5f013"
|
||||
"3ae3a8da-a6a6-4114-acbe-7bc2bd928437","Runeslayer","魔法戦士",10,7,"ex2",TRUE,2,"eff31084-e70d-4fc0-a468-d07fccb4fe99"
|
||||
"3c9e447e-dd30-46da-8df0-adb9fc19ac4a","Tormentor","トーメンター",2,2,"ex2",TRUE,7,"fb15b381-9eb7-49c3-aa23-2f3d78f2dc1a"
|
||||
"6c93ecd6-ed87-4895-87c0-049262814aef","Rising Force","ライジングフォース",8,8,"ex2",TRUE,8,"f945115c-74b0-4baf-9308-c2d7e64396aa"
|
||||
"787c1554-8ee8-438c-8b30-18b5c86f3831","Masquerade","マスカレード",2,2,"ex2",TRUE,9,"e35f8cd6-82ec-4624-beb6-3948f30a0cf8"
|
||||
"ca1cdbe4-3bf2-4eeb-9dd3-daf94b672682","Kengo","剣豪",10,5,"ex2",TRUE,3,"824fb790-26c1-4a1c-911e-9b2debad4662"
|
||||
|
|
|
@ -1,242 +1,279 @@
|
|||
name_en,name_jp,granblue_id,element,rarity,flb,ulb,max_level,min_hp,min_atk,max_hp,max_atk,max_hp_flb,max_atk_flb,max_hp_ulb,max_atk_ulb
|
||||
Adramelech,アドラメレク,2040253000,6,3,false,false,100,106,300,715,1808,,,,
|
||||
"Anat, for Love and War",愛と戦いの神 アナト,2040297000,1,3,false,false,100,120,295,725,1750,,,,
|
||||
Ankusha,アンクシャ,2040233000,4,3,false,false,100,129,261,796,1521,,,,
|
||||
Anubis,アヌビス,2040134000,5,3,true,false,150,140,300,820,1930,990,2340,,
|
||||
Aphrodite,アフロディーテ,2040216000,6,3,true,false,150,124,290,724,1795,870,2170,,
|
||||
Apollo,アポロン,2040023000,6,3,true,false,150,130,340,780,2040,940,2470,,
|
||||
Artemis,アルテミス,2040381000,6,3,false,false,100,136,337,814,2032,,,,
|
||||
Athena,アテナ,2040021000,2,3,true,false,150,125,360,770,2090,930,2520,,
|
||||
Baal,バアル,2040013000,4,3,true,false,150,127,310,755,1900,910,2300,,
|
||||
Bonito,カツウォヌス,2040167000,3,3,true,false,150,120,295,716,1800,860,2180,,
|
||||
Ca Ong,カー・オン,2040160000,3,3,true,false,150,140,300,804,1990,970,2410,,
|
||||
"Cerberus, Hellhound Trifecta",冥界の三魔犬 ケルベロス,2040305000,5,3,false,false,100,110,350,705,1860,,,,
|
||||
Charybdis,カリュブディス,2040363000,3,3,false,false,100,160,265,900,1680,,,,
|
||||
Cybele,キュベレー,2040036000,4,3,true,false,150,129,315,790,1920,960,2320,,
|
||||
Dark Angel Olivia,Dエンジェル・オリヴィエ,2040005000,5,3,true,false,150,128,335,770,2000,930,2420,,
|
||||
Demonbream,魔鯛,2040326000,1,3,true,false,150,114,327,679,1990,820,2410,,
|
||||
Dogu,ドグー,2040342000,4,3,true,false,150,137,332,815,2027,980,2450,,
|
||||
Elil,エッリル,2040344000,1,3,true,false,150,130,367,810,2052,980,2470,,
|
||||
Freyr,フレイ,2040281000,1,3,true,false,150,117,312,710,1835,860,2220,,
|
||||
Garuda,ガルーダ,2040071000,1,3,true,false,150,131,320,775,1980,940,2400,,
|
||||
"Garula, Shining Hawk",シャインホーク・ガルラ,2040221000,1,3,false,false,100,107,320,693,1880,,,,
|
||||
Gilgamesh,ギルガメッシュ,2040130000,4,3,true,false,150,140,300,825,1905,1000,2310,,
|
||||
Gorilla,ゴリラ,2040285000,4,3,true,false,150,100,397,650,2132,790,2570,,
|
||||
Grani,グラニ,2040007000,3,3,true,false,150,126,315,756,1890,910,2280,,
|
||||
Hamsa,ハンサ,2040296000,1,3,true,false,150,120,305,720,1800,870,2170,,
|
||||
Hector,ヘクトル,2040144000,6,3,true,false,150,140,300,824,1910,1000,2310,,
|
||||
Heimdallr,ヘイムダル,2040350000,6,3,true,false,150,123,402,767,2269,930,2740,,
|
||||
Lich,リッチ,2040012000,5,3,true,false,150,111,390,700,2240,850,2700,,
|
||||
Macula Marius,マキュラ・マリウス,2040002000,3,3,true,false,150,135,305,796,1880,960,2270,,
|
||||
"Magus, Triad of Wisdom",三知一鎧の賢者 マギ,2040310000,6,3,false,false,100,121,292,723,1767,,,,
|
||||
Mammoth,マンモス,2040368000,4,3,false,false,100,140,317,818,2012,,,,
|
||||
"Marduk, Battlefield Reaper",破格の戦鬼 マルドゥーク,2040323000,4,3,false,false,100,125,272,723,1767,,,,
|
||||
Medusa,メドゥーサ,2040059000,4,3,true,false,150,128,325,780,1970,940,2380,,
|
||||
Morrigna,バイヴカハ,2040122000,1,3,true,false,150,140,305,823,1915,990,2320,,
|
||||
Nacht,ナハト,2040212000,5,3,true,false,150,128,285,731,1780,880,2150,,
|
||||
Neptune,ネプチューン,2040069000,3,3,false,false,100,125,330,740,2070,,,,
|
||||
Nezha,ナタク,2040042000,1,3,true,false,150,121,355,729,2115,880,2560,,
|
||||
Nyalathotep,ナイアルラトホテップ,2040352000,5,3,true,false,150,121,412,814,2032,990,2440,,
|
||||
Oceanus,オケアノス,2040033000,3,3,true,false,150,130,310,800,1910,970,2310,,
|
||||
Odin,オーディン,2040029000,6,3,true,false,150,135,340,860,2100,1040,2540,,
|
||||
Owlcat,オウルキャット,2040366000,1,3,false,false,100,131,362,809,2057,,,,
|
||||
"Poseidon, the Tide Father",気高き水神 ポセイドン,2040302000,3,3,false,false,100,123,272,726,1752,,,,
|
||||
Princess Long Ji,竜吉公主,2040340000,3,3,true,false,150,138,327,816,2022,990,2450,,
|
||||
Prometheus,プロメテウス,2040125000,2,3,true,false,150,140,300,822,1920,990,2330,,
|
||||
Quetzalcoatl,ケツァルカトル,2040009000,1,3,false,false,100,125,320,755,1895,,,,
|
||||
Red Hare,セキトバ,2040361000,2,3,false,false,100,134,347,812,2042,,,,
|
||||
Rose Queen,ローズクイーン,2040105000,1,3,true,false,150,140,304,780,1870,940,2260,,
|
||||
Satan,サタン,2040001000,5,3,false,false,100,115,415,710,2390,,,,
|
||||
Satyr,サテュロス,2040053000,2,3,true,false,150,127,325,785,1950,950,2360,,
|
||||
Setekh,セト,2040177000,1,3,true,false,150,119,300,717,1800,860,2170,,
|
||||
Sethlans,セスランス,2040171000,2,3,true,false,150,118,305,712,1820,860,2200,,
|
||||
Siren,セイレーン,2040017000,1,3,false,false,100,127,325,767,1925,,,,
|
||||
Snow White,スノウホワイト,2040249000,3,3,false,false,100,124,276,722,1772,,,,
|
||||
Surtr,スルト,2040338000,2,3,true,false,150,130,367,800,2102,970,2540,,
|
||||
"Sylph, Flutterspirit of Purity",白純の霊蝶 シルフ,2040304000,2,3,false,false,100,100,300,720,1780,,,,
|
||||
Tezcatlipoca,テスカトリポカ,2040173000,4,3,true,false,150,119,300,716,1810,860,2190,,
|
||||
Thor,トール,2040188000,6,3,true,false,150,117,310,710,1810,860,2190,,
|
||||
Tsukuyomi,ツクヨミ,2040263000,5,3,false,false,100,116,319,711,1828,,,,
|
||||
Twin Elements,フラム=グラス,2040063000,2,3,true,false,150,120,360,728,2120,880,2560,,
|
||||
Typhon,テュポーン,2040180000,5,3,true,false,150,120,340,735,2095,890,2530,,
|
||||
Vortex Dragon,雷霆公,2040004000,6,3,true,false,150,126,330,756,1985,910,2400,,
|
||||
Zaoshen,ザオシェン,2040229000,2,3,true,false,150,122,293,756,1711,920,2060,,
|
||||
Zirnitra,ジルニトラ,2040385000,5,3,false,false,100,128,394,806,2174,,,,
|
||||
Agni,アグニス,2040094000,2,3,true,false,150,127,385,770,2270,1092,3213,,
|
||||
Bahamut,バハムート,2040003000,5,3,true,true,200,140,380,850,2160,1210,3050,1390,3495
|
||||
Belial,ベリアル,2040347000,5,3,true,false,150,120,400,800,2310,1140,3265,,
|
||||
Europa,エウロペ,2040225000,3,3,false,false,100,150,325,880,2070,,,,
|
||||
Gabriel,ガブリエル,2040311000,3,3,false,false,100,140,375,850,2100,,,,
|
||||
Godsworn Alexiel,ゴッドガード・ブローディア,2040205000,4,3,false,false,100,140,320,870,2100,,,,
|
||||
Grand Order,ジ・オーダー・グランデ,2040065000,6,3,true,false,150,140,350,880,2080,1250,2945,,
|
||||
Grimnir,グリームニル,2040261000,1,3,false,false,100,134,347,851,2145,,,,
|
||||
Hades,ハデス,2040090000,5,3,true,false,150,123,420,755,2350,1071,3315,,
|
||||
Halluel and Malluel,ハールート・マールート,2040275000,6,3,false,false,100,135,350,808,2075,,,,
|
||||
Kaguya,カグヤ,2040114000,3,3,true,false,150,150,350,860,2140,,,,
|
||||
Lucifer,ルシフェル,2040056000,6,3,true,true,200,136,340,900,2015,1280,2850,1470,3268
|
||||
Metatron,メタトロン,2040330000,6,3,false,false,100,138,327,816,2022,,,,
|
||||
Michael,ミカエル,2040306000,2,3,false,false,100,129,359,832,2240,,,,
|
||||
Raphael,ラファエル,2040202000,1,3,false,false,100,158,251,930,1750,,,,
|
||||
Sariel,サリエル,2040327000,5,3,false,false,100,132,357,790,2155,,,,
|
||||
Shiva,シヴァ,2040185000,2,3,false,false,100,135,345,850,2150,,,,
|
||||
Titan,ティターン,2040084000,4,3,true,false,150,140,310,920,1940,1310,2755,,
|
||||
Uriel,ウリエル,2040203000,4,3,false,false,100,133,352,844,2180,,,,
|
||||
Varuna,ヴァルナ,2040100000,3,3,true,false,150,130,370,800,2150,1135,3040,,
|
||||
Zephyrus,ゼピュロス,2040098000,1,3,true,false,150,128,380,774,2250,1097,3185,,
|
||||
Zeus,ゼウス,2040080000,6,3,true,false,150,130,370,790,2220,1120,3145,,
|
||||
Athena (Summer),アテナ (水着),2040369000,2,3,true,false,150,137,332,815,2027,980,2450,,
|
||||
Freyr (Yukata),フレイ (浴衣),2040374000,4,3,true,false,150,137,332,815,2027,980,2450,,
|
||||
Kaguya (Summer),カグヤ (水着),2040375000,6,3,true,false,150,147,317,880,1912,1060,2310,,
|
||||
Macula Marius (Summer),マキュラ・マリウス (水着),2040293000,3,3,true,false,150,125,345,755,2090,910,2530,,
|
||||
Rose Queen (Summer),ローズクイーン (水着),2040336000,1,3,true,false,150,135,342,840,1900,1020,2290,,
|
||||
Satyr (Summer),サテュロス (水着),2040335000,2,3,true,false,150,134,347,810,2050,979,2476,,
|
||||
Yggdrasil (Summer),ユグドラシル (水着),2040333000,4,3,true,false,150,137,332,820,2002,1030,2500,,
|
||||
Celeste Omega,セレスト・マグナ,2040046000,5,3,true,true,200,101,285,646,1645,776,1975,919,2325
|
||||
Colossus Omega,コロッサス・マグナ,2040034000,2,3,true,true,200,103,275,648,1635,778,1965,921,2315
|
||||
Leviathan Omega,リヴァイアサン・マグナ,2040028000,3,3,true,true,200,107,255,652,1615,782,1945,925,2295
|
||||
Luminiera Omega,シュヴァリエ・マグナ,2040047000,6,3,true,true,200,105,265,650,1625,780,1955,923,2305
|
||||
Tiamat Omega,ティアマト・マグナ,2040020000,1,3,true,true,200,104,270,650,1630,780,1960,923,2310
|
||||
Yggdrasil Omega,ユグドラシル・マグナ,2040027000,4,3,true,true,200,106,260,651,1620,781,1950,924,2300
|
||||
Cocytus,コキュートス,2040010000,3,3,true,false,150,100,220,606,1430,710,1670,,
|
||||
Corow,コロゥ,2040044000,6,3,true,false,150,92,240,560,1535,650,1790,,
|
||||
Diablo,ディアボロス,2040062000,5,3,true,false,150,80,300,516,1755,600,2050,,
|
||||
Ifrit,イフリート,2040016000,2,3,true,false,150,82,290,518,1745,610,2040,,
|
||||
Sagittarius,サジタリウス,2040031000,1,3,true,false,150,100,235,600,1445,700,1690,,
|
||||
Vohu Manah,ウォフマナフ,2040014000,4,3,true,false,150,94,230,579,1440,680,1680,,
|
||||
Anat,アナト,2040006000,1,3,false,false,100,132,320,784,1940,,,,
|
||||
Mithra,ミスラ,2040039000,1,3,false,false,100,105,95,650,1200,,,,
|
||||
Death,デス,2040238000,5,3,true,true,200,109,300,695,1770,984,2490,1128,2850
|
||||
Judgement,ジャッジメント,2040245000,1,3,true,true,200,107,290,665,1760,949,2475,1091,2832
|
||||
Justice,ジャスティス,2040236000,3,3,true,true,200,116,260,702,1660,990,2365,1134,2717
|
||||
Temperance,テンペランス,2040239000,1,3,true,true,200,113,275,699,1675,987,2380,1131,2732
|
||||
The Tower,ザ・タワー,2040241000,4,3,true,true,200,115,265,700,1665,989,2370,1133,2722
|
||||
The Sun,ザ・サン,2040244000,2,3,true,true,200,106,295,664,1765,948,2480,1090,2837
|
||||
The Star,ザ・スター,2040242000,6,3,true,true,200,113,280,699,1750,988,2470,1132,2830
|
||||
The Moon,ザ・ムーン,2040243000,3,3,true,true,200,110,275,668,1740,952,2460,1094,2820
|
||||
The Hanged Man,ザ・ハングドマン,2040237000,4,3,true,true,200,109,280,667,1745,951,2465,1093,2825
|
||||
The Devil,ザ・デビル,2040240000,2,3,true,true,200,112,280,698,1680,986,2385,1130,2737
|
||||
Cait Sith,ケット・シー,2040025000,6,3,false,false,100,128,320,768,1920,,,,
|
||||
Inchoate World,胎動する世界,2040086000,5,3,false,false,100,85,245,555,1420,,,,
|
||||
Albacore,アルバコア,2040024000,5,3,false,false,100,91,245,557,1550,,,,
|
||||
Bellringer Angel,ベルエンジェル,2040192000,6,3,false,false,100,91,200,575,1400,,,,
|
||||
Blue Orbit,ブルーオービット,2040184000,1,3,false,false,100,93,230,573,1440,,,,
|
||||
Branwen,ブランウェン,2040060000,3,3,false,false,100,105,215,200,1300,,,,
|
||||
C.C.,C.C.,2040331000,5,3,true,false,150,100,215,650,1300,790,1570,,
|
||||
Dark Flame Scion,闇の炎の子,2040198000,5,3,false,false,100,86,245,556,1420,,,,
|
||||
Deirdre,ディアドラ,2040095000,1,3,false,false,100,92,240,572,1520,,,,
|
||||
Demi Agni,アグニス・ディヴィジョン,2040269000,2,3,true,false,150,103,270,647,1630,919,2310,,
|
||||
Demi Hades,ハデス・ディヴィジョン,2040274000,5,3,true,false,150,101,280,645,1640,917,2320,,
|
||||
Demi Titan,ティターン・ディヴィジョン,2040271000,4,3,true,false,150,106,255,650,1615,922,2295,,
|
||||
Demi Varuna,ヴァルナ・ディヴィジョン,2040270000,3,3,true,false,150,107,250,653,1610,926,2290,,
|
||||
Demi Zephyrus,ゼピュロス・ディヴィジョン,2040272000,1,3,true,false,150,104,265,648,1625,920,2305,,
|
||||
Demi Zeus,ゼウス・ディヴィジョン,2040273000,6,3,true,false,150,105,260,651,1620,924,2300,,
|
||||
Dragon Knights,ドラゴンナイツ,2040181000,1,3,true,false,150,92,235,575,1450,700,1750,,
|
||||
Druj,ドゥルジ,2040133000,6,3,false,false,100,90,250,570,1530,,,,
|
||||
Ebisu,ヱビス,2040085000,3,3,false,false,100,97,225,600,1390,,,,
|
||||
Fafnir,ファフニール,2040099000,2,3,false,false,100,91,250,575,1520,,,,
|
||||
Forest Ranger,フォレストレンジャー,2040219000,4,3,false,false,100,93,231,575,1446,,,,
|
||||
H.P.A.,K・B・S・N,2040207000,5,3,false,false,100,83,250,574,1470,,,,
|
||||
Hekatonkheir,ヘカトンケイル,2040030000,6,3,false,false,100,93,230,570,1480,,,,
|
||||
Ikelos,イケロス,2040142000,3,3,false,false,100,102,200,620,1300,,,,
|
||||
King Krustacea,氷海の覇王,2040123000,5,3,false,false,100,91,245,622,1290,,,,
|
||||
Lady Katapillar,キャタピラさん,2040129000,2,3,false,false,100,95,230,600,1410,,,,
|
||||
Levin Sisters,レヴィオンシスターズ,2040189000,6,3,false,false,100,95,220,570,1425,,,,
|
||||
Lonesome Dragoness,孤独の竜姫,2040228000,2,3,false,false,100,94,225,578,1430,,,,
|
||||
Magus,マギ,2040064000,6,3,false,false,100,94,225,580,1450,,,,
|
||||
Mammon,マモーナス,2040067000,1,3,false,false,100,86,270,540,1640,,,,
|
||||
Manawydan,マナウィダン,2040015000,3,3,false,false,100,95,225,580,1435,,,,
|
||||
Marduk,マルドゥーク,2040043000,4,3,true,false,150,93,240,548,1600,660,1940,,
|
||||
Midgardsormr,ミドガルズオルム,2040018000,4,3,false,false,100,94,235,577,1510,,,,
|
||||
Nephthys,ネフティス,2040011000,1,3,false,false,100,94,240,577,1450,,,,
|
||||
Odajumoki Gang,オダヅモッキー・ギャングスタ,2040113000,3,3,false,false,100,90,250,551,1580,,,,
|
||||
Oxymoron,オクシモロン,2040076000,2,3,false,false,100,100,200,634,1270,,,,
|
||||
Phoenix,フェニックス,2040008000,2,3,false,false,100,91,245,576,1455,,,,
|
||||
Pierre,ピエール,2040096000,6,3,false,false,100,92,235,575,1450,,,,
|
||||
Poseidon,ポセイドン,2040037000,3,3,true,false,150,95,245,565,1575,660,1840,,
|
||||
Princess Knight,プリンセスナイト,2040303000,6,3,false,false,100,95,220,580,1422,,,,
|
||||
Robomi Rocket,ロボミ発進指令,2040081000,6,3,false,false,100,100,200,634,1270,,,,
|
||||
Sandalphon,サンダルフォン,2040195000,6,3,false,false,100,90,240,580,1410,,,,
|
||||
Super Robo Gigantes,超鋼巨人・ゴッドギガンテス,2040159000,6,3,false,false,100,93,230,576,1440,,,,
|
||||
Sylph,シルフ,2040048000,2,3,false,false,100,96,220,605,1310,,,,
|
||||
Ti Icniuhtli Xolotl,ティクニウトリ・ショロトル,2040124000,6,3,false,false,100,90,225,560,1400,,,,
|
||||
Urkin,ンニ,2040224000,2,3,false,false,100,95,220,580,1420,,,,
|
||||
Verona Heart,ヴェローナ・ハート,2040175000,3,3,false,false,100,95,220,580,1420,,,,
|
||||
Veselago,ヴェセラゴ,2040091000,6,3,false,false,100,94,225,610,1325,,,,
|
||||
Wind God and Thunder God,風神・雷神,2040055000,1,3,false,false,100,87,265,550,1595,,,,
|
||||
Baihu,白虎,2040378000,4,3,true,false,150,106,255,649,1617,921,2298,,
|
||||
Huanglong,黄龍,2040157000,6,3,false,false,100,105,260,645,1650,,,,
|
||||
Qilin,黒麒麟,2040158000,5,3,false,false,100,107,250,649,1630,,,,
|
||||
Qinglong,青龍,2040379000,1,3,true,false,150,104,278,647,1708,919,2423,,
|
||||
Xuanwu,玄武,2040377000,3,3,true,false,150,102,275,624,1742,885,2476,,
|
||||
Zhuque,朱雀,2040376000,2,3,true,false,150,103,270,646,1632,918,2313,,
|
||||
Allosaurus,アロザロウス,2040035000,4,3,false,false,100,115,280,661,1645,,,,
|
||||
Audumbla,アウズンブラ,2040045000,3,3,false,false,100,120,275,662,1640,,,,
|
||||
Behemoth,ベヒーモス,2040019000,5,3,false,false,100,114,285,656,1670,,,,
|
||||
Grendel,ベオウルフ,2040022000,2,3,false,false,100,112,295,658,1660,,,,
|
||||
Gugalanna,グガランナ,2040026000,1,3,false,false,100,113,290,659,1655,,,,
|
||||
Jack-o'-Lantern,ジャック・オー・ランタン,2040041000,5,3,false,false,100,99,255,550,1600,,,,
|
||||
Mahisha,マヒシャ,2040050000,6,3,false,false,100,114,285,660,1650,,,,
|
||||
Cerberus,ケルベロス,2040032000,5,3,true,false,150,80,300,516,1755,600,2050,,
|
||||
Fenrir,フェンリル,2040049000,3,3,true,false,150,95,225,560,1535,650,1800,,
|
||||
Brunnhilde,ブリュンヒルデ,2040038000,5,3,false,false,100,77,250,500,1750,,,,
|
||||
Eren,エレン,2040255000,2,3,false,false,100,88,251,559,1495,,,,
|
||||
Golden Piña,ゴールデンぴにゃこら太,2040364000,6,3,true,false,150,102,185,606,1292,730,1570,,
|
||||
JEHUTY,ジェフティ,2040294000,6,3,false,false,100,93,230,570,1472,,,,
|
||||
Kero-chan,ケロちゃん,2040234000,6,3,false,false,100,90,245,575,1450,,,,
|
||||
[Skybound] Kirari,[ラブリーナイト]きらり,2040073000,4,3,false,false,100,110,150,700,1150,,,,
|
||||
Kirari Moroboshi,諸星きらり,2040058000,4,3,false,false,100,91,200,615,1400,,,,
|
||||
Mepple and Mipple,メップル&ミップル,2040299000,6,3,true,false,150,90,245,570,1475,690,1780,,
|
||||
Milia,ミリア,2040170000,5,3,false,false,100,79,300,525,1700,,,,
|
||||
Morgana Car,モルガナカー,2040288000,5,3,true,false,150,85,270,570,1492,690,1800,,
|
||||
Mukku,ムック,2040345000,2,3,true,false,150,91,240,570,1472,690,,,
|
||||
[Skybound] Ranko Kanzaki,[覚醒魔王]神崎蘭子,2040057000,5,3,true,false,150,100,180,666,1250,740,1666,,
|
||||
Avaritia,アワリティア,2040072000,4,3,false,false,100,97,215,610,1300,,,,
|
||||
Cat Parade,ビッグマーチ・オブ・ネコ,2040312000,4,3,false,false,100,90,245,552,1562,,,,
|
||||
Colossal Hermit,灼弩火罹,2040373000,6,3,false,false,100,90,245,555,1550,,,,
|
||||
"Crimson Spear, Ebony Scythe",紅き穿光と黒き大鎌,2040259000,2,3,false,false,100,91,240,574,1455,,,,
|
||||
Custos Citrullus,守畏禍,2040168000,4,3,false,false,100,90,250,570,1530,,,,
|
||||
Dancing Man,ダンシング・マン,2040337000,2,3,false,false,100,92,235,625,1200,,,,
|
||||
Deepflight Oyster,カキフライ,2040371000,3,3,false,false,100,91,241,555,1546,,,,
|
||||
Delinquent Spirit,ツッパリ魂,2040325000,1,3,false,false,100,92,235,580,1400,,,,
|
||||
Dynamic Merc Duo,疾風怒濤の傭兵コンビ,2040360000,4,3,false,false,100,96,215,587,1387,,,,
|
||||
Electric Eal,デンキンナギ,2040292000,6,3,false,false,100,90,250,550,1580,,,,
|
||||
Flamek Pact,フラメクの契約者,2040309000,5,3,false,false,100,85,270,570,1495,,,,
|
||||
From Ladiva with Love,レスラーより愛をこめて,2040329000,6,3,false,false,100,97,210,580,1422,,,,
|
||||
Gearcycle,ケッタギア,2040295000,1,3,false,false,100,69,250,460,1610,,,,
|
||||
Gigante Blazer,兄弟砲ギガントブレイザー,2040279000,6,3,false,false,100,100,195,580,1425,,,,
|
||||
God Albacore,ゴッド・アルバコア,2040334000,3,3,false,false,100,91,240,600,1330,,,,
|
||||
Goregrinders,ゴアグラインダー,2040365000,1,3,false,false,100,88,255,571,1467,,,,
|
||||
Gorgon Sisters,ゴルゴーン三姉妹,2040328000,4,3,false,false,100,95,220,560,1522,,,,
|
||||
Grueler,濱野大輝,2040178000,2,3,false,false,100,90,250,570,1460,,,,
|
||||
H.D. Mining Excavator,坑道用大型掘削機,2040298000,4,3,false,false,100,90,235,600,1325,,,,
|
||||
Harvest Myconid,オータム・マイコニド,2040097000,4,3,false,false,100,99,200,608,1295,,,,
|
||||
Joya,ジョヤ,2040115000,1,3,false,false,100,92,235,575,1447,,,,
|
||||
Knight of Knights,俊秀の義剣士,2040252000,1,3,false,false,100,90,250,570,1455,,,,
|
||||
Krelkulkil,カラクラキル,2040301000,5,3,false,false,100,84,270,556,1562,,,,
|
||||
Lumiel Gourmet,リュミエールグルメ,2040214000,1,3,false,false,100,92,235,577,1440,,,,
|
||||
Lunalu,ルナール,2040286000,5,3,false,false,100,91,240,578,1452,,,,
|
||||
Narita,ナリタ,2040291000,5,3,true,false,150,79,300,512,1761,591,2061,,
|
||||
Nobiyo,ノビヨ,2040290000,6,3,true,false,150,98,192,622,1214,720,1406,,
|
||||
Proto-Joya,プロトジョヤ,2040348000,1,3,false,false,100,92,235,575,1450,,,,
|
||||
Rainy Day,RAINY DAY,2040332000,5,3,false,false,100,85,270,550,1572,,,,
|
||||
Sapphire Dance: Gentiana,蒼紅之舞・竜胆,2040248000,3,3,false,false,100,95,220,580,1435,,,,
|
||||
Sapphire Dance: Habotan,蒼紅之舞・竜胆,2040341000,6,3,false,false,100,91,240,580,1420,,,,
|
||||
Sharom,シャローム,2040232000,5,3,false,false,100,95,230,600,1320,,,,
|
||||
Silver Salvation,一臂の力を揮う銀の軍師,2040362000,3,3,false,false,100,109,215,660,1410,,,,
|
||||
Sky Carriage SS Pew Pew,スカイキャリッジ☆ミ号,2040343000,2,3,false,false,100,90,245,572,1462,,,,
|
||||
Super Cute Genius Alchemist,美少女錬金術師,2040211000,5,3,false,false,100,91,240,578,1450,,,,
|
||||
Swinger of the Ebony Scythe,大鎌を操りし漆黒,2040349000,5,3,false,false,100,71,343,490,1892,,,,
|
||||
Team Chickadee,眠れる竜と獅子,2040339000,1,3,false,false,100,99,200,583,1407,,,,
|
||||
The Eternal Defenders,空の安寧を守りし十天衆,2040351000,1,3,false,false,100,87,246,610,1310,,,,
|
||||
Treant,トレント,2040172000,1,3,false,false,100,96,215,605,1300,,,,
|
||||
Unrivaled Fighter,古今独歩の大拳豪,2040282000,2,3,false,false,100,87,260,551,1567,,,,
|
||||
Vane's Cooking,クッキング・ヴェイン,2040300000,2,3,false,false,100,90,245,557,1537,,,,
|
||||
Bahamut Unchained,拘束破りし黒銀の翼,2040131000,5,3,false,false,100,101,295,644,1725,,,,
|
||||
Illuyanka,イルルヤンカシュ,2040109000,3,3,false,false,100,107,265,650,1695,,,,
|
||||
Queen Bee,クイーンビー,2040141000,1,3,false,false,100,109,240,680,1465,,,,
|
||||
Aquamarine Carbuncle,カーバンクル・アクアマリン,2030021000,3,2,false,false,75,88,205,516,1280,,,,
|
||||
Garnet Carbuncle,カーバンクル・ガーネット,2030031000,2,2,false,false,75,84,225,514,1300,,,,
|
||||
Onyx Carbuncle,カーバンクル・オニキス,2030039000,5,2,false,false,75,82,235,512,1310,,,,
|
||||
Opal Carbuncle,カーバンクル・オパール,2030042000,6,2,false,false,75,86,215,516,1290,,,,
|
||||
Zircon Carbuncle,カーバンクル・ジルコン,2030024000,4,2,false,false,75,87,210,517,1285,,,,
|
||||
Peridot Carbuncle,カーバンクル・ペリドット,2030016000,1,2,false,false,75,60,150,380,950,,,,
|
||||
"id","name_en","name_jp","granblue_id","rarity","element","series","flb","ulb","max_level","min_hp","max_hp","max_hp_flb","max_hp_ulb","min_atk","max_atk","max_atk_flb","max_atk_ulb","subaura","limit"
|
||||
"01b40cab-5609-427c-98bf-ae235c001352","Princess Knight","プリンセスナイト","2040303000",3,6,,FALSE,FALSE,100,95,580,,,95,580,,,FALSE,
|
||||
"02ad81b3-fc48-4e0e-b4c4-c46c0d084b73","Dynamic Merc Duo","疾風怒濤の傭兵コンビ","2040360000",3,4,,FALSE,FALSE,100,96,587,,,96,587,,,FALSE,
|
||||
"02b5b2e8-7be1-455c-8616-d960cf348405","Druj","ドゥルジ","2040133000",3,6,,FALSE,FALSE,100,90,570,,,90,570,,,FALSE,
|
||||
"033d2cdb-119f-4d4c-af5a-424bc2ad245e","Odin","オーディン","2040029000",3,6,,TRUE,FALSE,150,135,860,1040,,135,860,1040,,FALSE,
|
||||
"036e9085-cb3e-4c6e-9de4-adb29d4635dd","Grani","グラニ","2040007000",3,3,,TRUE,FALSE,150,126,756,910,,126,756,910,,FALSE,
|
||||
"04c636b6-d1a0-4e69-8d81-0ebf8461ac91","Rainy Day","RAINY DAY","2040332000",3,5,,FALSE,FALSE,100,85,550,,,85,550,,,FALSE,
|
||||
"04fff7fb-991e-4572-8e46-fff4e432265c","Freyr","フレイ","2040281000",3,1,,TRUE,FALSE,150,117,710,860,,117,710,860,,FALSE,
|
||||
"052690e8-cfff-47d0-8fa9-eef454f6e14f","Dragon Knights","ドラゴンナイツ","2040181000",3,1,,TRUE,FALSE,150,92,575,700,,92,575,700,,FALSE,
|
||||
"067b9800-2055-4433-bdc8-8adcaf3087ce","Macula Marius (Summer)","マキュラ・マリウス (水着)","2040293000",3,3,,TRUE,FALSE,150,125,755,910,,125,755,910,,FALSE,
|
||||
"069b628e-c33a-4714-b5a5-26990cf61e0f","Cybele","キュベレー","2040036000",3,4,,TRUE,FALSE,150,129,790,960,,129,790,960,,FALSE,
|
||||
"06b4b844-019d-4091-bdb4-c0386c70c861","Athena (Summer)","アテナ (水着)","2040369000",3,2,,TRUE,FALSE,150,137,815,980,,137,815,980,,FALSE,
|
||||
"08f2385b-f6f2-4ccd-b199-f20a401d34f1","Sethlans","セスランス","2040171000",3,2,,TRUE,FALSE,150,118,712,860,,118,712,860,,FALSE,
|
||||
"0a9c4427-c7e9-455e-b7b3-8285f9506fe7","Super Robo Gigantes","超鋼巨人・ゴッドギガンテス","2040159000",3,6,,FALSE,FALSE,100,93,576,,,93,576,,,FALSE,
|
||||
"0c859aa1-3672-45cd-9035-a16960240a2e","Ebisu","ヱビス","2040085000",3,3,,FALSE,FALSE,100,97,600,,,97,600,,,FALSE,
|
||||
"0f916d8b-98a2-4b64-a93c-17a2c0bef300","Nephthys","ネフティス","2040011000",3,1,,FALSE,FALSE,100,94,577,,,94,577,,,FALSE,
|
||||
"12436ae8-5599-490c-a8e4-2114304b4100","Mithra","ミスラ","2040039000",3,1,,FALSE,FALSE,100,105,650,,,105,650,,,FALSE,
|
||||
"13fdaab2-63df-42e1-bf8a-8e0678ea0310","Opal Carbuncle","カーバンクル・オパール","2030042000",2,6,,FALSE,FALSE,75,86,516,,,86,516,,,FALSE,
|
||||
"14b53b82-a923-40b5-b14b-d342ee6e78a4","Xuanwu","玄武","2040377000",3,3,,TRUE,FALSE,150,102,624,885,,102,624,885,,FALSE,
|
||||
"16106246-d700-4dce-9876-cdc98a22c796","Levin Sisters","レヴィオンシスターズ","2040189000",3,6,,FALSE,FALSE,100,95,570,,,95,570,,,FALSE,
|
||||
"17314c57-ce6d-4e10-be7c-ddcab7fbcc53","From Ladiva with Love","レスラーより愛をこめて","2040329000",3,6,,FALSE,FALSE,100,97,580,,,97,580,,,FALSE,
|
||||
"17431b25-7b27-4e23-8519-7e065a8319cd","Baihu","白虎","2040378000",3,4,,TRUE,FALSE,150,106,649,921,,106,649,921,,FALSE,
|
||||
"20152678-a534-4791-af7a-e95029499e86","Ti Icniuhtli Xolotl","ティクニウトリ・ショロトル","2040124000",3,6,,FALSE,FALSE,100,90,560,,,90,560,,,FALSE,
|
||||
"22b5b81a-759a-4c96-b4dd-07a33f614d0c","Oxymoron","オクシモロン","2040076000",3,2,,FALSE,FALSE,100,100,634,,,100,634,,,FALSE,
|
||||
"24a8e1a9-a4e9-4fa2-97d9-5a2e89f17cad","Ifrit","イフリート","2040016000",3,2,,TRUE,FALSE,150,82,518,610,,82,518,610,,FALSE,
|
||||
"26d5ed0e-93d6-48c4-8a61-abeddd941f54","Qinglong","青龍","2040379000",3,1,,TRUE,FALSE,150,104,647,919,,104,647,919,,FALSE,
|
||||
"26f2894a-67fa-4b1b-aeb1-e286023da692","Behemoth","ベヒーモス","2040019000",3,5,,FALSE,FALSE,100,114,656,,,114,656,,,FALSE,
|
||||
"2a6d5749-67b1-44d8-a8bb-992a6c94d19f","Nezha","ナタク","2040042000",3,1,,TRUE,FALSE,150,121,729,880,,121,729,880,,FALSE,
|
||||
"2a930992-7953-4869-a7bb-17e7a80f29fb","Yggdrasil (Summer)","ユグドラシル (水着)","2040333000",3,4,,TRUE,FALSE,150,137,820,1030,,137,820,1030,,FALSE,
|
||||
"2bcfcacb-f19d-4ae9-ba72-5179730e0b8d","King Krustacea","氷海の覇王","2040123000",3,5,,FALSE,FALSE,100,91,622,,,91,622,,,FALSE,
|
||||
"2c789674-7085-4522-912e-26e36644f3d0","Aquamarine Carbuncle","カーバンクル・アクアマリン","2030021000",2,3,,FALSE,FALSE,75,88,516,,,88,516,,,FALSE,
|
||||
"2c95f05c-7dc9-470c-98b9-2e5189323841","Goregrinders","ゴアグラインダー","2040365000",3,1,,FALSE,FALSE,100,88,571,,,88,571,,,FALSE,
|
||||
"2ca9644d-8313-4ff6-80a3-a861668093a3","Cerberus, Hellhound Trifecta","冥界の三魔犬 ケルベロス","2040305000",3,5,,FALSE,FALSE,100,110,705,,,110,705,,,FALSE,
|
||||
"2da824f3-2315-4a0f-9035-e5bd31bcb851","C.C.","C.C.","2040331000",3,5,,TRUE,FALSE,150,100,650,790,,100,650,790,,FALSE,
|
||||
"2dc0621a-0495-4bb2-9add-3dc7a1ba28b0","Lich","リッチ","2040012000",3,5,,TRUE,FALSE,150,111,700,850,,111,700,850,,FALSE,
|
||||
"2e0cb0aa-0523-4638-85e7-a6c32c5d4c21","Knight of Knights","俊秀の義剣士","2040252000",3,1,,FALSE,FALSE,100,90,570,,,90,570,,,FALSE,
|
||||
"300a999c-11fb-4251-95f7-b3cd989bd7ae","Cait Sith","ケット・シー","2040025000",3,6,,FALSE,FALSE,100,128,768,,,128,768,,,FALSE,
|
||||
"3235b44c-2941-40f4-a856-b191f7d0a742","Manawydan","マナウィダン","2040015000",3,3,,FALSE,FALSE,100,95,580,,,95,580,,,FALSE,
|
||||
"323dbfc4-1e9c-416f-a933-e82fe2eb87ec","Corow","コロゥ","2040044000",3,6,,TRUE,FALSE,150,92,560,650,,92,560,650,,FALSE,
|
||||
"33e7f27e-749e-45c7-aab6-b84729980d0b","Twin Elements","フラム=グラス","2040063000",3,2,,TRUE,FALSE,150,120,728,880,,120,728,880,,FALSE,
|
||||
"3496a5c3-e336-4c2f-89ed-62266c7cdc22","Hekatonkheir","ヘカトンケイル","2040030000",3,6,,FALSE,FALSE,100,93,570,,,93,570,,,FALSE,
|
||||
"36afe92b-bead-4ce0-b408-f261329d1c77","Albacore","アルバコア","2040024000",3,5,,FALSE,FALSE,100,91,557,,,91,557,,,FALSE,
|
||||
"2b5c8036-aa32-48a4-a6de-92f37317e192","Demi Varuna","ヴァルナ・ディヴィジョン","2040270000",3,3,"4",TRUE,FALSE,150,107,653,926,,107,653,926,,FALSE,
|
||||
"05214d59-2765-40c3-9a1d-6c29c6bdc6d6","Colossus Omega","コロッサス・マグナ","2040034000",3,2,"2",TRUE,TRUE,200,103,648,778,921,103,648,778,921,FALSE,
|
||||
"1e3be2f2-803c-4cff-802d-785f3b682cfb","Hades","ハデス","2040090000",3,5,"3",TRUE,TRUE,200,123,755,1071,1229,123,755,1071,3798,FALSE,
|
||||
"04302038-a8dc-4860-a09a-257c0a6ac2a9","Lucifer","ルシフェル","2040056000",3,6,"0",TRUE,TRUE,200,136,900,1280,1470,136,900,1280,1470,FALSE,
|
||||
"27aa1e76-f36c-42a7-a213-09be9d192026","Godsworn Alexiel","ゴッドガード・ブローディア","2040205000",3,4,"1",FALSE,FALSE,100,140,870,,,140,870,,,FALSE,
|
||||
"26ec677a-1dbf-42b1-b216-482b89afa4c5","Ca Ong","カー・オン","2040160000",3,3,"7",TRUE,FALSE,150,140,804,970,,140,804,970,,FALSE,
|
||||
"18a7947f-b386-477b-a53a-05c340da9860","Gilgamesh","ギルガメッシュ","2040130000",3,4,"7",TRUE,FALSE,150,140,825,1000,,140,825,1000,,FALSE,
|
||||
"2f4ee54f-3913-4e7e-83a2-3ceb87a8ad33","Morrigna","バイヴカハ","2040122000",3,1,"7",TRUE,FALSE,150,140,823,990,,140,823,990,,FALSE,
|
||||
"36b76574-4fdd-4bf7-a3fb-a2e6db19cc91","Rose Queen","ローズクイーン","2040105000",3,1,,TRUE,FALSE,150,140,780,940,,140,780,940,,FALSE,
|
||||
"36e613e5-e9b8-4a67-9760-da3577976979","Magus, Triad of Wisdom","三知一鎧の賢者 マギ","2040310000",3,6,,FALSE,FALSE,100,121,723,,,121,723,,,FALSE,
|
||||
"29e83b05-cc6c-4d2b-aba3-f9088c516ffc","Elil","エッリル","2040344000",3,1,,TRUE,FALSE,150,130,810,980,,130,810,980,,TRUE,
|
||||
"28168884-e7e2-4d50-b385-2e3f0cd98c52","Gabriel","ガブリエル","2040311000",3,3,"5",TRUE,FALSE,150,140,850,1205,,375,2100,2963,,TRUE,
|
||||
"25323902-6dcb-4f8e-b0bc-f0713573f1ba","Judgement","ジャッジメント","2040245000",3,1,"6",TRUE,TRUE,200,107,665,949,1091,107,665,949,1091,TRUE,
|
||||
"0156d098-f5e7-4d72-8d14-34e6adff9280","The Moon","ザ・ムーン","2040243000",3,3,"6",TRUE,TRUE,200,110,668,952,1094,110,668,952,1094,TRUE,
|
||||
"0fcfa02d-879f-4166-bc70-1f86a99a45ca","Sariel","サリエル","2040327000",3,5,"5",TRUE,FALSE,150,132,790,1119,,357,2155,3054,,TRUE,
|
||||
"37d08f1a-3002-47eb-a285-6fd277d8383c","Brunnhilde","ブリュンヒルデ","2040038000",3,5,,FALSE,FALSE,100,77,500,,,77,500,,,FALSE,
|
||||
"3d1456ee-0cf8-4939-b18d-968b9bb6cdf6","Oceanus","オケアノス","2040033000",3,3,,TRUE,FALSE,150,130,800,970,,130,800,970,,FALSE,
|
||||
"3d1493a7-ac66-4fac-82da-3679c9a8ebf0","Demonbream","魔鯛","2040326000",3,1,,TRUE,FALSE,150,114,679,820,,114,679,820,,FALSE,
|
||||
"40321ebe-6744-45fd-a139-3f561c5c3b1e","Sky Carriage SS Pew Pew","スカイキャリッジ☆ミ号","2040343000",3,2,,FALSE,FALSE,100,90,572,,,90,572,,,FALSE,
|
||||
"41c188ce-51b8-423c-9962-dffaa8766340","Urkin","ンニ","2040224000",3,2,,FALSE,FALSE,100,95,580,,,95,580,,,FALSE,
|
||||
"47f7ef82-c89c-4fca-a16b-be10afbf8b77","Sagittarius","サジタリウス","2040031000",3,1,,TRUE,FALSE,150,100,600,700,,100,600,700,,FALSE,
|
||||
"49713df9-6c57-4644-922e-9217616ad8d6","Robomi Rocket","ロボミ発進指令","2040081000",3,6,,FALSE,FALSE,100,100,634,,,100,634,,,FALSE,
|
||||
"49bd4739-486a-4eca-990d-88431279ac3a","Qilin","黒麒麟","2040158000",3,5,,FALSE,FALSE,100,107,649,,,107,649,,,FALSE,
|
||||
"4a95af46-1459-42b2-ab45-cd46c25dbaaa","Sylph, Flutterspirit of Purity","白純の霊蝶 シルフ","2040304000",3,2,,FALSE,FALSE,100,100,720,,,100,720,,,FALSE,
|
||||
"4ae7acd1-7b22-4d65-8e4c-09a840163177","Anat","アナト","2040006000",3,1,,FALSE,FALSE,100,132,784,,,132,784,,,FALSE,
|
||||
"4b76b10a-8646-4f58-b84c-bd35f079e512","Proto-Joya","プロトジョヤ","2040348000",3,1,,FALSE,FALSE,100,92,575,,,92,575,,,FALSE,
|
||||
"4ba222d4-b7e9-4b32-b5ee-178256574d23","Gearcycle","ケッタギア","2040295000",3,1,,FALSE,FALSE,100,69,460,,,69,460,,,FALSE,
|
||||
"508d86ae-c0c2-4a86-9d09-38d56e5302eb","Lumiel Gourmet","リュミエールグルメ","2040214000",3,1,,FALSE,FALSE,100,92,577,,,92,577,,,FALSE,
|
||||
"559af882-4262-4afb-9c1e-a0f367a347e7","Krelkulkil","カラクラキル","2040301000",3,5,,FALSE,FALSE,100,84,556,,,84,556,,,FALSE,
|
||||
"56c3884f-1b7d-4084-8760-8677eb41b84a","Joya","ジョヤ","2040115000",3,1,,FALSE,FALSE,100,92,575,,,92,575,,,FALSE,
|
||||
"56caeea0-8e9f-4c95-897d-70c5dddbbaee","Cat Parade","ビッグマーチ・オブ・ネコ","2040312000",3,4,,FALSE,FALSE,100,90,552,,,90,552,,,FALSE,
|
||||
"5c209c25-8962-451b-b62b-0a0e8ab39920","Rose Queen (Summer)","ローズクイーン (水着)","2040336000",3,1,,TRUE,FALSE,150,135,840,1020,,135,840,1020,,FALSE,
|
||||
"5d8282ac-4009-41f4-9e57-e9f33ee70893","Cerberus","ケルベロス","2040032000",3,5,,TRUE,FALSE,150,80,516,600,,80,516,600,,FALSE,
|
||||
"5db5de41-bba0-42cf-a4b8-5d7532523461","Mammon","マモーナス","2040067000",3,1,,FALSE,FALSE,100,86,540,,,86,540,,,FALSE,
|
||||
"5f253a36-713f-47b5-9dc3-e76f9b56c6bf","God Albacore","ゴッド・アルバコア","2040334000",3,3,,FALSE,FALSE,100,91,600,,,91,600,,,FALSE,
|
||||
"5f63a126-65e4-4683-aca6-011e325a586e","Treant","トレント","2040172000",3,1,,FALSE,FALSE,100,96,605,,,96,605,,,FALSE,
|
||||
"5fc88f21-b0e7-4304-9cee-0fd2f4328959","Pierre","ピエール","2040096000",3,6,,FALSE,FALSE,100,92,575,,,92,575,,,FALSE,
|
||||
"62309994-bc07-4c84-a222-75e51196e77b","Zhuque","朱雀","2040376000",3,2,,TRUE,FALSE,150,103,646,918,,103,646,918,,FALSE,
|
||||
"6245e037-b1fe-459f-8124-f36fec6fd227","Gorilla","ゴリラ","2040285000",3,4,,TRUE,FALSE,150,100,650,790,,100,650,790,,FALSE,
|
||||
"62c339ec-eab0-4a72-a71e-8e20c6663ed6","Setekh","セト","2040177000",3,1,,TRUE,FALSE,150,119,717,860,,119,717,860,,FALSE,
|
||||
"632be77d-84e5-4cb2-9462-8bd3d27ee1a5","Audumbla","アウズンブラ","2040045000",3,3,,FALSE,FALSE,100,120,662,,,120,662,,,FALSE,
|
||||
"63714c3d-9c8b-40ee-b54e-7e55510d15f5","Vohu Manah","ウォフマナフ","2040014000",3,4,,TRUE,FALSE,150,94,579,680,,94,579,680,,FALSE,
|
||||
"65a18997-8813-4b76-9507-04592c3e39de","Bellringer Angel","ベルエンジェル","2040192000",3,6,,FALSE,FALSE,100,91,575,,,91,575,,,FALSE,
|
||||
"671907a9-8fbe-45ed-aea1-4426b932946c","Typhon","テュポーン","2040180000",3,5,,TRUE,FALSE,150,120,735,890,,120,735,890,,FALSE,
|
||||
"69f4732b-afc8-4129-b99a-7e33bdf85787","Freyr (Yukata)","フレイ (浴衣)","2040374000",3,4,,TRUE,FALSE,150,137,815,980,,137,815,980,,FALSE,
|
||||
"6a6535a1-e210-4efb-a1bc-c88aaf15c3d3","Satan","サタン","2040001000",3,5,,FALSE,FALSE,100,115,710,,,115,710,,,FALSE,
|
||||
"6d806caf-667c-43a6-8282-42a645dd1f92","Team Chickadee","眠れる竜と獅子","2040339000",3,1,,FALSE,FALSE,100,99,583,,,99,583,,,FALSE,
|
||||
"6ece69cc-31cc-4ef6-b4ef-6bd0feeff1a7","Branwen","ブランウェン","2040060000",3,3,,FALSE,FALSE,100,105,200,,,105,200,,,FALSE,
|
||||
"6f29e925-9b8b-4144-83b7-cc8355ba98ea","Avaritia","アワリティア","2040072000",3,4,,FALSE,FALSE,100,97,610,,,97,610,,,FALSE,
|
||||
"6fec122b-3eb1-4b52-9890-05d24052e3f3","Kaguya (Summer)","カグヤ (水着)","2040375000",3,6,,TRUE,FALSE,150,147,880,1060,,147,880,1060,,FALSE,
|
||||
"7042625b-fcd9-4121-a457-9743cbe66c69","Onyx Carbuncle","カーバンクル・オニキス","2030039000",2,5,,FALSE,FALSE,75,82,512,,,82,512,,,FALSE,
|
||||
"708c1663-aa61-4620-b0b1-220c6702d348","Milia","ミリア","2040170000",3,5,,FALSE,FALSE,100,79,525,,,79,525,,,FALSE,
|
||||
"70da6d95-71a1-47ea-a461-08af122c666d","Zircon Carbuncle","カーバンクル・ジルコン","2030024000",2,4,,FALSE,FALSE,75,87,517,,,87,517,,,FALSE,
|
||||
"67452848-42e6-480b-a5df-f6c6c59c8ece","Tiamat Omega","ティアマト・マグナ","2040020000",3,1,"2",TRUE,TRUE,200,104,650,780,923,104,650,780,923,FALSE,
|
||||
"6efcc6bf-cf76-47d6-b646-ab9aa952670b","Demi Zeus","ゼウス・ディヴィジョン","2040273000",3,6,"4",TRUE,FALSE,150,105,651,924,,105,651,924,,FALSE,
|
||||
"4ccdb82d-96c5-46f1-b82a-d890f26dc23e","Demi Hades","ハデス・ディヴィジョン","2040274000",3,5,"4",TRUE,FALSE,150,101,645,917,,101,645,917,,FALSE,
|
||||
"592ef686-148b-45d0-9b0b-5148a7b869b6","Varuna","ヴァルナ","2040100000",3,3,"3",TRUE,TRUE,200,130,800,1135,1303,130,800,1135,3485,FALSE,
|
||||
"6a69004d-67b6-4fbf-bcf5-1f61d06ef2b9","Shiva","シヴァ","2040185000",3,2,"1",FALSE,FALSE,100,135,850,,,135,850,,,FALSE,
|
||||
"52d19a56-f1ca-476f-9833-392bee1b3179","Europa","エウロペ","2040225000",3,3,"1",FALSE,FALSE,100,150,880,,,150,880,,,FALSE,
|
||||
"73360330-daec-4cc7-9e34-bd812a1b2ed6","Dark Flame Scion","闇の炎の子","2040198000",3,5,,FALSE,FALSE,100,86,556,,,86,556,,,FALSE,
|
||||
"748b4420-b30b-4ce1-9999-f46445a21ddc","Sharom","シャローム","2040232000",3,5,,FALSE,FALSE,100,95,600,,,95,600,,,FALSE,
|
||||
"74ca0166-16a0-421e-a98e-041698440472","H.D. Mining Excavator","坑道用大型掘削機","2040298000",3,4,,FALSE,FALSE,100,90,600,,,90,600,,,FALSE,
|
||||
"788cdc08-9749-4353-bddb-6d53a2053555","Ankusha","アンクシャ","2040233000",3,4,,FALSE,FALSE,100,129,796,,,129,796,,,FALSE,
|
||||
"78bc0317-66ea-4ad9-a7c7-55d0b6d3de32","Tsukuyomi","ツクヨミ","2040263000",3,5,,FALSE,FALSE,100,116,711,,,116,711,,,FALSE,
|
||||
"68abbdee-99e1-43a2-a7d2-f20bc518f3c0","Golden Piña","ゴールデンぴにゃこら太","2040364000",3,6,,TRUE,FALSE,150,102,606,730,,102,606,730,,TRUE,
|
||||
"5e67391a-c7b6-4bab-bae0-eb7ecf69151e","Justice","ジャスティス","2040236000",3,3,"6",TRUE,TRUE,200,116,702,990,1134,116,702,990,1134,TRUE,
|
||||
"69721f57-aaa4-4438-8ce6-2b3a9c9725ca","Kaguya","カグヤ","2040114000",3,3,"9",TRUE,FALSE,150,150,860,,,150,860,,,TRUE,
|
||||
"3cc86819-684c-43cd-beb4-a5d325f93e69","Uriel","ウリエル","2040203000",3,4,"5",TRUE,FALSE,150,133,844,1200,,352,2180,3094,,TRUE,
|
||||
"4d0dfd74-354e-4b95-92c8-d176749dbd56","Princess Long Ji","竜吉公主","2040340000",3,3,,TRUE,FALSE,150,138,816,990,,138,816,990,,TRUE,
|
||||
"490fd4f7-673a-4089-842d-e6ad5b47a2f8","Red Hare","セキトバ","2040361000",3,2,,FALSE,FALSE,100,134,812,,,134,812,,,TRUE,
|
||||
"5cbf0114-42cd-4783-a6ca-5608b862ecb9","Surtr","スルト","2040338000",3,2,,TRUE,FALSE,150,130,800,970,,130,800,970,,TRUE,
|
||||
"46d08356-a284-4fe5-97f3-2ec162eb71ea","The Star","ザ・スター","2040242000",3,6,"6",TRUE,TRUE,200,113,699,988,1132,113,699,988,1132,TRUE,
|
||||
"4f6b3ccd-c906-43d6-9720-8328317cf6b2","The Sun","ザ・サン","2040244000",3,2,"6",TRUE,TRUE,200,106,664,948,1090,106,664,948,1090,TRUE,
|
||||
"7c53de85-63ca-41eb-853a-0589d7c1f89f","Gugalanna","グガランナ","2040026000",3,1,,FALSE,FALSE,100,113,659,,,113,659,,,FALSE,
|
||||
"7d845c1a-f453-4253-9efe-2c2266b51189","Unrivaled Fighter","古今独歩の大拳豪","2040282000",3,2,,FALSE,FALSE,100,87,551,,,87,551,,,FALSE,
|
||||
"8014ef67-0666-4682-85bd-733fc2914745","Zaoshen","ザオシェン","2040229000",3,2,,TRUE,FALSE,150,122,756,920,,122,756,920,,FALSE,
|
||||
"809514ce-24bf-4fe1-874d-fa91a23bcb70","Poseidon","ポセイドン","2040037000",3,3,,TRUE,FALSE,150,95,565,660,,95,565,660,,FALSE,
|
||||
"8335c845-cedf-4e6e-84da-67a0f6ad144c","Allosaurus","アロザロウス","2040035000",3,4,,FALSE,FALSE,100,115,661,,,115,661,,,FALSE,
|
||||
"836556eb-c149-4555-b91a-8b0876d88874","Mahisha","マヒシャ","2040050000",3,6,,FALSE,FALSE,100,114,660,,,114,660,,,FALSE,
|
||||
"836f4e99-4ad2-42f2-9991-60f52b454fa4","Bonito","カツウォヌス","2040167000",3,3,,TRUE,FALSE,150,120,716,860,,120,716,860,,FALSE,
|
||||
"88919d6e-44ed-47b5-b43e-09c5a9fecd53","Tezcatlipoca","テスカトリポカ","2040173000",3,4,,TRUE,FALSE,150,119,716,860,,119,716,860,,FALSE,
|
||||
"8f519510-01a9-4654-a7b9-649e81d7557d","Adramelech","アドラメレク","2040253000",3,6,,FALSE,FALSE,100,106,715,,,106,715,,,FALSE,
|
||||
"8fa1c5f1-46d7-45fb-a27f-0f67de5035c0","Deepflight Oyster","カキフライ","2040371000",3,3,,FALSE,FALSE,100,91,555,,,91,555,,,FALSE,
|
||||
"9016540f-a0eb-484e-bf3a-53cb4b0e2310","Hamsa","ハンサ","2040296000",3,1,,TRUE,FALSE,150,120,720,870,,120,720,870,,FALSE,
|
||||
"9027167f-61ce-4d1d-926a-1467472be88c","Neptune","ネプチューン","2040069000",3,3,,FALSE,FALSE,100,125,740,,,125,740,,,FALSE,
|
||||
"96f57b38-39ce-4adc-a1dc-1d6573a662b7","Inchoate World","胎動する世界","2040086000",3,5,,FALSE,FALSE,100,85,555,,,85,555,,,FALSE,
|
||||
"97314019-214d-4638-9f86-efd21f5e8ba0","Sapphire Dance: Habotan","蒼紅之舞・竜胆","2040341000",3,6,,FALSE,FALSE,100,91,580,,,91,580,,,FALSE,
|
||||
"997917ee-1231-4293-8532-b6facdcb1ef6","Snow White","スノウホワイト","2040249000",3,3,,FALSE,FALSE,100,124,722,,,124,722,,,FALSE,
|
||||
"9a53575d-589a-4a3a-9e60-f8166abfed8e","Kirari Moroboshi","諸星きらり","2040058000",3,4,,FALSE,FALSE,100,91,615,,,91,615,,,FALSE,
|
||||
"9ccca32d-55d8-41f2-a385-ba44b8be2a7c","Mepple and Mipple","メップル&ミップル","2040299000",3,6,,TRUE,FALSE,150,90,570,690,,90,570,690,,FALSE,
|
||||
"9df792cd-7644-4d13-8509-ce34941564be","Kero-chan","ケロちゃん","2040234000",3,6,,FALSE,FALSE,100,90,575,,,90,575,,,FALSE,
|
||||
"9df7983d-1847-4eff-8662-1e03a2f49fe6","Magus","マギ","2040064000",3,6,,FALSE,FALSE,100,94,580,,,94,580,,,FALSE,
|
||||
"a1e319bc-a3a8-4f5a-8d22-be702106d958","Phoenix","フェニックス","2040008000",3,2,,FALSE,FALSE,100,91,576,,,91,576,,,FALSE,
|
||||
"a30189a9-d621-424b-b8dc-2ec206d440c2","Athena","アテナ","2040021000",3,2,,TRUE,FALSE,150,125,770,930,,125,770,930,,FALSE,
|
||||
"a453137a-d865-4e07-b2b7-96e4faa766a2","Cocytus","コキュートス","2040010000",3,3,,TRUE,FALSE,150,100,606,710,,100,606,710,,FALSE,
|
||||
"a60b07a3-7e0e-49aa-9b53-ba0ceee14395","Custos Citrullus","守畏禍","2040168000",3,4,,FALSE,FALSE,100,90,570,,,90,570,,,FALSE,
|
||||
"a6e0af8b-b082-43d5-bd10-6efc19dab65c","Swinger of the Ebony Scythe","大鎌を操りし漆黒","2040349000",3,5,,FALSE,FALSE,100,71,490,,,71,490,,,FALSE,
|
||||
"a702b4b7-c0f0-4f5a-81df-bd54d6a0df0b","Deirdre","ディアドラ","2040095000",3,1,,FALSE,FALSE,100,92,572,,,92,572,,,FALSE,
|
||||
"a859dd46-a082-445a-9588-b769bee43fa2","Peridot Carbuncle","カーバンクル・ペリドット","2030016000",2,1,,FALSE,FALSE,75,60,380,,,60,380,,,FALSE,
|
||||
"a9168438-6d7e-4f7d-944e-351476e41a0a","Wind God and Thunder God","風神・雷神","2040055000",3,1,,FALSE,FALSE,100,87,550,,,87,550,,,FALSE,
|
||||
"aac5b0ec-c052-4933-9115-7db0e5679794","Garula, Shining Hawk","シャインホーク・ガルラ","2040221000",3,1,,FALSE,FALSE,100,107,693,,,107,693,,,FALSE,
|
||||
"ab12f0b0-452a-4ddc-afb2-450f72c4c648","Bahamut Unchained","拘束破りし黒銀の翼","2040131000",3,5,,FALSE,FALSE,100,101,644,,,101,644,,,FALSE,
|
||||
"abc6f80f-c186-4a49-b9ab-77aecdbdee74","Delinquent Spirit","ツッパリ魂","2040325000",3,1,,FALSE,FALSE,100,92,580,,,92,580,,,FALSE,
|
||||
"ac82e88d-37c7-4d9b-86ef-8d679392ed58","Dark Angel Olivia","Dエンジェル・オリヴィエ","2040005000",3,5,,TRUE,FALSE,150,128,770,930,,128,770,930,,FALSE,
|
||||
"acd38380-ed3a-4258-aec5-325db3af4d67","Sapphire Dance: Gentiana","蒼紅之舞・竜胆","2040248000",3,3,,FALSE,FALSE,100,95,580,,,95,580,,,FALSE,
|
||||
"ade2c352-d1b2-44a9-8c99-efdf6f416599","H.P.A.","K・B・S・N","2040207000",3,5,,FALSE,FALSE,100,83,574,,,83,574,,,FALSE,
|
||||
"aeef129a-8cc4-4848-aa44-daf5ae53969a","The Eternal Defenders","空の安寧を守りし十天衆","2040351000",3,1,,FALSE,FALSE,100,87,610,,,87,610,,,FALSE,
|
||||
"af3aadda-76ca-4391-8915-5fa14762a6ca","Silver Salvation","一臂の力を揮う銀の軍師","2040362000",3,3,,FALSE,FALSE,100,109,660,,,109,660,,,FALSE,
|
||||
"af9ca563-2260-4555-9ea9-793e186bbade","Vane's Cooking","クッキング・ヴェイン","2040300000",3,2,,FALSE,FALSE,100,90,557,,,90,557,,,FALSE,
|
||||
"b391153c-7aed-4dcb-ae2c-07e87a4dc85c","Midgardsormr","ミドガルズオルム","2040018000",3,4,,FALSE,FALSE,100,94,577,,,94,577,,,FALSE,
|
||||
"b5b6c420-f4cf-4e5e-a166-333b7e0edcd6","Gigante Blazer","兄弟砲ギガントブレイザー","2040279000",3,6,,FALSE,FALSE,100,100,580,,,100,580,,,FALSE,
|
||||
"b7b799dd-60aa-4cbd-9c22-4249aa9ca2e4","Lonesome Dragoness","孤独の竜姫","2040228000",3,2,,FALSE,FALSE,100,94,578,,,94,578,,,FALSE,
|
||||
"b8384712-e910-4682-af35-ae0b34a7351b","Diablo","ディアボロス","2040062000",3,5,,TRUE,FALSE,150,80,516,600,,80,516,600,,FALSE,
|
||||
"ba6f883e-a96c-4600-94d2-60fde41df6de","Super Cute Genius Alchemist","美少女錬金術師","2040211000",3,5,,FALSE,FALSE,100,91,578,,,91,578,,,FALSE,
|
||||
"babf0011-097c-4174-a06f-204246f4bbc6","Marduk, Battlefield Reaper","破格の戦鬼 マルドゥーク","2040323000",3,4,,FALSE,FALSE,100,125,723,,,125,723,,,FALSE,
|
||||
"72f7448f-191b-4103-9374-489664b9cb86","Titan","ティターン","2040084000",3,4,"3",TRUE,TRUE,200,140,920,1310,1505,140,920,1310,3163,FALSE,
|
||||
"9cb0884e-2163-42eb-a56b-eb4a3907db58","Hector","ヘクトル","2040144000",3,6,"7",TRUE,FALSE,150,140,824,1000,,140,824,1000,,FALSE,
|
||||
"bb536a73-a091-4182-a5b5-d1fa490a8068","Satyr (Summer)","サテュロス (水着)","2040335000",3,2,,TRUE,FALSE,150,134,810,979,,134,810,979,,FALSE,
|
||||
"bbc3111a-1ab5-45d5-aef7-0305a284eefa","Verona Heart","ヴェローナ・ハート","2040175000",3,3,,FALSE,FALSE,100,95,580,,,95,580,,,FALSE,
|
||||
"be8418e2-2955-4e5d-a57f-01b9933da2fd","Sylph","シルフ","2040048000",3,2,,FALSE,FALSE,100,96,605,,,96,605,,,FALSE,
|
||||
"bf0e493f-f292-4e7a-bd55-87008b51d5fb","Gorgon Sisters","ゴルゴーン三姉妹","2040328000",3,4,,FALSE,FALSE,100,95,560,,,95,560,,,FALSE,
|
||||
"c33f1ba3-dd22-4b09-903c-4ba7355d9271","Lunalu","ルナール","2040286000",3,5,,FALSE,FALSE,100,91,578,,,91,578,,,FALSE,
|
||||
"b9dd714a-6976-4a55-99fd-2e82f88320c1","Charybdis","カリュブディス","2040363000",3,3,,FALSE,FALSE,100,160,900,,,160,900,,,TRUE,
|
||||
"b8a94dc2-c17f-4bdd-a00e-f1771a3ea5af","Dogu","ドグー","2040342000",3,4,,TRUE,FALSE,150,137,815,980,,137,815,980,,TRUE,
|
||||
"766d94e2-6dd3-45e5-8576-630813afcbbe","Raphael","ラファエル","2040202000",3,1,"5",TRUE,FALSE,150,158,930,1316,,251,1750,2500,,TRUE,
|
||||
"ab05e458-f61c-4284-9ccc-efd226ebe6a4","Mammoth","マンモス","2040368000",3,4,,FALSE,FALSE,100,140,818,,,140,818,,,TRUE,
|
||||
"9cc21948-646a-41f2-af3c-645c0b1688be","Temperance","テンペランス","2040239000",3,1,"6",TRUE,TRUE,200,113,699,987,1131,113,699,987,1131,TRUE,
|
||||
"7b905678-d32b-4141-83df-bb7fa1e44ca7","The Hanged Man","ザ・ハングドマン","2040237000",3,4,"6",TRUE,TRUE,200,109,667,951,1093,109,667,951,1093,TRUE,
|
||||
"b203a9bc-9453-4090-91cc-84532b709d58","Zirnitra","ジルニトラ","2040385000",3,5,,FALSE,FALSE,100,128,806,,,128,806,,,TRUE,
|
||||
"c520114e-2cd4-4e50-b099-0bb85273c8df","Odajumoki Gang","オダヅモッキー・ギャングスタ","2040113000",3,3,,FALSE,FALSE,100,90,551,,,90,551,,,FALSE,
|
||||
"c540be47-cc18-4b14-978f-2dbb1146dc51","[Skybound] Kirari","[ラブリーナイト]きらり","2040073000",3,4,,FALSE,FALSE,100,110,700,,,110,700,,,FALSE,
|
||||
"c6946cd3-d2c5-4f5d-a6b6-e4f4457dfe3e","Macula Marius","マキュラ・マリウス","2040002000",3,3,,TRUE,FALSE,150,135,796,960,,135,796,960,,FALSE,
|
||||
"c7224626-7f25-4411-af10-5d7d22642cfd","Narita","ナリタ","2040291000",3,5,,TRUE,FALSE,150,79,512,591,,79,512,591,,FALSE,
|
||||
"c8d48e38-7140-44cd-aeff-2cf10f0973ed","Blue Orbit","ブルーオービット","2040184000",3,1,,FALSE,FALSE,100,93,573,,,93,573,,,FALSE,
|
||||
"ca6531f3-a174-4fd5-ac85-085ddfe45101","Forest Ranger","フォレストレンジャー","2040219000",3,4,,FALSE,FALSE,100,93,575,,,93,575,,,FALSE,
|
||||
"cb85c273-7adb-4319-9df9-ab0cb45ed126","Queen Bee","クイーンビー","2040141000",3,1,,FALSE,FALSE,100,109,680,,,109,680,,,FALSE,
|
||||
"cf424633-4e6c-4fa4-b216-05a1406135ea","Garnet Carbuncle","カーバンクル・ガーネット","2030031000",2,2,,FALSE,FALSE,75,84,514,,,84,514,,,FALSE,
|
||||
"cfd8759e-85c2-4bc8-bb28-3f2095771e4b","Illuyanka","イルルヤンカシュ","2040109000",3,3,,FALSE,FALSE,100,107,650,,,107,650,,,FALSE,
|
||||
"cfe221f6-f1a4-44f0-b2cf-72ed374593ea","Harvest Myconid","オータム・マイコニド","2040097000",3,4,,FALSE,FALSE,100,99,608,,,99,608,,,FALSE,
|
||||
"d327b304-52c0-49a3-ae10-99b810fbf71c","Veselago","ヴェセラゴ","2040091000",3,6,,FALSE,FALSE,100,94,610,,,94,610,,,FALSE,
|
||||
"d3f1ec3f-5bfa-4212-92d8-ba432cf772f1","Huanglong","黄龍","2040157000",3,6,,FALSE,FALSE,100,105,645,,,105,645,,,FALSE,
|
||||
"d4127479-da8e-4186-ae74-1c70b23ec3b7","Dancing Man","ダンシング・マン","2040337000",3,2,,FALSE,FALSE,100,92,625,,,92,625,,,FALSE,
|
||||
"d8f92af9-1932-4701-ba62-62219216d4c9","Lady Katapillar","キャタピラさん","2040129000",3,2,,FALSE,FALSE,100,95,600,,,95,600,,,FALSE,
|
||||
"db571fa2-5538-48d8-889f-e72415632845","Nacht","ナハト","2040212000",3,5,,TRUE,FALSE,150,128,731,880,,128,731,880,,FALSE,
|
||||
"db7a9d98-76a6-4195-b112-c74af207abc6","Crimson Spear, Ebony Scythe","紅き穿光と黒き大鎌","2040259000",3,2,,FALSE,FALSE,100,91,574,,,91,574,,,FALSE,
|
||||
"dc6b5aaa-76ba-4dfa-afe6-d839fd5bfeef","JEHUTY","ジェフティ","2040294000",3,6,,FALSE,FALSE,100,93,570,,,93,570,,,FALSE,
|
||||
"dd1c322e-fba1-4e5d-9632-53e60f77645b","Thor","トール","2040188000",3,6,,TRUE,FALSE,150,117,710,860,,117,710,860,,FALSE,
|
||||
"dd3dbe07-902c-418f-8d96-0e9d7d3ed1ae","Colossal Hermit","灼弩火罹","2040373000",3,6,,FALSE,FALSE,100,90,555,,,90,555,,,FALSE,
|
||||
"e1f500d6-5f09-4d69-b4cd-9b463f8019e9","Quetzalcoatl","ケツァルカトル","2040009000",3,1,,FALSE,FALSE,100,125,755,,,125,755,,,FALSE,
|
||||
"e290cd49-5263-4e81-a667-f0ff01d8f561","Apollo","アポロン","2040023000",3,6,,TRUE,FALSE,150,130,780,940,,130,780,940,,FALSE,
|
||||
"e423beea-ea26-4bb7-9d36-11d27aaa7ab3","Morgana Car","モルガナカー","2040288000",3,5,,TRUE,FALSE,150,85,570,690,,85,570,690,,FALSE,
|
||||
"e46f16b7-6f3e-48e2-b6c3-153b05e82743","Aphrodite","アフロディーテ","2040216000",3,6,,TRUE,FALSE,150,124,724,870,,124,724,870,,FALSE,
|
||||
"e5257f85-dfba-469a-ac5a-72155e4232a5","Fenrir","フェンリル","2040049000",3,3,,TRUE,FALSE,150,95,560,650,,95,560,650,,FALSE,
|
||||
"e5f2686e-919e-48fb-8ef3-235a62146209","Eren","エレン","2040255000",3,2,,FALSE,FALSE,100,88,559,,,88,559,,,FALSE,
|
||||
"e71807ad-5e3a-43c0-8a59-e2866a6c28d2","Ikelos","イケロス","2040142000",3,3,,FALSE,FALSE,100,102,620,,,102,620,,,FALSE,
|
||||
"e816afe4-9e90-44a0-949e-bb72c3d9f0b4","Jack-o'-Lantern","ジャック・オー・ランタン","2040041000",3,5,,FALSE,FALSE,100,99,550,,,99,550,,,FALSE,
|
||||
"e852dbee-d7d0-49e8-a8f7-0336e6ac8644","Vortex Dragon","雷霆公","2040004000",3,6,,TRUE,FALSE,150,126,756,910,,126,756,910,,FALSE,
|
||||
"e921b6fb-0d04-47c1-b8d5-963cea459b66","Satyr","サテュロス","2040053000",3,2,,TRUE,FALSE,150,127,785,950,,127,785,950,,FALSE,
|
||||
"ed6b1cb5-ac92-4138-ae64-5d63adde01e4","Anat, for Love and War","愛と戦いの神 アナト","2040297000",3,1,,FALSE,FALSE,100,120,725,,,120,725,,,FALSE,
|
||||
"ee372f76-44d7-47c2-990a-8f033c314ef8","Baal","バアル","2040013000",3,4,,TRUE,FALSE,150,127,755,910,,127,755,910,,FALSE,
|
||||
"ee5d8dbc-98cc-4b13-b023-87a91ea4791b","Garuda","ガルーダ","2040071000",3,1,,TRUE,FALSE,150,131,775,940,,131,775,940,,FALSE,
|
||||
"f30cabfc-41be-4c5a-9062-07a82c49ea98","Siren","セイレーン","2040017000",3,1,,FALSE,FALSE,100,127,767,,,127,767,,,FALSE,
|
||||
"f4eafdc0-9d19-41c1-9408-f116a84e14de","Flamek Pact","フラメクの契約者","2040309000",3,5,,FALSE,FALSE,100,85,570,,,85,570,,,FALSE,
|
||||
"f505ddee-ef4a-44ef-9cfc-134fb04430d7","Grendel","ベオウルフ","2040022000",3,2,,FALSE,FALSE,100,112,658,,,112,658,,,FALSE,
|
||||
"f5e584b9-103e-422e-a310-ad6ced1b1b40","Medusa","メドゥーサ","2040059000",3,4,,TRUE,FALSE,150,128,780,940,,128,780,940,,FALSE,
|
||||
"f607c22e-382a-4662-88a4-36f95a1c5189","Nobiyo","ノビヨ","2040290000",3,6,,TRUE,FALSE,150,98,622,720,,98,622,720,,FALSE,
|
||||
"fb9d60be-b46e-4286-a8b0-a8ab89320eea","Marduk","マルドゥーク","2040043000",3,4,,TRUE,FALSE,150,93,548,660,,93,548,660,,FALSE,
|
||||
"fc934c58-c949-4844-859b-70069306ed4c","Electric Eal","デンキンナギ","2040292000",3,6,,FALSE,FALSE,100,90,550,,,90,550,,,FALSE,
|
||||
"fcd0602c-1c1d-492e-b7ea-057763a0fa73","Poseidon, the Tide Father","気高き水神 ポセイドン","2040302000",3,3,,FALSE,FALSE,100,123,726,,,123,726,,,FALSE,
|
||||
"fef1c519-2e6e-4794-a18e-b28345782f1d","Fafnir","ファフニール","2040099000",3,2,,FALSE,FALSE,100,91,575,,,91,575,,,FALSE,
|
||||
"efd66483-5dc3-42d6-842d-2a9d81dbc03b","Ranko Kanzaki","神崎蘭子","2040057000",3,5,,TRUE,FALSE,150,100,666,740,,100,666,740,,FALSE,
|
||||
"d27d0d9a-3b38-4dcd-89a5-4016c2906249","Bahamut","バハムート","2040003000",3,5,"0",TRUE,TRUE,200,140,850,1210,1390,140,850,1210,1390,FALSE,
|
||||
"d9d5aeff-fdff-407b-b0c7-6018347c611c","Demi Titan","ティターン・ディヴィジョン","2040271000",3,4,"4",TRUE,FALSE,150,106,650,922,,106,650,922,,FALSE,
|
||||
"f9f6e2bc-79d5-4a14-b01c-3510c4e616b2","Grimnir","グリームニル","2040261000",3,1,"1",FALSE,FALSE,100,134,851,,,134,851,,,FALSE,
|
||||
"caa71847-072e-4437-abb2-19b4f34943c0","Zeus","ゼウス","2040080000",3,6,"3",TRUE,TRUE,200,130,790,1120,1285,130,790,1120,3608,FALSE,
|
||||
"db262281-2388-497e-9a0b-ff35377df61f","Prometheus","プロメテウス","2040125000",3,2,"7",TRUE,FALSE,150,140,822,990,,140,822,990,,FALSE,
|
||||
"d36557be-8246-40d6-833e-ffe13889c267","Anubis","アヌビス","2040134000",3,5,"7",TRUE,FALSE,150,140,820,990,,140,820,990,,FALSE,
|
||||
"2cff1ceb-5126-47b0-831f-2511e9ee5439","Shizuka, Gian, and Suneo","しずか&ジャイアン&スネ夫","2040407000",3,6,,TRUE,,150,90,570,690,,240,1500,1815,,FALSE,
|
||||
"cdc5c083-22b2-4424-9475-6ae85c704cab","Grand Order","ジ・オーダー・グランデ","2040065000",3,6,"9",TRUE,FALSE,150,140,880,1250,,140,880,1250,,TRUE,
|
||||
"d7425942-7a24-4ef5-9e71-85f4d88ad631","Heimdallr","ヘイムダル","2040350000",3,6,,TRUE,FALSE,150,123,767,930,,123,767,930,,TRUE,
|
||||
"feab11a3-0947-4427-adfc-0961285ee70d","Kotaro Katsura and Elizabeth","桂小太郎&エリザベス","2040405000",3,1,,TRUE,,150,95,600,726,,200,1374,1668,,TRUE,
|
||||
"9dbd2236-cc07-4985-b416-0e18c16c39d2","Mandrake (Summer)","マンドラゴラ(水着)","2040403000",3,4,,TRUE,,150,162,905,1090,,220,1620,1970,,TRUE,
|
||||
"d11a4ea2-d4f8-44f7-a8df-5a9b0df16d04","Mukku","ムック","2040345000",3,2,,TRUE,FALSE,150,91,570,690,,91,570,690,,TRUE,
|
||||
"ea1fb0fe-a48a-4129-8d23-a83905d5211d","Owlcat","オウルキャット","2040366000",3,1,,FALSE,FALSE,100,131,809,,,131,809,,,TRUE,
|
||||
"e7a86190-3dbe-4975-a684-e6735039346c","Sandalphon","サンダルフォン","2040195000",3,6,,FALSE,FALSE,100,90,580,,,90,580,,,TRUE,
|
||||
"b5827944-b410-490c-8209-09fe7098959e","Tiamat (Summer)","ティアマト(水着)","2040402000",3,1,,TRUE,,150,140,850,1030,,315,1850,2230,,TRUE,
|
||||
"31c97ec7-de55-410e-ad88-862cb8d87eb6","Destiny Nocturnes","宿命夜想曲・特攻隊","2040400000",3,4,,,,100,88,548,,,255,1582,,,FALSE,
|
||||
"9aac65dd-e5b1-4611-afc5-a07b45f584a3","Xeno Vohu Manah","ゼノ・ウォフマナフ","2040370000",3,4,,TRUE,,150,106,649,921,,255,1617,2298,,FALSE,
|
||||
"d132e526-ab09-4f47-a1f2-c3e89c6617f4","Xeno Cocytus","ゼノ・コキュートス","2040395000",3,3,,TRUE,,150,107,650,922,,250,1612,2293,,FALSE,
|
||||
"bc9b55af-3ed5-4408-a7fb-41d397c61179","Xeno Corow","ゼノ・コロゥ","2040390000",3,6,,TRUE,,150,105,648,920,,260,1622,2303,,FALSE,
|
||||
"8918bee6-7aa0-4f0e-ab4a-3d521fd53541","Xeno Ifrit","ゼノ・イフリート","2040367000",3,2,,TRUE,,150,101,641,911,,280,1657,2346,,FALSE,
|
||||
"b69be8b4-c0ec-47c5-9515-35f8484ba601","Xeno Diablo","ゼノ・ディアボロス","2040399000",3,5,,TRUE,,150,101,644,916,,280,1642,2323,,FALSE,
|
||||
"af3b5f7e-da65-45ed-b5bb-784ac5455f96","Xeno Sagittarius","ゼノ・サジタリウス","2040382000",3,1,,TRUE,,150,104,647,919,,265,1627,2308,,FALSE,
|
||||
"b1304a5b-dbff-40eb-bdb2-3cf5820811da","Arbiter of Lies","偽りを裁く雷光","2040397000",3,6,,,,100,95,607,,,220,1287,,,FALSE,
|
||||
"262b9f1e-1416-4109-9233-1f51b08e2fc6","Snapshot of Divinity","十二神将水浴衣図","2040396000",3,3,,,,100,108,508,,,155,1782,,,FALSE,
|
||||
"085bf627-19d9-401e-9753-7874945d6f26","Demi Agni","アグニス・ディヴィジョン","2040269000",3,2,"4",TRUE,FALSE,150,103,647,919,,103,647,919,,FALSE,
|
||||
"8a7bad34-a41d-418e-849c-460d93f5860a","Demi Zephyrus","ゼピュロス・ディヴィジョン","2040272000",3,1,"4",TRUE,FALSE,150,104,648,920,,104,648,920,,FALSE,
|
||||
"41c09f61-1fba-43a6-9a8b-1ef037dd49e4","Zephyrus","ゼピュロス","2040098000",3,1,"3",TRUE,TRUE,200,128,774,1097,1259,128,774,1097,3653,FALSE,
|
||||
"fbeaa551-7ea1-48f3-982f-f4569d14fb45","Agni","アグニス","2040094000",3,2,"3",TRUE,TRUE,200,127,770,1092,1253,127,770,1092,3685,FALSE,
|
||||
"ecf4f1a4-6170-4237-8c0f-f9cd5a98057c","Automagod Triumvirate","月に降り立ちし三機神","2040394000",3,5,,,,100,88,613,,,255,1255,,,FALSE,
|
||||
"eb52b0ed-7ab0-436b-8598-2bef149214a4","Idle Sparkle","ぼんやりピカピカの魔法","2040393000",3,4,,,,100,96,583,,,215,1407,,,FALSE,
|
||||
"89969db1-a224-4353-804f-321bce9b3477","Ignis Dragon","イグニスドラゴン","2040383000",3,2,,TRUE,,150,91,574,695,,252,1524,1842,,FALSE,
|
||||
"9c294f6a-fad9-415f-aae9-7d3a64ccfd78","Frost Lord's Army","竜騰虎闘の氷皇軍","2040384000",3,3,,,,100,90,573,,,245,1457,,,FALSE,
|
||||
"64e08e00-6ed9-46be-8e8c-41e44de6deb1","Cutest Golden Statue in the Skies","世界で一番カワイイ黄金像","2040386000",3,4,,,,100,99,627,,,200,1337,,,FALSE,
|
||||
"2f1d280c-21bf-4d8b-9a99-bc53cea2e96f","Sariel (Holiday)","サリエル(クリスマスver)","2040388000",3,5,,TRUE,,150,127,805,975,,382,2077,2501,,FALSE,
|
||||
"5f91d99a-2277-4224-a1b7-af07326d3cab","Guardian Ku-Keoloewa","護りし者 クー・ケオロエワ","2040387000",3,1,,,,100,93,576,,,230,1442,,,FALSE,
|
||||
"82313035-51a0-46b2-9805-fe9532f7608a","Giyu Tomioka","冨岡義勇","2040389000",3,3,,TRUE,,150,98,615,744,,210,1300,1573,,FALSE,
|
||||
"801ad1b4-bb0f-49f1-b793-93cbe8779466","Ultra Robo Grand God Kaiser","極鋼巨帝グランゴッドカイザー","2040391000",3,6,,,,100,89,565,,,250,1497,,,FALSE,
|
||||
"0d41e260-ee52-410e-bd84-0273332f95bd","Yggdrasil Omega","ユグドラシル・マグナ","2040027000",3,4,"2",TRUE,TRUE,200,106,651,781,924,106,651,781,924,FALSE,
|
||||
"6a153799-111f-4ffb-8eed-7d101e2a62f9","Luminiera Omega","シュヴァリエ・マグナ","2040047000",3,6,"2",TRUE,TRUE,200,105,650,780,923,105,650,780,923,FALSE,
|
||||
"70de98fe-9e06-4179-880b-8af48cf1e4e4","Leviathan Omega","リヴァイアサン・マグナ","2040028000",3,3,"2",TRUE,TRUE,200,107,652,782,925,107,652,782,925,FALSE,
|
||||
"a357ab34-8672-4590-91a7-15f0d5ade0ce","Celeste Omega","セレスト・マグナ","2040046000",3,5,"2",TRUE,TRUE,200,101,646,776,919,101,646,776,919,FALSE,
|
||||
"74c2448f-e861-49aa-9e8c-a7cd66bfa703","Gold Ship and Mejiro McQueen","ゴールドシップ&メジロマックイーン","2040404000",3,4,,TRUE,,150,90,537,649,,245,1637,1985,,FALSE,
|
||||
"5c007586-588b-4eea-9bc5-d099f94af737","Wilnas","ウィルナス","2040398000",3,2,"12",,,100,127,771,,,399,2349,,,TRUE,
|
||||
"d169eaba-5493-45d4-a2f8-966850d784c9","Lu Woh","ル・オー","2040409000",3,6,"12",,,100,155,880,,,255,1800,,,TRUE,
|
||||
"993765cb-2e8c-4583-9d68-db00388e7c8c","Galleon","ガレヲン","2040401000",3,4,"12",,,100,142,831,,,324,2049,,,TRUE,
|
||||
"569ab977-eb12-4715-8c82-cbc76299b5b6","Ewiyar","イーウィヤ","2040406000",3,1,"12",,,100,134,812,,,365,2145,,,TRUE,
|
||||
"8c94f1e0-821a-45b3-901b-9b7cd3525568","Shantotto II","シャントットII","2040410000",3,5,,TRUE,,150,88,556,673,,255,1562,1889,,FALSE,
|
||||
"ad9abfc0-d919-4f75-aa15-0993d20d85ba","Beelzebub","ベルゼバブ","2040408000",3,5,"0",TRUE,,150,122,761,1081,,407,2317,3272,,TRUE,1
|
||||
"3b254193-29c9-4abe-a6a4-bf9e3e986b74","Nyarlathotep","ナイアルラトホテップ","2040352000",3,5,,TRUE,FALSE,150,121,814,990,,121,814,990,,TRUE,
|
||||
"3660b6a2-f481-4a5a-beea-38f77a62ed2d","The Devil","ザ・デビル","2040240000",3,2,"6",TRUE,TRUE,200,112,698,986,1130,112,698,986,1130,TRUE,
|
||||
"c568242a-abdd-48e9-a488-ca9487b23106","Tsuchinoko","ツチノコ","2040392000",3,4,"11",TRUE,,150,153,875,1236,,310,2080,2965,,TRUE,
|
||||
"ef8cf511-a5d1-4f35-a8a8-f0f2a7c98ac8","Hekate","ヘカテー","2040416000",3,2,,TRUE,FALSE,150,134,812,982,,347,2042,2466,,TRUE,
|
||||
"8f9e4bed-9b3b-4f03-899f-b6c8fed78d47","Uta","ウタ","2040415000",3,6,,TRUE,FALSE,150,93,576,697,,230,1442,1745,,FALSE,
|
||||
"ab6f99a6-7490-495e-8e7d-5faba960ee71","Belial (Summer)","ベリアル(水着バージョン)","2040411000",3,2,,TRUE,FALSE,150,121,732,1038,,412,2442,3457,,TRUE,
|
||||
"64a2d67d-12df-4adc-95a7-8eb1b8cc5226","Usopp, Chopper, Franky, Brook, and Jimbei","ウソップ&チョッパー&フランキー&ブルック&ジンベエ","2040414000",3,3,,TRUE,FALSE,150,88,578,701,,255,1432,1726,,FALSE,
|
||||
"010d23b1-1150-4101-9863-17f97d6a9c39","Wamdus","ワムデュス","2040413000",3,3,"12",FALSE,FALSE,100,160,900,,,234,1704,,,TRUE,
|
||||
"289d1aef-c760-497f-b62b-1b14ba4b2bcf","Sleepyhead (Summer)","スリーピィ(水着バージョン)","2040412000",3,5,,TRUE,FALSE,150,139,851,1029,,325,1850,2231,,TRUE,
|
||||
"a77ab00b-0610-4311-a7a5-f6d03ced7b77","Grueler","ゲルラ","2040178000",3,2,,FALSE,FALSE,100,90,570,,,90,570,,,FALSE,
|
||||
"1fb0ce8a-b04b-4d48-b888-485c80f935bf","Artemis","アルテミス","2040381000",3,6,,FALSE,FALSE,100,136,814,,,136,814,,,TRUE,
|
||||
"3bedbba8-75b1-43ef-be40-5ef26d32c17b","Belial","ベリアル","2040347000",3,5,"0",TRUE,FALSE,150,120,800,1140,,120,800,1140,,TRUE,
|
||||
"fbde7c76-be0c-4a42-8479-046ed9715db9","Death","デス","2040238000",3,5,"6",TRUE,TRUE,200,109,695,984,1128,109,695,984,1128,TRUE,
|
||||
"06146f1c-7a1c-48b6-af8a-5d25ce5fdd8e","The Tower","ザ・タワー","2040241000",3,4,"6",TRUE,TRUE,200,115,700,989,1133,115,700,989,1133,TRUE,
|
||||
"06d3f4e6-edd0-42ee-8df7-813dd792c639","Metatron","メタトロン","2040330000",3,6,"5",TRUE,FALSE,150,138,816,1155,,327,2022,2870,,TRUE,
|
||||
"597d6c56-73e3-424f-9971-8a237700fe08","Michael","ミカエル","2040306000",3,2,"5",TRUE,FALSE,150,129,832,1184,,359,2240,3181,,TRUE,
|
||||
"847d02f5-2b63-478b-b450-ae0d3c0091cf","Halluel and Malluel","ハールート・マールート","2040275000",3,6,"5",TRUE,FALSE,150,135,808,1145,,350,2075,2938,,TRUE,
|
||||
"42899ba7-dbf4-433f-8dd4-805010a1a627","Yatima","ヤチマ","2040417000",3,3,"0",TRUE,,150,138,1155,,,327,2870,,,TRUE,
|
||||
|
|
|
|||
|
42
lib/seeds/weapon_keys.csv
Normal file
42
lib/seeds/weapon_keys.csv
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
"id","name_en","name_jp","series","slot","group","order","slug"
|
||||
"02b40c48-b0d4-4df6-a27f-da2bc58fdd0f","Pendulum of Strife","闘争のペンデュラム",2,1,0,2,"pendulum-strife"
|
||||
"5936e870-61a1-40a4-8c52-b85b9ab96967","Pendulum of Prosperity","隆盛のペンデュラム",2,1,0,3,"pendulum-prosperity"
|
||||
"653477b7-5321-4ea4-8b6f-42218e67a090","Pendulum of Zeal","激情のペンデュラム",2,1,0,1,"pendulum-zeal"
|
||||
"f5d711d8-f2f8-4909-9a64-ce6dc3584e03","γ Pendulum","ガンマ・ペンデュラム",2,0,0,2,"pendulum-gamma"
|
||||
"562c89bd-68cf-4a33-8609-d82e017130d6","Chain of Restoration","賦活のチェイン",2,1,1,1,"chain-restoration"
|
||||
"6ded911e-81d6-4fae-a3e7-682a5d18f2fc","Chain of Glorification","謳歌のチェイン",2,1,1,2,"chain-glorification"
|
||||
"d5b81056-fd58-45b6-b6ef-a43b45a15194","Chain of Temptation","誘惑のチェイン",2,1,1,3,"chain-temptation"
|
||||
"ebe424a0-7370-4b07-bd37-7eeee9b8425c","Chain of Falsehood","虚詐のチェイン",2,1,1,6,"chain-falsehood"
|
||||
"f81ec8e8-acc8-4ad3-8460-b628e90cd29d","Chain of Forbiddance","禁忌のチェイン",2,1,1,4,"chain-forbiddance"
|
||||
"1929bfa8-6bbd-4918-9ad7-594525b5e2c6","Crag Teluma","巨岩のテルマ",3,0,2,3,"teluma-crag"
|
||||
"81950efb-a4e1-4d45-8572-ddb604246212","Malice Teluma","闇禍のテルマ",3,0,2,6,"teluma-malice"
|
||||
"dc96edb7-8bee-4721-94c2-daa6508aaed8","Inferno Teluma","炎獄のテルマ",3,0,2,1,"teluma-inferno"
|
||||
"e36950be-1ea9-4642-af94-164187e38e6c","Aureole Teluma","後光のテルマ",3,0,2,5,"teluma-aureole"
|
||||
"2ebe966e-0339-4464-acb9-0db138c3e2e7","Gauph Key of Will","ガフスキー【戦意】",17,0,3,0,"gauph-will"
|
||||
"3d5d610a-3734-444d-8818-fce2024a190b","Gauph Key Tria","ガフスキー【トリア】",17,2,3,2,"gauph-tria"
|
||||
"606632e3-3391-4223-8147-07060fe6f2e4","Gauph Key of Courage","ガフスキー【勇気】",17,0,3,5,"gauph-courage"
|
||||
"6d03b9c2-08d8-49ea-8522-5507e9243ccc","Gauph Key α","ガフスキー【α】",17,1,3,0,"gauph-alpha"
|
||||
"abd48244-8398-4159-ada6-9062803189f1","Gauph Key of Strength","ガフスキー【強壮】",17,0,3,3,"gauph-strength"
|
||||
"cdd87f62-2d29-4698-b09d-8eef3f7b4406","Gauph Key Ena","ガフスキー【エナ】",17,2,3,0,"gauph-ena"
|
||||
"d0dd2b46-cb55-4c2f-beb6-e2ee380bdb5e","Gauph Key Dio","ガフスキー【ディオ】",17,2,3,1,"gauph-dio"
|
||||
"3faafaf1-5fc5-4aa8-8c65-894bbe1c615f","α Pendulum","アルファ・ペンデュラム",2,0,0,0,"pendulum-alpha"
|
||||
"b3d8d4d8-8bf6-4e03-9f21-547653bf7574","Pendulum of Strength","強壮のペンデュラム",2,1,0,0,"pendulum-strength"
|
||||
"e719de37-500e-44cd-98a4-2d9af71e0809","Δ Pendulum","デルタ・ペンデュラム",2,0,0,4,"pendulum-delta"
|
||||
"ed19dcef-8579-4125-8607-5a43922d0999","β Pendulum","ベータ・ペンデュラム",2,0,0,1,"pendulum-beta"
|
||||
"5ac2ad0a-f8da-403a-b098-7831d354f8e0","Emblem of Divinity","天聖のエンブレム",24,0,4,1,"emblem-divinity"
|
||||
"c2f1e5bc-9f8b-4af1-821c-2b32a9fb5f1f","Emblem of Humanity","英勇のエンブレム",24,0,4,0,"emblem-humanity"
|
||||
"14534be3-defa-44cd-9096-09bae07565c8","Chain of Temperament","技錬のチェイン",2,1,1,0,"chain-temperament"
|
||||
"1e2a1e5b-75f4-4e00-85d5-e5ef474dd6d7","Chain of Depravity","邪罪のチェイン",2,1,1,5,"chain-depravity"
|
||||
"0c6ce91c-864c-4c62-8c9b-be61e8fae47f","Optimus Teluma","オプティマス・テルマ",3,1,2,0,"teluma-optimus"
|
||||
"3fa65774-1ed1-4a16-86cd-9133adca2232","Omega Teluma","マグナ・テルマ",3,1,2,1,"teluma-omega"
|
||||
"49f46e22-1796-435e-bce2-d9fdfe76d6c5","Tempest Teluma","暴風のテルマ",3,0,2,4,"teluma-tempest"
|
||||
"d14e933e-630d-4cd6-9d61-dbdfd6e9332e","Abyss Teluma","深海のテルマ",3,0,2,2,"teluma-abyss"
|
||||
"ee80ff09-71c0-48bb-90ff-45e138df7481","Endurance Teluma","剛堅のテルマ",3,0,2,0,"teluma-endurance"
|
||||
"0b696acb-baf4-4ad8-9caa-4255b338b13b","Gauph Key of Vitality","ガフスキー【生命】",17,0,3,2,"gauph-vitality"
|
||||
"148e3323-395f-417c-b18a-96fd9421cfe6","Gauph Key of Strife","ガフスキー【闘争】",17,0,3,1,"gauph-strife"
|
||||
"3ca1a71c-66bf-464a-8ad2-254c52169e8e","Gauph Key γ","ガフスキー【γ】",17,1,3,2,"gauph-gamma"
|
||||
"4d6fefb6-09e6-4c92-98b0-a48b35ddd738","Gauph Key β","ガフスキー【β】",17,1,3,1,"gauph-beta"
|
||||
"98a358bc-d123-40c9-8c0e-7953467c9a27","Gauph Key Δ","ガフスキー【Δ】",17,1,3,3,"gauph-delta"
|
||||
"a1613dcd-dcc1-4290-95e7-3f9dfc28dd06","Gauph Key Tessera","ガフスキー【テーセラ】",17,2,3,3,"gauph-tessera"
|
||||
"d6c0afdb-f6f3-4473-ada3-d505228ee348","Gauph Key of Zeal","ガフスキー【激情】",17,0,3,4,"gauph-zeal"
|
||||
"44c2b0ba-642e-4edc-9680-1a34abe20418","Emblem of Devilry","魔獄のエンブレム",24,0,4,2,"emblem-devilry"
|
||||
|
File diff suppressed because it is too large
Load diff
42
lib/tasks/export_accessories.rake
Normal file
42
lib/tasks/export_accessories.rake
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
namespace :granblue do
|
||||
namespace :export do
|
||||
def build_url(id, type, size)
|
||||
# Set up URL
|
||||
base_url = 'https://prd-game-a-granbluefantasy.akamaized.net/assets_en/img/sp/assets'
|
||||
extension = '.jpg'
|
||||
|
||||
directory = 'm' if size.to_s == 'grid'
|
||||
directory = 's' if size.to_s == 'square'
|
||||
|
||||
"#{base_url}/#{type}/#{directory}/#{id}#{extension}"
|
||||
end
|
||||
|
||||
desc 'Exports a list of accessories for a given size'
|
||||
task :accessory, [:size] => :environment do |_t, args|
|
||||
# Set up options
|
||||
size = args[:size]
|
||||
|
||||
Dir.glob("#{Rails.root}/app/models/job_accessory.rb").each { |file| require file }
|
||||
|
||||
# Set up filepath
|
||||
dir = "#{Rails.root}/export/"
|
||||
filename = "#{dir}/accessory-#{size}.txt"
|
||||
FileUtils.mkdir(dir) unless Dir.exist?(dir)
|
||||
|
||||
# Write to file
|
||||
File.open(filename, 'w') do |f|
|
||||
JobAccessory.all.each do |w|
|
||||
if w.accessory_type === 1
|
||||
f.write("#{build_url(w.granblue_id.to_s, "shield", size)} \n")
|
||||
elsif w.accessory_type === 2
|
||||
f.write("#{build_url(w.granblue_id.to_s, "familiar", size)} \n")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# CLI output
|
||||
count = `wc -l #{filename}`.split.first.to_i
|
||||
puts "Wrote #{count} job accessory URLs for \"#{size}\" size"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -32,7 +32,18 @@ namespace :granblue do
|
|||
Rake::Task['granblue:export:summon'].invoke('square')
|
||||
Rake::Task['granblue:export:summon'].reenable
|
||||
|
||||
puts 'Exported 9 files'
|
||||
# Run job tasks
|
||||
Rake::Task['granblue:export:job'].invoke
|
||||
Rake::Task['granblue:export:job'].reenable
|
||||
|
||||
# Run job accessory tasks
|
||||
Rake::Task['granblue:export:accessory'].invoke('grid')
|
||||
Rake::Task['granblue:export:accessory'].reenable
|
||||
|
||||
Rake::Task['granblue:export:accessory'].invoke('square')
|
||||
Rake::Task['granblue:export:accessory'].reenable
|
||||
|
||||
puts 'Exported 12 files'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
33
lib/tasks/export_job.rake
Normal file
33
lib/tasks/export_job.rake
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
namespace :granblue do
|
||||
namespace :export do
|
||||
def build_job_icon_url(id)
|
||||
# Set up URL
|
||||
base_url = 'https://prd-game-a-granbluefantasy.akamaized.net/assets_en/img/sp/ui/icon/job'
|
||||
extension = '.png'
|
||||
|
||||
"#{base_url}/#{id}#{extension}"
|
||||
end
|
||||
|
||||
desc 'Exports a list of weapon URLs for a given size'
|
||||
task :job do |_t, _args|
|
||||
# Include weapon model
|
||||
Dir.glob("#{Rails.root}/app/models/job.rb").each { |file| require file }
|
||||
|
||||
# Set up filepath
|
||||
dir = "#{Rails.root}/export/"
|
||||
filename = "#{dir}/job-icon.txt"
|
||||
FileUtils.mkdir(dir) unless Dir.exist?(dir)
|
||||
|
||||
# Write to file
|
||||
File.open(filename, 'w') do |f|
|
||||
Job.all.each do |w|
|
||||
f.write("#{build_job_icon_url(w.granblue_id.to_s)} \n")
|
||||
end
|
||||
end
|
||||
|
||||
# CLI output
|
||||
count = `wc -l #{filename}`.split.first.to_i
|
||||
puts "Wrote #{count} job URLs for icon size"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -36,6 +36,11 @@ namespace :granblue do
|
|||
f.write("#{build_summon_url("#{s.granblue_id}_02",
|
||||
size)} \n")
|
||||
end
|
||||
|
||||
if s.xlb
|
||||
f.write("#{build_summon_url("#{s.granblue_id}_03",
|
||||
size)} \n")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue