feat(db): add embedded auto-migrating schema system

Replace 4 independent schema management code paths (Docker shell
script, setup wizard pg_restore, test helpers, manual psql) with a
single migration runner embedded in the server binary.

The new server/migrations/ package uses Go embed to bundle all SQL
schemas. On startup, Migrate() creates a schema_version tracking
table, detects existing databases (auto-marks baseline as applied),
and runs pending migrations in transactions.

Key changes:
- Consolidated init.sql + 9.2-update + 33 patches into 0001_init.sql
- Setup wizard simplified to single "Apply schema" checkbox
- Test helpers use migrations.Migrate() instead of pg_restore
- Docker no longer needs schema volume mounts or init script
- Seed data (shops, events, gacha) embedded and applied via API
- Future migrations just add 0002_*.sql files — no manual steps
This commit is contained in:
Houmgaor
2026-02-23 21:19:21 +01:00
parent 6a7db47723
commit 27fb0faa1e
62 changed files with 4736 additions and 932 deletions

View File

@@ -0,0 +1,229 @@
package migrations
import (
"embed"
"fmt"
"io/fs"
"sort"
"strconv"
"strings"
"github.com/jmoiron/sqlx"
"go.uber.org/zap"
)
//go:embed sql/*.sql
var migrationFS embed.FS
//go:embed seed/*.sql
var seedFS embed.FS
// Migrate creates the schema_version table if needed, detects existing databases
// (auto-marks baseline as applied), then runs all pending migrations in order.
// Each migration runs in its own transaction.
func Migrate(db *sqlx.DB, logger *zap.Logger) (int, error) {
if err := ensureVersionTable(db); err != nil {
return 0, fmt.Errorf("creating schema_version table: %w", err)
}
if err := detectExistingDB(db, logger); err != nil {
return 0, fmt.Errorf("detecting existing database: %w", err)
}
migrations, err := readMigrations()
if err != nil {
return 0, fmt.Errorf("reading migration files: %w", err)
}
applied, err := appliedVersions(db)
if err != nil {
return 0, fmt.Errorf("querying applied versions: %w", err)
}
count := 0
for _, m := range migrations {
if applied[m.version] {
continue
}
logger.Info(fmt.Sprintf("Applying migration %04d: %s", m.version, m.filename))
if err := applyMigration(db, m); err != nil {
return count, fmt.Errorf("applying %s: %w", m.filename, err)
}
count++
}
return count, nil
}
// ApplySeedData runs all seed/*.sql files. Not tracked in schema_version.
// Safe to run multiple times if seed files use ON CONFLICT DO NOTHING.
func ApplySeedData(db *sqlx.DB, logger *zap.Logger) (int, error) {
files, err := fs.ReadDir(seedFS, "seed")
if err != nil {
return 0, fmt.Errorf("reading seed directory: %w", err)
}
var names []string
for _, f := range files {
if !f.IsDir() && strings.HasSuffix(f.Name(), ".sql") {
names = append(names, f.Name())
}
}
sort.Strings(names)
count := 0
for _, name := range names {
data, err := seedFS.ReadFile("seed/" + name)
if err != nil {
return count, fmt.Errorf("reading seed file %s: %w", name, err)
}
logger.Info(fmt.Sprintf("Applying seed data: %s", name))
if _, err := db.Exec(string(data)); err != nil {
return count, fmt.Errorf("executing seed file %s: %w", name, err)
}
count++
}
return count, nil
}
// Version returns the highest applied migration number, or 0 if none.
func Version(db *sqlx.DB) (int, error) {
var exists bool
err := db.QueryRow(`SELECT EXISTS(
SELECT 1 FROM information_schema.tables
WHERE table_schema = 'public' AND table_name = 'schema_version'
)`).Scan(&exists)
if err != nil {
return 0, err
}
if !exists {
return 0, nil
}
var version int
err = db.QueryRow("SELECT COALESCE(MAX(version), 0) FROM schema_version").Scan(&version)
return version, err
}
type migration struct {
version int
filename string
sql string
}
func ensureVersionTable(db *sqlx.DB) error {
_, err := db.Exec(`CREATE TABLE IF NOT EXISTS schema_version (
version INTEGER PRIMARY KEY,
filename TEXT NOT NULL,
applied_at TIMESTAMPTZ DEFAULT now()
)`)
return err
}
// detectExistingDB checks if the database has tables but no schema_version rows.
// If so, it marks the baseline migration (version 1) as already applied.
func detectExistingDB(db *sqlx.DB, logger *zap.Logger) error {
var count int
if err := db.QueryRow("SELECT COUNT(*) FROM schema_version").Scan(&count); err != nil {
return err
}
if count > 0 {
return nil // Already tracked
}
// Check if the database has any user tables (beyond schema_version itself)
var tableCount int
err := db.QueryRow(`SELECT COUNT(*) FROM information_schema.tables
WHERE table_schema = 'public' AND table_name != 'schema_version'`).Scan(&tableCount)
if err != nil {
return err
}
if tableCount == 0 {
return nil // Fresh database
}
// Existing database without migration tracking — mark baseline as applied
logger.Info("Detected existing database without schema_version tracking, marking baseline as applied")
_, err = db.Exec("INSERT INTO schema_version (version, filename) VALUES (1, '0001_init.sql')")
return err
}
func readMigrations() ([]migration, error) {
files, err := fs.ReadDir(migrationFS, "sql")
if err != nil {
return nil, err
}
var migrations []migration
for _, f := range files {
if f.IsDir() || !strings.HasSuffix(f.Name(), ".sql") {
continue
}
version, err := parseVersion(f.Name())
if err != nil {
return nil, fmt.Errorf("parsing version from %s: %w", f.Name(), err)
}
data, err := migrationFS.ReadFile("sql/" + f.Name())
if err != nil {
return nil, err
}
migrations = append(migrations, migration{
version: version,
filename: f.Name(),
sql: string(data),
})
}
sort.Slice(migrations, func(i, j int) bool {
return migrations[i].version < migrations[j].version
})
return migrations, nil
}
func parseVersion(filename string) (int, error) {
parts := strings.SplitN(filename, "_", 2)
if len(parts) < 2 {
return 0, fmt.Errorf("invalid migration filename: %s (expected NNNN_description.sql)", filename)
}
return strconv.Atoi(parts[0])
}
func appliedVersions(db *sqlx.DB) (map[int]bool, error) {
rows, err := db.Query("SELECT version FROM schema_version")
if err != nil {
return nil, err
}
defer func() { _ = rows.Close() }()
applied := make(map[int]bool)
for rows.Next() {
var v int
if err := rows.Scan(&v); err != nil {
return nil, err
}
applied[v] = true
}
return applied, rows.Err()
}
func applyMigration(db *sqlx.DB, m migration) error {
tx, err := db.Begin()
if err != nil {
return err
}
if _, err := tx.Exec(m.sql); err != nil {
_ = tx.Rollback()
return err
}
if _, err := tx.Exec(
"INSERT INTO schema_version (version, filename) VALUES ($1, $2)",
m.version, m.filename,
); err != nil {
_ = tx.Rollback()
return err
}
return tx.Commit()
}

View File

@@ -0,0 +1,202 @@
package migrations
import (
"fmt"
"os"
"testing"
"github.com/jmoiron/sqlx"
_ "github.com/lib/pq"
"go.uber.org/zap"
)
func testDB(t *testing.T) *sqlx.DB {
t.Helper()
host := getEnv("TEST_DB_HOST", "localhost")
port := getEnv("TEST_DB_PORT", "5433")
user := getEnv("TEST_DB_USER", "test")
password := getEnv("TEST_DB_PASSWORD", "test")
dbName := getEnv("TEST_DB_NAME", "erupe_test")
connStr := fmt.Sprintf(
"host=%s port=%s user=%s password=%s dbname=%s sslmode=disable",
host, port, user, password, dbName,
)
db, err := sqlx.Open("postgres", connStr)
if err != nil {
t.Skipf("Test database not available: %v", err)
return nil
}
if err := db.Ping(); err != nil {
_ = db.Close()
t.Skipf("Test database not available: %v", err)
return nil
}
// Clean slate
_, err = db.Exec("DROP SCHEMA public CASCADE; CREATE SCHEMA public;")
if err != nil {
t.Fatalf("Failed to clean database: %v", err)
}
return db
}
func getEnv(key, defaultValue string) string {
if value := os.Getenv(key); value != "" {
return value
}
return defaultValue
}
func TestMigrateEmptyDB(t *testing.T) {
db := testDB(t)
defer func() { _ = db.Close() }()
logger, _ := zap.NewDevelopment()
applied, err := Migrate(db, logger)
if err != nil {
t.Fatalf("Migrate failed: %v", err)
}
if applied != 1 {
t.Errorf("expected 1 migration applied, got %d", applied)
}
ver, err := Version(db)
if err != nil {
t.Fatalf("Version failed: %v", err)
}
if ver != 1 {
t.Errorf("expected version 1, got %d", ver)
}
}
func TestMigrateAlreadyMigrated(t *testing.T) {
db := testDB(t)
defer func() { _ = db.Close() }()
logger, _ := zap.NewDevelopment()
// First run
_, err := Migrate(db, logger)
if err != nil {
t.Fatalf("First Migrate failed: %v", err)
}
// Second run should apply 0
applied, err := Migrate(db, logger)
if err != nil {
t.Fatalf("Second Migrate failed: %v", err)
}
if applied != 0 {
t.Errorf("expected 0 migrations on second run, got %d", applied)
}
}
func TestMigrateExistingDBWithoutSchemaVersion(t *testing.T) {
db := testDB(t)
defer func() { _ = db.Close() }()
logger, _ := zap.NewDevelopment()
// Simulate an existing database: create a dummy table
_, err := db.Exec("CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT)")
if err != nil {
t.Fatalf("Failed to create dummy table: %v", err)
}
// Migrate should detect existing DB and auto-mark baseline
applied, err := Migrate(db, logger)
if err != nil {
t.Fatalf("Migrate failed: %v", err)
}
// Baseline (0001) is auto-marked, so 0 "new" migrations applied
if applied != 0 {
t.Errorf("expected 0 migrations applied (baseline auto-marked), got %d", applied)
}
ver, err := Version(db)
if err != nil {
t.Fatalf("Version failed: %v", err)
}
if ver != 1 {
t.Errorf("expected version 1 (auto-marked baseline), got %d", ver)
}
}
func TestVersionEmptyDB(t *testing.T) {
db := testDB(t)
defer func() { _ = db.Close() }()
ver, err := Version(db)
if err != nil {
t.Fatalf("Version failed: %v", err)
}
if ver != 0 {
t.Errorf("expected version 0 on empty DB, got %d", ver)
}
}
func TestApplySeedData(t *testing.T) {
db := testDB(t)
defer func() { _ = db.Close() }()
logger, _ := zap.NewDevelopment()
// Apply schema first
_, err := Migrate(db, logger)
if err != nil {
t.Fatalf("Migrate failed: %v", err)
}
count, err := ApplySeedData(db, logger)
if err != nil {
t.Fatalf("ApplySeedData failed: %v", err)
}
if count == 0 {
t.Error("expected at least 1 seed file applied, got 0")
}
}
func TestParseVersion(t *testing.T) {
tests := []struct {
filename string
want int
wantErr bool
}{
{"0001_init.sql", 1, false},
{"0002_add_users.sql", 2, false},
{"0100_big_change.sql", 100, false},
{"bad.sql", 0, true},
}
for _, tt := range tests {
got, err := parseVersion(tt.filename)
if (err != nil) != tt.wantErr {
t.Errorf("parseVersion(%q) error = %v, wantErr %v", tt.filename, err, tt.wantErr)
continue
}
if got != tt.want {
t.Errorf("parseVersion(%q) = %d, want %d", tt.filename, got, tt.want)
}
}
}
func TestReadMigrations(t *testing.T) {
migrations, err := readMigrations()
if err != nil {
t.Fatalf("readMigrations failed: %v", err)
}
if len(migrations) == 0 {
t.Fatal("expected at least 1 migration, got 0")
}
if migrations[0].version != 1 {
t.Errorf("first migration version = %d, want 1", migrations[0].version)
}
if migrations[0].filename != "0001_init.sql" {
t.Errorf("first migration filename = %q, want 0001_init.sql", migrations[0].filename)
}
}

View File

@@ -0,0 +1,11 @@
BEGIN;
-- Adds a Distribution that can be accepted up to 20 times that gives one of Item Type 30 (Item Box extra page)
INSERT INTO distribution (type, event_name, description, times_acceptable, data) VALUES (1, 'Extra Item Storage', '~C05Adds one new page to your Item Box.', 20, ''::bytea);
INSERT INTO distribution_items (distribution_id, item_type, quantity) VALUES ((SELECT id FROM distribution ORDER BY id DESC LIMIT 1), 30, 1);
-- Adds a Distribution that can be accepted up to 20 times that gives one of Item Type 31 (Equipment Box extra page)
INSERT INTO distribution (type, event_name, description, times_acceptable, data) VALUES (1, 'Extra Equipment Storage', '~C05Adds one new page to your Equipment Box.', 20, ''::bytea);
INSERT INTO distribution_items (distribution_id, item_type, quantity) VALUES ((SELECT id FROM distribution ORDER BY id DESC LIMIT 1), 31, 1);
END;

View File

@@ -0,0 +1,45 @@
BEGIN;
INSERT INTO public.shop_items
(shop_type, shop_id, item_id, cost, quantity, min_hr, min_sr, min_gr, store_level, max_quantity, road_floors, road_fatalis)
VALUES
(8,5,1,30,10,0,0,0,0,10,0,0),
(8,5,2,60,10,0,0,0,0,10,0,0),
(8,5,3,60,10,0,0,0,0,10,0,0),
(8,5,4,30,10,0,0,0,0,10,0,0),
(8,5,5,60,10,0,0,0,0,10,0,0),
(8,5,6,80,10,0,0,0,1,10,0,0),
(8,5,7,80,10,0,0,0,1,10,0,0),
(8,5,8,80,10,0,0,0,1,10,0,0),
(8,5,9,100,10,0,0,0,2,10,0,0),
(8,5,10,100,10,0,0,0,2,10,0,0),
(8,5,11,100,10,0,0,0,2,10,0,0),
(8,5,12,100,10,0,0,0,2,10,0,0),
(8,5,13,100,10,0,0,0,2,10,0,0),
(8,5,14,200,10,0,0,0,2,10,0,0),
(8,5,15,500,10,0,0,0,3,10,0,0),
(8,5,16,1000,10,0,0,0,3,10,0,0),
(8,5,20,30,10,0,0,0,0,10,0,0),
(8,5,21,30,10,0,0,0,0,10,0,0),
(8,5,22,60,10,0,0,0,0,10,0,0),
(8,5,23,60,10,0,0,0,0,10,0,0),
(8,5,24,60,10,0,0,0,0,10,0,0),
(8,5,25,80,10,0,0,0,1,10,0,0),
(8,5,26,80,10,0,0,0,1,10,0,0),
(8,5,27,500,10,0,0,1,3,10,0,0),
(8,5,28,60,10,0,0,0,0,10,0,0),
(8,5,29,60,10,299,0,0,0,10,0,0),
(8,5,30,100,10,0,0,1,3,10,0,0),
(8,5,31,80,10,299,0,0,1,10,0,0),
(8,5,32,80,10,299,0,0,1,10,0,0),
(8,5,33,80,10,299,0,0,1,10,0,0),
(8,7,2209,400,1,299,0,0,2,5,0,0),
(8,7,2208,400,1,299,0,0,2,5,0,0),
(8,7,5113,400,1,299,0,0,2,5,0,0),
(8,7,3571,400,1,299,0,0,2,5,0,0),
(8,7,3572,400,1,299,0,0,2,5,0,0),
(8,7,3738,400,1,299,0,0,2,5,0,0),
(8,7,3737,400,1,299,0,0,2,5,0,0),
(8,7,4399,400,1,299,0,0,2,5,0,0);
END;

View File

@@ -0,0 +1,292 @@
BEGIN;
-- Ripped quests
INSERT INTO public.event_quests (max_players, quest_type, quest_id, mark) VALUES
(0,9,40060,0),
(0,9,40079,0),
(0,9,40080,0),
(0,9,40081,0),
(0,9,40133,0),
(0,9,40134,0),
(0,9,40135,0),
(0,9,40136,0),
(0,9,40137,0),
(0,9,40138,0),
(0,9,40142,0),
(0,9,40143,0),
(0,9,40161,0),
(0,9,40162,0),
(4,9,40173,0),
(4,9,40174,0),
(0,9,40201,0),
(0,9,40218,0),
(4,43,40236,1),
(4,28,40241,1),
(0,8,50534,0),
(4,18,50852,1),
(4,18,50940,1),
(4,18,51024,1),
(4,18,51025,1),
(4,18,51026,1),
(4,18,51027,1),
(4,38,51052,9),
(4,38,51053,9),
(4,18,51059,1),
(4,38,51107,9),
(4,24,51125,0),
(1,24,51126,0),
(4,24,51127,0),
(4,24,51128,0),
(4,24,51129,0),
(4,26,53034,1),
(4,18,53140,1),
(4,18,53187,1),
(4,18,53201,1),
(1,18,53253,1),
(4,26,53307,1),
(4,24,53314,0),
(4,24,53315,0),
(4,24,53316,0),
(4,24,53317,0),
(4,24,53318,0),
(4,24,53319,0),
(4,24,53320,0),
(4,24,53321,0),
(4,24,53324,0),
(1,18,53326,2),
(4,31,54244,0),
(0,8,54425,0),
(4,28,54449,1),
(4,28,54593,1),
(4,28,54594,1),
(4,28,54603,1),
(4,28,54604,1),
(4,28,54605,1),
(4,28,54606,1),
(1,28,54608,0),
(1,28,54609,0),
(32,40,54751,0),
(32,40,54752,0),
(32,40,54753,0),
(32,40,54754,0),
(32,40,54755,0),
(32,40,54756,0),
(32,40,54757,0),
(32,40,54758,0),
(32,40,54759,0),
(32,40,54760,0),
(32,40,54761,0),
(4,28,54801,0),
(4,28,55002,1),
(4,28,55195,0),
(4,28,55202,0),
(4,28,55203,0),
(4,28,55204,0),
(0,8,55369,0),
(4,28,55464,1),
(4,43,55513,1),
(4,28,55529,0),
(4,28,55532,0),
(1,28,55536,0),
(1,28,55537,0),
(32,50,55596,0),
(32,50,55597,0),
(32,50,55598,0),
(32,50,55599,0),
(32,50,55601,0),
(32,50,55602,0),
(32,50,55603,0),
(32,50,55604,0),
(32,50,55605,0),
(32,50,55606,0),
(32,50,55607,0),
(4,28,55619,0),
(4,28,55670,1),
(4,39,55679,9),
(4,39,55680,9),
(4,43,55691,1),
(4,43,55692,1),
(4,43,55693,1),
(4,43,55694,1),
(4,43,55695,1),
(4,43,55696,1),
(4,43,55697,1),
(4,43,55698,1),
(1,43,55728,1),
(4,43,55738,1),
(0,8,55767,0),
(0,8,55768,0),
(4,28,55771,1),
(4,39,55772,9),
(8,51,55796,0),
(8,51,55797,0),
(8,51,55798,0),
(8,51,55799,0),
(8,51,55801,0),
(8,51,55802,0),
(8,51,55803,0),
(8,51,55804,0),
(8,51,55805,0),
(8,51,55806,0),
(8,51,55807,0),
(1,28,55808,0),
(0,8,55870,0),
(0,8,55872,0),
(0,8,55879,0),
(0,8,55880,0),
(0,8,55881,0),
(0,8,55882,0),
(4,28,55896,1),
(0,8,55897,0),
(0,8,55899,0),
(0,8,55901,0),
(0,8,55902,0),
(0,8,55903,0),
(0,8,55904,0),
(0,8,55905,0),
(0,8,55906,0),
(0,8,55907,0),
(0,8,55908,0),
(0,8,55909,0),
(0,8,55910,0),
(0,8,55911,0),
(0,8,55912,0),
(4,39,55916,9),
(4,39,55917,9),
(4,39,55918,9),
(4,39,55919,9),
(4,28,55920,0),
(4,39,55921,9),
(4,39,55922,9),
(4,43,55923,1),
(4,43,55924,1),
(4,43,55925,1),
(4,43,55926,1),
(4,43,55929,1),
(4,43,55930,1),
(4,43,55931,1),
(4,43,55932,1),
(4,28,55935,0),
(4,28,55936,0),
(4,28,55937,0),
(4,28,55938,0),
(4,28,55939,0),
(4,28,55948,0),
(4,28,55949,0),
(4,28,55950,0),
(4,28,55951,0),
(1,28,55963,0),
(4,28,55964,1),
(4,28,55967,1),
(4,43,56042,1),
(4,43,56056,1),
(4,43,56058,1),
(4,43,56059,1),
(4,43,56063,1),
(4,43,56064,1),
(4,43,56076,4),
(4,43,56077,4),
(4,43,56078,4),
(4,43,56079,4),
(4,43,56080,4),
(4,43,56125,1),
(4,24,56134,0),
(4,24,56135,0),
(4,24,56138,0),
(4,24,56139,0),
(4,24,56141,0),
(4,24,56142,0),
(4,28,56143,1),
(4,43,56144,1),
(4,43,56145,1),
(0,8,56146,0),
(4,28,56147,1),
(4,24,56148,0),
(1,24,56149,0),
(4,43,56150,1),
(4,43,56151,1),
(4,43,56154,1),
(4,43,56155,1),
(4,43,56156,1),
(4,28,56157,1),
(1,28,56158,1),
(4,28,56159,1),
(4,48,58043,1),
(4,46,58050,0),
(4,46,58051,0),
(4,46,58052,0),
(4,46,58053,0),
(4,46,58054,0),
(4,46,58055,0),
(4,46,58056,0),
(4,46,58057,0),
(4,46,58058,0),
(4,46,58059,0),
(4,46,58060,0),
(4,46,58061,0),
(4,46,58062,0),
(4,46,58063,0),
(4,46,58064,0),
(4,46,58065,0),
(4,46,58066,0),
(4,46,58067,0),
(4,46,58068,0),
(4,46,58069,0),
(4,46,58070,0),
(4,46,58071,0),
(4,46,58072,0),
(4,46,58074,0),
(4,46,58075,0),
(4,46,58076,0),
(4,46,58077,0),
(4,46,58078,0),
(4,47,58079,0),
(4,47,58080,0),
(4,47,58081,0),
(4,47,58082,0),
(4,47,58083,0),
(4,46,58088,0),
(4,46,58089,0),
(4,46,58090,0),
(4,46,58091,0),
(4,46,58096,0),
(4,46,58097,0),
(4,46,58098,0),
(4,46,58099,0),
(4,46,58101,0),
(4,46,58102,1),
(4,46,58103,1),
(4,46,58104,1),
(4,46,58105,1),
(4,46,58106,1),
(4,46,58107,1),
(4,46,58108,1),
(4,46,58109,1),
(4,46,58112,1),
(4,46,58113,1),
(4,46,58114,1),
(4,46,58115,1),
(4,46,58118,0),
(4,46,58119,0),
(4,46,58120,0),
(4,46,58121,0),
(4,46,58122,0),
(4,46,58123,0),
(4,46,58125,1),
(4,46,58126,1),
(4,46,58127,1),
(4,46,58128,1),
(4,13,61050,0),
(4,13,61051,0),
(4,13,61053,0),
(4,13,61055,0),
(2,13,61067,0),
(4,13,61068,0),
(2,13,61070,0),
(4,13,61071,0),
(8,22,62101,0),
(8,16,62104,0),
(8,16,62105,0),
(8,16,62108,0),
(1,18,62910,1);
END;

View File

@@ -0,0 +1,391 @@
BEGIN;
INSERT INTO fpoint_items (item_type, item_id, quantity, fpoints, buyable) VALUES
(7,8895,1,500,true),
(7,8891,1,300,true),
(7,8892,1,300,true),
(7,8893,1,300,true),
(7,8894,1,300,true),
(7,8890,1,10,true),
(7,10354,1,500,true),
(7,11983,1,300,true),
(7,11984,1,300,true),
(7,11985,1,300,true),
(7,11986,1,300,true),
(7,12524,1,500,true),
(7,12470,1,300,true),
(7,12471,1,300,true),
(7,12472,1,300,true),
(7,12473,1,300,true),
(7,2158,2,1,true),
(7,14548,1,500,true),
(7,9509,1,1,true),
(7,9510,1,1,true),
(7,9511,1,1,true),
(7,9512,1,1,true),
(7,9513,1,1,true),
(7,9514,1,1,true),
(7,9515,1,1,true),
(7,10753,1,1,true),
(7,10754,1,1,true),
(7,10755,1,1,true),
(7,10756,1,1,true),
(7,10757,1,1,true),
(7,10758,1,1,true),
(7,10759,1,1,true),
(7,11296,1,1,true),
(7,11297,1,1,true),
(7,11298,1,1,true),
(7,11299,1,1,true),
(7,11300,1,1,true),
(7,12386,1,1,true),
(7,12387,1,1,true),
(7,12388,1,1,true),
(7,12389,1,1,true),
(7,12390,1,1,true),
(7,13034,1,1,true),
(7,13035,1,1,true),
(7,13036,1,1,true),
(7,13037,1,1,true),
(7,13038,1,1,true),
(7,14179,1,1,true),
(7,14180,1,1,true),
(7,14181,1,1,true),
(7,14182,1,1,true),
(7,14183,1,1,true),
(7,13422,1,1,true),
(7,13423,1,1,true),
(7,13424,1,1,true),
(7,13425,1,1,true),
(7,13426,1,1,true),
(7,13427,1,1,true),
(7,9796,1,3,false),
(7,9700,1,3,false),
(7,10380,1,3,false),
(7,10810,1,3,false),
(7,10811,1,3,false),
(7,11436,1,3,false),
(7,9509,1,1,false),
(7,9510,1,1,false),
(7,9511,1,1,false),
(7,9512,1,1,false),
(7,9513,1,1,false),
(7,9514,1,1,false),
(7,9515,1,1,false),
(7,10753,1,1,false),
(7,10754,1,1,false),
(7,10755,1,1,false),
(7,10756,1,1,false),
(7,10757,1,1,false),
(7,10758,1,1,false),
(7,10759,1,1,false),
(7,11296,1,1,false),
(7,11297,1,1,false),
(7,11298,1,1,false),
(7,11299,1,1,false),
(7,11300,1,1,false),
(7,12509,1,3,false),
(7,12386,1,1,false),
(7,12387,1,1,false),
(7,12388,1,1,false),
(7,12389,1,1,false),
(7,12390,1,1,false),
(7,12872,1,3,false),
(7,12873,1,3,false),
(7,12840,1,1,false),
(7,12841,1,1,false),
(7,12874,1,1,false),
(7,12875,1,1,false),
(7,13191,1,3,false),
(7,13177,1,3,false),
(7,13326,1,3,false),
(7,13034,1,1,false),
(7,13035,1,1,false),
(7,13036,1,1,false),
(7,13037,1,1,false),
(7,13038,1,1,false),
(7,13178,1,3,false),
(7,13453,1,3,false),
(7,13449,1,3,false),
(7,13450,1,3,false),
(7,13404,1,3,false),
(7,13422,1,1,false),
(7,13423,1,1,false),
(7,13424,1,1,false),
(7,13425,1,1,false),
(7,13426,1,1,false),
(7,13427,1,1,false),
(7,13791,1,3,false),
(7,14006,1,3,false),
(7,14031,1,3,false),
(7,14032,1,3,false),
(7,13960,1,3,false),
(7,14029,1,3,false),
(7,13956,1,1,false),
(7,13958,1,1,false),
(7,13957,1,1,false),
(7,13959,1,1,false),
(7,13790,1,3,false),
(7,14005,1,3,false),
(7,14010,1,3,false),
(7,14009,1,3,false),
(7,14008,1,3,false),
(7,13965,1,3,false),
(7,14028,1,3,false),
(7,13963,1,3,false),
(7,14026,1,3,false),
(7,13964,1,3,false),
(7,14027,1,3,false),
(7,14069,1,3,false),
(7,14124,1,3,false),
(7,14065,1,1,false),
(7,14066,1,1,false),
(7,14067,1,1,false),
(7,14068,1,1,false),
(7,13962,1,3,false),
(7,14125,1,3,false),
(7,14089,1,3,false),
(7,14090,1,3,false),
(7,14091,1,3,false),
(7,14092,1,3,false),
(7,14194,1,3,false),
(7,14191,1,3,false),
(7,14198,1,3,false),
(7,14197,1,3,false),
(7,14179,1,1,false),
(7,14180,1,1,false),
(7,14181,1,1,false),
(7,14182,1,1,false),
(7,14183,1,1,false),
(7,14196,1,3,false),
(7,14195,1,3,false),
(7,14193,1,3,false),
(7,14192,1,3,false),
(7,14407,1,3,false),
(7,14414,1,3,false),
(7,14406,1,3,false),
(7,14413,1,3,false),
(7,14416,1,3,false),
(7,14549,1,3,false),
(7,14550,1,3,false),
(7,14502,1,3,false),
(7,14507,1,3,false),
(7,14501,1,3,false),
(7,14506,1,3,false),
(7,14500,1,3,false),
(7,14505,1,3,false),
(7,14498,1,3,false),
(7,14659,1,3,false),
(7,14660,1,3,false),
(7,14657,1,1,false),
(7,14658,1,1,false),
(7,11420,1,3,false),
(7,14704,1,3,false),
(7,11288,1,1,false),
(7,11289,1,1,false),
(7,11290,1,1,false),
(7,11291,1,1,false),
(7,10750,1,3,false),
(7,14705,1,3,false),
(7,10633,1,1,false),
(7,10634,1,1,false),
(7,10635,1,1,false),
(7,10636,1,1,false),
(7,14662,1,3,false),
(7,14663,1,3,false),
(7,14665,1,3,false),
(7,14666,1,3,false),
(7,14667,1,3,false),
(7,14668,1,3,false),
(7,14669,1,3,false),
(7,14670,1,3,false),
(7,14671,1,3,false),
(7,14672,1,3,false),
(7,14673,1,3,false),
(7,14674,1,3,false),
(7,14675,1,3,false),
(7,14676,1,3,false),
(7,14677,1,3,false),
(7,14678,1,3,false),
(7,14679,1,3,false),
(7,14680,1,3,false),
(7,14681,1,3,false),
(7,14682,1,3,false),
(7,14683,1,3,false),
(7,14684,1,3,false),
(7,14685,1,3,false),
(7,14686,1,3,false),
(7,14687,1,3,false),
(7,14688,1,3,false),
(7,14689,1,3,false),
(7,14690,1,3,false),
(7,14691,1,3,false),
(7,14692,1,3,false),
(7,14693,1,3,false),
(7,14694,1,3,false),
(7,14695,1,3,false),
(7,14696,1,3,false),
(7,14697,1,3,false),
(7,14698,1,3,false),
(7,14699,1,3,false),
(7,14700,1,3,false),
(7,14314,1,3,false),
(7,14503,1,3,false),
(7,14510,1,3,false),
(7,14904,1,3,false),
(7,14906,1,3,false),
(7,14910,1,1,false),
(7,14912,1,1,false),
(7,14905,1,3,false),
(7,14907,1,3,false),
(7,14911,1,1,false),
(7,14909,1,1,false),
(7,14855,1,3,false),
(7,14894,1,3,false),
(7,14913,1,3,false),
(7,14914,1,3,false),
(7,14891,1,3,false),
(7,14895,1,3,false),
(7,15027,1,3,false),
(7,15028,1,3,false),
(7,15026,1,1,false),
(7,15025,1,1,false),
(7,15024,1,1,false),
(7,15023,1,1,false),
(7,15064,1,3,false),
(7,15065,1,3,false),
(7,15030,1,3,false),
(7,15031,1,3,false),
(7,15062,1,3,false),
(7,15063,1,3,false),
(7,15066,1,3,false),
(7,15067,1,3,false),
(7,15061,1,3,false),
(7,15060,1,3,false),
(7,1227,1,2,false),
(7,13176,1,2,false),
(7,4360,1,2,false),
(7,4358,1,1,false),
(7,15118,1,3,false),
(7,15119,1,3,false),
(7,15113,1,3,false),
(7,15114,1,3,false),
(7,15115,1,3,false),
(7,15116,1,3,false),
(7,15220,1,3,false),
(7,15221,1,3,false),
(7,14126,1,3,false),
(7,15222,1,3,false),
(7,15223,1,3,false),
(7,15224,1,3,false),
(7,15225,1,3,false),
(7,15524,1,3,false),
(7,15525,1,3,false),
(7,15507,1,3,false),
(7,15508,1,3,false),
(7,15285,1,3,false),
(7,15286,1,3,false),
(7,15281,1,1,false),
(7,15282,1,1,false),
(7,15283,1,1,false),
(7,15284,1,1,false),
(7,15776,1,3,false),
(7,15777,1,3,false),
(7,15774,1,3,false),
(7,15775,1,3,false),
(7,15823,1,3,false),
(7,15824,1,3,false),
(7,15343,1,3,false),
(7,15342,1,3,false),
(7,15341,1,3,false),
(7,15340,1,3,false),
(7,15339,1,3,false),
(7,15338,1,3,false),
(7,15337,1,3,false),
(7,15336,1,3,false),
(7,15335,1,3,false),
(7,15334,1,3,false),
(7,15333,1,3,false),
(7,15332,1,3,false),
(7,15331,1,3,false),
(7,15330,1,3,false),
(7,15329,1,3,false),
(7,15328,1,3,false),
(7,15327,1,3,false),
(7,15326,1,3,false),
(7,15325,1,3,false),
(7,15324,1,3,false),
(7,15323,1,3,false),
(7,15322,1,3,false),
(7,15321,1,3,false),
(7,15314,1,3,false),
(7,15312,1,3,false),
(7,15311,1,3,false),
(7,15306,1,3,false),
(7,15307,1,3,false),
(7,15308,1,3,false),
(7,15309,1,3,false),
(7,15310,1,3,false),
(7,15305,1,3,false),
(7,15304,1,3,false),
(7,15303,1,3,false),
(7,15302,1,3,false),
(7,15301,1,3,false),
(7,15300,1,3,false),
(7,15299,1,3,false),
(7,15298,1,3,false),
(7,15297,1,3,false),
(7,15296,1,3,false),
(7,15295,1,3,false),
(7,15293,1,3,false),
(7,15294,1,3,false),
(7,15292,1,3,false),
(7,15291,1,3,false),
(7,15290,1,3,false),
(7,15289,1,3,false),
(7,15315,1,3,false),
(7,15316,1,3,false),
(7,15317,1,3,false),
(7,15318,1,3,false),
(7,15319,1,3,false),
(7,15320,1,3,false),
(7,15819,1,3,false),
(7,15820,1,3,false),
(7,15821,1,3,false),
(7,15822,1,3,false),
(7,16450,1,3,false),
(7,16451,1,3,false),
(7,16459,1,1,false),
(7,16460,1,1,false),
(7,16461,1,1,false),
(7,16462,1,1,false),
(7,16463,1,1,false),
(7,16464,1,1,false),
(7,16465,1,1,false),
(7,16466,1,1,false),
(7,16467,1,1,false),
(7,16468,1,1,false),
(7,16469,1,1,false),
(7,16470,1,1,false),
(7,16471,1,1,false),
(7,16472,1,1,false),
(7,16454,1,3,false),
(7,16455,1,3,false),
(7,16442,1,3,false),
(7,16443,1,3,false),
(7,16342,1,3,false),
(7,16343,1,3,false),
(7,16444,1,3,false),
(7,16445,1,3,false),
(7,16344,1,3,false),
(7,16345,1,3,false),
(7,16352,1,3,false),
(7,16353,1,3,false),
(7,16446,1,3,false),
(7,16447,1,3,false),
(7,16448,1,3,false),
(7,16449,1,3,false),
(7,16348,1,3,false),
(7,16349,1,3,false);
END;

View File

@@ -0,0 +1,260 @@
BEGIN;
-- Ripped prizes
INSERT INTO public.festa_prizes
(type, tier, souls_req, item_id, num_item)
VALUES
('personal', 1, 1, 9647, 7),
('personal', 2, 1, 9647, 7),
('personal', 3, 1, 9647, 7),
('personal', 1, 200, 11284, 4),
('personal', 2, 200, 11284, 4),
('personal', 3, 200, 11284, 4),
('personal', 1, 400, 11381, 3),
('personal', 2, 400, 11381, 3),
('personal', 3, 400, 11381, 3),
('personal', 1, 600, 11284, 8),
('personal', 2, 600, 11284, 8),
('personal', 3, 600, 11284, 8),
('personal', 1, 800, 11384, 3),
('personal', 2, 800, 11384, 3),
('personal', 3, 800, 11384, 3),
('personal', 1, 1000, 11284, 12),
('personal', 2, 1000, 11284, 12),
('personal', 3, 1000, 11284, 12),
('personal', 1, 1200, 11381, 5),
('personal', 2, 1200, 11381, 5),
('personal', 3, 1200, 11381, 5),
('personal', 1, 1400, 11284, 16),
('personal', 2, 1400, 11284, 16),
('personal', 3, 1400, 11284, 16),
('personal', 1, 1700, 11384, 5),
('personal', 2, 1700, 11384, 5),
('personal', 3, 1700, 11384, 5),
('personal', 1, 2000, 11284, 16),
('personal', 2, 2000, 11284, 16),
('personal', 3, 2000, 11284, 16),
('personal', 1, 2500, 11382, 4),
('personal', 2, 2500, 11382, 4),
('personal', 3, 2500, 11382, 4),
('personal', 1, 3000, 11284, 24),
('personal', 2, 3000, 11284, 24),
('personal', 3, 3000, 11284, 24),
('personal', 1, 4000, 11385, 4),
('personal', 2, 4000, 11385, 4),
('personal', 3, 4000, 11385, 4),
('personal', 1, 5000, 11381, 11),
('personal', 2, 5000, 11381, 11),
('personal', 3, 5000, 11381, 11),
('personal', 1, 6000, 5177, 5),
('personal', 2, 6000, 5177, 5),
('personal', 3, 6000, 5177, 5),
('personal', 1, 7000, 11384, 11),
('personal', 2, 7000, 11384, 11),
('personal', 3, 7000, 11384, 11),
('personal', 1, 10000, 11382, 8),
('personal', 2, 10000, 11382, 8),
('personal', 3, 10000, 11382, 8),
('personal', 1, 15000, 11385, 4),
('personal', 2, 15000, 11385, 4),
('personal', 3, 15000, 11385, 4),
('personal', 1, 20000, 11381, 13),
('personal', 2, 20000, 11381, 13),
('personal', 3, 20000, 11381, 13),
('personal', 1, 25000, 11385, 4),
('personal', 2, 25000, 11385, 4),
('personal', 3, 25000, 11385, 4),
('personal', 1, 30000, 11383, 1),
('personal', 2, 30000, 11383, 1),
('personal', 3, 30000, 11383, 1);
INSERT INTO public.festa_prizes
(type, tier, souls_req, item_id, num_item)
VALUES
('guild', 1, 100, 7468, 5),
('guild', 2, 100, 7468, 5),
('guild', 3, 100, 7465, 5),
('guild', 1, 300, 7469, 5),
('guild', 2, 300, 7469, 5),
('guild', 3, 300, 7466, 5),
('guild', 1, 700, 7470, 5),
('guild', 2, 700, 7470, 5),
('guild', 3, 700, 7467, 5),
('guild', 1, 1500, 13405, 14),
('guild', 1, 1500, 1520, 3),
('guild', 2, 1500, 13405, 14),
('guild', 2, 1500, 1520, 3),
('guild', 3, 1500, 7011, 3),
('guild', 3, 1500, 13405, 14),
('guild', 1, 3000, 10201, 10),
('guild', 2, 3000, 10201, 10),
('guild', 3, 3000, 10201, 10),
('guild', 1, 6000, 13895, 14),
('guild', 1, 6000, 1520, 6),
('guild', 2, 6000, 13895, 14),
('guild', 2, 6000, 1520, 6),
('guild', 3, 6000, 13895, 14),
('guild', 3, 6000, 7011, 4),
('guild', 1, 12000, 13406, 14),
('guild', 1, 12000, 1520, 9),
('guild', 2, 12000, 13406, 14),
('guild', 2, 12000, 1520, 9),
('guild', 3, 12000, 13406, 14),
('guild', 3, 12000, 7011, 5),
('guild', 1, 25000, 10207, 10),
('guild', 2, 25000, 10207, 10),
('guild', 3, 25000, 10207, 10),
('guild', 1, 50000, 1520, 12),
('guild', 1, 50000, 13896, 14),
('guild', 2, 50000, 1520, 12),
('guild', 2, 50000, 13896, 14),
('guild', 3, 50000, 7011, 6),
('guild', 3, 50000, 13896, 14),
('guild', 1, 100000, 10201, 10),
('guild', 2, 100000, 10201, 10),
('guild', 3, 100000, 10201, 10),
('guild', 1, 200000, 13406, 16),
('guild', 2, 200000, 13406, 16),
('guild', 3, 200000, 13406, 16),
('guild', 1, 300000, 13896, 16),
('guild', 2, 300000, 13896, 16),
('guild', 3, 300000, 13896, 16),
('guild', 1, 400000, 10207, 10),
('guild', 2, 400000, 10207, 10),
('guild', 3, 400000, 10207, 10),
('guild', 1, 500000, 13407, 6),
('guild', 1, 500000, 13897, 6),
('guild', 2, 500000, 13407, 6),
('guild', 2, 500000, 13897, 6),
('guild', 3, 500000, 13407, 6),
('guild', 3, 500000, 13897, 6);
-- Ripped trials
INSERT INTO public.festa_trials
(objective, goal_id, times_req, locale_req, reward)
VALUES
(1,27,1,0,1),
(5,53034,0,0,400),
(5,22042,0,0,89),
(5,23397,0,0,89),
(1,28,1,0,1),
(1,68,1,0,1),
(1,6,1,0,2),
(1,38,1,0,2),
(1,20,1,0,3),
(1,39,1,0,4),
(1,48,1,0,4),
(1,67,1,0,4),
(1,93,1,0,4),
(1,22,1,0,5),
(1,52,1,0,5),
(1,101,1,0,5),
(1,1,1,0,5),
(1,37,1,0,5),
(1,15,1,0,5),
(1,45,1,0,5),
(1,74,1,0,5),
(1,78,1,0,5),
(1,103,1,0,5),
(1,51,1,0,6),
(1,17,1,0,6),
(1,21,1,0,6),
(1,92,1,0,6),
(1,47,1,0,7),
(1,46,1,0,7),
(1,26,1,0,7),
(1,14,1,0,7),
(1,11,1,0,7),
(1,44,1,0,8),
(1,43,1,0,8),
(1,49,1,0,8),
(1,40,1,0,8),
(1,76,1,0,8),
(1,89,1,0,8),
(1,94,1,0,8),
(1,96,1,0,8),
(1,75,1,0,8),
(1,91,1,0,8),
(1,53,1,0,9),
(1,80,1,0,9),
(1,42,1,0,9),
(1,79,1,0,9),
(1,81,1,0,10),
(1,41,1,0,10),
(1,82,1,0,10),
(1,90,1,0,10),
(1,149,1,0,10),
(1,85,1,0,11),
(1,95,1,0,11),
(1,121,1,0,11),
(1,142,1,0,11),
(1,141,1,0,11),
(1,146,1,0,12),
(1,147,1,0,12),
(1,148,1,0,12),
(1,151,1,0,12),
(1,152,1,0,12),
(1,159,1,0,12),
(1,153,1,0,12),
(1,162,1,0,12),
(1,111,1,0,13),
(1,110,1,0,13),
(1,112,1,0,13),
(1,109,1,0,14),
(1,169,1,0,15),
(2,33,1,0,6),
(2,104,1,0,8),
(2,119,1,0,8),
(2,120,1,0,8),
(2,54,1,0,8),
(2,59,1,0,8),
(2,64,1,0,8),
(2,65,1,0,8),
(2,99,1,0,9),
(2,83,1,0,9),
(2,84,1,0,10),
(2,77,1,0,10),
(2,106,1,0,10),
(2,55,1,0,10),
(2,58,1,0,10),
(2,7,1,0,10),
(2,50,1,0,11),
(2,131,1,0,11),
(2,129,1,0,11),
(2,140,1,0,11),
(2,122,1,0,11),
(2,126,1,0,11),
(2,127,1,0,11),
(2,128,1,0,11),
(2,130,1,0,11),
(2,139,1,0,11),
(2,144,1,0,11),
(2,150,1,0,11),
(2,158,1,0,11),
(2,164,1,0,15),
(2,165,1,0,15),
(2,2,1,7,15),
(2,36,1,0,15),
(2,71,1,0,15),
(2,108,1,0,15),
(2,116,1,0,15),
(2,107,1,0,15),
(2,154,1,0,17),
(2,166,1,0,17),
(2,170,1,0,18),
(3,31,1,0,1),
(3,8,1,0,3),
(3,123,1,0,8),
(3,105,1,0,9),
(3,125,1,0,11),
(3,115,1,0,12),
(3,114,1,0,12),
(3,161,1,0,12),
(4,670,1,0,1),
(4,671,1,0,1),
(4,672,1,0,1),
(4,675,1,0,1),
(4,673,1,0,1),
(4,674,1,0,1);
END;

View File

@@ -0,0 +1,102 @@
BEGIN;
-- Start Normal Demo
INSERT INTO gacha_shop (min_gr, min_hr, name, url_banner, url_feature, url_thumbnail, wide, recommended, gacha_type, hidden)
VALUES (0, 0, 'Normal Demo',
'http://img4.imagetitan.com/img4/QeRWNAviFD8UoTx/26/26_template_innerbanner.png',
'http://img4.imagetitan.com/img4/QeRWNAviFD8UoTx/26/26_template_feature.png',
'http://img4.imagetitan.com/img4/small/26/26_template_outerbanner.png',
false, false, 0, false);
-- Create two different 'rolls', the first rolls once for 1z, the second rolls eleven times for 10z
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES
((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 0, 10, 1, 0, 0, 0, 1, 0, 0),
((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 1, 10, 10, 0, 0, 0, 11, 0, 0);
-- Creates a prize of 1z with a weighted chance of 100
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 100, 0, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
-- Creates a prize of 2z with a weighted chance of 70
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 70, 1, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 2, 0);
-- Creates a prize of 3z with a weighted chance of 10
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 10, 2, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 3, 0);
-- End Normal Demo
-- Start Step-Up Demo
INSERT INTO gacha_shop (min_gr, min_hr, name, url_banner, url_feature, url_thumbnail, wide, recommended, gacha_type, hidden)
VALUES (0, 0, 'Step-Up Demo', '', '', '', false, false, 1, false);
-- Create two 'steps', the first costs 1z, the second costs 2z
-- The first step has zero rolls so it will only give the prizes directly linked to the entry ID, being 1z
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 0, 10, 1, 0, 0, 0, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
-- The second step has one roll on the random prize list as will as the direct prize, being 3z
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 1, 10, 2, 0, 0, 0, 1, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 3, 0);
-- Set up two random prizes, the first gives 1z, the second gives 2z
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 100, 0, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 90, 1, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 2, 0);
-- End Step-Up Demo
-- Start Box Demo
INSERT INTO gacha_shop (min_gr, min_hr, name, url_banner, url_feature, url_thumbnail, wide, recommended, gacha_type, hidden)
VALUES (0, 0, 'Box Demo', '', '', '', false, false, 4, false);
-- Create two different 'rolls', the first rolls once for 1z, the second rolls twice for 2z
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES
((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 0, 10, 1, 0, 0, 0, 1, 0, 0),
((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 1, 10, 2, 0, 0, 0, 2, 0, 0);
-- Create five different 'Box' items, weight is always 0 for these
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 1, 0);
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 2, 0);
INSERT INTO gacha_entries (gacha_id, entry_type, item_type, item_number, item_quantity, weight, rarity, rolls, daily_limit, frontier_points)
VALUES ((SELECT id FROM gacha_shop ORDER BY id DESC LIMIT 1), 100, 0, 0, 0, 0, 0, 0, 0, 0);
INSERT INTO gacha_items (entry_id, item_type, item_id, quantity)
VALUES ((SELECT id FROM gacha_entries ORDER BY id DESC LIMIT 1), 10, 3, 0);
-- End Box Demo
END;

View File

@@ -0,0 +1,15 @@
BEGIN;
TRUNCATE public.cafebonus;
INSERT INTO public.cafebonus (time_req, item_type, item_id, quantity)
VALUES
(1800, 17, 0, 50),
(3600, 17, 0, 100),
(7200, 17, 0, 200),
(10800, 17, 0, 300),
(18000, 17, 0, 350),
(28800, 17, 0, 500),
(43200, 17, 0, 500);
END;

View File

@@ -0,0 +1,48 @@
BEGIN;
INSERT INTO public.shop_items
(shop_type, shop_id, item_id, cost, quantity, min_hr, min_sr, min_gr, store_level, max_quantity, road_floors, road_fatalis)
VALUES
(5,5,16516,100,1,0,0,1,0,0,0,0),
(5,5,16517,100,1,0,0,1,0,0,0,0),
(6,5,9958,3,3,1,0,0,0,0,0,0),
(6,5,1897,3,1,1,0,0,0,0,0,0),
(6,5,8889,3,1,0,0,1,0,0,0,0),
(6,5,6176,3,6,1,0,0,0,0,0,0),
(6,5,1472,3,10,1,0,0,0,0,0,0),
(6,5,7280,3,3,0,0,1,0,0,0,0),
(6,5,8027,3,30,1,0,0,0,0,0,0),
(6,5,8028,3,30,1,0,0,0,0,0,0),
(6,5,8029,3,30,1,0,0,0,0,0,0),
(6,5,8026,3,30,1,0,0,0,0,0,0),
(6,5,8030,3,30,1,0,0,0,0,0,0),
(6,5,4353,3,30,1,0,0,0,0,0,0),
(6,5,4354,3,30,1,0,0,0,0,0,0),
(6,5,4355,3,30,1,0,0,0,0,0,0),
(6,5,4356,3,30,1,0,0,0,0,0,0),
(6,5,4357,3,30,1,0,0,0,0,0,0),
(6,5,4745,3,30,1,0,0,0,0,0,0),
(6,5,4746,3,30,1,0,0,0,0,0,0),
(6,5,4747,3,30,1,0,0,0,0,0,0),
(6,5,4748,3,30,1,0,0,0,0,0,0),
(6,5,4749,3,30,1,0,0,0,0,0,0),
(6,5,5122,3,30,1,0,0,0,0,0,0),
(6,5,5123,3,30,1,0,0,0,0,0,0),
(6,5,5124,3,30,1,0,0,0,0,0,0),
(6,5,5125,3,30,1,0,0,0,0,0,0),
(6,5,5126,3,30,1,0,0,0,0,0,0),
(6,5,5795,3,30,1,0,0,0,0,0,0),
(6,5,5796,3,30,1,0,0,0,0,0,0),
(6,5,5797,3,30,1,0,0,0,0,0,0),
(6,5,5798,3,30,1,0,0,0,0,0,0),
(6,5,5799,3,30,1,0,0,0,0,0,0),
(6,5,6168,3,30,1,0,0,0,0,0,0),
(6,5,6169,3,30,1,0,0,0,0,0,0),
(6,5,6170,3,30,1,0,0,0,0,0,0),
(6,5,6171,3,30,1,0,0,0,0,0,0),
(6,5,6172,3,30,1,0,0,0,0,0,0),
(7,0,13190,10,1,0,0,0,0,0,0,0),
(7,0,1662,10,1,0,0,0,0,0,0,0),
(7,0,10179,100,1,0,0,0,0,0,0,0);
END;

View File

@@ -0,0 +1,868 @@
BEGIN;
INSERT INTO public.shop_items
(shop_type, shop_id, item_id, cost, quantity, min_hr, min_sr, min_gr, store_level, max_quantity, road_floors, road_fatalis)
VALUES
(10,4,11664,20000,1,0,0,1,1,0,0,0),
(10,4,11665,20000,1,0,0,1,1,0,0,0),
(10,4,11666,20000,1,0,0,1,1,0,0,0),
(10,4,11667,20000,1,0,0,1,1,0,0,0),
(10,4,11668,20000,1,0,0,1,1,0,0,0),
(10,4,11669,20000,1,0,0,1,1,0,0,0),
(10,4,11670,20000,1,0,0,1,1,0,0,0),
(10,4,11671,20000,1,0,0,1,1,0,0,0),
(10,4,11672,20000,1,0,0,1,1,0,0,0),
(10,4,11673,20000,1,0,0,1,1,0,0,0),
(10,4,11674,20000,1,0,0,1,1,0,0,0),
(10,4,11675,20000,1,0,0,1,1,0,0,0),
(10,4,11676,20000,1,0,0,1,1,0,0,0),
(10,4,11677,20000,1,0,0,1,1,0,0,0),
(10,4,11678,20000,1,0,0,1,1,0,0,0),
(10,4,11679,20000,1,0,0,1,1,0,0,0),
(10,4,11680,20000,1,0,0,1,1,0,0,0),
(10,4,11681,20000,1,0,0,1,1,0,0,0),
(10,4,11682,20000,1,0,0,1,1,0,0,0),
(10,4,11683,20000,1,0,0,1,1,0,0,0),
(10,4,11684,20000,1,0,0,1,1,0,0,0),
(10,4,11685,20000,1,0,0,1,1,0,0,0),
(10,4,11686,20000,1,0,0,1,1,0,0,0),
(10,4,11687,20000,1,0,0,1,1,0,0,0),
(10,4,11688,20000,1,0,0,1,1,0,0,0),
(10,4,11689,20000,1,0,0,1,1,0,0,0),
(10,4,11690,20000,1,0,0,1,1,0,0,0),
(10,4,11691,20000,1,0,0,1,1,0,0,0),
(10,4,11692,20000,1,0,0,1,1,0,0,0),
(10,4,11693,20000,1,0,0,1,1,0,0,0),
(10,4,11694,20000,1,0,0,1,1,0,0,0),
(10,4,11695,20000,1,0,0,1,1,0,0,0),
(10,4,11696,20000,1,0,0,1,1,0,0,0),
(10,4,11697,20000,1,0,0,1,1,0,0,0),
(10,4,12893,20000,1,0,0,1,1,0,0,0),
(10,4,12894,20000,1,0,0,1,1,0,0,0),
(10,4,12895,20000,1,0,0,1,1,0,0,0),
(10,4,12896,20000,1,0,0,1,1,0,0,0),
(10,4,12897,20000,1,0,0,1,1,0,0,0),
(10,4,12898,20000,1,0,0,1,1,0,0,0),
(10,4,12899,20000,1,0,0,1,1,0,0,0),
(10,4,14337,20000,1,0,0,1,1,0,0,0),
(10,4,14338,20000,1,0,0,1,1,0,0,0),
(10,4,14339,20000,1,0,0,1,1,0,0,0),
(10,4,14340,20000,1,0,0,1,1,0,0,0),
(10,4,14341,20000,1,0,0,1,1,0,0,0),
(10,4,14342,20000,1,0,0,1,1,0,0,0),
(10,4,14343,20000,1,0,0,1,1,0,0,0),
(10,4,14344,20000,1,0,0,1,1,0,0,0),
(10,4,14345,20000,1,0,0,1,1,0,0,0),
(10,4,9254,10000,1,0,0,1,1,0,0,0),
(10,4,9255,10000,1,0,0,1,1,0,0,0),
(10,4,9256,10000,1,0,0,1,1,0,0,0),
(10,4,9257,10000,1,0,0,1,1,0,0,0),
(10,4,9258,10000,1,0,0,1,1,0,0,0),
(10,4,9259,10000,1,0,0,1,1,0,0,0),
(10,4,9260,10000,1,0,0,1,1,0,0,0),
(10,4,9261,10000,1,0,0,1,1,0,0,0),
(10,4,9262,10000,1,0,0,1,1,0,0,0),
(10,4,9263,10000,1,0,0,1,1,0,0,0),
(10,4,9264,10000,1,0,0,1,1,0,0,0),
(10,4,9265,10000,1,0,0,1,1,0,0,0),
(10,4,9266,10000,1,0,0,1,1,0,0,0),
(10,4,9267,10000,1,0,0,1,1,0,0,0),
(10,4,9268,10000,1,0,0,1,1,0,0,0),
(10,4,9269,10000,1,0,0,1,1,0,0,0),
(10,4,9270,10000,1,0,0,1,1,0,0,0),
(10,4,9271,10000,1,0,0,1,1,0,0,0),
(10,4,9272,10000,1,0,0,1,1,0,0,0),
(10,4,9273,10000,1,0,0,1,1,0,0,0),
(10,4,9274,10000,1,0,0,1,1,0,0,0),
(10,4,9275,10000,1,0,0,1,1,0,0,0),
(10,4,9276,10000,1,0,0,1,1,0,0,0),
(10,4,9277,10000,1,0,0,1,1,0,0,0),
(10,4,9278,10000,1,0,0,1,1,0,0,0),
(10,4,9279,10000,1,0,0,1,1,0,0,0),
(10,4,9280,10000,1,0,0,1,1,0,0,0),
(10,4,9281,10000,1,0,0,1,1,0,0,0),
(10,4,9282,10000,1,0,0,1,1,0,0,0),
(10,4,9283,10000,1,0,0,1,1,0,0,0),
(10,4,9284,10000,1,0,0,1,1,0,0,0),
(10,4,9285,10000,1,0,0,1,1,0,0,0),
(10,4,9286,10000,1,0,0,1,1,0,0,0),
(10,4,9287,10000,1,0,0,1,1,0,0,0),
(10,4,9288,10000,1,0,0,1,1,0,0,0),
(10,4,9289,10000,1,0,0,1,1,0,0,0),
(10,4,9290,10000,1,0,0,1,1,0,0,0),
(10,4,9291,10000,1,0,0,1,1,0,0,0),
(10,4,9292,10000,1,0,0,1,1,0,0,0),
(10,4,9293,10000,1,0,0,1,1,0,0,0),
(10,4,9294,10000,1,0,0,1,1,0,0,0),
(10,4,9295,10000,1,0,0,1,1,0,0,0),
(10,4,9296,10000,1,0,0,1,1,0,0,0),
(10,4,9297,10000,1,0,0,1,1,0,0,0),
(10,4,9298,10000,1,0,0,1,1,0,0,0),
(10,4,9299,10000,1,0,0,1,1,0,0,0),
(10,4,9300,10000,1,0,0,1,1,0,0,0),
(10,4,9301,10000,1,0,0,1,1,0,0,0),
(10,4,13196,10000,1,0,0,1,1,0,0,0),
(10,4,13197,10000,1,0,0,1,1,0,0,0),
(10,4,13198,10000,1,0,0,1,1,0,0,0),
(10,4,13199,10000,1,0,0,1,1,0,0,0),
(10,4,15542,10000,1,0,0,1,1,0,0,0),
(10,4,15543,10000,1,0,0,1,1,0,0,0),
(10,4,15544,10000,1,0,0,1,1,0,0,0),
(10,4,15545,10000,1,0,0,1,1,0,0,0),
(10,4,13640,20000,1,0,0,1,1,0,0,0),
(10,4,13641,20000,1,0,0,1,1,0,0,0),
(10,4,13642,20000,1,0,0,1,1,0,0,0),
(10,4,13643,20000,1,0,0,1,1,0,0,0),
(10,4,13644,20000,1,0,0,1,1,0,0,0),
(10,4,13645,20000,1,0,0,1,1,0,0,0),
(10,4,13646,20000,1,0,0,1,1,0,0,0),
(10,4,13647,20000,1,0,0,1,1,0,0,0),
(10,4,13648,20000,1,0,0,1,1,0,0,0),
(10,4,13649,20000,1,0,0,1,1,0,0,0),
(10,4,13650,20000,1,0,0,1,1,0,0,0),
(10,4,13651,20000,1,0,0,1,1,0,0,0),
(10,4,13652,20000,1,0,0,1,1,0,0,0),
(10,4,13653,20000,1,0,0,1,1,0,0,0),
(10,4,13654,20000,1,0,0,1,1,0,0,0),
(10,4,13655,20000,1,0,0,1,1,0,0,0),
(10,4,13656,20000,1,0,0,1,1,0,0,0),
(10,4,13657,20000,1,0,0,1,1,0,0,0),
(10,4,13658,20000,1,0,0,1,1,0,0,0),
(10,4,13659,20000,1,0,0,1,1,0,0,0),
(10,4,13660,20000,1,0,0,1,1,0,0,0),
(10,4,13661,20000,1,0,0,1,1,0,0,0),
(10,4,13662,20000,1,0,0,1,1,0,0,0),
(10,4,13663,20000,1,0,0,1,1,0,0,0),
(10,4,13664,20000,1,0,0,1,1,0,0,0),
(10,4,13665,20000,1,0,0,1,1,0,0,0),
(10,4,13666,20000,1,0,0,1,1,0,0,0),
(10,4,13667,20000,1,0,0,1,1,0,0,0),
(10,4,13668,20000,1,0,0,1,1,0,0,0),
(10,4,13669,20000,1,0,0,1,1,0,0,0),
(10,4,13670,20000,1,0,0,1,1,0,0,0),
(10,4,13671,20000,1,0,0,1,1,0,0,0),
(10,4,13672,20000,1,0,0,1,1,0,0,0),
(10,4,13673,20000,1,0,0,1,1,0,0,0),
(10,4,13674,20000,1,0,0,1,1,0,0,0),
(10,4,13675,20000,1,0,0,1,1,0,0,0),
(10,4,13676,20000,1,0,0,1,1,0,0,0),
(10,4,13677,20000,1,0,0,1,1,0,0,0),
(10,4,13678,20000,1,0,0,1,1,0,0,0),
(10,4,13679,20000,1,0,0,1,1,0,0,0),
(10,4,13680,20000,1,0,0,1,1,0,0,0),
(10,4,13681,20000,1,0,0,1,1,0,0,0),
(10,4,13682,20000,1,0,0,1,1,0,0,0),
(10,4,13683,20000,1,0,0,1,1,0,0,0),
(10,4,13684,20000,1,0,0,1,1,0,0,0),
(10,4,13685,20000,1,0,0,1,1,0,0,0),
(10,4,13686,20000,1,0,0,1,1,0,0,0),
(10,4,13687,20000,1,0,0,1,1,0,0,0),
(10,4,13688,20000,1,0,0,1,1,0,0,0),
(10,4,13689,20000,1,0,0,1,1,0,0,0),
(10,4,13690,20000,1,0,0,1,1,0,0,0),
(10,4,13691,20000,1,0,0,1,1,0,0,0),
(10,4,15546,20000,1,0,0,1,1,0,0,0),
(10,4,15547,20000,1,0,0,1,1,0,0,0),
(10,4,15548,20000,1,0,0,1,1,0,0,0),
(10,4,15549,20000,1,0,0,1,1,0,0,0),
(10,4,16162,35000,1,0,0,1,1,0,0,0),
(10,4,16163,35000,1,0,0,1,1,0,0,0),
(10,4,16164,35000,1,0,0,1,1,0,0,0),
(10,4,16165,35000,1,0,0,1,1,0,0,0),
(10,4,16166,35000,1,0,0,1,1,0,0,0),
(10,4,16167,35000,1,0,0,1,1,0,0,0),
(10,4,16168,35000,1,0,0,1,1,0,0,0),
(10,4,16169,35000,1,0,0,1,1,0,0,0),
(10,4,16172,35000,1,0,0,1,1,0,0,0),
(10,4,16173,35000,1,0,0,1,1,0,0,0),
(10,4,16174,35000,1,0,0,1,1,0,0,0),
(10,4,16175,35000,1,0,0,1,1,0,0,0),
(10,4,16176,35000,1,0,0,1,1,0,0,0),
(10,4,16177,35000,1,0,0,1,1,0,0,0),
(10,4,16178,35000,1,0,0,1,1,0,0,0),
(10,4,16179,35000,1,0,0,1,1,0,0,0),
(10,4,16182,35000,1,0,0,1,1,0,0,0),
(10,4,16183,35000,1,0,0,1,1,0,0,0),
(10,4,16184,35000,1,0,0,1,1,0,0,0),
(10,4,16185,35000,1,0,0,1,1,0,0,0),
(10,4,16186,35000,1,0,0,1,1,0,0,0),
(10,4,16187,35000,1,0,0,1,1,0,0,0),
(10,4,16188,35000,1,0,0,1,1,0,0,0),
(10,4,16189,35000,1,0,0,1,1,0,0,0),
(10,4,16192,35000,1,0,0,1,1,0,0,0),
(10,4,16193,35000,1,0,0,1,1,0,0,0),
(10,4,16194,35000,1,0,0,1,1,0,0,0),
(10,4,16195,35000,1,0,0,1,1,0,0,0),
(10,4,16196,35000,1,0,0,1,1,0,0,0),
(10,4,16197,35000,1,0,0,1,1,0,0,0),
(10,4,16198,35000,1,0,0,1,1,0,0,0),
(10,4,16199,35000,1,0,0,1,1,0,0,0),
(10,4,16202,35000,1,0,0,1,1,0,0,0),
(10,4,16203,35000,1,0,0,1,1,0,0,0),
(10,4,16204,35000,1,0,0,1,1,0,0,0),
(10,4,16205,35000,1,0,0,1,1,0,0,0),
(10,4,16206,35000,1,0,0,1,1,0,0,0),
(10,4,16207,35000,1,0,0,1,1,0,0,0),
(10,4,16208,35000,1,0,0,1,1,0,0,0),
(10,4,16209,35000,1,0,0,1,1,0,0,0),
(10,4,16212,35000,1,0,0,1,1,0,0,0),
(10,4,16213,35000,1,0,0,1,1,0,0,0),
(10,4,16214,35000,1,0,0,1,1,0,0,0),
(10,4,16215,35000,1,0,0,1,1,0,0,0),
(10,4,16216,35000,1,0,0,1,1,0,0,0),
(10,4,16217,35000,1,0,0,1,1,0,0,0),
(10,4,16218,35000,1,0,0,1,1,0,0,0),
(10,4,16219,35000,1,0,0,1,1,0,0,0),
(10,4,16222,35000,1,0,0,1,1,0,0,0),
(10,4,16223,35000,1,0,0,1,1,0,0,0),
(10,4,16224,35000,1,0,0,1,1,0,0,0),
(10,4,16225,35000,1,0,0,1,1,0,0,0),
(10,4,16226,35000,1,0,0,1,1,0,0,0),
(10,4,16227,35000,1,0,0,1,1,0,0,0),
(10,4,16228,35000,1,0,0,1,1,0,0,0),
(10,4,16229,35000,1,0,0,1,1,0,0,0),
(10,4,16232,35000,1,0,0,1,1,0,0,0),
(10,4,16233,35000,1,0,0,1,1,0,0,0),
(10,4,16234,35000,1,0,0,1,1,0,0,0),
(10,4,16235,35000,1,0,0,1,1,0,0,0),
(10,4,16236,35000,1,0,0,1,1,0,0,0),
(10,4,16237,35000,1,0,0,1,1,0,0,0),
(10,4,16238,35000,1,0,0,1,1,0,0,0),
(10,4,16239,35000,1,0,0,1,1,0,0,0),
(10,4,16242,35000,1,0,0,1,1,0,0,0),
(10,4,16243,35000,1,0,0,1,1,0,0,0),
(10,4,16244,35000,1,0,0,1,1,0,0,0),
(10,4,16245,35000,1,0,0,1,1,0,0,0),
(10,4,16246,35000,1,0,0,1,1,0,0,0),
(10,4,16247,35000,1,0,0,1,1,0,0,0),
(10,4,16248,35000,1,0,0,1,1,0,0,0),
(10,4,16249,35000,1,0,0,1,1,0,0,0),
(10,4,16252,35000,1,0,0,1,1,0,0,0),
(10,4,16253,35000,1,0,0,1,1,0,0,0),
(10,4,16254,35000,1,0,0,1,1,0,0,0),
(10,4,16255,35000,1,0,0,1,1,0,0,0),
(10,4,16256,35000,1,0,0,1,1,0,0,0),
(10,4,16257,35000,1,0,0,1,1,0,0,0),
(10,4,16258,35000,1,0,0,1,1,0,0,0),
(10,4,16259,35000,1,0,0,1,1,0,0,0),
(10,4,16262,35000,1,0,0,1,1,0,0,0),
(10,4,16263,35000,1,0,0,1,1,0,0,0),
(10,4,16264,35000,1,0,0,1,1,0,0,0),
(10,4,16265,35000,1,0,0,1,1,0,0,0),
(10,4,16266,35000,1,0,0,1,1,0,0,0),
(10,4,16267,35000,1,0,0,1,1,0,0,0),
(10,4,16268,35000,1,0,0,1,1,0,0,0),
(10,4,16269,35000,1,0,0,1,1,0,0,0),
(10,4,16272,35000,1,0,0,1,1,0,0,0),
(10,4,16273,35000,1,0,0,1,1,0,0,0),
(10,4,16274,35000,1,0,0,1,1,0,0,0),
(10,4,16275,35000,1,0,0,1,1,0,0,0),
(10,4,16276,35000,1,0,0,1,1,0,0,0),
(10,4,16277,35000,1,0,0,1,1,0,0,0),
(10,4,16278,35000,1,0,0,1,1,0,0,0),
(10,4,16279,35000,1,0,0,1,1,0,0,0),
(10,4,16282,35000,1,0,0,1,1,0,0,0),
(10,4,16283,35000,1,0,0,1,1,0,0,0),
(10,4,16284,35000,1,0,0,1,1,0,0,0),
(10,4,16285,35000,1,0,0,1,1,0,0,0),
(10,4,16286,35000,1,0,0,1,1,0,0,0),
(10,4,16287,35000,1,0,0,1,1,0,0,0),
(10,4,16288,35000,1,0,0,1,1,0,0,0),
(10,4,16289,35000,1,0,0,1,1,0,0,0),
(10,4,16292,35000,1,0,0,1,1,0,0,0),
(10,4,16293,35000,1,0,0,1,1,0,0,0),
(10,4,16294,35000,1,0,0,1,1,0,0,0),
(10,4,16295,35000,1,0,0,1,1,0,0,0),
(10,4,16296,35000,1,0,0,1,1,0,0,0),
(10,4,16297,35000,1,0,0,1,1,0,0,0),
(10,4,16298,35000,1,0,0,1,1,0,0,0),
(10,4,16299,35000,1,0,0,1,1,0,0,0),
(10,8,14136,15000,1,0,0,1,1,0,0,0),
(10,8,14137,15000,1,0,0,1,1,0,0,0),
(10,8,14138,15000,1,0,0,1,1,0,0,0),
(10,8,14139,15000,1,0,0,1,1,0,0,0),
(10,8,14140,15000,1,0,0,1,1,0,0,0),
(10,8,14141,15000,1,0,0,1,1,0,0,0),
(10,8,14142,15000,1,0,0,1,1,0,0,0),
(10,8,14143,15000,1,0,0,1,1,0,0,0),
(10,8,14144,15000,1,0,0,1,1,0,0,0),
(10,8,14145,15000,1,0,0,1,1,0,0,0),
(10,8,14454,30000,1,0,0,1,1,0,0,0),
(10,8,14455,30000,1,0,0,1,1,0,0,0),
(10,8,14456,30000,1,0,0,1,1,0,0,0),
(10,8,14457,30000,1,0,0,1,1,0,0,0),
(10,8,14458,30000,1,0,0,1,1,0,0,0),
(10,8,14459,30000,1,0,0,1,1,0,0,0),
(10,8,14460,30000,1,0,0,1,1,0,0,0),
(10,8,14461,30000,1,0,0,1,1,0,0,0),
(10,8,14462,30000,1,0,0,1,1,0,0,0),
(10,8,14463,30000,1,0,0,1,1,0,0,0),
(10,8,12724,50000,1,0,0,1,1,0,0,0),
(10,8,12725,50000,1,0,0,1,1,0,0,0),
(10,8,12726,50000,1,0,0,1,1,0,0,0),
(10,8,12727,50000,1,0,0,1,1,0,0,0),
(10,8,12728,50000,1,0,0,1,1,0,0,0),
(10,8,12729,50000,1,0,0,1,1,0,0,0),
(10,8,12730,50000,1,0,0,1,1,0,0,0),
(10,8,12731,50000,1,0,0,1,1,0,0,0),
(10,8,12732,50000,1,0,0,1,1,0,0,0),
(10,8,12733,50000,1,0,0,1,1,0,0,0),
(10,8,12734,50000,1,0,0,1,1,0,0,0),
(10,8,12735,50000,1,0,0,1,1,0,0,0),
(10,8,12736,50000,1,0,0,1,1,0,0,0),
(10,8,12737,50000,1,0,0,1,1,0,0,0),
(10,8,12738,50000,1,0,0,1,1,0,0,0),
(10,8,12739,50000,1,0,0,1,1,0,0,0),
(10,8,12740,50000,1,0,0,1,1,0,0,0),
(10,8,12741,50000,1,0,0,1,1,0,0,0),
(10,8,12742,50000,1,0,0,1,1,0,0,0),
(10,8,12743,50000,1,0,0,1,1,0,0,0),
(10,8,12744,50000,1,0,0,1,1,0,0,0),
(10,8,12745,50000,1,0,0,1,1,0,0,0),
(10,8,12746,50000,1,0,0,1,1,0,0,0),
(10,8,12747,50000,1,0,0,1,1,0,0,0),
(10,8,12748,50000,1,0,0,1,1,0,0,0),
(10,8,12749,50000,1,0,0,1,1,0,0,0),
(10,8,12750,50000,1,0,0,1,1,0,0,0),
(10,8,12751,50000,1,0,0,1,1,0,0,0),
(10,8,12752,50000,1,0,0,1,1,0,0,0),
(10,8,12753,50000,1,0,0,1,1,0,0,0),
(10,8,15070,50000,1,0,0,1,1,0,0,0),
(10,8,15071,50000,1,0,0,1,1,0,0,0),
(10,8,15072,50000,1,0,0,1,1,0,0,0),
(10,8,15073,50000,1,0,0,1,1,0,0,0),
(10,8,15074,50000,1,0,0,1,1,0,0,0),
(10,8,15075,50000,1,0,0,1,1,0,0,0),
(10,8,15076,50000,1,0,0,1,1,0,0,0),
(10,8,15077,50000,1,0,0,1,1,0,0,0),
(10,8,15078,50000,1,0,0,1,1,0,0,0),
(10,8,15079,50000,1,0,0,1,1,0,0,0),
(10,8,15567,20000,1,0,0,1,1,0,0,0),
(10,8,15568,20000,1,0,0,1,1,0,0,0),
(10,8,15569,20000,1,0,0,1,1,0,0,0),
(10,8,15570,20000,1,0,0,1,1,0,0,0),
(10,8,15571,20000,1,0,0,1,1,0,0,0),
(10,8,15572,20000,1,0,0,1,1,0,0,0),
(10,8,15573,20000,1,0,0,1,1,0,0,0),
(10,8,15574,20000,1,0,0,1,1,0,0,0),
(10,8,15575,20000,1,0,0,1,1,0,0,0),
(10,8,15576,20000,1,0,0,1,1,0,0,0),
(10,8,15577,20000,1,0,0,1,1,0,0,0),
(10,8,15578,20000,1,0,0,1,1,0,0,0),
(10,8,15579,20000,1,0,0,1,1,0,0,0),
(10,8,15580,20000,1,0,0,1,1,0,0,0),
(10,8,15581,20000,1,0,0,1,1,0,0,0),
(10,8,15582,20000,1,0,0,1,1,0,0,0),
(10,8,15583,20000,1,0,0,1,1,0,0,0),
(10,8,15584,20000,1,0,0,1,1,0,0,0),
(10,8,15585,20000,1,0,0,1,1,0,0,0),
(10,8,15586,20000,1,0,0,1,1,0,0,0),
(10,8,15587,20000,1,0,0,1,1,0,0,0),
(10,8,15588,20000,1,0,0,1,1,0,0,0),
(10,8,15589,20000,1,0,0,1,1,0,0,0),
(10,8,15590,20000,1,0,0,1,1,0,0,0),
(10,8,15591,20000,1,0,0,1,1,0,0,0),
(10,8,15592,20000,1,0,0,1,1,0,0,0),
(10,8,15593,20000,1,0,0,1,1,0,0,0),
(10,8,15594,20000,1,0,0,1,1,0,0,0),
(10,8,15595,20000,1,0,0,1,1,0,0,0),
(10,8,15596,20000,1,0,0,1,1,0,0,0),
(10,8,15597,20000,1,0,0,1,1,0,0,0),
(10,8,15598,20000,1,0,0,1,1,0,0,0),
(10,8,15599,20000,1,0,0,1,1,0,0,0),
(10,8,15600,20000,1,0,0,1,1,0,0,0),
(10,8,15601,20000,1,0,0,1,1,0,0,0),
(10,8,15602,20000,1,0,0,1,1,0,0,0),
(10,8,15603,20000,1,0,0,1,1,0,0,0),
(10,8,15604,20000,1,0,0,1,1,0,0,0),
(10,8,15605,20000,1,0,0,1,1,0,0,0),
(10,8,15606,20000,1,0,0,1,1,0,0,0),
(10,8,15607,20000,1,0,0,1,1,0,0,0),
(10,8,15608,20000,1,0,0,1,1,0,0,0),
(10,8,15609,20000,1,0,0,1,1,0,0,0),
(10,8,15610,20000,1,0,0,1,1,0,0,0),
(10,8,15611,20000,1,0,0,1,1,0,0,0),
(10,8,15612,20000,1,0,0,1,1,0,0,0),
(10,8,15613,20000,1,0,0,1,1,0,0,0),
(10,8,15614,20000,1,0,0,1,1,0,0,0),
(10,8,15615,20000,1,0,0,1,1,0,0,0),
(10,8,15616,20000,1,0,0,1,1,0,0,0),
(10,8,15617,20000,1,0,0,1,1,0,0,0),
(10,8,15618,20000,1,0,0,1,1,0,0,0),
(10,8,15619,20000,1,0,0,1,1,0,0,0),
(10,8,15620,20000,1,0,0,1,1,0,0,0),
(10,8,15621,20000,1,0,0,1,1,0,0,0),
(10,8,15622,20000,1,0,0,1,1,0,0,0),
(10,8,15623,20000,1,0,0,1,1,0,0,0),
(10,8,15624,20000,1,0,0,1,1,0,0,0),
(10,8,15625,20000,1,0,0,1,1,0,0,0),
(10,8,15626,20000,1,0,0,1,1,0,0,0),
(10,8,15627,20000,1,0,0,1,1,0,0,0),
(10,8,15628,20000,1,0,0,1,1,0,0,0),
(10,8,15629,20000,1,0,0,1,1,0,0,0),
(10,8,15630,20000,1,0,0,1,1,0,0,0),
(10,8,15631,20000,1,0,0,1,1,0,0,0),
(10,8,15632,20000,1,0,0,1,1,0,0,0),
(10,8,15633,20000,1,0,0,1,1,0,0,0),
(10,8,15634,20000,1,0,0,1,1,0,0,0),
(10,8,15635,20000,1,0,0,1,1,0,0,0),
(10,8,15636,20000,1,0,0,1,1,0,0,0),
(10,8,15637,20000,1,0,0,1,1,0,0,0),
(10,8,15638,20000,1,0,0,1,1,0,0,0),
(10,8,15639,20000,1,0,0,1,1,0,0,0),
(10,8,15640,20000,1,0,0,1,1,0,0,0),
(10,8,15641,20000,1,0,0,1,1,0,0,0),
(10,8,15642,20000,1,0,0,1,1,0,0,0),
(10,8,15643,20000,1,0,0,1,1,0,0,0),
(10,8,15644,20000,1,0,0,1,1,0,0,0),
(10,8,15645,20000,1,0,0,1,1,0,0,0),
(10,8,15646,20000,1,0,0,1,1,0,0,0),
(10,8,15647,20000,1,0,0,1,1,0,0,0),
(10,8,15648,20000,1,0,0,1,1,0,0,0),
(10,8,15649,20000,1,0,0,1,1,0,0,0),
(10,8,15650,20000,1,0,0,1,1,0,0,0),
(10,8,15651,20000,1,0,0,1,1,0,0,0),
(10,8,15652,20000,1,0,0,1,1,0,0,0),
(10,8,15653,20000,1,0,0,1,1,0,0,0),
(10,8,15654,20000,1,0,0,1,1,0,0,0),
(10,8,15655,20000,1,0,0,1,1,0,0,0),
(10,8,15656,20000,1,0,0,1,1,0,0,0),
(10,8,15657,20000,1,0,0,1,1,0,0,0),
(10,8,15658,20000,1,0,0,1,1,0,0,0),
(10,8,15659,20000,1,0,0,1,1,0,0,0),
(10,8,15660,20000,1,0,0,1,1,0,0,0),
(10,8,15661,20000,1,0,0,1,1,0,0,0),
(10,8,15662,20000,1,0,0,1,1,0,0,0),
(10,8,15663,20000,1,0,0,1,1,0,0,0),
(10,8,15664,20000,1,0,0,1,1,0,0,0),
(10,8,15665,20000,1,0,0,1,1,0,0,0),
(10,8,15666,20000,1,0,0,1,1,0,0,0),
(10,8,15667,20000,1,0,0,1,1,0,0,0),
(10,8,15668,20000,1,0,0,1,1,0,0,0),
(10,8,15669,20000,1,0,0,1,1,0,0,0),
(10,8,15670,20000,1,0,0,1,1,0,0,0),
(10,8,15671,20000,1,0,0,1,1,0,0,0),
(10,8,15672,20000,1,0,0,1,1,0,0,0),
(10,8,15673,20000,1,0,0,1,1,0,0,0),
(10,8,15674,20000,1,0,0,1,1,0,0,0),
(10,8,15675,20000,1,0,0,1,1,0,0,0),
(10,8,15676,20000,1,0,0,1,1,0,0,0),
(10,8,15677,20000,1,0,0,1,1,0,0,0),
(10,8,15678,20000,1,0,0,1,1,0,0,0),
(10,8,15679,20000,1,0,0,1,1,0,0,0),
(10,8,15680,20000,1,0,0,1,1,0,0,0),
(10,8,15681,20000,1,0,0,1,1,0,0,0),
(10,8,15682,20000,1,0,0,1,1,0,0,0),
(10,8,15683,20000,1,0,0,1,1,0,0,0),
(10,8,15684,20000,1,0,0,1,1,0,0,0),
(10,8,15685,20000,1,0,0,1,1,0,0,0),
(10,8,15686,20000,1,0,0,1,1,0,0,0),
(10,8,15687,20000,1,0,0,1,1,0,0,0),
(10,8,15688,20000,1,0,0,1,1,0,0,0),
(10,8,15689,20000,1,0,0,1,1,0,0,0),
(10,8,15690,20000,1,0,0,1,1,0,0,0),
(10,8,15691,20000,1,0,0,1,1,0,0,0),
(10,8,15692,20000,1,0,0,1,1,0,0,0),
(10,8,15693,20000,1,0,0,1,1,0,0,0),
(10,8,15694,20000,1,0,0,1,1,0,0,0),
(10,8,15695,20000,1,0,0,1,1,0,0,0),
(10,8,15696,20000,1,0,0,1,1,0,0,0),
(10,8,15697,20000,1,0,0,1,1,0,0,0),
(10,8,15698,20000,1,0,0,1,1,0,0,0),
(10,8,15699,20000,1,0,0,1,1,0,0,0),
(10,8,15700,20000,1,0,0,1,1,0,0,0),
(10,8,15701,20000,1,0,0,1,1,0,0,0),
(10,8,15702,20000,1,0,0,1,1,0,0,0),
(10,8,15703,20000,1,0,0,1,1,0,0,0),
(10,8,15704,20000,1,0,0,1,1,0,0,0),
(10,8,15705,20000,1,0,0,1,1,0,0,0),
(10,8,15706,20000,1,0,0,1,1,0,0,0),
(10,8,15707,20000,1,0,0,1,1,0,0,0),
(10,8,15708,20000,1,0,0,1,1,0,0,0),
(10,8,15709,20000,1,0,0,1,1,0,0,0),
(10,8,15710,20000,1,0,0,1,1,0,0,0),
(10,8,15711,20000,1,0,0,1,1,0,0,0),
(10,8,15712,20000,1,0,0,1,1,0,0,0),
(10,8,15713,20000,1,0,0,1,1,0,0,0),
(10,8,15714,20000,1,0,0,1,1,0,0,0),
(10,8,15715,20000,1,0,0,1,1,0,0,0),
(10,8,15716,20000,1,0,0,1,1,0,0,0),
(10,8,15717,20000,1,0,0,1,1,0,0,0),
(10,8,15718,20000,1,0,0,1,1,0,0,0),
(10,8,15719,20000,1,0,0,1,1,0,0,0),
(10,8,15720,20000,1,0,0,1,1,0,0,0),
(10,8,15721,20000,1,0,0,1,1,0,0,0),
(10,8,15722,20000,1,0,0,1,1,0,0,0),
(10,8,15723,20000,1,0,0,1,1,0,0,0),
(10,8,15724,20000,1,0,0,1,1,0,0,0),
(10,8,15725,20000,1,0,0,1,1,0,0,0),
(10,8,15726,20000,1,0,0,1,1,0,0,0),
(10,8,15727,20000,1,0,0,1,1,0,0,0),
(10,8,15728,20000,1,0,0,1,1,0,0,0),
(10,8,15729,20000,1,0,0,1,1,0,0,0),
(10,8,15730,20000,1,0,0,1,1,0,0,0),
(10,8,15731,20000,1,0,0,1,1,0,0,0),
(10,8,15732,20000,1,0,0,1,1,0,0,0),
(10,8,15733,20000,1,0,0,1,1,0,0,0),
(10,8,15734,20000,1,0,0,1,1,0,0,0),
(10,8,15735,20000,1,0,0,1,1,0,0,0),
(10,8,15736,20000,1,0,0,1,1,0,0,0),
(10,8,15737,20000,1,0,0,1,1,0,0,0),
(10,8,15738,20000,1,0,0,1,1,0,0,0),
(10,8,15739,20000,1,0,0,1,1,0,0,0),
(10,8,15740,20000,1,0,0,1,1,0,0,0),
(10,8,15741,20000,1,0,0,1,1,0,0,0),
(10,8,15742,20000,1,0,0,1,1,0,0,0),
(10,8,15743,20000,1,0,0,1,1,0,0,0),
(10,8,15744,20000,1,0,0,1,1,0,0,0),
(10,8,15745,20000,1,0,0,1,1,0,0,0),
(10,8,15746,20000,1,0,0,1,1,0,0,0),
(10,8,15747,20000,1,0,0,1,1,0,0,0),
(10,8,15748,20000,1,0,0,1,1,0,0,0),
(10,8,15749,20000,1,0,0,1,1,0,0,0),
(10,8,15750,20000,1,0,0,1,1,0,0,0),
(10,8,15751,20000,1,0,0,1,1,0,0,0),
(10,8,15752,20000,1,0,0,1,1,0,0,0),
(10,8,15753,20000,1,0,0,1,1,0,0,0),
(10,8,15754,20000,1,0,0,1,1,0,0,0),
(10,8,15755,20000,1,0,0,1,1,0,0,0),
(10,8,15756,20000,1,0,0,1,1,0,0,0),
(10,8,15757,20000,1,0,0,1,1,0,0,0),
(10,8,15758,20000,1,0,0,1,1,0,0,0),
(10,8,15759,20000,1,0,0,1,1,0,0,0),
(10,8,15760,20000,1,0,0,1,1,0,0,0),
(10,8,15761,20000,1,0,0,1,1,0,0,0),
(10,8,15762,20000,1,0,0,1,1,0,0,0),
(10,8,15763,20000,1,0,0,1,1,0,0,0),
(10,8,15764,20000,1,0,0,1,1,0,0,0),
(10,8,15765,20000,1,0,0,1,1,0,0,0),
(10,8,15766,20000,1,0,0,1,1,0,0,0),
(10,8,15919,20000,1,0,0,1,1,0,0,0),
(10,8,15920,20000,1,0,0,1,1,0,0,0),
(10,8,15921,20000,1,0,0,1,1,0,0,0),
(10,8,15922,20000,1,0,0,1,1,0,0,0),
(10,8,15923,20000,1,0,0,1,1,0,0,0),
(10,8,15924,20000,1,0,0,1,1,0,0,0),
(10,8,15925,20000,1,0,0,1,1,0,0,0),
(10,8,15926,20000,1,0,0,1,1,0,0,0),
(10,8,15927,20000,1,0,0,1,1,0,0,0),
(10,8,15928,20000,1,0,0,1,1,0,0,0),
(10,8,15929,20000,1,0,0,1,1,0,0,0),
(10,8,15930,20000,1,0,0,1,1,0,0,0),
(10,8,15931,20000,1,0,0,1,1,0,0,0),
(10,8,15932,20000,1,0,0,1,1,0,0,0),
(10,8,15933,20000,1,0,0,1,1,0,0,0),
(10,8,15934,20000,1,0,0,1,1,0,0,0),
(10,8,15935,20000,1,0,0,1,1,0,0,0),
(10,8,15936,20000,1,0,0,1,1,0,0,0),
(10,8,15937,20000,1,0,0,1,1,0,0,0),
(10,8,15938,20000,1,0,0,1,1,0,0,0),
(10,8,15939,20000,1,0,0,1,1,0,0,0),
(10,8,15940,20000,1,0,0,1,1,0,0,0),
(10,8,15941,20000,1,0,0,1,1,0,0,0),
(10,8,15942,20000,1,0,0,1,1,0,0,0),
(10,8,15943,20000,1,0,0,1,1,0,0,0),
(10,8,15944,20000,1,0,0,1,1,0,0,0),
(10,8,15945,20000,1,0,0,1,1,0,0,0),
(10,8,15946,20000,1,0,0,1,1,0,0,0),
(10,8,15947,20000,1,0,0,1,1,0,0,0),
(10,8,15948,20000,1,0,0,1,1,0,0,0),
(10,8,15949,20000,1,0,0,1,1,0,0,0),
(10,8,15950,20000,1,0,0,1,1,0,0,0),
(10,8,15951,20000,1,0,0,1,1,0,0,0),
(10,8,15952,20000,1,0,0,1,1,0,0,0),
(10,8,15953,20000,1,0,0,1,1,0,0,0),
(10,8,15954,20000,1,0,0,1,1,0,0,0),
(10,8,15955,20000,1,0,0,1,1,0,0,0),
(10,8,15956,20000,1,0,0,1,1,0,0,0),
(10,8,15957,20000,1,0,0,1,1,0,0,0),
(10,8,15958,20000,1,0,0,1,1,0,0,0),
(10,8,15959,20000,1,0,0,1,1,0,0,0),
(10,8,15960,20000,1,0,0,1,1,0,0,0),
(10,8,15961,20000,1,0,0,1,1,0,0,0),
(10,8,15962,20000,1,0,0,1,1,0,0,0),
(10,8,15963,20000,1,0,0,1,1,0,0,0),
(10,8,15964,20000,1,0,0,1,1,0,0,0),
(10,8,15965,20000,1,0,0,1,1,0,0,0),
(10,8,15966,20000,1,0,0,1,1,0,0,0),
(10,8,15967,20000,1,0,0,1,1,0,0,0),
(10,8,15968,20000,1,0,0,1,1,0,0,0),
(10,7,13506,250,1,0,0,1,1,0,50,0),
(10,7,15011,250,1,0,0,1,1,0,50,0),
(10,7,13636,250,1,0,0,1,1,0,50,0),
(10,7,15022,250,1,0,0,1,1,0,50,0),
(10,8,4407,1000,1,0,0,1,1,0,0,0),
(10,8,4408,1000,1,0,0,1,1,0,0,0),
(10,8,4409,1000,1,0,0,1,1,0,0,0),
(10,8,4410,1000,1,0,0,1,1,0,0,0),
(10,8,4411,1000,1,0,0,1,1,0,0,0),
(10,8,4412,1000,1,0,0,1,1,0,0,0),
(10,8,4413,1000,1,0,0,1,1,0,0,0),
(10,8,4414,1000,1,0,0,1,1,0,0,0),
(10,8,4823,1000,1,0,0,1,1,0,0,0),
(10,8,4824,1000,1,0,0,1,1,0,0,0),
(10,8,4825,1000,1,0,0,1,1,0,0,0),
(10,8,4826,1000,1,0,0,1,1,0,0,0),
(10,8,4827,1000,1,0,0,1,1,0,0,0),
(10,8,4828,1000,1,0,0,1,1,0,0,0),
(10,8,4829,1000,1,0,0,1,1,0,0,0),
(10,8,4830,1000,1,0,0,1,1,0,0,0),
(10,8,5194,1000,1,0,0,1,1,0,0,0),
(10,8,5195,1000,1,0,0,1,1,0,0,0),
(10,8,5196,1000,1,0,0,1,1,0,0,0),
(10,8,5197,1000,1,0,0,1,1,0,0,0),
(10,8,5198,1000,1,0,0,1,1,0,0,0),
(10,8,5199,1000,1,0,0,1,1,0,0,0),
(10,8,5200,1000,1,0,0,1,1,0,0,0),
(10,8,5201,1000,1,0,0,1,1,0,0,0),
(10,8,13630,1000,1,0,0,1,1,0,0,0),
(10,8,13631,1000,1,0,0,1,1,0,0,0),
(10,8,13632,1000,1,0,0,1,1,0,0,0),
(10,8,13633,1000,1,0,0,1,1,0,0,0),
(10,8,13634,1000,1,0,0,1,1,0,0,0),
(10,8,13635,1000,1,0,0,1,1,0,0,0),
(10,8,15103,1000,1,0,0,1,1,0,0,0),
(10,8,15104,1000,1,0,0,1,1,0,0,0),
(10,8,15105,1000,1,0,0,1,1,0,0,0),
(10,8,15106,1000,1,0,0,1,1,0,0,0),
(10,8,15107,1000,1,0,0,1,1,0,0,0),
(10,8,15108,1000,1,0,0,1,1,0,0,0),
(10,8,16459,1000,1,0,0,1,1,0,0,0),
(10,8,16460,1000,1,0,0,1,1,0,0,0),
(10,8,16461,1000,1,0,0,1,1,0,0,0),
(10,8,16462,1000,1,0,0,1,1,0,0,0),
(10,8,16463,1000,1,0,0,1,1,0,0,0),
(10,8,16464,1000,1,0,0,1,1,0,0,0),
(10,8,16465,1000,1,0,0,1,1,0,0,0),
(10,8,16466,1000,1,0,0,1,1,0,0,0),
(10,8,16467,1000,1,0,0,1,1,0,0,0),
(10,8,16468,1000,1,0,0,1,1,0,0,0),
(10,8,16469,1000,1,0,0,1,1,0,0,0),
(10,8,16470,1000,1,0,0,1,1,0,0,0),
(10,8,16471,1000,1,0,0,1,1,0,0,0),
(10,8,16472,1000,1,0,0,1,1,0,0,0),
(10,8,13416,1000,1,0,0,1,1,0,0,0),
(10,8,13417,1000,1,0,0,1,1,0,0,0),
(10,8,13418,1000,1,0,0,1,1,0,0,0),
(10,8,13419,1000,1,0,0,1,1,0,0,0),
(10,8,13420,1000,1,0,0,1,1,0,0,0),
(10,8,14283,1000,1,0,0,1,1,0,0,0),
(10,8,14284,1000,1,0,0,1,1,0,0,0),
(10,8,14285,1000,1,0,0,1,1,0,0,0),
(10,8,14286,1000,1,0,0,1,1,0,0,0),
(10,8,13182,1000,1,0,0,1,1,0,0,0),
(10,8,13507,1000,1,0,0,1,1,0,0,0),
(10,8,13981,1000,1,0,0,1,1,0,0,0),
(10,8,14744,1000,1,0,0,1,1,0,0,0),
(10,8,14893,1000,1,0,0,1,1,0,0,0),
(10,8,15785,1000,1,0,0,1,1,0,0,0),
(10,8,16419,1000,1,0,0,1,1,0,0,0),
(10,8,11470,1000,1,0,0,1,1,0,0,0),
(10,8,12512,1000,1,0,0,1,1,0,0,0),
(10,8,12884,1000,1,0,0,1,1,0,0,0),
(10,8,12513,1000,1,0,0,1,1,0,0,0),
(10,8,12514,1000,1,0,0,1,1,0,0,0),
(10,8,12515,1000,1,0,0,1,1,0,0,0),
(10,8,12516,1000,1,0,0,1,1,0,0,0),
(10,8,12517,1000,1,0,0,1,1,0,0,0),
(10,8,12518,1000,1,0,0,1,1,0,0,0),
(10,8,12519,1000,1,0,0,1,1,0,0,0),
(10,8,12520,1000,1,0,0,1,1,0,0,0),
(10,8,12521,1000,1,0,0,1,1,0,0,0),
(10,8,8179,1000,1,0,0,1,1,0,0,0),
(10,8,9704,1000,1,0,0,1,1,0,0,0),
(10,8,15448,1000,1,0,0,1,1,0,0,0),
(10,8,11162,1000,1,0,0,1,1,0,0,0),
(10,8,11163,1000,1,0,0,1,1,0,0,0),
(10,8,11164,1000,1,0,0,1,1,0,0,0),
(10,8,11165,1000,1,0,0,1,1,0,0,0),
(10,8,11661,1000,1,0,0,1,1,0,0,0),
(10,8,11662,1000,1,0,0,1,1,0,0,0),
(10,8,14639,1000,1,0,0,1,1,0,0,0),
(10,7,15774,3000,1,0,0,1,1,0,100,0),
(10,7,15775,3000,1,0,0,1,1,0,100,0),
(10,7,11420,3000,1,0,0,1,1,0,100,0),
(10,7,14704,3000,1,0,0,1,1,0,100,0),
(10,7,13177,3000,1,0,0,1,1,0,100,0),
(10,7,14191,3000,1,0,0,1,1,0,100,0),
(10,7,13449,3000,1,0,0,1,1,0,100,0),
(10,7,14192,3000,1,0,0,1,1,0,100,0),
(10,7,15772,3000,1,0,0,1,1,0,100,0),
(10,7,13791,3000,1,0,0,1,1,0,100,0),
(10,7,14006,3000,1,0,0,1,1,0,100,0),
(10,7,15768,3000,1,0,0,1,1,0,100,0),
(10,7,14069,3000,1,0,0,1,1,0,100,0),
(10,7,14124,3000,1,0,0,1,1,0,100,0),
(10,7,15507,3000,1,0,0,1,1,0,100,0),
(10,7,15508,3000,1,0,0,1,1,0,100,0),
(10,7,14855,3000,1,0,0,1,1,0,100,0),
(10,7,14894,3000,1,0,0,1,1,0,100,0),
(10,7,16444,3000,1,0,0,1,1,0,100,0),
(10,7,16445,3000,1,0,0,1,1,0,100,0),
(10,7,12509,3000,1,0,0,1,1,0,100,0),
(10,7,14126,3000,1,0,0,1,1,0,100,0),
(10,7,15062,3000,1,0,0,1,1,0,100,0),
(10,7,15063,3000,1,0,0,1,1,0,100,0),
(10,7,14891,3000,1,0,0,1,1,0,100,0),
(10,7,14895,3000,1,0,0,1,1,0,100,0),
(10,7,14091,3000,1,0,0,1,1,0,100,0),
(10,7,14092,3000,1,0,0,1,1,0,100,0),
(10,7,14501,3000,1,0,0,1,1,0,100,0),
(10,7,14506,3000,1,0,0,1,1,0,100,0),
(10,7,15285,3000,1,0,0,1,1,0,100,0),
(10,7,15286,3000,1,0,0,1,1,0,100,0),
(10,7,16442,3000,1,0,0,1,1,0,100,0),
(10,7,16443,3000,1,0,0,1,1,0,100,0),
(10,7,15027,3000,1,0,0,1,1,0,100,0),
(10,7,15028,3000,1,0,0,1,1,0,100,0),
(10,7,13453,3000,1,0,0,1,1,0,100,0),
(10,7,14193,3000,1,0,0,1,1,0,100,0),
(10,7,13178,3000,1,0,0,1,1,0,100,0),
(10,7,14194,3000,1,0,0,1,1,0,100,0),
(10,7,16454,3000,1,0,0,1,1,0,100,0),
(10,7,16455,3000,1,0,0,1,1,0,100,0),
(10,7,15030,3000,1,0,0,1,1,0,100,0),
(10,7,15031,3000,1,0,0,1,1,0,100,0),
(10,7,13790,3000,1,0,0,1,1,0,100,0),
(10,7,14005,3000,1,0,0,1,1,0,100,0),
(10,7,14406,3000,1,0,0,1,1,0,100,0),
(10,7,14413,3000,1,0,0,1,1,0,100,0),
(10,7,16448,3000,1,0,0,1,1,0,100,0),
(10,7,16449,3000,1,0,0,1,1,0,100,0),
(10,7,12872,3000,1,0,0,1,1,0,100,0),
(10,7,14187,3000,1,0,0,1,1,0,100,0),
(10,7,14125,3000,1,0,0,1,1,0,100,0),
(10,7,14500,3000,1,0,0,1,1,0,100,0),
(10,7,14505,3000,1,0,0,1,1,0,100,0),
(10,7,15118,3000,1,0,0,1,1,0,100,0),
(10,7,15119,3000,1,0,0,1,1,0,100,0),
(10,7,14662,3000,1,0,0,1,1,0,100,0),
(10,7,14663,3000,1,0,0,1,1,0,100,0),
(10,7,15771,3000,1,0,0,1,1,0,100,0),
(10,7,9700,3000,1,0,0,1,1,0,100,0),
(10,7,14498,3000,1,0,0,1,1,0,100,0),
(10,7,14913,3000,1,0,0,1,1,0,100,0),
(10,7,14914,3000,1,0,0,1,1,0,100,0),
(10,7,13508,3000,1,0,0,1,1,0,100,0),
(10,7,15115,3000,1,0,0,1,1,0,100,0),
(10,7,15116,3000,1,0,0,1,1,0,100,0),
(10,7,15113,3000,1,0,0,1,1,0,100,0),
(10,7,15114,3000,1,0,0,1,1,0,100,0),
(10,7,15222,3000,1,0,0,1,1,0,100,0),
(10,7,15223,3000,1,0,0,1,1,0,100,0),
(10,7,10750,3000,1,0,0,1,1,0,100,0),
(10,7,14705,3000,1,0,0,1,1,0,100,0),
(10,7,15027,3000,1,0,0,1,1,0,100,0),
(10,7,15028,3000,1,0,0,1,1,0,100,0),
(10,7,10380,3000,1,0,0,1,1,0,100,0),
(10,7,15060,3000,1,0,0,1,1,0,100,0),
(10,7,13963,3000,1,0,0,1,1,0,100,0),
(10,7,14026,3000,1,0,0,1,1,0,100,0),
(10,7,13964,3000,1,0,0,1,1,0,100,0),
(10,7,14027,3000,1,0,0,1,1,0,100,0),
(10,7,15064,3000,1,0,0,1,1,0,100,0),
(10,7,15065,3000,1,0,0,1,1,0,100,0),
(10,7,15524,3000,1,0,0,1,1,0,100,0),
(10,7,15525,3000,1,0,0,1,1,0,100,0),
(10,7,16450,3000,1,0,0,1,1,0,100,0),
(10,7,16451,3000,1,0,0,1,1,0,100,0),
(10,7,16344,3000,1,0,0,1,1,0,100,0),
(10,7,16345,3000,1,0,0,1,1,0,100,0),
(10,7,16342,3000,1,0,0,1,1,0,100,0),
(10,7,16343,3000,1,0,0,1,1,0,100,0),
(10,7,15220,3000,1,0,0,1,1,0,100,0),
(10,7,15221,3000,1,0,0,1,1,0,100,0),
(10,7,15066,3000,1,0,0,1,1,0,100,0),
(10,7,15067,3000,1,0,0,1,1,0,100,0),
(10,7,14089,3000,1,0,0,1,1,0,100,0),
(10,7,14090,3000,1,0,0,1,1,0,100,0),
(10,7,14195,3000,1,0,0,1,1,0,100,0),
(10,7,14196,3000,1,0,0,1,1,0,100,0),
(10,7,13965,3000,1,0,0,1,1,0,100,0),
(10,7,14028,3000,1,0,0,1,1,0,100,0),
(10,7,13508,3000,1,0,0,1,1,0,100,0),
(10,7,13962,3000,1,0,0,1,1,0,100,0),
(10,7,14314,3000,1,0,0,1,1,0,100,0),
(10,7,13404,3000,1,0,0,1,1,0,100,0),
(10,7,14188,3000,1,0,0,1,1,0,100,0),
(10,7,14032,3000,1,0,0,1,1,0,100,0),
(10,7,13960,3000,1,0,0,1,1,0,100,0),
(10,7,15819,3000,1,0,0,1,1,0,100,0),
(10,7,15820,3000,1,0,0,1,1,0,100,0),
(10,7,10750,3000,1,0,0,1,1,0,100,0),
(10,7,14705,3000,1,0,0,1,1,0,100,0),
(10,7,14407,3000,1,0,0,1,1,0,100,0),
(10,7,14414,3000,1,0,0,1,1,0,100,0),
(10,7,16352,3000,1,0,0,1,1,0,100,0),
(10,7,16353,3000,1,0,0,1,1,0,100,0),
(10,7,14502,3000,1,0,0,1,1,0,100,0),
(10,7,14507,3000,1,0,0,1,1,0,100,0),
(10,7,10811,3000,1,0,0,1,1,0,100,0),
(10,7,15061,3000,1,0,0,1,1,0,100,0),
(10,7,15823,3000,1,0,0,1,1,0,100,0),
(10,7,15824,3000,1,0,0,1,1,0,100,0),
(10,7,15224,3000,1,0,0,1,1,0,100,0),
(10,7,15225,3000,1,0,0,1,1,0,100,0),
(10,7,14503,3000,1,0,0,1,1,0,100,0),
(10,7,14510,3000,1,0,0,1,1,0,100,0),
(10,7,15776,3000,1,0,0,1,1,0,100,0),
(10,7,15777,3000,1,0,0,1,1,0,100,0),
(10,7,15821,3000,1,0,0,1,1,0,100,0),
(10,7,15822,3000,1,0,0,1,1,0,100,0),
(10,7,14198,3000,1,0,0,1,1,0,100,0),
(10,7,14197,3000,1,0,0,1,1,0,100,0),
(10,7,16446,3000,1,0,0,1,1,0,100,0),
(10,7,16447,3000,1,0,0,1,1,0,100,0),
(10,7,14905,3000,1,0,0,1,1,0,100,0),
(10,7,14907,3000,1,0,0,1,1,0,100,0),
(10,7,14904,3000,1,0,0,1,1,0,100,0),
(10,7,14906,3000,1,0,0,1,1,0,100,0),
(10,7,14659,3000,1,0,0,1,1,0,100,0),
(10,7,14660,3000,1,0,0,1,1,0,100,0),
(10,7,13326,3000,1,0,0,1,1,0,100,0),
(10,7,14416,3000,1,0,0,1,1,0,100,0),
(10,7,13450,3000,1,0,0,1,1,0,100,0),
(10,7,14031,3000,1,0,0,1,1,0,100,0),
(10,7,16492,3000,1,0,0,1,1,0,100,0),
(10,7,16493,3000,1,0,0,1,1,0,100,0),
(10,7,14299,500,1,0,0,1,1,0,20,0),
(10,7,14389,500,1,0,0,1,1,0,20,0),
(10,7,15177,500,1,0,0,1,1,0,20,0),
(10,7,14537,500,1,0,0,1,1,0,20,0),
(10,7,14758,500,1,0,0,1,1,0,20,0),
(10,7,14854,500,1,0,0,1,1,0,20,0),
(10,7,13974,500,1,0,0,1,1,0,20,0),
(10,7,15021,500,1,0,0,1,1,0,20,0),
(10,7,15111,500,1,0,0,1,1,0,20,0),
(10,7,15226,500,1,0,0,1,1,0,20,0),
(10,7,15773,500,1,0,0,1,1,0,20,0),
(10,7,15825,500,1,0,0,1,1,0,20,0),
(10,7,15827,500,1,0,0,1,1,0,20,0),
(10,7,16340,500,1,0,0,1,1,0,20,0),
(10,7,16341,500,1,0,0,1,1,0,20,0),
(10,7,16457,500,1,0,0,1,1,0,20,0),
(10,7,16458,500,1,0,0,1,1,0,20,0),
(10,7,11698,250,1,0,0,1,1,0,50,0),
(10,7,11700,250,1,0,0,1,1,0,50,0),
(10,8,9958,20,1,0,0,1,1,0,0,999),
(10,8,11284,15,1,0,0,1,1,0,0,0),
(10,8,11285,15,1,0,0,1,1,0,0,0),
(10,8,11286,15,1,0,0,1,1,0,0,0),
(10,8,10356,500,1,0,0,1,1,0,0,0),
(10,8,12511,500,1,0,0,1,1,0,0,0),
(10,8,13238,500,1,0,0,1,1,0,0,0),
(10,8,11383,10,1,0,0,1,1,0,0,0),
(10,8,11382,10,1,0,0,1,1,0,0,0),
(10,8,11381,10,1,0,0,1,1,0,0,0),
(10,7,16348,3000,1,0,0,1,1,0,100,0),
(10,8,11386,10,1,0,0,1,1,0,0,0),
(10,8,14444,10,1,0,0,1,1,0,0,0),
(10,8,14443,10,1,0,0,1,1,0,0,0),
(10,8,14445,10,1,0,0,1,1,0,0,0),
(10,8,15068,500,1,0,0,1,1,0,20,0),
(10,7,16532,1000,1,0,0,1,1,0,0,0),
(10,7,14368,3000,1,0,0,1,1,0,50,0),
(10,7,1622,3000,1,0,0,1,1,0,0,0),
(10,7,16456,500,1,0,0,1,1,0,0,0);
END;

View File

@@ -0,0 +1,178 @@
BEGIN;
INSERT INTO public.scenario_counter
(scenario_id, category_id)
VALUES
(17,0),
(93,1),
(92,1),
(81,1),
(91,1),
(90,1),
(89,1),
(88,1),
(87,1),
(86,1),
(85,1),
(84,1),
(83,1),
(82,1),
(87,3),
(88,3),
(89,3),
(90,3),
(91,3),
(92,3),
(83,3),
(86,3),
(60,3),
(58,3),
(59,3),
(27,3),
(25,3),
(26,3),
(23,3),
(2,3),
(3,3),
(4,3),
(31,3),
(32,3),
(33,3),
(34,3),
(35,3),
(36,3),
(37,3),
(40,3),
(38,3),
(39,3),
(48,3),
(12,3),
(13,3),
(30,3),
(29,3),
(46,3),
(0,4),
(1,4),
(2,4),
(3,4),
(4,4),
(5,4),
(6,4),
(7,4),
(8,4),
(9,4),
(10,4),
(11,4),
(12,4),
(13,4),
(14,4),
(50,5),
(51,5),
(52,5),
(53,5),
(54,5),
(55,5),
(56,5),
(58,5),
(63,5),
(64,5),
(65,5),
(67,5),
(71,5),
(75,5),
(61,5),
(68,5),
(66,5),
(76,5),
(70,5),
(77,5),
(72,5),
(74,5),
(73,5),
(78,5),
(69,5),
(62,5),
(79,5),
(0,6),
(1,6),
(2,6),
(3,6),
(4,6),
(5,6),
(6,6),
(7,6),
(8,6),
(9,6),
(17,6),
(10,6),
(11,6),
(12,6),
(13,6),
(14,6),
(15,6),
(16,6),
(50,7),
(53,7),
(62,7),
(52,7),
(56,7),
(51,7),
(49,7),
(54,7),
(57,7),
(55,7),
(61,7),
(58,7),
(60,7),
(59,7),
(42,7),
(48,7),
(40,7),
(39,7),
(43,7),
(46,7),
(41,7),
(44,7),
(45,7),
(47,7),
(37,7),
(34,7),
(33,7),
(32,7),
(28,7),
(26,7),
(36,7),
(38,7),
(35,7),
(27,7),
(30,7),
(31,7),
(29,7),
(24,7),
(23,7),
(22,7),
(21,7),
(25,7),
(20,7),
(7,7),
(9,7),
(13,7),
(16,7),
(12,7),
(14,7),
(15,7),
(19,7),
(10,7),
(8,7),
(11,7),
(18,7),
(17,7),
(6,7),
(5,7),
(4,7),
(3,7),
(2,7),
(1,7),
(0,7);
END;

File diff suppressed because it is too large Load Diff