├── styles
├── console_dark.css
├── players.css
├── cheat.css
├── console.css
└── picnic.css
├── pages
├── server.html
├── default.html
├── settings.html
├── players.html
└── cheat.html
├── scripts
├── parent.js
├── cheat.js
├── players.js
├── onload.js
├── cheat
│ ├── weapon.js
│ ├── avatar.js
│ ├── quickcommand.js
│ ├── monster.js
│ ├── item.js
│ ├── reli.js
│ └── data.js
└── console.js
├── README.md
├── console.html
└── LICENSE
/styles/console_dark.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pages/server.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | This is the server page!
9 |
--------------------------------------------------------------------------------
/pages/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | This is the default page!
9 |
--------------------------------------------------------------------------------
/pages/settings.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | This is the settings page!
9 |
--------------------------------------------------------------------------------
/scripts/parent.js:
--------------------------------------------------------------------------------
1 | async function sendCommand(payload, method="invoke", background=false, persistent="auto") {
2 | const parent = window.parent
3 | return await parent.sendCommand(payload, method, background, persistent)
4 | }
--------------------------------------------------------------------------------
/pages/players.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/styles/players.css:
--------------------------------------------------------------------------------
1 | #playerList {
2 | display: flex;
3 | flex-direction: column;
4 | width: 50%;
5 | margin: auto;
6 | }
7 |
8 | .playerSection {
9 | display: flex;
10 | flex-direction: row;
11 | justify-content: space-between;
12 | width: 100%;
13 |
14 | padding: 6px;
15 | }
16 |
17 | .buttons {
18 | display: flex;
19 | flex-direction: row;
20 | justify-content: space-between;
21 | width: 15%;
22 | }
23 |
24 | .zebra {
25 | background-color: #eee;
26 | }
--------------------------------------------------------------------------------
/scripts/cheat.js:
--------------------------------------------------------------------------------
1 |
2 | document.addEventListener("DOMContentLoaded", ()=> {
3 | var toolset = document.getElementsByClassName("toolset")[0];
4 | var panel = document.getElementById("panel");
5 | toolset.onclick = (e)=> {
6 | if (e.target != toolset && e.target.tagName == "LABEL") {
7 | panel.innerHTML = ""; // clear the panel
8 | }
9 | }
10 | genQuickCommand();
11 | // genWeapon();
12 | // genAvatar();
13 | // genReli();
14 | // genItem();
15 | // genMonster();
16 | document.getElementById("tab-1").onclick = genQuickCommand;
17 | document.getElementById("tab-2").onclick = genAvatar;
18 | document.getElementById("tab-3").onclick = genWeapon;
19 | document.getElementById("tab-4").onclick = genReli;
20 | document.getElementById("tab-5").onclick = genItem;
21 | document.getElementById("tab-6").onclick = genMonster;
22 | });
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MojoFrontend
2 | Frontend for [Mojo Console](https://github.com/mingjun97/gc-mojoconsole-plus).
3 |
4 |
5 | ## Usage
6 |
7 | Download this repo as zip file. Put the contents into the `plugins/mojoconsole` folder of grasscutter along with `mojoconsole.jar`. Then follow the instructions of using the `mojoconsoleplus`.
8 |
9 | ## Showcase
10 |
11 | 
12 | 
13 | 
14 | 
15 | 
16 | 
17 |
--------------------------------------------------------------------------------
/console.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Mojo Console
![]()
13 |
Ready
14 |
15 |
16 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/scripts/players.js:
--------------------------------------------------------------------------------
1 | document.addEventListener('DOMContentLoaded', () => {
2 | displayUserList();
3 | })
4 |
5 | function kickUser(username) {
6 | const payload = `/kick ${username}`;
7 |
8 | sendCommand(payload);
9 | }
10 |
11 | async function displayUserList() {
12 | const resp = await sendCommand('/list', 'invoke', true);
13 |
14 | // Do some funky string stuff
15 | const dataArr = resp.payload.split('\n').map(x => x.trim()).filter(x => x.length > 0);
16 |
17 | // Number of users online
18 | const amountOnline = parseInt(dataArr[0].split('are ')[1].split('p')[0]);
19 |
20 | // Player name list
21 | const players = dataArr.slice(1, dataArr.length);
22 |
23 | let zebra = true;
24 |
25 | for (const player of players) {
26 | const playerList = document.getElementById('playerList');
27 | const playerSection = document.createElement('div')
28 | playerSection.className = zebra ? 'playerSection' : 'playerSection zebra';
29 | playerSection.innerHTML = `${player}`;
30 |
31 | // Kick and ban buttons
32 | const buttons = document.createElement('div');
33 | buttons.className = 'buttons';
34 | buttons.innerHTML = ``;
35 | buttons.innerHTML += ``;
36 |
37 | playerSection.appendChild(buttons);
38 |
39 | playerList.appendChild(playerSection);
40 |
41 | zebra = !zebra;
42 | }
43 | }
--------------------------------------------------------------------------------
/scripts/onload.js:
--------------------------------------------------------------------------------
1 | var networkIssuesInformed = false;
2 |
3 | function checkStatus(){
4 | var status = document.getElementById("status");
5 | sendCommand("", "ping").then(res => {
6 | if (res.code == 200) {
7 | status.classList.add("ready");
8 | status.classList.remove("error");
9 | document.getElementById("statusText").innerText = "Ready";
10 | networkIssuesInformed = false;
11 | } else {
12 | throw new Error("");
13 | }
14 | }).catch(err => {
15 | status.classList.add("error");
16 | status.classList.remove("ready");
17 | document.getElementById("statusText").innerText = "Error";
18 | if (!networkIssuesInformed) {
19 | message("Network issue detected, you may request a new MojoConsole link in game.", "fail");
20 | networkIssuesInformed = true;
21 | }
22 | })
23 | }
24 |
25 | document.addEventListener("DOMContentLoaded", () => {
26 | const sidebarItems = document.querySelector("#sidebar").children;
27 |
28 | for (const item of sidebarItems) {
29 | item.onclick = (e) => switchPage(e.target.dataset.value)
30 | }
31 | checkStatus();
32 | setInterval(() => { // check console status
33 | checkStatus();
34 | }, 30 * 1000 );
35 | // adjust frame height
36 | setTimeout(() => {
37 | var height = window.innerHeight
38 | || document.documentElement.clientHeight
39 | || document.body.clientHeight;
40 | var content = document.getElementById("content");
41 | height = height - content.getBoundingClientRect().y - 30;
42 | content.style.height = height + "px";
43 |
44 | message("Welcome to MojoConsolePlus!");
45 | },10); // delay height modification to avoid issues
46 | })
47 |
--------------------------------------------------------------------------------
/pages/cheat.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/styles/cheat.css:
--------------------------------------------------------------------------------
1 | .container {
2 | display: flex;
3 | justify-content: space-between;
4 | height: 100vh;
5 | overflow: hidden;
6 | position: absolute;
7 | top: 0;
8 | right: 3em;
9 | }
10 |
11 | .toolset {
12 | display: flex;
13 | flex-direction: column;
14 | overflow-y: auto;
15 | }
16 |
17 | #panel {
18 | margin-left: 3em;
19 | display: flex;
20 | flex-direction: column;
21 | width: 70vw;
22 | overflow-y: auto;
23 | overflow-x: hidden;
24 | }
25 |
26 | .commandGroup {
27 | display: flex;
28 | justify-content: space-between;
29 | align-items: center;
30 | width: 100%;
31 | padding-right: 0.5em;
32 | }
33 |
34 | .commandGroup>*:last-child {
35 |
36 | /* margin-left: auto; */
37 | margin-right: 0.5em;
38 | }
39 |
40 | .commandGroup input{
41 | /* margin-left: 1em; */
42 | margin-right: 1em;
43 | }
44 |
45 | hr.solid {
46 | border-top: 1px solid #bbb;
47 | margin-left: 1px;
48 | margin-right: 1px;
49 | margin-top: -5px;
50 | margin-bottom: 8px;
51 | }
52 |
53 | .hidden {
54 | display: none;
55 | }
56 |
57 | .search-box {
58 | height: 3em;
59 | transition: all ease-in-out 0.5s;
60 | }
61 |
62 | .by-name {
63 | overflow-y: auto;
64 | }
65 |
66 | .quality-blue {
67 | background: rgb(40, 40, 255);
68 | color: #fff;
69 | }
70 |
71 | .quality-orange {
72 | background: orange !important;
73 | color: #fff;
74 | }
75 |
76 | .quality-green {
77 | background: rgb(67, 140, 74) !important;
78 | color: #fff;
79 | }
80 |
81 | .quality-white {
82 | background: rgb(124, 124, 124) !important;
83 | color: #fff;
84 | }
85 |
86 | .quality-unknown {
87 | background: rgb(240, 60, 60) !important;
88 | color: #fff;
89 | }
90 |
91 | .quality-purple {
92 | background: rgb(158, 1, 158) !important;
93 | color: #fff;
94 | }
95 |
96 | .quality-gray {
97 | background: rgb(187, 187, 187) !important;
98 | color: rgb(0, 0, 0) !important;
99 |
100 | }
--------------------------------------------------------------------------------
/scripts/cheat/weapon.js:
--------------------------------------------------------------------------------
1 |
2 | function genWeapon() {
3 | var panel = document.getElementById("panel");
4 | panel.innerHTML = ``;
23 |
24 | updateWeaponList();
25 | document.getElementById("weapon-filter").onchange = updateWeaponList;
26 | document.getElementById("execute").onclick = () => {
27 | var weaponId = document.getElementById("weapon-id").value;
28 | var amount = document.getElementById("amount").value;
29 | var level = document.getElementById("level").value;
30 | var refine = document.getElementById("refine").value;
31 | sendCommand(`give ${weaponId} ${amount} ${level} ${refine}`);
32 | }
33 | }
34 |
35 | function updateWeaponList() {
36 | var filter = document.getElementById("weapon-filter").value;
37 | var select = document.getElementById("weapon-id");
38 | select.innerHTML = "";
39 | weapon_list.forEach(element => {
40 | if (filter == 0 || element.level == filter){
41 | var o = document.createElement("option");
42 | o.innerText = `${element.name} - ${element.id}`; ;
43 | o.value = element.id;
44 | select.appendChild(o);
45 | }
46 |
47 | });
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/scripts/cheat/avatar.js:
--------------------------------------------------------------------------------
1 |
2 | function genAvatar() {
3 | var panel = document.getElementById("panel");
4 | panel.innerHTML = ``;
24 |
25 | updateCharacterList();
26 | document.getElementById("character-filter").onchange = updateCharacterList;
27 | document.getElementById("execute").onclick = () => {
28 | var characterId = document.getElementById("character-id").value;
29 | var amount = document.getElementById("amount").value;
30 | var level = document.getElementById("level").value;
31 | if (characterId){
32 | sendCommand(`givechar ${characterId} ${level}`);
33 | if (amount > 0) {
34 | sendCommand(`give ${characterId % 1000 + 1100} ${amount}`);
35 | }
36 | }
37 | }
38 | }
39 |
40 |
41 | function updateCharacterList() {
42 | var filter = document.getElementById("character-filter").value;
43 | var select = document.getElementById("character-id");
44 | select.innerHTML = "";
45 | console.log(filter);
46 | avatar_list.forEach(element => {
47 | if (filter == 0 || element.element == filter){
48 | var o = document.createElement("option");
49 | o.innerText = `${element.name} - ${element.id}`; ;
50 | o.value = element.id;
51 | select.appendChild(o);
52 | }
53 |
54 | });
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/scripts/console.js:
--------------------------------------------------------------------------------
1 | var DEBUG = true;
2 | async function sendCommand(payload, method="invoke", background=false, persistent="auto") {
3 | let key = new window.URLSearchParams(window.location.search).get("k");
4 | let url = '/mojoplus/api';
5 | let data = JSON.stringify({ "k": key, "request": method, "payload": payload });
6 | if (DEBUG) console.log(payload);
7 | let response = await fetch(url, {
8 | method: 'POST',
9 | headers: {
10 | 'Content-Type': 'application/json'
11 | },
12 | body: data,
13 | })
14 | try {
15 | let json = await response.json();
16 | try{
17 | if (method == 'invoke' && !background) {
18 | if (json.code != 200) throw Error('');
19 | var m = json.payload.trim().replace(/\r/g, "").replace(/\n\n/g, "\n");
20 | if(persistent == "auto") {
21 | var m2 = m.replace(/\n/g, "");
22 | persistent = (m.length - m2.length) > 3; // true more than 3 lines
23 | }
24 | message(`${m}`, null, persistent);
25 | }
26 | return json
27 | } catch (e) {
28 | var messages = `Request failed.`
29 | if (json.code) {
30 | messages += ` Code: ${json.message}`
31 | }
32 | message(messages, "fail", false);
33 | }
34 |
35 | } catch (err) {
36 | message("Connection issue.", "fail", false);
37 | }
38 | }
39 |
40 | function dismissMessage(){
41 | document.getElementById("message").style.opacity = 1;
42 | setTimeout(() => {
43 | document.getElementById("message").classList.add("hide");
44 | }, 500);
45 | document.getElementById("message").style.opacity = 0;
46 | }
47 |
48 | function switchPage(page) {
49 | const iframe = document.getElementById("content");
50 | iframe.src = `pages/${page}.html`;
51 | }
52 |
53 | function message(message, className, persistent=false) {
54 | var m = document.createElement("div");
55 | m.classList.add("messageBox");
56 | m.classList.add("initial");
57 | if (className) m.classList.add(className);
58 | var mc = document.createElement("div");
59 | var dismissButton = document.createElement("button");
60 | mc.classList.add("messageContent");
61 | mc.innerText = message;
62 | dismissButton.innerText = "Dissmiss";
63 | m.appendChild(mc);
64 | m.appendChild(dismissButton);
65 | document.getElementById("message").appendChild(m);
66 | dismissButton.onclick = (e) => {
67 | dismissMessageInternal(e.target.parentNode);
68 | }
69 | // m.classList.remove("initial");
70 | setTimeout(function() {
71 | m.classList.remove("initial");
72 | }, 100);
73 | if (!persistent) setTimeout(() => dismissMessageInternal(m), 4000);
74 | }
75 |
76 | function dismissMessageInternal(target) {
77 | if (target){
78 | target.classList.add("finish");
79 | setTimeout(()=>{target.remove();}, 400);
80 | }
81 | }
--------------------------------------------------------------------------------
/scripts/cheat/quickcommand.js:
--------------------------------------------------------------------------------
1 | qucick_command = [
2 | {name: "Heal All Characters", command: "heal", args: []},
3 | {name: "Get current position", command: "position", args: []},
4 | {name: "Give Mora", command: "give 202", args: [
5 | {type: "number", default: 100000, width: 145}
6 | ]},
7 | {name: "Give Proigem", command: "give 201", args: [
8 | {type: "number", default: 10000, width: 120}
9 | ]},
10 | {name: "Give Intertwined Fate", command: "give 223", args: [
11 | {type: "number", default: 10000, width: 100}
12 | ]},
13 | {name: "Give Acquaint Fate", command: "give 224", args: [
14 | {type: "number", default: 10000, width: 100}
15 | ]},
16 | {name: "Toggle Godmode", command: "godmode", args: []},
17 | {name: "Set world level(relog required)", command: "setworldlevel", args: [
18 | {type: "number", default: 8, width: 60}
19 | ]},
20 | {name: "Give all items", command: "giveall", args: []},
21 | {name: "Clear all items", command: "clear all", args: []},
22 | {name: "Set talent E", command: "talent e", args: [
23 | {type: "number", default: 10, width: 60}
24 | ]},
25 | {name: "Set talent Q", command: "talent q", args: [
26 | {type: "number", default: 10, width: 60}
27 |
28 | ]},
29 | {name: "Set talent N", command: "talent n", args: [
30 | {type: "number", default: 10, width: 60}
31 | ]},
32 | ]
33 |
34 | function genQuickCommand() {
35 | var i = 0;
36 | var arg = 0;
37 | for (i=0; i< qucick_command.length; i++) {
38 | var command = qucick_command[i];
39 | var div = document.createElement("div");
40 | var label = document.createElement("span");
41 | var div2 = document.createElement("div");
42 | var button = document.createElement("button");
43 | var hr = document.createElement("hr");
44 | var hiddenCommand = document.createElement("input");
45 |
46 | hr.classList.add("solid");
47 | div.classList.add('commandGroup');
48 | label.innerText = command.name;
49 | button.innerText = "Go!";
50 | div.appendChild(label);
51 | div.appendChild(div2);
52 |
53 | hiddenCommand.value = command.command;
54 | hiddenCommand.classList.add('hidden');
55 | div2.appendChild(hiddenCommand);
56 | for (arg = 0; arg < command.args.length; arg++){
57 | var arg_item = command.args[arg];
58 | switch (arg_item.type) {
59 | case "number":
60 | var input = document.createElement('input');
61 | input.type = arg_item.type;
62 | input.value = arg_item.default;
63 | if (arg_item.width) {
64 | input.style.width = arg_item.width + 'px';
65 | }
66 | div2.appendChild(input);
67 | }
68 | }
69 |
70 |
71 | div2.appendChild(button);
72 | panel.appendChild(div);
73 | button.onclick = (e) => {
74 | var parent = e.target.parentNode;
75 | var payload = "";
76 | var first = true;
77 | for(var child=parent.firstChild; child!==null; child=child.nextSibling) {
78 | if (child.tagName != "INPUT") continue;
79 | if (!first) {
80 | payload += " ";
81 | }
82 | first = false;
83 | payload += child.value;
84 | }
85 | sendCommand(payload);
86 | }
87 | panel.appendChild(hr);
88 | }
89 | }
--------------------------------------------------------------------------------
/styles/console.css:
--------------------------------------------------------------------------------
1 | html {
2 | margin: 0;
3 | padding: 0;
4 | height: 100vh;
5 | user-select: none;
6 | overflow: hidden;
7 | }
8 |
9 | body {
10 | font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
11 | margin: 0;
12 | padding: 0;
13 | }
14 |
15 | iframe {
16 | border: none;
17 | margin: 20px;
18 | }
19 |
20 | button {
21 | font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
22 | font-size: 14px;
23 | border: 1px solid #ccc;
24 | background: none;
25 | cursor: pointer;
26 | padding: 5px 10px;
27 | margin: 0;
28 | border-radius: 3px;
29 |
30 | transition: background-color 0.2s ease-in-out;
31 | }
32 |
33 | button:hover {
34 | background-color: #eee;
35 | }
36 |
37 | #logo {
38 | height: 20px;
39 | }
40 |
41 | #main {
42 | background-color: #fff;
43 | color: #000;
44 | font-size: 12px;
45 | padding: 5px;
46 | text-align: center;
47 | width: 100%;
48 | height: 100%;
49 | overflow: hidden;
50 | }
51 |
52 | #right {
53 | display: flex;
54 | flex-direction: row;
55 | justify-content: space-between;
56 | overflow: hidden;
57 | }
58 |
59 | #titleBar {
60 | font-size: 2em;
61 | padding: 10px;
62 | text-align: left;
63 | font-weight: bold;
64 | margin-left: 30px;
65 | }
66 |
67 | #status {
68 | font-size: 0.7em;
69 | float: right;
70 | margin-top: -1em;
71 | display: flex;
72 | align-items: center;
73 | }
74 |
75 | #sidebar {
76 | display: flex;
77 | flex-direction: column;
78 | height: 100%;
79 | width: 200px;
80 | background-color: #eee;
81 | }
82 |
83 | .sidebarItem {
84 | font-size: 1.4em;
85 | padding: 20px;
86 | border-bottom: 1px solid #ccc;
87 |
88 | transition: background-color 0.1s ease-in-out;
89 | }
90 |
91 | .sidebarItem:hover {
92 | background: #ccc;
93 | cursor: pointer;
94 | }
95 |
96 | #content {
97 | height: 100%;
98 | width: 100%;
99 | }
100 |
101 | .dot {
102 | height: 20px;
103 | width: 20px;
104 | border-radius: 50%;
105 | border: 2px solid grey;
106 | display: inline-block;
107 | margin-left: 3px;
108 | }
109 |
110 | .ready {
111 | color: lightgreen;
112 | }
113 |
114 | .ready .dot {
115 | background-color: lightgreen;
116 |
117 | }
118 |
119 | .error {
120 | color: darkred;
121 | }
122 |
123 | .error .dot {
124 | background-color: darkred;
125 | }
126 |
127 | #message {
128 | position: absolute;
129 | background-color: #00000000;
130 | left: 50vw;
131 | transform: translateX(-50%);
132 | height: fit-content;
133 | z-index: 100;
134 | top: 0px;
135 | opacity: 1;
136 | display: flex;
137 | flex-direction: column;
138 | align-items: center;
139 | }
140 |
141 | .messageBox {
142 | margin-top: 1em;
143 | width: 400px;
144 | /* min-height: 60px; */
145 | background-color: #f2f3c6;
146 | display: flex;
147 | flex-direction: row;
148 | align-items: center;
149 | justify-content: space-between;
150 | border-radius: 10px;
151 | overflow: hidden;
152 | -webkit-box-shadow: 0px 0px 26px -9px rgba(0,0,0,0.83);
153 | box-shadow: 0px 0px 26px -9px rgba(0,0,0,0.83);
154 | padding: 1em 1em;
155 | transition: all ease-in-out 0.3s;
156 | height: fit-content;
157 | }
158 |
159 | .messageBox.fail {
160 | background-color: #f65531;
161 |
162 | }
163 |
164 | .messageBox.initial {
165 | transform: translateY(100%);
166 | opacity: 0;
167 | }
168 |
169 | .messageBox.finish {
170 | transform: translateY(-100%);
171 | opacity: 0;
172 | min-height: 0px;
173 | height: 0px;
174 | margin: -15px;
175 | }
176 |
177 | .messageContent {
178 | overflow-wrap: break-word;
179 | overflow-y: auto;
180 | }
181 |
182 | .hide {
183 | display: none;
184 | }
185 |
186 | .messageBoxTitle {
187 | width: 100%;
188 | height: 2em;
189 | padding-top:1em;
190 | text-align: center;
191 |
192 | background: rgb(16,232,253);
193 | background: linear-gradient(180deg, rgba(16,232,253,1) 0%, rgba(16,248,253,0.5914959733893557) 70%, rgba(249,255,0,0) 100%);
194 |
195 | }
--------------------------------------------------------------------------------
/scripts/cheat/monster.js:
--------------------------------------------------------------------------------
1 |
2 | var delayedSearch = null;
3 | function genMonster() {
4 | var panel = document.getElementById("panel");
5 | panel.innerHTML = ``;
21 | updateEntityList();
22 |
23 | document.getElementById("entity-search").oninput = (e) => {
24 | if (e.target.value.length > 0) {
25 | document.getElementById("clear").style.flex = 1;
26 | document.getElementById("clear").style.opacity = 1;
27 | } else {
28 | document.getElementById("clear").style.flex = 0;
29 | document.getElementById("clear").style.opacity = 0;
30 | }
31 | if (delayedSearch) {
32 | clearTimeout(delayedSearch);
33 | }
34 | delayedSearch = setTimeout(() => updateEntityList(), 500);
35 | document.getElementById("name-list").style.height = "10em";
36 | };
37 | document.getElementById("clear").onclick = ()=>{
38 | document.getElementById("entity-search").value = "";
39 | updateEntityList();
40 | }
41 | document.getElementById("entity-search").onkeydown = (e) => {
42 | if(e.key == "Escape") {
43 | document.getElementById("entity-search").value = "";
44 | updateEntityList();
45 | }
46 | }
47 | document.getElementById("entity-id").setvalue = (v) => {
48 | document.getElementById("entity-id").value = v;
49 | if (v) {
50 | document.getElementById("execute").disabled = false;
51 | } else {
52 | document.getElementById("execute").disabled = true;
53 | }
54 | }
55 | document.getElementById("name-list").onclick = (e) => {
56 | if (e.target.tagName == "INPUT") {
57 | var list = document.getElementById("name-list");
58 | list.style.height = "3em";
59 | var name = e.target.attributes['entity-name'].nodeValue ? e.target.attributes['entity-name'].nodeValue : "UNKNOWN";
60 | var color = {0:'blue',1: 'orange'}[e.target.attributes['entity-level'].nodeValue];
61 | var content = `
62 |
63 | ${name} - ${e.target.attributes['entity-id'].nodeValue}
64 | `;
65 | list.innerHTML = content;
66 | document.getElementById("entity-search").value = name;
67 | document.getElementById("clear").style.flex = 1;
68 | document.getElementById("clear").style.opacity = 1;
69 | document.getElementById("entity-id").setvalue(e.target.attributes['entity-id'].nodeValue);
70 |
71 | }
72 | }
73 | // updateWeaponList();
74 | // document.getElementById("weapon-filter").onchange = updateWeaponList;
75 | document.getElementById("execute").onclick = () => {
76 | var entityId = document.getElementById("entity-id").value;
77 | var amount = document.getElementById("amount").value;
78 | var level = document.getElementById("level").value;
79 | sendCommand(`spawn ${entityId} ${amount} ${level}`);
80 | }
81 | }
82 |
83 | function updateEntityList() {
84 | var filter = document.getElementById("entity-search").value;
85 | var list = document.getElementById("name-list");
86 | list.innerHTML = "";
87 | list.style.height = "10em";
88 | monster_data.forEach(element => {
89 | if (filter == "" || element.name.toLowerCase().indexOf(filter.toLowerCase()) != -1) {
90 | var o = document.createElement("label");
91 | o.style.marginLeft = "0.1em";
92 | var color = {0:'blue',1: 'orange'}[element.type];
93 | var content = `
94 |
95 | ${element.name ? element.name : "UNKNOWN"}
96 | `;
97 | o.innerHTML = content;
98 | list.appendChild(o);
99 | }
100 |
101 | });
102 |
103 | }
104 |
--------------------------------------------------------------------------------
/scripts/cheat/item.js:
--------------------------------------------------------------------------------
1 |
2 | var delayedSearch = null;
3 | function genItem() {
4 | var panel = document.getElementById("panel");
5 | panel.innerHTML = ``;
25 | updateItemList();
26 |
27 | document.getElementById("item-search").oninput = (e) => {
28 | if (e.target.value.length > 0) {
29 | document.getElementById("clear").style.flex = 1;
30 | document.getElementById("clear").style.opacity = 1;
31 | } else {
32 | document.getElementById("clear").style.flex = 0;
33 | document.getElementById("clear").style.opacity = 0;
34 | }
35 | if (delayedSearch) {
36 | clearTimeout(delayedSearch);
37 | }
38 | delayedSearch = setTimeout(() => updateItemList(), 500);
39 | document.getElementById("name-list").style.height = "10em";
40 | };
41 | document.getElementById("clear").onclick = ()=>{
42 | document.getElementById("item-search").value = "";
43 | updateItemList();
44 | }
45 | document.getElementById("item-search").onkeydown = (e) => {
46 | if(e.key == "Escape") {
47 | document.getElementById("item-search").value = "";
48 | updateItemList();
49 | }
50 | }
51 | document.getElementById("item-id").setvalue = (v) => {
52 | document.getElementById("item-id").value = v;
53 | if (v) {
54 | document.getElementById("execute").disabled = false;
55 | } else {
56 | document.getElementById("execute").disabled = true;
57 | }
58 | }
59 | document.getElementById("name-list").onclick = (e) => {
60 | if (e.target.tagName == "INPUT") {
61 | var list = document.getElementById("name-list");
62 | list.style.height = "3em";
63 | var name = e.target.attributes['item-name'].nodeValue ? e.target.attributes['item-name'].nodeValue : "UNKNOWN";
64 | var color = {0:'gray',1: 'white', 2: 'green', 3: 'blue', 4:'purple', 5: 'orange'}[e.target.attributes['item-level'].nodeValue];
65 | var content = `
66 |
67 | ${name} - ${e.target.attributes['item-id'].nodeValue}
68 | `;
69 | list.innerHTML = content;
70 | document.getElementById("item-search").value = name;
71 | document.getElementById("clear").style.flex = 1;
72 | document.getElementById("clear").style.opacity = 1;
73 | document.getElementById("item-id").setvalue(e.target.attributes['item-id'].nodeValue);
74 |
75 | }
76 | }
77 | // updateWeaponList();
78 | // document.getElementById("weapon-filter").onchange = updateWeaponList;
79 | document.getElementById("execute").onclick = () => {
80 | var method = document.getElementById("method").value;
81 | var itemId = document.getElementById("item-id").value;
82 | var amount = document.getElementById("amount").value;
83 | sendCommand(`${method} ${itemId} ${amount}`);
84 | }
85 | }
86 |
87 | function updateItemList() {
88 | var filter = document.getElementById("item-search").value;
89 | var list = document.getElementById("name-list");
90 | list.innerHTML = "";
91 | list.style.height = "10em";
92 | item_data.forEach(element => {
93 | if (filter == "" || element.name.toLowerCase().indexOf(filter.toLowerCase()) != -1) {
94 | var o = document.createElement("label");
95 | o.style.marginLeft = "0.1em";
96 | var color = {0:'gray',1: 'white', 2: 'green', 3: 'blue', 4:'purple', 5: 'orange'}[element.level];
97 | var content = `
98 |
99 | ${element.name ? element.name : "UNKNOWN"}
100 | `;
101 | o.innerHTML = content;
102 | list.appendChild(o);
103 | }
104 |
105 | });
106 |
107 | }
108 |
--------------------------------------------------------------------------------
/scripts/cheat/reli.js:
--------------------------------------------------------------------------------
1 | var filterMethod = "set";
2 |
3 | function genReli() {
4 | var panel = document.getElementById("panel");
5 | panel.innerHTML = ``;
72 | document.getElementById("reli-id").setvalue = updateReliId;
73 | var filter = document.getElementById("reli-set");
74 | reli_list.forEach(reli => {
75 | var o = document.createElement("option");
76 | o.value = reli.id;
77 | o.innerText = "Set: " + reli.name;
78 | filter.appendChild(o);
79 | })
80 | document.getElementById("reli-set").oninput = updateQualityList;
81 | document.getElementById("reli-quality").oninput = ()=>{ updateReliList(); updateReliId(document.getElementById("reli-select").value);};
82 | document.getElementById("reli-select").oninput = (e) => {
83 | document.getElementById("reli-id").setvalue(e.target.value);
84 | };
85 | document.getElementById("reli-search").oninput = updateQualityList;
86 | document.getElementById("clear-reli-search").onclick = () => {
87 | document.getElementById("reli-search").value = "";
88 | updateQualityList();
89 | };
90 | document.getElementById("name-list").onclick = (e) => {
91 | if(e.target.tagName == "INPUT") {
92 | console.log(e.target);
93 | document.getElementById("reli-search").value = e.target.attributes['reli-name'].nodeValue;
94 | document.getElementById("reli-id").setvalue(e.target.attributes['reli-id'].nodeValue, e.target.attributes['reli-quality'].nodeValue);
95 | setTimeout(() => {
96 | document.getElementById("search-box").style.height = "3em";
97 | var color = "quality-" + {0: "white", 1: "green", 2: "blue", 3: "purple", 4:"orange", 5: "unknown"}[e.target.attributes['reli-quality'].nodeValue - 1];
98 | var content = `
99 |
100 | ${e.target.attributes['reli-name'].nodeValue}
101 | `;
102 | document.getElementById("name-list").innerHTML = content;
103 | }, 10);
104 | updateQualityList();
105 | }
106 | };
107 | document.getElementById("by-set").onchange = () => {
108 | filterMethod = "set";
109 | Array.prototype.forEach.call(document.getElementsByClassName("by-set"),(e)=> {
110 | e.classList.remove("hidden");
111 | });
112 | Array.prototype.forEach.call(document.getElementsByClassName("by-name"),(e)=> {
113 | e.classList.add("hidden");
114 | });
115 | document.getElementById("search-box").style.height = "3em";
116 | updateReliList();
117 | };
118 | document.getElementById("by-name").onchange = () => {
119 | filterMethod = "name";
120 | Array.prototype.forEach.call(document.getElementsByClassName("by-name"),(e)=> {
121 | e.classList.remove("hidden");
122 | });
123 | Array.prototype.forEach.call(document.getElementsByClassName("by-set"),(e)=> {
124 | e.classList.add("hidden");
125 | });
126 | updateQualityList();
127 | // initital value
128 | };
129 | document.getElementById("main-prop").oninput = updateMainProp;
130 | document.getElementById("affix-prop").oninput = updateAffixProp;
131 | document.getElementById("add-affix").onclick = addAffixProp;
132 |
133 | document.getElementById("execute").onclick = () => {
134 | var reliId = document.getElementById("reli-id").value;
135 | var level = document.getElementById("level").value;
136 | var mainPropSelecter = document.getElementById("main-prop");
137 | var mainPropId = parseInt(mainPropSelecter.value);
138 | if(document.getElementById("main-percent").checked){
139 | mainPropId += parseInt(mainPropSelecter.options[mainPropSelecter.selectedIndex].attributes['percent'].nodeValue);
140 | }
141 | var affix = "";
142 | Array.prototype.forEach.call(document.getElementsByClassName("affix-data"), (e)=>{
143 | affix += " " + e.value;
144 | })
145 | sendCommand(`giveart ${reliId} ${mainPropId} ${affix} ${parseInt(level)+1}`.replace(" ", " "));
146 | }
147 | document.getElementById("by-set").onchange();
148 | updateQualityList();
149 | }
150 |
151 | // ----------------------------------------------------------------
152 | function updateQualityList() {
153 | if (filterMethod == "set") {
154 | var filter = document.getElementById("reli-set").value;
155 | var quality = document.getElementById("reli-quality");
156 | quality.innerHTML = "";
157 | var qualities = [null, null, null, null, null, null];
158 | reli_list.forEach(element => {
159 | if (filter == 0 || element.id == filter){
160 | for (var i = 0; i < qualities.length; i++) {
161 | if (element.contains[i+1]) {
162 | var o = document.createElement("option");
163 | o.value = i + 1;
164 | o.innerText = "Q: " + {0: "White", 1: "Green", 2: "Blue", 3: "Purple", 4: "Orange", 5:"Unknown"} [i];
165 | qualities[i] = o;
166 | }
167 | }
168 | }
169 | });
170 | qualities.forEach(e=>{
171 | if(e) {
172 | quality.appendChild(e);
173 | }
174 | })
175 | updateReliList();
176 | document.getElementById("reli-id").setvalue(document.getElementById('reli-select').value);
177 |
178 | } else {
179 | var list = document.getElementById("name-list");
180 | var keyword = document.getElementById("reli-search").value;
181 | if (keyword.length > 0) {
182 | document.getElementById("clear-reli-search").classList.remove('hidden');
183 | } else {
184 | document.getElementById("clear-reli-search").classList.add('hidden');
185 | }
186 | list.innerHTML = "";
187 | reli_list.forEach(element => {
188 | Object.entries(element.contains).forEach(quality => {
189 | quality[1].forEach(item => {
190 | if (keyword == "" || item.name.toLowerCase().indexOf(keyword.toLowerCase()) !== -1) {
191 | var o = document.createElement("label");
192 | var color = "quality-" + {0: "white", 1: "green", 2: "blue", 3: "purple", 4:"orange", 5: "unknown"}[quality[0] - 1];
193 | o.innerHTML = `
194 |
195 |
196 | ${item.name}
197 |
198 | `;
199 | list.appendChild(o);
200 | }
201 | })
202 | })
203 | })
204 | document.getElementById("search-box").style.height = "10em";
205 | }
206 | }
207 |
208 | function updateReliList(){
209 | var filter = document.getElementById("reli-set").value;
210 | var quality = document.getElementById("reli-quality").value;
211 | var select = document.getElementById("reli-select");
212 | select.innerHTML = "";
213 | reli_list.forEach(reli_set=> {
214 | if(filter == 0 || reli_set.id == filter) {
215 | if (reli_set.contains[quality]){
216 | reli_set.contains[quality].forEach(entry => {
217 | var o = document.createElement("option");
218 | o.value = entry.id;
219 | o.innerText = entry.name;
220 | select.appendChild(o);
221 | });
222 | }
223 |
224 | }
225 | })
226 | }
227 |
228 | function updateReliId(reliID, quality) {
229 | document.getElementById("reli-id").value = reliID;
230 | if(!quality) quality = document.getElementById("reli-quality").value;
231 | var mainPropSelect = document.getElementById("main-prop");
232 | var affixPropSelect = document.getElementById("affix-prop");
233 | var tbody = document.getElementById("tbody-affix-prop");
234 |
235 | mainPropSelect.innerHTML = "";
236 | affixPropSelect.innerHTML = "";
237 | tbody.innerHTML = "";
238 | reli_list.forEach(e => {
239 | if (! e.contains[quality]) {
240 | return;
241 | }
242 | e.contains[quality].forEach( item => {
243 | if (item.id == reliID) {
244 | // console.log(reli_main_prop[item.main]);
245 | Object.entries(reli_main_prop[item.main]).forEach(pname => {
246 | var o = document.createElement("option");
247 | o.innerText = pname[0]
248 | o.value = pname[1]["normal"];
249 | if (pname[1]["percent"]) {
250 | o.setAttribute("percent", pname[1]["percent"] - pname[1]["normal"])
251 | }
252 | mainPropSelect.appendChild(o)
253 | });
254 | Object.entries(reli_affix_prop[item.append]).forEach(pname => {
255 | var o = document.createElement("option");
256 | o.innerText = pname[0];
257 | o.setAttribute("values", JSON.stringify(pname[1]['normal']));
258 | affixPropSelect.appendChild(o);
259 | if (pname[1]['percent']) {
260 | o = document.createElement("option");
261 | o.innerText = pname[0] + " %";
262 | o.setAttribute("values", JSON.stringify(pname[1]["percent"]));
263 | o.setAttribute("percent", true);
264 | affixPropSelect.appendChild(o);
265 | }
266 | });
267 | }
268 | })
269 | })
270 | updateMainProp();
271 | updateAffixProp();
272 | }
273 |
274 | function updateMainProp() {
275 | var mainProp = document.getElementById("main-prop");
276 | var percent = document.getElementById("percent-modifier");
277 | var o = mainProp.options[mainProp.selectedIndex];
278 | if (o.attributes['percent']){
279 | percent.style.maxWidth = "3em";
280 | }else {
281 | document.getElementById("main-percent").checked = false;
282 | percent.style.maxWidth = "0em";
283 | }
284 |
285 | }
286 |
287 | function updateAffixProp(){
288 | var affixProp = document.getElementById("affix-prop");
289 | var affixValue = document.getElementById("affix-value");
290 | affixValue.innerHTML = "";
291 | var data = JSON.parse(affixProp.options[affixProp.selectedIndex].attributes["values"].nodeValue);
292 | var percent = affixProp.options[affixProp.selectedIndex].attributes["percent"] != null;
293 | Object.entries(data).forEach((e) => {
294 | var o = document.createElement("option");
295 | o.value = e[0];
296 | o.innerText = e[1] < 0.5 ? (e[1] * 100).toFixed(2) + "%" : e[1].toFixed(2);
297 | affixValue.appendChild(o);
298 | })
299 |
300 | }
301 |
302 | function addAffixProp(){
303 | var tbody = document.getElementById("tbody-affix-prop");
304 | var affixProp = document.getElementById("affix-prop");
305 | var affixValue = document.getElementById("affix-value");
306 | var affixTime = parseInt(document.getElementById("affix-time").value);
307 | var innerHTML = `
308 |
309 | |
310 | ${affixProp.options[affixProp.selectedIndex].innerText}
311 | |
312 |
313 | ${affixValue.options[affixValue.selectedIndex].innerText}
314 | |
315 |
316 | ${affixTime}
317 | |
318 |
319 |
320 | |
321 |
`;
322 | tbody.innerHTML += innerHTML;
323 |
324 | Array.prototype.forEach.call(document.getElementsByClassName("error"),(e)=> {
325 | e.onclick = (event) => {
326 | var trNode = event.target.parentNode.parentNode;
327 | trNode.remove();
328 | }
329 | });
330 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU General Public License is a free, copyleft license for
11 | software and other kinds of works.
12 |
13 | The licenses for most software and other practical works are designed
14 | to take away your freedom to share and change the works. By contrast,
15 | the GNU General Public License is intended to guarantee your freedom to
16 | share and change all versions of a program--to make sure it remains free
17 | software for all its users. We, the Free Software Foundation, use the
18 | GNU General Public License for most of our software; it applies also to
19 | any other work released this way by its authors. You can apply it to
20 | your programs, too.
21 |
22 | When we speak of free software, we are referring to freedom, not
23 | price. Our General Public Licenses are designed to make sure that you
24 | have the freedom to distribute copies of free software (and charge for
25 | them if you wish), that you receive source code or can get it if you
26 | want it, that you can change the software or use pieces of it in new
27 | free programs, and that you know you can do these things.
28 |
29 | To protect your rights, we need to prevent others from denying you
30 | these rights or asking you to surrender the rights. Therefore, you have
31 | certain responsibilities if you distribute copies of the software, or if
32 | you modify it: responsibilities to respect the freedom of others.
33 |
34 | For example, if you distribute copies of such a program, whether
35 | gratis or for a fee, you must pass on to the recipients the same
36 | freedoms that you received. You must make sure that they, too, receive
37 | or can get the source code. And you must show them these terms so they
38 | know their rights.
39 |
40 | Developers that use the GNU GPL protect your rights with two steps:
41 | (1) assert copyright on the software, and (2) offer you this License
42 | giving you legal permission to copy, distribute and/or modify it.
43 |
44 | For the developers' and authors' protection, the GPL clearly explains
45 | that there is no warranty for this free software. For both users' and
46 | authors' sake, the GPL requires that modified versions be marked as
47 | changed, so that their problems will not be attributed erroneously to
48 | authors of previous versions.
49 |
50 | Some devices are designed to deny users access to install or run
51 | modified versions of the software inside them, although the manufacturer
52 | can do so. This is fundamentally incompatible with the aim of
53 | protecting users' freedom to change the software. The systematic
54 | pattern of such abuse occurs in the area of products for individuals to
55 | use, which is precisely where it is most unacceptable. Therefore, we
56 | have designed this version of the GPL to prohibit the practice for those
57 | products. If such problems arise substantially in other domains, we
58 | stand ready to extend this provision to those domains in future versions
59 | of the GPL, as needed to protect the freedom of users.
60 |
61 | Finally, every program is threatened constantly by software patents.
62 | States should not allow patents to restrict development and use of
63 | software on general-purpose computers, but in those that do, we wish to
64 | avoid the special danger that patents applied to a free program could
65 | make it effectively proprietary. To prevent this, the GPL assures that
66 | patents cannot be used to render the program non-free.
67 |
68 | The precise terms and conditions for copying, distribution and
69 | modification follow.
70 |
71 | TERMS AND CONDITIONS
72 |
73 | 0. Definitions.
74 |
75 | "This License" refers to version 3 of the GNU General Public License.
76 |
77 | "Copyright" also means copyright-like laws that apply to other kinds of
78 | works, such as semiconductor masks.
79 |
80 | "The Program" refers to any copyrightable work licensed under this
81 | License. Each licensee is addressed as "you". "Licensees" and
82 | "recipients" may be individuals or organizations.
83 |
84 | To "modify" a work means to copy from or adapt all or part of the work
85 | in a fashion requiring copyright permission, other than the making of an
86 | exact copy. The resulting work is called a "modified version" of the
87 | earlier work or a work "based on" the earlier work.
88 |
89 | A "covered work" means either the unmodified Program or a work based
90 | on the Program.
91 |
92 | To "propagate" a work means to do anything with it that, without
93 | permission, would make you directly or secondarily liable for
94 | infringement under applicable copyright law, except executing it on a
95 | computer or modifying a private copy. Propagation includes copying,
96 | distribution (with or without modification), making available to the
97 | public, and in some countries other activities as well.
98 |
99 | To "convey" a work means any kind of propagation that enables other
100 | parties to make or receive copies. Mere interaction with a user through
101 | a computer network, with no transfer of a copy, is not conveying.
102 |
103 | An interactive user interface displays "Appropriate Legal Notices"
104 | to the extent that it includes a convenient and prominently visible
105 | feature that (1) displays an appropriate copyright notice, and (2)
106 | tells the user that there is no warranty for the work (except to the
107 | extent that warranties are provided), that licensees may convey the
108 | work under this License, and how to view a copy of this License. If
109 | the interface presents a list of user commands or options, such as a
110 | menu, a prominent item in the list meets this criterion.
111 |
112 | 1. Source Code.
113 |
114 | The "source code" for a work means the preferred form of the work
115 | for making modifications to it. "Object code" means any non-source
116 | form of a work.
117 |
118 | A "Standard Interface" means an interface that either is an official
119 | standard defined by a recognized standards body, or, in the case of
120 | interfaces specified for a particular programming language, one that
121 | is widely used among developers working in that language.
122 |
123 | The "System Libraries" of an executable work include anything, other
124 | than the work as a whole, that (a) is included in the normal form of
125 | packaging a Major Component, but which is not part of that Major
126 | Component, and (b) serves only to enable use of the work with that
127 | Major Component, or to implement a Standard Interface for which an
128 | implementation is available to the public in source code form. A
129 | "Major Component", in this context, means a major essential component
130 | (kernel, window system, and so on) of the specific operating system
131 | (if any) on which the executable work runs, or a compiler used to
132 | produce the work, or an object code interpreter used to run it.
133 |
134 | The "Corresponding Source" for a work in object code form means all
135 | the source code needed to generate, install, and (for an executable
136 | work) run the object code and to modify the work, including scripts to
137 | control those activities. However, it does not include the work's
138 | System Libraries, or general-purpose tools or generally available free
139 | programs which are used unmodified in performing those activities but
140 | which are not part of the work. For example, Corresponding Source
141 | includes interface definition files associated with source files for
142 | the work, and the source code for shared libraries and dynamically
143 | linked subprograms that the work is specifically designed to require,
144 | such as by intimate data communication or control flow between those
145 | subprograms and other parts of the work.
146 |
147 | The Corresponding Source need not include anything that users
148 | can regenerate automatically from other parts of the Corresponding
149 | Source.
150 |
151 | The Corresponding Source for a work in source code form is that
152 | same work.
153 |
154 | 2. Basic Permissions.
155 |
156 | All rights granted under this License are granted for the term of
157 | copyright on the Program, and are irrevocable provided the stated
158 | conditions are met. This License explicitly affirms your unlimited
159 | permission to run the unmodified Program. The output from running a
160 | covered work is covered by this License only if the output, given its
161 | content, constitutes a covered work. This License acknowledges your
162 | rights of fair use or other equivalent, as provided by copyright law.
163 |
164 | You may make, run and propagate covered works that you do not
165 | convey, without conditions so long as your license otherwise remains
166 | in force. You may convey covered works to others for the sole purpose
167 | of having them make modifications exclusively for you, or provide you
168 | with facilities for running those works, provided that you comply with
169 | the terms of this License in conveying all material for which you do
170 | not control copyright. Those thus making or running the covered works
171 | for you must do so exclusively on your behalf, under your direction
172 | and control, on terms that prohibit them from making any copies of
173 | your copyrighted material outside their relationship with you.
174 |
175 | Conveying under any other circumstances is permitted solely under
176 | the conditions stated below. Sublicensing is not allowed; section 10
177 | makes it unnecessary.
178 |
179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180 |
181 | No covered work shall be deemed part of an effective technological
182 | measure under any applicable law fulfilling obligations under article
183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184 | similar laws prohibiting or restricting circumvention of such
185 | measures.
186 |
187 | When you convey a covered work, you waive any legal power to forbid
188 | circumvention of technological measures to the extent such circumvention
189 | is effected by exercising rights under this License with respect to
190 | the covered work, and you disclaim any intention to limit operation or
191 | modification of the work as a means of enforcing, against the work's
192 | users, your or third parties' legal rights to forbid circumvention of
193 | technological measures.
194 |
195 | 4. Conveying Verbatim Copies.
196 |
197 | You may convey verbatim copies of the Program's source code as you
198 | receive it, in any medium, provided that you conspicuously and
199 | appropriately publish on each copy an appropriate copyright notice;
200 | keep intact all notices stating that this License and any
201 | non-permissive terms added in accord with section 7 apply to the code;
202 | keep intact all notices of the absence of any warranty; and give all
203 | recipients a copy of this License along with the Program.
204 |
205 | You may charge any price or no price for each copy that you convey,
206 | and you may offer support or warranty protection for a fee.
207 |
208 | 5. Conveying Modified Source Versions.
209 |
210 | You may convey a work based on the Program, or the modifications to
211 | produce it from the Program, in the form of source code under the
212 | terms of section 4, provided that you also meet all of these conditions:
213 |
214 | a) The work must carry prominent notices stating that you modified
215 | it, and giving a relevant date.
216 |
217 | b) The work must carry prominent notices stating that it is
218 | released under this License and any conditions added under section
219 | 7. This requirement modifies the requirement in section 4 to
220 | "keep intact all notices".
221 |
222 | c) You must license the entire work, as a whole, under this
223 | License to anyone who comes into possession of a copy. This
224 | License will therefore apply, along with any applicable section 7
225 | additional terms, to the whole of the work, and all its parts,
226 | regardless of how they are packaged. This License gives no
227 | permission to license the work in any other way, but it does not
228 | invalidate such permission if you have separately received it.
229 |
230 | d) If the work has interactive user interfaces, each must display
231 | Appropriate Legal Notices; however, if the Program has interactive
232 | interfaces that do not display Appropriate Legal Notices, your
233 | work need not make them do so.
234 |
235 | A compilation of a covered work with other separate and independent
236 | works, which are not by their nature extensions of the covered work,
237 | and which are not combined with it such as to form a larger program,
238 | in or on a volume of a storage or distribution medium, is called an
239 | "aggregate" if the compilation and its resulting copyright are not
240 | used to limit the access or legal rights of the compilation's users
241 | beyond what the individual works permit. Inclusion of a covered work
242 | in an aggregate does not cause this License to apply to the other
243 | parts of the aggregate.
244 |
245 | 6. Conveying Non-Source Forms.
246 |
247 | You may convey a covered work in object code form under the terms
248 | of sections 4 and 5, provided that you also convey the
249 | machine-readable Corresponding Source under the terms of this License,
250 | in one of these ways:
251 |
252 | a) Convey the object code in, or embodied in, a physical product
253 | (including a physical distribution medium), accompanied by the
254 | Corresponding Source fixed on a durable physical medium
255 | customarily used for software interchange.
256 |
257 | b) Convey the object code in, or embodied in, a physical product
258 | (including a physical distribution medium), accompanied by a
259 | written offer, valid for at least three years and valid for as
260 | long as you offer spare parts or customer support for that product
261 | model, to give anyone who possesses the object code either (1) a
262 | copy of the Corresponding Source for all the software in the
263 | product that is covered by this License, on a durable physical
264 | medium customarily used for software interchange, for a price no
265 | more than your reasonable cost of physically performing this
266 | conveying of source, or (2) access to copy the
267 | Corresponding Source from a network server at no charge.
268 |
269 | c) Convey individual copies of the object code with a copy of the
270 | written offer to provide the Corresponding Source. This
271 | alternative is allowed only occasionally and noncommercially, and
272 | only if you received the object code with such an offer, in accord
273 | with subsection 6b.
274 |
275 | d) Convey the object code by offering access from a designated
276 | place (gratis or for a charge), and offer equivalent access to the
277 | Corresponding Source in the same way through the same place at no
278 | further charge. You need not require recipients to copy the
279 | Corresponding Source along with the object code. If the place to
280 | copy the object code is a network server, the Corresponding Source
281 | may be on a different server (operated by you or a third party)
282 | that supports equivalent copying facilities, provided you maintain
283 | clear directions next to the object code saying where to find the
284 | Corresponding Source. Regardless of what server hosts the
285 | Corresponding Source, you remain obligated to ensure that it is
286 | available for as long as needed to satisfy these requirements.
287 |
288 | e) Convey the object code using peer-to-peer transmission, provided
289 | you inform other peers where the object code and Corresponding
290 | Source of the work are being offered to the general public at no
291 | charge under subsection 6d.
292 |
293 | A separable portion of the object code, whose source code is excluded
294 | from the Corresponding Source as a System Library, need not be
295 | included in conveying the object code work.
296 |
297 | A "User Product" is either (1) a "consumer product", which means any
298 | tangible personal property which is normally used for personal, family,
299 | or household purposes, or (2) anything designed or sold for incorporation
300 | into a dwelling. In determining whether a product is a consumer product,
301 | doubtful cases shall be resolved in favor of coverage. For a particular
302 | product received by a particular user, "normally used" refers to a
303 | typical or common use of that class of product, regardless of the status
304 | of the particular user or of the way in which the particular user
305 | actually uses, or expects or is expected to use, the product. A product
306 | is a consumer product regardless of whether the product has substantial
307 | commercial, industrial or non-consumer uses, unless such uses represent
308 | the only significant mode of use of the product.
309 |
310 | "Installation Information" for a User Product means any methods,
311 | procedures, authorization keys, or other information required to install
312 | and execute modified versions of a covered work in that User Product from
313 | a modified version of its Corresponding Source. The information must
314 | suffice to ensure that the continued functioning of the modified object
315 | code is in no case prevented or interfered with solely because
316 | modification has been made.
317 |
318 | If you convey an object code work under this section in, or with, or
319 | specifically for use in, a User Product, and the conveying occurs as
320 | part of a transaction in which the right of possession and use of the
321 | User Product is transferred to the recipient in perpetuity or for a
322 | fixed term (regardless of how the transaction is characterized), the
323 | Corresponding Source conveyed under this section must be accompanied
324 | by the Installation Information. But this requirement does not apply
325 | if neither you nor any third party retains the ability to install
326 | modified object code on the User Product (for example, the work has
327 | been installed in ROM).
328 |
329 | The requirement to provide Installation Information does not include a
330 | requirement to continue to provide support service, warranty, or updates
331 | for a work that has been modified or installed by the recipient, or for
332 | the User Product in which it has been modified or installed. Access to a
333 | network may be denied when the modification itself materially and
334 | adversely affects the operation of the network or violates the rules and
335 | protocols for communication across the network.
336 |
337 | Corresponding Source conveyed, and Installation Information provided,
338 | in accord with this section must be in a format that is publicly
339 | documented (and with an implementation available to the public in
340 | source code form), and must require no special password or key for
341 | unpacking, reading or copying.
342 |
343 | 7. Additional Terms.
344 |
345 | "Additional permissions" are terms that supplement the terms of this
346 | License by making exceptions from one or more of its conditions.
347 | Additional permissions that are applicable to the entire Program shall
348 | be treated as though they were included in this License, to the extent
349 | that they are valid under applicable law. If additional permissions
350 | apply only to part of the Program, that part may be used separately
351 | under those permissions, but the entire Program remains governed by
352 | this License without regard to the additional permissions.
353 |
354 | When you convey a copy of a covered work, you may at your option
355 | remove any additional permissions from that copy, or from any part of
356 | it. (Additional permissions may be written to require their own
357 | removal in certain cases when you modify the work.) You may place
358 | additional permissions on material, added by you to a covered work,
359 | for which you have or can give appropriate copyright permission.
360 |
361 | Notwithstanding any other provision of this License, for material you
362 | add to a covered work, you may (if authorized by the copyright holders of
363 | that material) supplement the terms of this License with terms:
364 |
365 | a) Disclaiming warranty or limiting liability differently from the
366 | terms of sections 15 and 16 of this License; or
367 |
368 | b) Requiring preservation of specified reasonable legal notices or
369 | author attributions in that material or in the Appropriate Legal
370 | Notices displayed by works containing it; or
371 |
372 | c) Prohibiting misrepresentation of the origin of that material, or
373 | requiring that modified versions of such material be marked in
374 | reasonable ways as different from the original version; or
375 |
376 | d) Limiting the use for publicity purposes of names of licensors or
377 | authors of the material; or
378 |
379 | e) Declining to grant rights under trademark law for use of some
380 | trade names, trademarks, or service marks; or
381 |
382 | f) Requiring indemnification of licensors and authors of that
383 | material by anyone who conveys the material (or modified versions of
384 | it) with contractual assumptions of liability to the recipient, for
385 | any liability that these contractual assumptions directly impose on
386 | those licensors and authors.
387 |
388 | All other non-permissive additional terms are considered "further
389 | restrictions" within the meaning of section 10. If the Program as you
390 | received it, or any part of it, contains a notice stating that it is
391 | governed by this License along with a term that is a further
392 | restriction, you may remove that term. If a license document contains
393 | a further restriction but permits relicensing or conveying under this
394 | License, you may add to a covered work material governed by the terms
395 | of that license document, provided that the further restriction does
396 | not survive such relicensing or conveying.
397 |
398 | If you add terms to a covered work in accord with this section, you
399 | must place, in the relevant source files, a statement of the
400 | additional terms that apply to those files, or a notice indicating
401 | where to find the applicable terms.
402 |
403 | Additional terms, permissive or non-permissive, may be stated in the
404 | form of a separately written license, or stated as exceptions;
405 | the above requirements apply either way.
406 |
407 | 8. Termination.
408 |
409 | You may not propagate or modify a covered work except as expressly
410 | provided under this License. Any attempt otherwise to propagate or
411 | modify it is void, and will automatically terminate your rights under
412 | this License (including any patent licenses granted under the third
413 | paragraph of section 11).
414 |
415 | However, if you cease all violation of this License, then your
416 | license from a particular copyright holder is reinstated (a)
417 | provisionally, unless and until the copyright holder explicitly and
418 | finally terminates your license, and (b) permanently, if the copyright
419 | holder fails to notify you of the violation by some reasonable means
420 | prior to 60 days after the cessation.
421 |
422 | Moreover, your license from a particular copyright holder is
423 | reinstated permanently if the copyright holder notifies you of the
424 | violation by some reasonable means, this is the first time you have
425 | received notice of violation of this License (for any work) from that
426 | copyright holder, and you cure the violation prior to 30 days after
427 | your receipt of the notice.
428 |
429 | Termination of your rights under this section does not terminate the
430 | licenses of parties who have received copies or rights from you under
431 | this License. If your rights have been terminated and not permanently
432 | reinstated, you do not qualify to receive new licenses for the same
433 | material under section 10.
434 |
435 | 9. Acceptance Not Required for Having Copies.
436 |
437 | You are not required to accept this License in order to receive or
438 | run a copy of the Program. Ancillary propagation of a covered work
439 | occurring solely as a consequence of using peer-to-peer transmission
440 | to receive a copy likewise does not require acceptance. However,
441 | nothing other than this License grants you permission to propagate or
442 | modify any covered work. These actions infringe copyright if you do
443 | not accept this License. Therefore, by modifying or propagating a
444 | covered work, you indicate your acceptance of this License to do so.
445 |
446 | 10. Automatic Licensing of Downstream Recipients.
447 |
448 | Each time you convey a covered work, the recipient automatically
449 | receives a license from the original licensors, to run, modify and
450 | propagate that work, subject to this License. You are not responsible
451 | for enforcing compliance by third parties with this License.
452 |
453 | An "entity transaction" is a transaction transferring control of an
454 | organization, or substantially all assets of one, or subdividing an
455 | organization, or merging organizations. If propagation of a covered
456 | work results from an entity transaction, each party to that
457 | transaction who receives a copy of the work also receives whatever
458 | licenses to the work the party's predecessor in interest had or could
459 | give under the previous paragraph, plus a right to possession of the
460 | Corresponding Source of the work from the predecessor in interest, if
461 | the predecessor has it or can get it with reasonable efforts.
462 |
463 | You may not impose any further restrictions on the exercise of the
464 | rights granted or affirmed under this License. For example, you may
465 | not impose a license fee, royalty, or other charge for exercise of
466 | rights granted under this License, and you may not initiate litigation
467 | (including a cross-claim or counterclaim in a lawsuit) alleging that
468 | any patent claim is infringed by making, using, selling, offering for
469 | sale, or importing the Program or any portion of it.
470 |
471 | 11. Patents.
472 |
473 | A "contributor" is a copyright holder who authorizes use under this
474 | License of the Program or a work on which the Program is based. The
475 | work thus licensed is called the contributor's "contributor version".
476 |
477 | A contributor's "essential patent claims" are all patent claims
478 | owned or controlled by the contributor, whether already acquired or
479 | hereafter acquired, that would be infringed by some manner, permitted
480 | by this License, of making, using, or selling its contributor version,
481 | but do not include claims that would be infringed only as a
482 | consequence of further modification of the contributor version. For
483 | purposes of this definition, "control" includes the right to grant
484 | patent sublicenses in a manner consistent with the requirements of
485 | this License.
486 |
487 | Each contributor grants you a non-exclusive, worldwide, royalty-free
488 | patent license under the contributor's essential patent claims, to
489 | make, use, sell, offer for sale, import and otherwise run, modify and
490 | propagate the contents of its contributor version.
491 |
492 | In the following three paragraphs, a "patent license" is any express
493 | agreement or commitment, however denominated, not to enforce a patent
494 | (such as an express permission to practice a patent or covenant not to
495 | sue for patent infringement). To "grant" such a patent license to a
496 | party means to make such an agreement or commitment not to enforce a
497 | patent against the party.
498 |
499 | If you convey a covered work, knowingly relying on a patent license,
500 | and the Corresponding Source of the work is not available for anyone
501 | to copy, free of charge and under the terms of this License, through a
502 | publicly available network server or other readily accessible means,
503 | then you must either (1) cause the Corresponding Source to be so
504 | available, or (2) arrange to deprive yourself of the benefit of the
505 | patent license for this particular work, or (3) arrange, in a manner
506 | consistent with the requirements of this License, to extend the patent
507 | license to downstream recipients. "Knowingly relying" means you have
508 | actual knowledge that, but for the patent license, your conveying the
509 | covered work in a country, or your recipient's use of the covered work
510 | in a country, would infringe one or more identifiable patents in that
511 | country that you have reason to believe are valid.
512 |
513 | If, pursuant to or in connection with a single transaction or
514 | arrangement, you convey, or propagate by procuring conveyance of, a
515 | covered work, and grant a patent license to some of the parties
516 | receiving the covered work authorizing them to use, propagate, modify
517 | or convey a specific copy of the covered work, then the patent license
518 | you grant is automatically extended to all recipients of the covered
519 | work and works based on it.
520 |
521 | A patent license is "discriminatory" if it does not include within
522 | the scope of its coverage, prohibits the exercise of, or is
523 | conditioned on the non-exercise of one or more of the rights that are
524 | specifically granted under this License. You may not convey a covered
525 | work if you are a party to an arrangement with a third party that is
526 | in the business of distributing software, under which you make payment
527 | to the third party based on the extent of your activity of conveying
528 | the work, and under which the third party grants, to any of the
529 | parties who would receive the covered work from you, a discriminatory
530 | patent license (a) in connection with copies of the covered work
531 | conveyed by you (or copies made from those copies), or (b) primarily
532 | for and in connection with specific products or compilations that
533 | contain the covered work, unless you entered into that arrangement,
534 | or that patent license was granted, prior to 28 March 2007.
535 |
536 | Nothing in this License shall be construed as excluding or limiting
537 | any implied license or other defenses to infringement that may
538 | otherwise be available to you under applicable patent law.
539 |
540 | 12. No Surrender of Others' Freedom.
541 |
542 | If conditions are imposed on you (whether by court order, agreement or
543 | otherwise) that contradict the conditions of this License, they do not
544 | excuse you from the conditions of this License. If you cannot convey a
545 | covered work so as to satisfy simultaneously your obligations under this
546 | License and any other pertinent obligations, then as a consequence you may
547 | not convey it at all. For example, if you agree to terms that obligate you
548 | to collect a royalty for further conveying from those to whom you convey
549 | the Program, the only way you could satisfy both those terms and this
550 | License would be to refrain entirely from conveying the Program.
551 |
552 | 13. Use with the GNU Affero General Public License.
553 |
554 | Notwithstanding any other provision of this License, you have
555 | permission to link or combine any covered work with a work licensed
556 | under version 3 of the GNU Affero General Public License into a single
557 | combined work, and to convey the resulting work. The terms of this
558 | License will continue to apply to the part which is the covered work,
559 | but the special requirements of the GNU Affero General Public License,
560 | section 13, concerning interaction through a network will apply to the
561 | combination as such.
562 |
563 | 14. Revised Versions of this License.
564 |
565 | The Free Software Foundation may publish revised and/or new versions of
566 | the GNU General Public License from time to time. Such new versions will
567 | be similar in spirit to the present version, but may differ in detail to
568 | address new problems or concerns.
569 |
570 | Each version is given a distinguishing version number. If the
571 | Program specifies that a certain numbered version of the GNU General
572 | Public License "or any later version" applies to it, you have the
573 | option of following the terms and conditions either of that numbered
574 | version or of any later version published by the Free Software
575 | Foundation. If the Program does not specify a version number of the
576 | GNU General Public License, you may choose any version ever published
577 | by the Free Software Foundation.
578 |
579 | If the Program specifies that a proxy can decide which future
580 | versions of the GNU General Public License can be used, that proxy's
581 | public statement of acceptance of a version permanently authorizes you
582 | to choose that version for the Program.
583 |
584 | Later license versions may give you additional or different
585 | permissions. However, no additional obligations are imposed on any
586 | author or copyright holder as a result of your choosing to follow a
587 | later version.
588 |
589 | 15. Disclaimer of Warranty.
590 |
591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599 |
600 | 16. Limitation of Liability.
601 |
602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610 | SUCH DAMAGES.
611 |
612 | 17. Interpretation of Sections 15 and 16.
613 |
614 | If the disclaimer of warranty and limitation of liability provided
615 | above cannot be given local legal effect according to their terms,
616 | reviewing courts shall apply local law that most closely approximates
617 | an absolute waiver of all civil liability in connection with the
618 | Program, unless a warranty or assumption of liability accompanies a
619 | copy of the Program in return for a fee.
620 |
621 | END OF TERMS AND CONDITIONS
622 |
623 | How to Apply These Terms to Your New Programs
624 |
625 | If you develop a new program, and you want it to be of the greatest
626 | possible use to the public, the best way to achieve this is to make it
627 | free software which everyone can redistribute and change under these terms.
628 |
629 | To do so, attach the following notices to the program. It is safest
630 | to attach them to the start of each source file to most effectively
631 | state the exclusion of warranty; and each file should have at least
632 | the "copyright" line and a pointer to where the full notice is found.
633 |
634 |
635 | Copyright (C)
636 |
637 | This program is free software: you can redistribute it and/or modify
638 | it under the terms of the GNU General Public License as published by
639 | the Free Software Foundation, either version 3 of the License, or
640 | (at your option) any later version.
641 |
642 | This program is distributed in the hope that it will be useful,
643 | but WITHOUT ANY WARRANTY; without even the implied warranty of
644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645 | GNU General Public License for more details.
646 |
647 | You should have received a copy of the GNU General Public License
648 | along with this program. If not, see .
649 |
650 | Also add information on how to contact you by electronic and paper mail.
651 |
652 | If the program does terminal interaction, make it output a short
653 | notice like this when it starts in an interactive mode:
654 |
655 | Copyright (C)
656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657 | This is free software, and you are welcome to redistribute it
658 | under certain conditions; type `show c' for details.
659 |
660 | The hypothetical commands `show w' and `show c' should show the appropriate
661 | parts of the General Public License. Of course, your program's commands
662 | might be different; for a GUI interface, you would use an "about box".
663 |
664 | You should also get your employer (if you work as a programmer) or school,
665 | if any, to sign a "copyright disclaimer" for the program, if necessary.
666 | For more information on this, and how to apply and follow the GNU GPL, see
667 | .
668 |
669 | The GNU General Public License does not permit incorporating your program
670 | into proprietary programs. If your program is a subroutine library, you
671 | may consider it more useful to permit linking proprietary applications with
672 | the library. If this is what you want to do, use the GNU Lesser General
673 | Public License instead of this License. But first, please read
674 | .
675 |
--------------------------------------------------------------------------------
/styles/picnic.css:
--------------------------------------------------------------------------------
1 | html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#fff;color:#111}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:0;padding:0}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:inherit}html,body{font-family:Arial,Helvetica,sans-serif;box-sizing:border-box;height:100%}body{color:#111;font-size:1.1em;line-height:1.5;background:#fff}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;padding:.6em 0}li{margin:0 0 .3em}a{color:#0074d9;text-decoration:none;box-shadow:none;transition:all .3s}code{padding:.3em .6em;font-size:.8em;background:#f5f5f5}pre{text-align:left;padding:.3em;background:#f5f5f5;border-radius:.2em}pre code{padding:0}blockquote{padding:0 0 0 1em;margin:0 0 0 .1em;box-shadow:inset 5px 0 rgba(17,17,17,.3)}label{cursor:pointer}[class^=icon-]:before,[class*=" icon-"]:before{margin:0 .6em 0 0}i[class^=icon-]:before,i[class*=" icon-"]:before{margin:0}.dropimage,button,.button,[type=submit],.label,[data-tooltip]:after{display:inline-block;text-align:center;letter-spacing:inherit;margin:0;padding:.3em .9em;vertical-align:middle;background:#0074d9;color:#fff;border:0;border-radius:.2em;width:auto;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.success.dropimage,button.success,.success.button,.success[type=submit],.success.label,.success[data-tooltip]:after{background:#2ecc40}.warning.dropimage,button.warning,.warning.button,.warning[type=submit],.warning.label,.warning[data-tooltip]:after{background:#ff851b}.error.dropimage,button.error,.error.button,.error[type=submit],.error.label,.error[data-tooltip]:after{background:#ff4136}.pseudo.dropimage,button.pseudo,.pseudo.button,.pseudo[type=submit],.pseudo.label,.pseudo[data-tooltip]:after{background-color:transparent;color:inherit}.label,[data-tooltip]:after{font-size:.6em;padding:.4em .6em;margin-left:1em;line-height:1}.dropimage,button,.button,[type=submit]{margin:.3em 0;cursor:pointer;transition:all .3s;border-radius:.2em;height:auto;vertical-align:baseline;box-shadow:0 0 rgba(17,17,17,0) inset}.dropimage:hover,button:hover,.button:hover,[type=submit]:hover,.dropimage:focus,button:focus,.button:focus,[type=submit]:focus{box-shadow:inset 0 0 0 99em rgba(255,255,255,.2);border:0}.pseudo.dropimage:hover,button.pseudo:hover,.pseudo.button:hover,.pseudo[type=submit]:hover,.pseudo.dropimage:focus,button.pseudo:focus,.pseudo.button:focus,.pseudo[type=submit]:focus{box-shadow:inset 0 0 0 99em rgba(17,17,17,.1)}.active.dropimage,button.active,.active.button,.active[type=submit],.dropimage:active,button:active,.button:active,[type=submit]:active{box-shadow:inset 0 0 0 99em rgba(17,17,17,.2)}[disabled].dropimage,button[disabled],[disabled].button,[disabled][type=submit]{cursor:default;box-shadow:none;background:#aaa}:checked+.toggle,:checked+.toggle:hover{box-shadow:inset 0 0 0 99em rgba(17,17,17,.2)}[type]+.toggle{padding:.3em .9em;margin-right:0}[type]+.toggle:after,[type]+.toggle:before{display:none}input,textarea,.select select{line-height:1.5;margin:0;height:2.1em;padding:.3em .6em;border:1px solid #aaa;background-color:#fff;border-radius:.2em;transition:all .3s;width:100%}input:focus,textarea:focus,.select select:focus{border:1px solid #0074d9;outline:0}textarea{height:auto}[type=file],[type=color]{cursor:pointer}[type=file]{height:auto}select{background:#fff url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyIiBoZWlnaHQ9IjMiPjxwYXRoIGQ9Im0gMCwxIDEsMiAxLC0yIHoiLz48L3N2Zz4=) no-repeat scroll 95% center/10px 15px;background-position:calc(100% - 15px) center;border:1px solid #aaa;border-radius:.2em;cursor:pointer;width:100%;height:2.2em;box-sizing:border-box;padding:.3em .45em;transition:all .3s;-moz-appearance:none;-webkit-appearance:none;appearance:none}select::-ms-expand{display:none}select:focus,select:active{border:1px solid #0074d9;transition:outline 0s}select:-moz-focusring{color:transparent;text-shadow:0 0 0 #111}select option{font-size:inherit;padding:.45em}select[multiple]{height:auto;background:none;padding:0}[type=checkbox],[type=radio]{opacity:0;width:0;position:absolute;display:inline-block}[type=checkbox]+.checkable:hover:before,[type=radio]+.checkable:hover:before,[type=checkbox]:focus+.checkable:before,[type=radio]:focus+.checkable:before{border:1px solid #0074d9}[type=checkbox]+.checkable,[type=radio]+.checkable{position:relative;cursor:pointer;padding-left:1.5em;margin-right:.6em}[type=checkbox]+.checkable:before,[type=radio]+.checkable:before,[type=checkbox]+.checkable:after,[type=radio]+.checkable:after{content:"";position:absolute;display:inline-block;left:0;top:50%;transform:translateY(-50%);font-size:1em;line-height:1em;color:transparent;font-family:sans;text-align:center;box-sizing:border-box;width:1em;height:1em;border-radius:50%;transition:all .3s}[type=checkbox]+.checkable:before,[type=radio]+.checkable:before{border:1px solid #aaa}[type=checkbox]:checked+.checkable:after,[type=radio]:checked+.checkable:after{background:#111;transform:scale(0.5) translateY(-100%)}[type=checkbox]+.checkable:before{border-radius:.2em}[type=checkbox]+.checkable:after{content:"✔";background:none;transform:scale(2) translateY(-25%);visibility:hidden;opacity:0}[type=checkbox]:checked+.checkable:after{color:#111;background:none;transform:translateY(-50%);transition:all .3s;visibility:visible;opacity:1}table{text-align:left}td,th{padding:.3em 2.4em .3em .6em}th{text-align:left;font-weight:900;color:#fff;background-color:#0074d9}.success th{background-color:#2ecc40}.warning th{background-color:#ff851b}.error th{background-color:#ff4136}.dull th{background-color:#aaa}tr:nth-child(even){background:rgba(17,17,17,.05)}.flex{display:-ms-flexbox;display:flex;margin-left:-0.6em;width:calc(100% + 0.6em);flex-wrap:wrap;transition:all .3s ease}.flex>*{box-sizing:border-box;flex:1 1 auto;padding-left:.6em;padding-bottom:.6em}.flex[class*=one]>*,.flex[class*=two]>*,.flex[class*=three]>*,.flex[class*=four]>*,.flex[class*=five]>*,.flex[class*=six]>*,.flex[class*=seven]>*,.flex[class*=eight]>*,.flex[class*=nine]>*,.flex[class*=ten]>*,.flex[class*=eleven]>*,.flex[class*=twelve]>*{flex-grow:0}.flex.grow>*{flex-grow:1}.center{justify-content:center}.one>*{width:100%}.two>*{width:50%}.three>*{width:33.33333%}.four>*{width:25%}.five>*{width:20%}.six>*{width:16.66666%}.seven>*{width:14.28571%}.eight>*{width:12.5%}.nine>*{width:11.11111%}.ten>*{width:10%}.eleven>*{width:9.09091%}.twelve>*{width:8.33333%}@media all and (min-width: 500px){.one-500>*{width:100%}.two-500>*{width:50%}.three-500>*{width:33.33333%}.four-500>*{width:25%}.five-500>*{width:20%}.six-500>*{width:16.66666%}.seven-500>*{width:14.28571%}.eight-500>*{width:12.5%}.nine-500>*{width:11.11111%}.ten-500>*{width:10%}.eleven-500>*{width:9.09091%}.twelve-500>*{width:8.33333%}}@media all and (min-width: 600px){.one-600>*{width:100%}.two-600>*{width:50%}.three-600>*{width:33.33333%}.four-600>*{width:25%}.five-600>*{width:20%}.six-600>*{width:16.66666%}.seven-600>*{width:14.28571%}.eight-600>*{width:12.5%}.nine-600>*{width:11.11111%}.ten-600>*{width:10%}.eleven-600>*{width:9.09091%}.twelve-600>*{width:8.33333%}}@media all and (min-width: 700px){.one-700>*{width:100%}.two-700>*{width:50%}.three-700>*{width:33.33333%}.four-700>*{width:25%}.five-700>*{width:20%}.six-700>*{width:16.66666%}.seven-700>*{width:14.28571%}.eight-700>*{width:12.5%}.nine-700>*{width:11.11111%}.ten-700>*{width:10%}.eleven-700>*{width:9.09091%}.twelve-700>*{width:8.33333%}}@media all and (min-width: 800px){.one-800>*{width:100%}.two-800>*{width:50%}.three-800>*{width:33.33333%}.four-800>*{width:25%}.five-800>*{width:20%}.six-800>*{width:16.66666%}.seven-800>*{width:14.28571%}.eight-800>*{width:12.5%}.nine-800>*{width:11.11111%}.ten-800>*{width:10%}.eleven-800>*{width:9.09091%}.twelve-800>*{width:8.33333%}}@media all and (min-width: 900px){.one-900>*{width:100%}.two-900>*{width:50%}.three-900>*{width:33.33333%}.four-900>*{width:25%}.five-900>*{width:20%}.six-900>*{width:16.66666%}.seven-900>*{width:14.28571%}.eight-900>*{width:12.5%}.nine-900>*{width:11.11111%}.ten-900>*{width:10%}.eleven-900>*{width:9.09091%}.twelve-900>*{width:8.33333%}}@media all and (min-width: 1000px){.one-1000>*{width:100%}.two-1000>*{width:50%}.three-1000>*{width:33.33333%}.four-1000>*{width:25%}.five-1000>*{width:20%}.six-1000>*{width:16.66666%}.seven-1000>*{width:14.28571%}.eight-1000>*{width:12.5%}.nine-1000>*{width:11.11111%}.ten-1000>*{width:10%}.eleven-1000>*{width:9.09091%}.twelve-1000>*{width:8.33333%}}@media all and (min-width: 1100px){.one-1100>*{width:100%}.two-1100>*{width:50%}.three-1100>*{width:33.33333%}.four-1100>*{width:25%}.five-1100>*{width:20%}.six-1100>*{width:16.66666%}.seven-1100>*{width:14.28571%}.eight-1100>*{width:12.5%}.nine-1100>*{width:11.11111%}.ten-1100>*{width:10%}.eleven-1100>*{width:9.09091%}.twelve-1100>*{width:8.33333%}}@media all and (min-width: 1200px){.one-1200>*{width:100%}.two-1200>*{width:50%}.three-1200>*{width:33.33333%}.four-1200>*{width:25%}.five-1200>*{width:20%}.six-1200>*{width:16.66666%}.seven-1200>*{width:14.28571%}.eight-1200>*{width:12.5%}.nine-1200>*{width:11.11111%}.ten-1200>*{width:10%}.eleven-1200>*{width:9.09091%}.twelve-1200>*{width:8.33333%}}@media all and (min-width: 1300px){.one-1300>*{width:100%}.two-1300>*{width:50%}.three-1300>*{width:33.33333%}.four-1300>*{width:25%}.five-1300>*{width:20%}.six-1300>*{width:16.66666%}.seven-1300>*{width:14.28571%}.eight-1300>*{width:12.5%}.nine-1300>*{width:11.11111%}.ten-1300>*{width:10%}.eleven-1300>*{width:9.09091%}.twelve-1300>*{width:8.33333%}}@media all and (min-width: 1400px){.one-1400>*{width:100%}.two-1400>*{width:50%}.three-1400>*{width:33.33333%}.four-1400>*{width:25%}.five-1400>*{width:20%}.six-1400>*{width:16.66666%}.seven-1400>*{width:14.28571%}.eight-1400>*{width:12.5%}.nine-1400>*{width:11.11111%}.ten-1400>*{width:10%}.eleven-1400>*{width:9.09091%}.twelve-1400>*{width:8.33333%}}@media all and (min-width: 1500px){.one-1500>*{width:100%}.two-1500>*{width:50%}.three-1500>*{width:33.33333%}.four-1500>*{width:25%}.five-1500>*{width:20%}.six-1500>*{width:16.66666%}.seven-1500>*{width:14.28571%}.eight-1500>*{width:12.5%}.nine-1500>*{width:11.11111%}.ten-1500>*{width:10%}.eleven-1500>*{width:9.09091%}.twelve-1500>*{width:8.33333%}}@media all and (min-width: 1600px){.one-1600>*{width:100%}.two-1600>*{width:50%}.three-1600>*{width:33.33333%}.four-1600>*{width:25%}.five-1600>*{width:20%}.six-1600>*{width:16.66666%}.seven-1600>*{width:14.28571%}.eight-1600>*{width:12.5%}.nine-1600>*{width:11.11111%}.ten-1600>*{width:10%}.eleven-1600>*{width:9.09091%}.twelve-1600>*{width:8.33333%}}@media all and (min-width: 1700px){.one-1700>*{width:100%}.two-1700>*{width:50%}.three-1700>*{width:33.33333%}.four-1700>*{width:25%}.five-1700>*{width:20%}.six-1700>*{width:16.66666%}.seven-1700>*{width:14.28571%}.eight-1700>*{width:12.5%}.nine-1700>*{width:11.11111%}.ten-1700>*{width:10%}.eleven-1700>*{width:9.09091%}.twelve-1700>*{width:8.33333%}}@media all and (min-width: 1800px){.one-1800>*{width:100%}.two-1800>*{width:50%}.three-1800>*{width:33.33333%}.four-1800>*{width:25%}.five-1800>*{width:20%}.six-1800>*{width:16.66666%}.seven-1800>*{width:14.28571%}.eight-1800>*{width:12.5%}.nine-1800>*{width:11.11111%}.ten-1800>*{width:10%}.eleven-1800>*{width:9.09091%}.twelve-1800>*{width:8.33333%}}@media all and (min-width: 1900px){.one-1900>*{width:100%}.two-1900>*{width:50%}.three-1900>*{width:33.33333%}.four-1900>*{width:25%}.five-1900>*{width:20%}.six-1900>*{width:16.66666%}.seven-1900>*{width:14.28571%}.eight-1900>*{width:12.5%}.nine-1900>*{width:11.11111%}.ten-1900>*{width:10%}.eleven-1900>*{width:9.09091%}.twelve-1900>*{width:8.33333%}}@media all and (min-width: 2000px){.one-2000>*{width:100%}.two-2000>*{width:50%}.three-2000>*{width:33.33333%}.four-2000>*{width:25%}.five-2000>*{width:20%}.six-2000>*{width:16.66666%}.seven-2000>*{width:14.28571%}.eight-2000>*{width:12.5%}.nine-2000>*{width:11.11111%}.ten-2000>*{width:10%}.eleven-2000>*{width:9.09091%}.twelve-2000>*{width:8.33333%}}.full{width:100%}.half{width:50%}.third{width:33.33333%}.two-third{width:66.66666%}.fourth{width:25%}.three-fourth{width:75%}.fifth{width:20%}.two-fifth{width:40%}.three-fifth{width:60%}.four-fifth{width:80%}.sixth{width:16.66666%}.none{display:none}@media all and (min-width: 500px){.full-500{width:100%;display:block}.half-500{width:50%;display:block}.third-500{width:33.33333%;display:block}.two-third-500{width:66.66666%;display:block}.fourth-500{width:25%;display:block}.three-fourth-500{width:75%;display:block}.fifth-500{width:20%;display:block}.two-fifth-500{width:40%;display:block}.three-fifth-500{width:60%;display:block}.four-fifth-500{width:80%;display:block}.sixth-500{width:16.66666%;display:block}}@media all and (min-width: 600px){.full-600{width:100%;display:block}.half-600{width:50%;display:block}.third-600{width:33.33333%;display:block}.two-third-600{width:66.66666%;display:block}.fourth-600{width:25%;display:block}.three-fourth-600{width:75%;display:block}.fifth-600{width:20%;display:block}.two-fifth-600{width:40%;display:block}.three-fifth-600{width:60%;display:block}.four-fifth-600{width:80%;display:block}.sixth-600{width:16.66666%;display:block}}@media all and (min-width: 700px){.full-700{width:100%;display:block}.half-700{width:50%;display:block}.third-700{width:33.33333%;display:block}.two-third-700{width:66.66666%;display:block}.fourth-700{width:25%;display:block}.three-fourth-700{width:75%;display:block}.fifth-700{width:20%;display:block}.two-fifth-700{width:40%;display:block}.three-fifth-700{width:60%;display:block}.four-fifth-700{width:80%;display:block}.sixth-700{width:16.66666%;display:block}}@media all and (min-width: 800px){.full-800{width:100%;display:block}.half-800{width:50%;display:block}.third-800{width:33.33333%;display:block}.two-third-800{width:66.66666%;display:block}.fourth-800{width:25%;display:block}.three-fourth-800{width:75%;display:block}.fifth-800{width:20%;display:block}.two-fifth-800{width:40%;display:block}.three-fifth-800{width:60%;display:block}.four-fifth-800{width:80%;display:block}.sixth-800{width:16.66666%;display:block}}@media all and (min-width: 900px){.full-900{width:100%;display:block}.half-900{width:50%;display:block}.third-900{width:33.33333%;display:block}.two-third-900{width:66.66666%;display:block}.fourth-900{width:25%;display:block}.three-fourth-900{width:75%;display:block}.fifth-900{width:20%;display:block}.two-fifth-900{width:40%;display:block}.three-fifth-900{width:60%;display:block}.four-fifth-900{width:80%;display:block}.sixth-900{width:16.66666%;display:block}}@media all and (min-width: 1000px){.full-1000{width:100%;display:block}.half-1000{width:50%;display:block}.third-1000{width:33.33333%;display:block}.two-third-1000{width:66.66666%;display:block}.fourth-1000{width:25%;display:block}.three-fourth-1000{width:75%;display:block}.fifth-1000{width:20%;display:block}.two-fifth-1000{width:40%;display:block}.three-fifth-1000{width:60%;display:block}.four-fifth-1000{width:80%;display:block}.sixth-1000{width:16.66666%;display:block}}@media all and (min-width: 1100px){.full-1100{width:100%;display:block}.half-1100{width:50%;display:block}.third-1100{width:33.33333%;display:block}.two-third-1100{width:66.66666%;display:block}.fourth-1100{width:25%;display:block}.three-fourth-1100{width:75%;display:block}.fifth-1100{width:20%;display:block}.two-fifth-1100{width:40%;display:block}.three-fifth-1100{width:60%;display:block}.four-fifth-1100{width:80%;display:block}.sixth-1100{width:16.66666%;display:block}}@media all and (min-width: 1200px){.full-1200{width:100%;display:block}.half-1200{width:50%;display:block}.third-1200{width:33.33333%;display:block}.two-third-1200{width:66.66666%;display:block}.fourth-1200{width:25%;display:block}.three-fourth-1200{width:75%;display:block}.fifth-1200{width:20%;display:block}.two-fifth-1200{width:40%;display:block}.three-fifth-1200{width:60%;display:block}.four-fifth-1200{width:80%;display:block}.sixth-1200{width:16.66666%;display:block}}@media all and (min-width: 1300px){.full-1300{width:100%;display:block}.half-1300{width:50%;display:block}.third-1300{width:33.33333%;display:block}.two-third-1300{width:66.66666%;display:block}.fourth-1300{width:25%;display:block}.three-fourth-1300{width:75%;display:block}.fifth-1300{width:20%;display:block}.two-fifth-1300{width:40%;display:block}.three-fifth-1300{width:60%;display:block}.four-fifth-1300{width:80%;display:block}.sixth-1300{width:16.66666%;display:block}}@media all and (min-width: 1400px){.full-1400{width:100%;display:block}.half-1400{width:50%;display:block}.third-1400{width:33.33333%;display:block}.two-third-1400{width:66.66666%;display:block}.fourth-1400{width:25%;display:block}.three-fourth-1400{width:75%;display:block}.fifth-1400{width:20%;display:block}.two-fifth-1400{width:40%;display:block}.three-fifth-1400{width:60%;display:block}.four-fifth-1400{width:80%;display:block}.sixth-1400{width:16.66666%;display:block}}@media all and (min-width: 1500px){.full-1500{width:100%;display:block}.half-1500{width:50%;display:block}.third-1500{width:33.33333%;display:block}.two-third-1500{width:66.66666%;display:block}.fourth-1500{width:25%;display:block}.three-fourth-1500{width:75%;display:block}.fifth-1500{width:20%;display:block}.two-fifth-1500{width:40%;display:block}.three-fifth-1500{width:60%;display:block}.four-fifth-1500{width:80%;display:block}.sixth-1500{width:16.66666%;display:block}}@media all and (min-width: 1600px){.full-1600{width:100%;display:block}.half-1600{width:50%;display:block}.third-1600{width:33.33333%;display:block}.two-third-1600{width:66.66666%;display:block}.fourth-1600{width:25%;display:block}.three-fourth-1600{width:75%;display:block}.fifth-1600{width:20%;display:block}.two-fifth-1600{width:40%;display:block}.three-fifth-1600{width:60%;display:block}.four-fifth-1600{width:80%;display:block}.sixth-1600{width:16.66666%;display:block}}@media all and (min-width: 1700px){.full-1700{width:100%;display:block}.half-1700{width:50%;display:block}.third-1700{width:33.33333%;display:block}.two-third-1700{width:66.66666%;display:block}.fourth-1700{width:25%;display:block}.three-fourth-1700{width:75%;display:block}.fifth-1700{width:20%;display:block}.two-fifth-1700{width:40%;display:block}.three-fifth-1700{width:60%;display:block}.four-fifth-1700{width:80%;display:block}.sixth-1700{width:16.66666%;display:block}}@media all and (min-width: 1800px){.full-1800{width:100%;display:block}.half-1800{width:50%;display:block}.third-1800{width:33.33333%;display:block}.two-third-1800{width:66.66666%;display:block}.fourth-1800{width:25%;display:block}.three-fourth-1800{width:75%;display:block}.fifth-1800{width:20%;display:block}.two-fifth-1800{width:40%;display:block}.three-fifth-1800{width:60%;display:block}.four-fifth-1800{width:80%;display:block}.sixth-1800{width:16.66666%;display:block}}@media all and (min-width: 1900px){.full-1900{width:100%;display:block}.half-1900{width:50%;display:block}.third-1900{width:33.33333%;display:block}.two-third-1900{width:66.66666%;display:block}.fourth-1900{width:25%;display:block}.three-fourth-1900{width:75%;display:block}.fifth-1900{width:20%;display:block}.two-fifth-1900{width:40%;display:block}.three-fifth-1900{width:60%;display:block}.four-fifth-1900{width:80%;display:block}.sixth-1900{width:16.66666%;display:block}}@media all and (min-width: 2000px){.full-2000{width:100%;display:block}.half-2000{width:50%;display:block}.third-2000{width:33.33333%;display:block}.two-third-2000{width:66.66666%;display:block}.fourth-2000{width:25%;display:block}.three-fourth-2000{width:75%;display:block}.fifth-2000{width:20%;display:block}.two-fifth-2000{width:40%;display:block}.three-fifth-2000{width:60%;display:block}.four-fifth-2000{width:80%;display:block}.sixth-2000{width:16.66666%;display:block}}@media all and (min-width: 500px){.none-500{display:none}}@media all and (min-width: 600px){.none-600{display:none}}@media all and (min-width: 700px){.none-700{display:none}}@media all and (min-width: 800px){.none-800{display:none}}@media all and (min-width: 900px){.none-900{display:none}}@media all and (min-width: 1000px){.none-1000{display:none}}@media all and (min-width: 1100px){.none-1100{display:none}}@media all and (min-width: 1200px){.none-1200{display:none}}@media all and (min-width: 1300px){.none-1300{display:none}}@media all and (min-width: 1400px){.none-1400{display:none}}@media all and (min-width: 1500px){.none-1500{display:none}}@media all and (min-width: 1600px){.none-1600{display:none}}@media all and (min-width: 1700px){.none-1700{display:none}}@media all and (min-width: 1800px){.none-1800{display:none}}@media all and (min-width: 1900px){.none-1900{display:none}}@media all and (min-width: 2000px){.none-2000{display:none}}.off-none{margin-left:0}.off-half{margin-left:50%}.off-third{margin-left:33.33333%}.off-two-third{margin-left:66.66666%}.off-fourth{margin-left:25%}.off-three-fourth{margin-left:75%}.off-fifth{margin-left:20%}.off-two-fifth{margin-left:40%}.off-three-fifth{margin-left:60%}.off-four-fifth{margin-left:80%}.off-sixth{margin-left:16.66666%}@media all and (min-width: 500px){.off-none-500{margin-left:0}.off-half-500{margin-left:50%}.off-third-500{margin-left:33.33333%}.off-two-third-500{margin-left:66.66666%}.off-fourth-500{margin-left:25%}.off-three-fourth-500{margin-left:75%}.off-fifth-500{margin-left:20%}.off-two-fifth-500{margin-left:40%}.off-three-fifth-500{margin-left:60%}.off-four-fifth-500{margin-left:80%}.off-sixth-500{margin-left:16.66666%}}@media all and (min-width: 600px){.off-none-600{margin-left:0}.off-half-600{margin-left:50%}.off-third-600{margin-left:33.33333%}.off-two-third-600{margin-left:66.66666%}.off-fourth-600{margin-left:25%}.off-three-fourth-600{margin-left:75%}.off-fifth-600{margin-left:20%}.off-two-fifth-600{margin-left:40%}.off-three-fifth-600{margin-left:60%}.off-four-fifth-600{margin-left:80%}.off-sixth-600{margin-left:16.66666%}}@media all and (min-width: 700px){.off-none-700{margin-left:0}.off-half-700{margin-left:50%}.off-third-700{margin-left:33.33333%}.off-two-third-700{margin-left:66.66666%}.off-fourth-700{margin-left:25%}.off-three-fourth-700{margin-left:75%}.off-fifth-700{margin-left:20%}.off-two-fifth-700{margin-left:40%}.off-three-fifth-700{margin-left:60%}.off-four-fifth-700{margin-left:80%}.off-sixth-700{margin-left:16.66666%}}@media all and (min-width: 800px){.off-none-800{margin-left:0}.off-half-800{margin-left:50%}.off-third-800{margin-left:33.33333%}.off-two-third-800{margin-left:66.66666%}.off-fourth-800{margin-left:25%}.off-three-fourth-800{margin-left:75%}.off-fifth-800{margin-left:20%}.off-two-fifth-800{margin-left:40%}.off-three-fifth-800{margin-left:60%}.off-four-fifth-800{margin-left:80%}.off-sixth-800{margin-left:16.66666%}}@media all and (min-width: 900px){.off-none-900{margin-left:0}.off-half-900{margin-left:50%}.off-third-900{margin-left:33.33333%}.off-two-third-900{margin-left:66.66666%}.off-fourth-900{margin-left:25%}.off-three-fourth-900{margin-left:75%}.off-fifth-900{margin-left:20%}.off-two-fifth-900{margin-left:40%}.off-three-fifth-900{margin-left:60%}.off-four-fifth-900{margin-left:80%}.off-sixth-900{margin-left:16.66666%}}@media all and (min-width: 1000px){.off-none-1000{margin-left:0}.off-half-1000{margin-left:50%}.off-third-1000{margin-left:33.33333%}.off-two-third-1000{margin-left:66.66666%}.off-fourth-1000{margin-left:25%}.off-three-fourth-1000{margin-left:75%}.off-fifth-1000{margin-left:20%}.off-two-fifth-1000{margin-left:40%}.off-three-fifth-1000{margin-left:60%}.off-four-fifth-1000{margin-left:80%}.off-sixth-1000{margin-left:16.66666%}}@media all and (min-width: 1100px){.off-none-1100{margin-left:0}.off-half-1100{margin-left:50%}.off-third-1100{margin-left:33.33333%}.off-two-third-1100{margin-left:66.66666%}.off-fourth-1100{margin-left:25%}.off-three-fourth-1100{margin-left:75%}.off-fifth-1100{margin-left:20%}.off-two-fifth-1100{margin-left:40%}.off-three-fifth-1100{margin-left:60%}.off-four-fifth-1100{margin-left:80%}.off-sixth-1100{margin-left:16.66666%}}@media all and (min-width: 1200px){.off-none-1200{margin-left:0}.off-half-1200{margin-left:50%}.off-third-1200{margin-left:33.33333%}.off-two-third-1200{margin-left:66.66666%}.off-fourth-1200{margin-left:25%}.off-three-fourth-1200{margin-left:75%}.off-fifth-1200{margin-left:20%}.off-two-fifth-1200{margin-left:40%}.off-three-fifth-1200{margin-left:60%}.off-four-fifth-1200{margin-left:80%}.off-sixth-1200{margin-left:16.66666%}}@media all and (min-width: 1300px){.off-none-1300{margin-left:0}.off-half-1300{margin-left:50%}.off-third-1300{margin-left:33.33333%}.off-two-third-1300{margin-left:66.66666%}.off-fourth-1300{margin-left:25%}.off-three-fourth-1300{margin-left:75%}.off-fifth-1300{margin-left:20%}.off-two-fifth-1300{margin-left:40%}.off-three-fifth-1300{margin-left:60%}.off-four-fifth-1300{margin-left:80%}.off-sixth-1300{margin-left:16.66666%}}@media all and (min-width: 1400px){.off-none-1400{margin-left:0}.off-half-1400{margin-left:50%}.off-third-1400{margin-left:33.33333%}.off-two-third-1400{margin-left:66.66666%}.off-fourth-1400{margin-left:25%}.off-three-fourth-1400{margin-left:75%}.off-fifth-1400{margin-left:20%}.off-two-fifth-1400{margin-left:40%}.off-three-fifth-1400{margin-left:60%}.off-four-fifth-1400{margin-left:80%}.off-sixth-1400{margin-left:16.66666%}}@media all and (min-width: 1500px){.off-none-1500{margin-left:0}.off-half-1500{margin-left:50%}.off-third-1500{margin-left:33.33333%}.off-two-third-1500{margin-left:66.66666%}.off-fourth-1500{margin-left:25%}.off-three-fourth-1500{margin-left:75%}.off-fifth-1500{margin-left:20%}.off-two-fifth-1500{margin-left:40%}.off-three-fifth-1500{margin-left:60%}.off-four-fifth-1500{margin-left:80%}.off-sixth-1500{margin-left:16.66666%}}@media all and (min-width: 1600px){.off-none-1600{margin-left:0}.off-half-1600{margin-left:50%}.off-third-1600{margin-left:33.33333%}.off-two-third-1600{margin-left:66.66666%}.off-fourth-1600{margin-left:25%}.off-three-fourth-1600{margin-left:75%}.off-fifth-1600{margin-left:20%}.off-two-fifth-1600{margin-left:40%}.off-three-fifth-1600{margin-left:60%}.off-four-fifth-1600{margin-left:80%}.off-sixth-1600{margin-left:16.66666%}}@media all and (min-width: 1700px){.off-none-1700{margin-left:0}.off-half-1700{margin-left:50%}.off-third-1700{margin-left:33.33333%}.off-two-third-1700{margin-left:66.66666%}.off-fourth-1700{margin-left:25%}.off-three-fourth-1700{margin-left:75%}.off-fifth-1700{margin-left:20%}.off-two-fifth-1700{margin-left:40%}.off-three-fifth-1700{margin-left:60%}.off-four-fifth-1700{margin-left:80%}.off-sixth-1700{margin-left:16.66666%}}@media all and (min-width: 1800px){.off-none-1800{margin-left:0}.off-half-1800{margin-left:50%}.off-third-1800{margin-left:33.33333%}.off-two-third-1800{margin-left:66.66666%}.off-fourth-1800{margin-left:25%}.off-three-fourth-1800{margin-left:75%}.off-fifth-1800{margin-left:20%}.off-two-fifth-1800{margin-left:40%}.off-three-fifth-1800{margin-left:60%}.off-four-fifth-1800{margin-left:80%}.off-sixth-1800{margin-left:16.66666%}}@media all and (min-width: 1900px){.off-none-1900{margin-left:0}.off-half-1900{margin-left:50%}.off-third-1900{margin-left:33.33333%}.off-two-third-1900{margin-left:66.66666%}.off-fourth-1900{margin-left:25%}.off-three-fourth-1900{margin-left:75%}.off-fifth-1900{margin-left:20%}.off-two-fifth-1900{margin-left:40%}.off-three-fifth-1900{margin-left:60%}.off-four-fifth-1900{margin-left:80%}.off-sixth-1900{margin-left:16.66666%}}@media all and (min-width: 2000px){.off-none-2000{margin-left:0}.off-half-2000{margin-left:50%}.off-third-2000{margin-left:33.33333%}.off-two-third-2000{margin-left:66.66666%}.off-fourth-2000{margin-left:25%}.off-three-fourth-2000{margin-left:75%}.off-fifth-2000{margin-left:20%}.off-two-fifth-2000{margin-left:40%}.off-three-fifth-2000{margin-left:60%}.off-four-fifth-2000{margin-left:80%}.off-sixth-2000{margin-left:16.66666%}}nav{position:fixed;top:0;left:0;right:0;height:3em;padding:0 .6em;background:#fff;box-shadow:0 0 .2em rgba(170,170,170,.2);z-index:10000;transition:all .3s;transform-style:preserve-3d}nav .brand,nav .menu,nav .burger{float:right;position:relative;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}nav .brand{font-weight:700;float:left;padding:0 .6em;max-width:50%;white-space:nowrap;color:inherit}nav .brand *{vertical-align:middle}nav .logo{height:2em;margin-right:.3em}nav .select::after{height:calc(100% - 1px);padding:0;line-height:2.4em}nav .menu>*{margin-right:.6em}nav .burger{display:none}@media all and (max-width: 60em){nav .burger{display:inline-block;cursor:pointer;bottom:-1000em;margin:0;-webkit-tap-highlight-color:transparent}nav .burger~.menu,nav .show:checked~.burger{position:fixed;min-height:100%;top:0;right:0;bottom:-1000em;margin:0;background:#fff;transition:all .5s ease;transform:none}nav .burger~.menu{z-index:11}nav .show:checked~.burger{color:transparent;width:100%;border-radius:0;background:rgba(17,17,17,.2);transition:all .5s ease}nav .show~.menu{width:70%;max-width:300px;transform-origin:center right;transition:all .25s ease;transform:scaleX(0)}nav .show~.menu>*{transform:translateX(100%);transition:all 0s ease .5s}nav .show:checked~.menu>*:nth-child(1){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s}nav .show:checked~.menu>*:nth-child(2){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .1s}nav .show:checked~.menu>*:nth-child(3){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .2s}nav .show:checked~.menu>*:nth-child(4){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .3s}nav .show:checked~.menu>*:nth-child(5){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .4s}nav .show:checked~.menu>*:nth-child(6){transition:all .5s cubic-bezier(0.645, 0.045, 0.355, 1) .5s}nav .show:checked~.menu{transform:scaleX(1)}nav .show:checked~.menu>*{transform:translateX(0);transition:all .5s ease-in-out .6s}nav .burger~.menu>*{display:block;margin:.3em;text-align:left;max-width:calc(100% - 0.6em)}nav .burger~.menu>a{padding:.3em .9em}}.stack,.stack .toggle{margin-top:0;margin-bottom:0;display:block;width:100%;text-align:left;border-radius:0}.stack:first-child,.stack:first-child .toggle{border-top-left-radius:.2em;border-top-right-radius:.2em}.stack:last-child,.stack:last-child .toggle{border-bottom-left-radius:.2em;border-bottom-right-radius:.2em}input.stack,textarea.stack,select.stack{transition:border-bottom 0 ease 0;border-bottom-width:0}input.stack:last-child,textarea.stack:last-child,select.stack:last-child{border-bottom-width:1px}input.stack:focus+input,input.stack:focus+textarea,input.stack:focus+select,textarea.stack:focus+input,textarea.stack:focus+textarea,textarea.stack:focus+select,select.stack:focus+input,select.stack:focus+textarea,select.stack:focus+select{border-top-color:#0074d9}.modal .overlay~*,.card{position:relative;box-shadow:none;border-radius:.2em;border:1px solid #aaa;overflow:hidden;text-align:left;background:#fff;margin-bottom:.6em;padding:0;transition:all .3s ease}.modal .overlay~.hidden,.hidden.card,.modal .overlay~:checked+*,.modal .overlay:checked+*,:checked+.card{font-size:0;padding:0;margin:0;border:0}.modal .overlay~*>*,.card>*{max-width:100%;display:block}.modal .overlay~*>*:last-child,.card>*:last-child{margin-bottom:0}.modal .overlay~* header,.card header,.modal .overlay~* section,.card section,.modal .overlay~*>p,.card>p{padding:.6em .8em}.modal .overlay~* section,.card section{padding:.6em .8em 0}.modal .overlay~* hr,.card hr{border:none;height:1px;background-color:#aaa}.modal .overlay~* header,.card header{font-weight:bold;position:relative;border-bottom:1px solid #aaa}.modal .overlay~* header h1,.card header h1,.modal .overlay~* header h2,.card header h2,.modal .overlay~* header h3,.card header h3,.modal .overlay~* header h4,.card header h4,.modal .overlay~* header h5,.card header h5,.modal .overlay~* header h6,.card header h6{padding:0;margin:0 2em 0 0;line-height:1;display:inline-block;vertical-align:text-bottom}.modal .overlay~* header:last-child,.card header:last-child{border-bottom:0}.modal .overlay~* footer,.card footer{padding:.8em}.modal .overlay~* p,.card p{margin:.3em 0}.modal .overlay~* p:first-child,.card p:first-child{margin-top:0}.modal .overlay~* p:last-child,.card p:last-child{margin-bottom:0}.modal .overlay~*>p,.card>p{margin:0;padding-right:2.5em}.modal .overlay~* .close,.card .close{position:absolute;top:.4em;right:.3em;font-size:1.2em;padding:0 .5em;cursor:pointer;width:auto}.modal .overlay~* .close:hover,.card .close:hover{color:#ff4136}.modal .overlay~* h1+.close,.card h1+.close{margin:.2em}.modal .overlay~* h2+.close,.card h2+.close{margin:.1em}.modal .overlay~* .dangerous,.card .dangerous{background:#ff4136;float:right}.modal{text-align:center}.modal>input{display:none}.modal>input~*{opacity:0;max-height:0;overflow:hidden}.modal .overlay{top:0;left:0;bottom:0;right:0;position:fixed;margin:0;border-radius:0;background:rgba(17,17,17,.2);transition:all .3s;z-index:100000}.modal .overlay:before,.modal .overlay:after{display:none}.modal .overlay~*{border:0;position:fixed;top:50%;left:50%;transform:translateX(-50%) translateY(-50%) scale(0.2, 0.2);z-index:1000000;transition:all .3s}.modal>input:checked~*{display:block;opacity:1;max-height:10000px;transition:all .3s}.modal>input:checked~.overlay~*{max-height:90%;overflow:auto;-webkit-transform:translateX(-50%) translateY(-50%) scale(1, 1);transform:translateX(-50%) translateY(-50%) scale(1, 1)}@media(max-width: 60em){.modal .overlay~*{min-width:90%}}.dropimage{position:relative;display:block;padding:0;padding-bottom:56.25%;overflow:hidden;cursor:pointer;border:0;margin:.3em 0;border-radius:.2em;background-color:#ddd;background-size:cover;background-position:center center;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2NDAiIGhlaWdodD0iNjQwIiB2ZXJzaW9uPSIxLjEiPjxnIHN0eWxlPSJmaWxsOiMzMzMiPjxwYXRoIGQ9Ik0gMTg3IDIzMCBDIDE3NSAyMzAgMTY1IDI0MCAxNjUgMjUyIEwgMTY1IDMwMCBMIDE2NSA0MDggQyAxNjUgNDIwIDE3NSA0MzAgMTg3IDQzMCBMIDQ2MyA0MzAgQyA0NzUgNDMwIDQ4NSA0MjAgNDg1IDQwOCBMIDQ4NSAzMDAgTCA0ODUgMjUyIEMgNDg1IDI0MCA0NzUgMjMwIDQ2MyAyMzAgTCAxODcgMjMwIHogTSAzNjAgMjU2IEEgNzAgNzIgMCAwIDEgNDMwIDMyOCBBIDcwIDcyIDAgMCAxIDM2MCA0MDAgQSA3MCA3MiAwIDAgMSAyOTAgMzI4IEEgNzAgNzIgMCAwIDEgMzYwIDI1NiB6Ii8+PGNpcmNsZSBjeD0iMzYwIiBjeT0iMzMwIiByPSI0MSIvPjxwYXRoIGQ9Im0yMDUgMjI1IDUtMTAgMjAgMCA1IDEwLTMwIDAiLz48cGF0aCBkPSJNMjg1IDIwMEwyNzAgMjI1IDM3NiAyMjUgMzYxIDIwMCAyODUgMjAwek0zMTAgMjA1TDMzNyAyMDUgMzM3IDIxOCAzMTAgMjE4IDMxMCAyMDV6Ii8+PHBhdGggZD0ibTQwNSAyMjUgNS0xMCAyMCAwIDUgMTAtMzAgMCIvPjwvZz48L3N2Zz4=)}.dropimage input{left:0;width:100%;height:100%;border:0;margin:0;padding:0;opacity:0;cursor:pointer;position:absolute}.tabs{position:relative;overflow:hidden}.tabs>label img{float:left;margin-left:.6em}.tabs>.row{width:calc(100% + 1.2em);display:table;table-layout:fixed;position:relative;padding-left:0;transition:all .3s;border-spacing:0;margin:0}.tabs>.row:before,.tabs>.row:after{display:none}.tabs>.row>*,.tabs>.row img{display:table-cell;vertical-align:top;margin:0;width:100%}.tabs>input{display:none}.tabs>input+*{width:100%}.tabs>input+label{width:auto}.two.tabs>.row{width:200%;left:-100%}.two.tabs>input:nth-of-type(1):checked~.row{margin-left:100%}.two.tabs>label img{width:48%;margin:4% 0 4% 4%}.three.tabs>.row{width:300%;left:-200%}.three.tabs>input:nth-of-type(1):checked~.row{margin-left:200%}.three.tabs>input:nth-of-type(2):checked~.row{margin-left:100%}.three.tabs>label img{width:30%;margin:5% 0 5% 5%}.four.tabs>.row{width:400%;left:-300%}.four.tabs>input:nth-of-type(1):checked~.row{margin-left:300%}.four.tabs>input:nth-of-type(2):checked~.row{margin-left:200%}.four.tabs>input:nth-of-type(3):checked~.row{margin-left:100%}.four.tabs>label img{width:22%;margin:4% 0 4% 4%}.five.tabs>.row{width:500%;left:-400%}.five.tabs>input:nth-of-type(1):checked~.row{margin-left:400%}.five.tabs>input:nth-of-type(2):checked~.row{margin-left:300%}.five.tabs>input:nth-of-type(3):checked~.row{margin-left:200%}.five.tabs>input:nth-of-type(4):checked~.row{margin-left:100%}.five.tabs>label img{width:18%;margin:2% 0 2% 2%}.six.tabs>.row{width:600%;left:-500%}.six.tabs>input:nth-of-type(1):checked~.row{margin-left:500%}.six.tabs>input:nth-of-type(2):checked~.row{margin-left:400%}.six.tabs>input:nth-of-type(3):checked~.row{margin-left:300%}.six.tabs>input:nth-of-type(4):checked~.row{margin-left:200%}.six.tabs>input:nth-of-type(5):checked~.row{margin-left:100%}.six.tabs>label img{width:12%;margin:1% 0 1% 1%}.tabs>label:first-of-type img{margin-left:0}[data-tooltip]{position:relative}[data-tooltip]:after,[data-tooltip]:before{position:absolute;z-index:10;opacity:0;border-width:0;height:0;padding:0;overflow:hidden;transition:opacity .6s ease,height 0s ease .6s;top:calc(100% - 6px);left:0;margin-top:12px}[data-tooltip]:after{margin-left:0;font-size:.8em;background:#111;content:attr(data-tooltip);white-space:nowrap}[data-tooltip]:before{content:"";width:0;height:0;border-width:0;border-style:solid;border-color:transparent transparent #111;margin-top:0;left:10px}[data-tooltip]:hover:after,[data-tooltip]:focus:after,[data-tooltip]:hover:before,[data-tooltip]:focus:before{opacity:1;border-width:6px;height:auto}[data-tooltip]:hover:after,[data-tooltip]:focus:after{padding:.45em .9em}.tooltip-top:after,.tooltip-top:before{top:auto;bottom:calc(100% - 6px);left:0;margin-bottom:12px}.tooltip-top:before{border-color:#111 transparent transparent;margin-bottom:0;left:10px}.tooltip-right:after,.tooltip-right:before{left:100%;margin-left:6px;margin-top:0;top:0}.tooltip-right:before{border-color:transparent #111 transparent transparent;margin-left:-6px;left:100%;top:7px}.tooltip-left:after,.tooltip-left:before{right:100%;margin-right:6px;left:auto;margin-top:0;top:0}.tooltip-left:before{border-color:transparent transparent transparent #111;margin-right:-6px;right:100%;top:7px}
2 |
--------------------------------------------------------------------------------
/scripts/cheat/data.js:
--------------------------------------------------------------------------------
1 | var weapon_list = [{"id": 11101, "name": "Dull Blade", "level": 1}, {"id": 11201, "name": "Silver Sword", "level": 2}, {"id": 11301, "name": "Cool Steel", "level": 3}, {"id": 11302, "name": "Harbinger of Dawn", "level": 3}, {"id": 11303, "name": "Traveler's Handy Sword", "level": 3}, {"id": 11304, "name": "Dark Iron Sword", "level": 3}, {"id": 11305, "name": "Fillet Blade", "level": 3}, {"id": 11306, "name": "Skyrider Sword", "level": 3}, {"id": 11401, "name": "Favonius Sword", "level": 4}, {"id": 11402, "name": "The Flute", "level": 4}, {"id": 11403, "name": "Sacrificial Sword", "level": 4}, {"id": 11404, "name": "Royal Longsword", "level": 4}, {"id": 11405, "name": "Lion's Roar", "level": 4}, {"id": 11406, "name": "Prototype Rancour", "level": 4}, {"id": 11407, "name": "Iron Sting", "level": 4}, {"id": 11408, "name": "Blackcliff Longsword", "level": 4}, {"id": 11409, "name": "The Black Sword", "level": 4}, {"id": 11410, "name": "The Alley Flash", "level": 4}, {"id": 11412, "name": "Sword of Descension", "level": 4}, {"id": 11413, "name": "Festering Desire", "level": 4}, {"id": 11414, "name": "Amenoma Kageuchi", "level": 4}, {"id": 11415, "name": "Cinnabar Spindle", "level": 4}, {"id": 11501, "name": "Aquila Favonia", "level": 5}, {"id": 11502, "name": "Skyward Blade", "level": 5}, {"id": 11503, "name": "Freedom-Sworn", "level": 5}, {"id": 11504, "name": "Summit Shaper", "level": 5}, {"id": 11505, "name": "Primordial Jade Cutter", "level": 5}, {"id": 11509, "name": "Mistsplitter Reforged", "level": 5}, {"id": 11510, "name": "Haran Geppaku Futsu", "level": 5}, {"id": 12101, "name": "Waster Greatsword", "level": 1}, {"id": 12201, "name": "Old Merc's Pal", "level": 2}, {"id": 12301, "name": "Ferrous Shadow", "level": 3}, {"id": 12302, "name": "Bloodtainted Greatsword", "level": 3}, {"id": 12303, "name": "White Iron Greatsword", "level": 3}, {"id": 12304, "name": "Quartz", "level": 3}, {"id": 12305, "name": "Debate Club", "level": 3}, {"id": 12306, "name": "Skyrider Greatsword", "level": 3}, {"id": 12401, "name": "Favonius Greatsword", "level": 4}, {"id": 12402, "name": "The Bell", "level": 4}, {"id": 12403, "name": "Sacrificial Greatsword", "level": 4}, {"id": 12404, "name": "Royal Greatsword", "level": 4}, {"id": 12405, "name": "Rainslasher", "level": 4}, {"id": 12406, "name": "Prototype Archaic", "level": 4}, {"id": 12407, "name": "Whiteblind", "level": 4}, {"id": 12408, "name": "Blackcliff Slasher", "level": 4}, {"id": 12409, "name": "Serpent Spine", "level": 4}, {"id": 12410, "name": "Lithic Blade", "level": 4}, {"id": 12411, "name": "Snow-Tombed Starsilver", "level": 4}, {"id": 12412, "name": "Luxurious Sea-Lord", "level": 4}, {"id": 12414, "name": "Katsuragikiri Nagamasa", "level": 4}, {"id": 12416, "name": "Akuoumaru", "level": 4}, {"id": 12501, "name": "Skyward Pride", "level": 5}, {"id": 12502, "name": "Wolf's Gravestone", "level": 5}, {"id": 12503, "name": "Song of Broken Pines", "level": 5}, {"id": 12504, "name": "The Unforged", "level": 5}, {"id": 12510, "name": "Redhorn Stonethresher", "level": 5}, {"id": 13101, "name": "Beginner's Protector", "level": 1}, {"id": 13201, "name": "Iron Point", "level": 2}, {"id": 13301, "name": "White Tassel", "level": 3}, {"id": 13302, "name": "Halberd", "level": 3}, {"id": 13303, "name": "Black Tassel", "level": 3}, {"id": 13304, "name": "The Flagstaff", "level": 3}, {"id": 13401, "name": "Dragon's Bane", "level": 4}, {"id": 13402, "name": "Prototype Starglitter", "level": 4}, {"id": 13403, "name": "Crescent Pike", "level": 4}, {"id": 13404, "name": "Blackcliff Pole", "level": 4}, {"id": 13405, "name": "Deathmatch", "level": 4}, {"id": 13406, "name": "Lithic Spear", "level": 4}, {"id": 13407, "name": "Favonius Lance", "level": 4}, {"id": 13408, "name": "Royal Spear", "level": 4}, {"id": 13409, "name": "Dragonspine Spear", "level": 4}, {"id": 13414, "name": "Kitain Cross Spear", "level": 4}, {"id": 13415, "name": "\"The Catch\"", "level": 4}, {"id": 13416, "name": "Wavebreaker's Fin", "level": 4}, {"id": 13501, "name": "Staff of Homa", "level": 5}, {"id": 13502, "name": "Skyward Spine", "level": 5}, {"id": 13504, "name": "Vortex Vanquisher", "level": 5}, {"id": 13505, "name": "Primordial Jade Winged-Spear", "level": 5}, {"id": 13507, "name": "Calamity Queller", "level": 5}, {"id": 13509, "name": "Engulfing Lightning", "level": 5}, {"id": 14101, "name": "Apprentice's Notes", "level": 1}, {"id": 14201, "name": "Pocket Grimoire", "level": 2}, {"id": 14301, "name": "Magic Guide", "level": 3}, {"id": 14302, "name": "Thrilling Tales of Dragon Slayers", "level": 3}, {"id": 14303, "name": "Otherworldly Story", "level": 3}, {"id": 14304, "name": "Emerald Orb", "level": 3}, {"id": 14305, "name": "Twin Nephrite", "level": 3}, {"id": 14306, "name": "Amber Bead", "level": 3}, {"id": 14401, "name": "Favonius Codex", "level": 4}, {"id": 14402, "name": "The Widsith", "level": 4}, {"id": 14403, "name": "Sacrificial Fragments", "level": 4}, {"id": 14404, "name": "Royal Grimoire", "level": 4}, {"id": 14405, "name": "Solar Pearl", "level": 4}, {"id": 14406, "name": "Prototype Amber", "level": 4}, {"id": 14407, "name": "Mappa Mare", "level": 4}, {"id": 14408, "name": "Blackcliff Agate", "level": 4}, {"id": 14409, "name": "Eye of Perception", "level": 4}, {"id": 14410, "name": "Wine and Song", "level": 4}, {"id": 14412, "name": "Frostbearer", "level": 4}, {"id": 14413, "name": "Dodoco Tales", "level": 4}, {"id": 14414, "name": "Hakushin Ring", "level": 4}, {"id": 14415, "name": "Oathsworn Eye", "level": 4}, {"id": 14501, "name": "Skyward Atlas", "level": 5}, {"id": 14502, "name": "Lost Prayer to the Sacred Winds", "level": 5}, {"id": 14504, "name": "Memory of Dust", "level": 5}, {"id": 14506, "name": "Everlasting Moonglow", "level": 5}, {"id": 14509, "name": "Kagura's Verity", "level": 5}, {"id": 15101, "name": "Hunter's Bow", "level": 1}, {"id": 15201, "name": "Seasoned Hunter's Bow", "level": 2}, {"id": 15301, "name": "Raven Bow", "level": 3}, {"id": 15302, "name": "Sharpshooter's Oath", "level": 3}, {"id": 15303, "name": "Recurve Bow", "level": 3}, {"id": 15304, "name": "Slingshot", "level": 3}, {"id": 15305, "name": "Messenger", "level": 3}, {"id": 15306, "name": "Ebony Bow", "level": 3}, {"id": 15401, "name": "Favonius Warbow", "level": 4}, {"id": 15402, "name": "The Stringless", "level": 4}, {"id": 15403, "name": "Sacrificial Bow", "level": 4}, {"id": 15404, "name": "Royal Bow", "level": 4}, {"id": 15405, "name": "Rust", "level": 4}, {"id": 15406, "name": "Prototype Crescent", "level": 4}, {"id": 15407, "name": "Compound Bow", "level": 4}, {"id": 15408, "name": "Blackcliff Warbow", "level": 4}, {"id": 15409, "name": "The Viridescent Hunt", "level": 4}, {"id": 15410, "name": "Alley Hunter", "level": 4}, {"id": 15412, "name": "Mitternachts Waltz", "level": 4}, {"id": 15413, "name": "Windblume Ode", "level": 4}, {"id": 15414, "name": "Hamayumi", "level": 4}, {"id": 15415, "name": "Predator", "level": 4}, {"id": 15416, "name": "Mouun's Moon", "level": 4}, {"id": 15501, "name": "Skyward Harp", "level": 5}, {"id": 15502, "name": "Amos' Bow", "level": 5}, {"id": 15503, "name": "Elegy for the End", "level": 5}, {"id": 15507, "name": "Polar Star", "level": 5}, {"id": 15509, "name": "Thundering Pulse", "level": 5}, {"id": 20001, "name": "", "level": 5}, {"id": 10002, "name": "", "level": 1}, {"id": 10003, "name": "", "level": 1}, {"id": 10004, "name": "", "level": 1}, {"id": 10005, "name": "", "level": 1}, {"id": 10006, "name": "", "level": 1}, {"id": 10008, "name": "", "level": 1}];
2 | var avatar_list = [{"id": 10000001, "name": "Kate", "element": "Electric"}, {"id": 10000002, "name": "Kamisato Ayaka", "element": "Ice"}, {"id": 10000003, "name": "Jean", "element": "Wind"}, {"id": 10000006, "name": "Lisa", "element": "Electric"}, {"id": 10000014, "name": "Barbara", "element": "Water"}, {"id": 10000015, "name": "Kaeya", "element": "Ice"}, {"id": 10000016, "name": "Diluc", "element": "Fire"}, {"id": 10000020, "name": "Razor", "element": "Electric"}, {"id": 10000021, "name": "Amber", "element": "Fire"}, {"id": 10000022, "name": "Venti", "element": "Wind"}, {"id": 10000023, "name": "Xiangling", "element": "Fire"}, {"id": 10000024, "name": "Beidou", "element": "Electric"}, {"id": 10000025, "name": "Xingqiu", "element": "Water"}, {"id": 10000026, "name": "Xiao", "element": "Wind"}, {"id": 10000027, "name": "Ningguang", "element": "Rock"}, {"id": 10000029, "name": "Klee", "element": "Fire"}, {"id": 10000030, "name": "Zhongli", "element": "Rock"}, {"id": 10000031, "name": "Fischl", "element": "Electric"}, {"id": 10000032, "name": "Bennett", "element": "Fire"}, {"id": 10000033, "name": "Tartaglia", "element": "Water"}, {"id": 10000034, "name": "Noelle", "element": "Rock"}, {"id": 10000035, "name": "Qiqi", "element": "Ice"}, {"id": 10000036, "name": "Chongyun", "element": "Ice"}, {"id": 10000037, "name": "Ganyu", "element": "Ice"}, {"id": 10000038, "name": "Albedo", "element": "Rock"}, {"id": 10000039, "name": "Diona", "element": "Ice"}, {"id": 10000041, "name": "Mona", "element": "Water"}, {"id": 10000042, "name": "Keqing", "element": "Electric"}, {"id": 10000043, "name": "Sucrose", "element": "Wind"}, {"id": 10000044, "name": "Xinyan", "element": "Fire"}, {"id": 10000045, "name": "Rosaria", "element": "Ice"}, {"id": 10000046, "name": "Hu Tao", "element": "Fire"}, {"id": 10000047, "name": "Kaedehara Kazuha", "element": "Wind"}, {"id": 10000048, "name": "Yanfei", "element": "Fire"}, {"id": 10000049, "name": "Yoimiya", "element": "Fire"}, {"id": 10000050, "name": "Thoma", "element": "Fire"}, {"id": 10000051, "name": "Eula", "element": "Ice"}, {"id": 10000052, "name": "Raiden Shogun", "element": "Electric"}, {"id": 10000053, "name": "Sayu", "element": "Wind"}, {"id": 10000054, "name": "Sangonomiya Kokomi", "element": "Water"}, {"id": 10000055, "name": "Gorou", "element": "Rock"}, {"id": 10000056, "name": "Kujou Sara", "element": "Electric"}, {"id": 10000057, "name": "Arataki Itto", "element": "Rock"}, {"id": 10000058, "name": "Yae Miko", "element": "Electric"}, {"id": 10000062, "name": "Aloy", "element": "Ice"}, {"id": 10000063, "name": "Shenhe", "element": "Ice"}, {"id": 10000064, "name": "Yun Jin", "element": "Rock"}, {"id": 10000066, "name": "Kamisato Ayato", "element": "Water"}]
3 | var reli_list = [{"id": 10001, "name": "Resolution of Sojourner", "contains": {"3": [{"id": 51310, "name": "Goblet of the Sojourner", "main": 5000, "append": 301}, {"id": 51320, "name": "Feather of Homecoming", "main": 2000, "append": 301}, {"id": 51330, "name": "Crown of Parting", "main": 3000, "append": 301}, {"id": 51340, "name": "Heart of Comradeship", "main": 4000, "append": 301}, {"id": 51350, "name": "Sundial of the Sojourner", "main": 1000, "append": 301}], "4": [{"id": 51410, "name": "Goblet of the Sojourner", "main": 5000, "append": 401}, {"id": 51420, "name": "Feather of Homecoming", "main": 2000, "append": 401}, {"id": 51430, "name": "Crown of Parting", "main": 3000, "append": 401}, {"id": 51440, "name": "Heart of Comradeship", "main": 4000, "append": 401}, {"id": 51450, "name": "Sundial of the Sojourner", "main": 1000, "append": 401}]}}, {"id": 10002, "name": "Brave Heart", "contains": {"3": [{"id": 52310, "name": "Outset of the Brave", "main": 5000, "append": 301}, {"id": 52320, "name": "Prospect of the Brave", "main": 2000, "append": 301}, {"id": 52330, "name": "Crown of the Brave", "main": 3000, "append": 301}, {"id": 52340, "name": "Medal of the Brave", "main": 4000, "append": 301}, {"id": 52350, "name": "Fortitude of the Brave", "main": 1000, "append": 301}], "4": [{"id": 52410, "name": "Outset of the Brave", "main": 5000, "append": 401}, {"id": 52420, "name": "Prospect of the Brave", "main": 2000, "append": 401}, {"id": 52430, "name": "Crown of the Brave", "main": 3000, "append": 401}, {"id": 52440, "name": "Medal of the Brave", "main": 4000, "append": 401}, {"id": 52450, "name": "Fortitude of the Brave", "main": 1000, "append": 401}]}}, {"id": 10003, "name": "Defender\'s Will", "contains": {"3": [{"id": 53310, "name": "Guardian\'s Vessel", "main": 5000, "append": 301}, {"id": 53320, "name": "Guardian\'s Sigil", "main": 2000, "append": 301}, {"id": 53330, "name": "Guardian\'s Band", "main": 3000, "append": 301}, {"id": 53340, "name": "Guardian\'s Flower", "main": 4000, "append": 301}, {"id": 53350, "name": "Guardian\'s Clock", "main": 1000, "append": 301}], "4": [{"id": 53410, "name": "Guardian\'s Vessel", "main": 5000, "append": 401}, {"id": 53420, "name": "Guardian\'s Sigil", "main": 2000, "append": 401}, {"id": 53430, "name": "Guardian\'s Band", "main": 3000, "append": 401}, {"id": 53440, "name": "Guardian\'s Flower", "main": 4000, "append": 401}, {"id": 53450, "name": "Guardian\'s Clock", "main": 1000, "append": 401}]}}, {"id": 10004, "name": "Tiny Miracle", "contains": {"3": [{"id": 54310, "name": "Tiny Miracle\'s Goblet", "main": 5000, "append": 301}, {"id": 54320, "name": "Tiny Miracle\'s Feather", "main": 2000, "append": 301}, {"id": 54330, "name": "Tiny Miracle\'s Earrings", "main": 3000, "append": 301}, {"id": 54340, "name": "Tiny Miracle\'s Flower", "main": 4000, "append": 301}, {"id": 54350, "name": "Tiny Miracle\'s Hourglass", "main": 1000, "append": 301}], "4": [{"id": 54410, "name": "Tiny Miracle\'s Goblet", "main": 5000, "append": 401}, {"id": 54420, "name": "Tiny Miracle\'s Feather", "main": 2000, "append": 401}, {"id": 54430, "name": "Tiny Miracle\'s Earrings", "main": 3000, "append": 401}, {"id": 54440, "name": "Tiny Miracle\'s Flower", "main": 4000, "append": 401}, {"id": 54450, "name": "Tiny Miracle\'s Hourglass", "main": 1000, "append": 401}]}}, {"id": 10005, "name": "Berserker", "contains": {"3": [{"id": 55310, "name": "Berserker\'s Bone Goblet", "main": 5000, "append": 301}, {"id": 55320, "name": "Berserker\'s Indigo Feather", "main": 2000, "append": 301}, {"id": 55330, "name": "Berserker\'s Battle Mask", "main": 3000, "append": 301}, {"id": 55340, "name": "Berserker\'s Rose", "main": 4000, "append": 301}, {"id": 55350, "name": "Berserker\'s Timepiece", "main": 1000, "append": 301}], "4": [{"id": 55410, "name": "Berserker\'s Bone Goblet", "main": 5000, "append": 401}, {"id": 55420, "name": "Berserker\'s Indigo Feather", "main": 2000, "append": 401}, {"id": 55430, "name": "Berserker\'s Battle Mask", "main": 3000, "append": 401}, {"id": 55440, "name": "Berserker\'s Rose", "main": 4000, "append": 401}, {"id": 55450, "name": "Berserker\'s Timepiece", "main": 1000, "append": 401}]}}, {"id": 10006, "name": "Martial Artist", "contains": {"3": [{"id": 56310, "name": "Martial Artist\'s Wine Cup", "main": 5000, "append": 301}, {"id": 56320, "name": "Martial Artist\'s Feather Accessory", "main": 2000, "append": 301}, {"id": 56330, "name": "Martial Artist\'s Bandana", "main": 3000, "append": 301}, {"id": 56340, "name": "Martial Artist\'s Red Flower", "main": 4000, "append": 301}, {"id": 56350, "name": "Martial Artist\'s Water Hourglass", "main": 1000, "append": 301}], "4": [{"id": 56410, "name": "Martial Artist\'s Wine Cup", "main": 5000, "append": 401}, {"id": 56420, "name": "Martial Artist\'s Feather Accessory", "main": 2000, "append": 401}, {"id": 56430, "name": "Martial Artist\'s Bandana", "main": 3000, "append": 401}, {"id": 56440, "name": "Martial Artist\'s Red Flower", "main": 4000, "append": 401}, {"id": 56450, "name": "Martial Artist\'s Water Hourglass", "main": 1000, "append": 401}]}}, {"id": 10007, "name": "Instructor", "contains": {"3": [{"id": 57310, "name": "Instructor\'s Tea Cup", "main": 5000, "append": 301}, {"id": 57320, "name": "Instructor\'s Feather Accessory", "main": 2000, "append": 301}, {"id": 57330, "name": "Instructor\'s Cap", "main": 3000, "append": 301}, {"id": 57340, "name": "Instructor\'s Brooch", "main": 4000, "append": 301}, {"id": 57350, "name": "Instructor\'s Pocket Watch", "main": 1000, "append": 301}], "4": [{"id": 57410, "name": "Instructor\'s Tea Cup", "main": 5000, "append": 401}, {"id": 57420, "name": "Instructor\'s Feather Accessory", "main": 2000, "append": 401}, {"id": 57430, "name": "Instructor\'s Cap", "main": 3000, "append": 401}, {"id": 57440, "name": "Instructor\'s Brooch", "main": 4000, "append": 401}, {"id": 57450, "name": "Instructor\'s Pocket Watch", "main": 1000, "append": 401}]}}, {"id": 10008, "name": "Gambler", "contains": {"3": [{"id": 58310, "name": "Gambler\'s Dice Cup", "main": 5000, "append": 301}, {"id": 58320, "name": "Gambler\'s Feather Accessory", "main": 2000, "append": 301}, {"id": 58330, "name": "Gambler\'s Earrings", "main": 3000, "append": 301}, {"id": 58340, "name": "Gambler\'s Brooch", "main": 4000, "append": 301}, {"id": 58350, "name": "Gambler\'s Pocket Watch", "main": 1000, "append": 301}], "4": [{"id": 58410, "name": "Gambler\'s Dice Cup", "main": 5000, "append": 401}, {"id": 58420, "name": "Gambler\'s Feather Accessory", "main": 2000, "append": 401}, {"id": 58430, "name": "Gambler\'s Earrings", "main": 3000, "append": 401}, {"id": 58440, "name": "Gambler\'s Brooch", "main": 4000, "append": 401}, {"id": 58450, "name": "Gambler\'s Pocket Watch", "main": 1000, "append": 401}]}}, {"id": 10009, "name": "The Exile", "contains": {"3": [{"id": 59310, "name": "Exile\'s Goblet", "main": 5000, "append": 301}, {"id": 59320, "name": "Exile\'s Feather", "main": 2000, "append": 301}, {"id": 59330, "name": "Exile\'s Circlet", "main": 3000, "append": 301}, {"id": 59340, "name": "Exile\'s Flower", "main": 4000, "append": 301}, {"id": 59350, "name": "Exile\'s Pocket Watch", "main": 1000, "append": 301}], "4": [{"id": 59410, "name": "Exile\'s Goblet", "main": 5000, "append": 401}, {"id": 59420, "name": "Exile\'s Feather", "main": 2000, "append": 401}, {"id": 59430, "name": "Exile\'s Circlet", "main": 3000, "append": 401}, {"id": 59440, "name": "Exile\'s Flower", "main": 4000, "append": 401}, {"id": 59450, "name": "Exile\'s Pocket Watch", "main": 1000, "append": 401}]}}, {"id": 10010, "name": "Adventurer", "contains": {"1": [{"id": 60110, "name": "Adventurer\'s Golden Goblet", "main": 5000, "append": 101}, {"id": 60120, "name": "Adventurer\'s Tail Feather", "main": 2000, "append": 101}, {"id": 60130, "name": "Adventurer\'s Bandana", "main": 3000, "append": 101}, {"id": 60140, "name": "Adventurer\'s Flower", "main": 4000, "append": 101}, {"id": 60150, "name": "Adventurer\'s Pocket Watch", "main": 1000, "append": 101}], "2": [{"id": 60210, "name": "Adventurer\'s Golden Goblet", "main": 5000, "append": 201}, {"id": 60220, "name": "Adventurer\'s Tail Feather", "main": 2000, "append": 201}, {"id": 60230, "name": "Adventurer\'s Bandana", "main": 3000, "append": 201}, {"id": 60240, "name": "Adventurer\'s Flower", "main": 4000, "append": 201}, {"id": 60250, "name": "Adventurer\'s Pocket Watch", "main": 1000, "append": 201}], "3": [{"id": 60310, "name": "Adventurer\'s Golden Goblet", "main": 5000, "append": 301}, {"id": 60320, "name": "Adventurer\'s Tail Feather", "main": 2000, "append": 301}, {"id": 60330, "name": "Adventurer\'s Bandana", "main": 3000, "append": 301}, {"id": 60340, "name": "Adventurer\'s Flower", "main": 4000, "append": 301}, {"id": 60350, "name": "Adventurer\'s Pocket Watch", "main": 1000, "append": 301}]}}, {"id": 10011, "name": "Lucky Dog", "contains": {"1": [{"id": 61110, "name": "Lucky Dog\'s Goblet", "main": 5000, "append": 101}, {"id": 61120, "name": "Lucky Dog\'s Eagle Feather", "main": 2000, "append": 101}, {"id": 61130, "name": "Lucky Dog\'s Silver Circlet", "main": 3000, "append": 101}, {"id": 61140, "name": "Lucky Dog\'s Clover", "main": 4000, "append": 101}, {"id": 61150, "name": "Lucky Dog\'s Hourglass", "main": 1000, "append": 101}], "2": [{"id": 61210, "name": "Lucky Dog\'s Goblet", "main": 5000, "append": 201}, {"id": 61220, "name": "Lucky Dog\'s Eagle Feather", "main": 2000, "append": 201}, {"id": 61230, "name": "Lucky Dog\'s Silver Circlet", "main": 3000, "append": 201}, {"id": 61240, "name": "Lucky Dog\'s Clover", "main": 4000, "append": 201}, {"id": 61250, "name": "Lucky Dog\'s Hourglass", "main": 1000, "append": 201}], "3": [{"id": 61310, "name": "Lucky Dog\'s Goblet", "main": 5000, "append": 301}, {"id": 61320, "name": "Lucky Dog\'s Eagle Feather", "main": 2000, "append": 301}, {"id": 61330, "name": "Lucky Dog\'s Silver Circlet", "main": 3000, "append": 301}, {"id": 61340, "name": "Lucky Dog\'s Clover", "main": 4000, "append": 301}, {"id": 61350, "name": "Lucky Dog\'s Hourglass", "main": 1000, "append": 301}]}}, {"id": 10012, "name": "Scholar", "contains": {"3": [{"id": 62310, "name": "Scholar\'s Ink Cup", "main": 5000, "append": 301}, {"id": 62320, "name": "Scholar\'s Quill Pen", "main": 2000, "append": 301}, {"id": 62330, "name": "Scholar\'s Lens", "main": 3000, "append": 301}, {"id": 62340, "name": "Scholar\'s Bookmark", "main": 4000, "append": 301}, {"id": 62350, "name": "Scholar\'s Clock", "main": 1000, "append": 301}], "4": [{"id": 62410, "name": "Scholar\'s Ink Cup", "main": 5000, "append": 401}, {"id": 62420, "name": "Scholar\'s Quill Pen", "main": 2000, "append": 401}, {"id": 62430, "name": "Scholar\'s Lens", "main": 3000, "append": 401}, {"id": 62440, "name": "Scholar\'s Bookmark", "main": 4000, "append": 401}, {"id": 62450, "name": "Scholar\'s Clock", "main": 1000, "append": 401}]}}, {"id": 10013, "name": "Traveling Doctor", "contains": {"1": [{"id": 63110, "name": "Traveling Doctor\'s Medicine Pot", "main": 5000, "append": 101}, {"id": 63120, "name": "Traveling Doctor\'s Owl Feather", "main": 2000, "append": 101}, {"id": 63130, "name": "Traveling Doctor\'s Handkerchief", "main": 3000, "append": 101}, {"id": 63140, "name": "Traveling Doctor\'s Silver Lotus", "main": 4000, "append": 101}, {"id": 63150, "name": "Traveling Doctor\'s Pocket Watch", "main": 1000, "append": 101}], "2": [{"id": 63210, "name": "Traveling Doctor\'s Medicine Pot", "main": 5000, "append": 201}, {"id": 63220, "name": "Traveling Doctor\'s Owl Feather", "main": 2000, "append": 201}, {"id": 63230, "name": "Traveling Doctor\'s Handkerchief", "main": 3000, "append": 201}, {"id": 63240, "name": "Traveling Doctor\'s Silver Lotus", "main": 4000, "append": 201}, {"id": 63250, "name": "Traveling Doctor\'s Pocket Watch", "main": 1000, "append": 201}], "3": [{"id": 63310, "name": "Traveling Doctor\'s Medicine Pot", "main": 5000, "append": 301}, {"id": 63320, "name": "Traveling Doctor\'s Owl Feather", "main": 2000, "append": 301}, {"id": 63330, "name": "Traveling Doctor\'s Handkerchief", "main": 3000, "append": 301}, {"id": 63340, "name": "Traveling Doctor\'s Silver Lotus", "main": 4000, "append": 301}, {"id": 63350, "name": "Traveling Doctor\'s Pocket Watch", "main": 1000, "append": 301}]}}, {"id": 14001, "name": "Blizzard Strayer", "contains": {"4": [{"id": 71410, "name": "Frost-Weaved Dignity", "main": 5000, "append": 401}, {"id": 71420, "name": "Icebreaker\'s Resolve", "main": 2000, "append": 401}, {"id": 71430, "name": "Broken Rime\'s Echo", "main": 3000, "append": 401}, {"id": 71440, "name": "Snowswept Memory", "main": 4000, "append": 401}, {"id": 71450, "name": "Frozen Homeland\'s Demise", "main": 1000, "append": 401}], "5": [{"id": 71510, "name": "Frost-Weaved Dignity", "main": 5000, "append": 501}, {"id": 71520, "name": "Icebreaker\'s Resolve", "main": 2000, "append": 501}, {"id": 71530, "name": "Broken Rime\'s Echo", "main": 3000, "append": 501}, {"id": 71540, "name": "Snowswept Memory", "main": 4000, "append": 501}, {"id": 71550, "name": "Frozen Homeland\'s Demise", "main": 1000, "append": 501}]}}, {"id": 14002, "name": "Thundersoother", "contains": {"4": [{"id": 72410, "name": "Thundersoother\'s Goblet", "main": 5000, "append": 401}, {"id": 72420, "name": "Thundersoother\'s Plume", "main": 2000, "append": 401}, {"id": 72430, "name": "Thundersoother\'s Diadem", "main": 3000, "append": 401}, {"id": 72440, "name": "Thundersoother\'s Heart", "main": 4000, "append": 401}, {"id": 72450, "name": "Hour of Soothing Thunder", "main": 1000, "append": 401}], "5": [{"id": 72510, "name": "Thundersoother\'s Goblet", "main": 5000, "append": 501}, {"id": 72520, "name": "Thundersoother\'s Plume", "main": 2000, "append": 501}, {"id": 72530, "name": "Thundersoother\'s Diadem", "main": 3000, "append": 501}, {"id": 72540, "name": "Thundersoother\'s Heart", "main": 4000, "append": 501}, {"id": 72550, "name": "Hour of Soothing Thunder", "main": 1000, "append": 501}]}}, {"id": 14003, "name": "Lavawalker", "contains": {"4": [{"id": 73410, "name": "Lavawalker\'s Epiphany", "main": 5000, "append": 401}, {"id": 73420, "name": "Lavawalker\'s Salvation", "main": 2000, "append": 401}, {"id": 73430, "name": "Lavawalker\'s Wisdom", "main": 3000, "append": 401}, {"id": 73440, "name": "Lavawalker\'s Resolution", "main": 4000, "append": 401}, {"id": 73450, "name": "Lavawalker\'s Torment", "main": 1000, "append": 401}], "5": [{"id": 73510, "name": "Lavawalker\'s Epiphany", "main": 5000, "append": 501}, {"id": 73520, "name": "Lavawalker\'s Salvation", "main": 2000, "append": 501}, {"id": 73530, "name": "Lavawalker\'s Wisdom", "main": 3000, "append": 501}, {"id": 73540, "name": "Lavawalker\'s Resolution", "main": 4000, "append": 501}, {"id": 73550, "name": "Lavawalker\'s Torment", "main": 1000, "append": 501}]}}, {"id": 14004, "name": "Maiden Beloved", "contains": {"4": [{"id": 74410, "name": "Maiden\'s Fleeting Leisure", "main": 5000, "append": 401}, {"id": 74420, "name": "Maiden\'s Heart-stricken Infatuation", "main": 2000, "append": 401}, {"id": 74430, "name": "Maiden\'s Fading Beauty", "main": 3000, "append": 401}, {"id": 74440, "name": "Maiden\'s Distant Love", "main": 4000, "append": 401}, {"id": 74450, "name": "Maiden\'s Passing Youth", "main": 1000, "append": 401}], "5": [{"id": 74510, "name": "Maiden\'s Fleeting Leisure", "main": 5000, "append": 501}, {"id": 74520, "name": "Maiden\'s Heart-stricken Infatuation", "main": 2000, "append": 501}, {"id": 74530, "name": "Maiden\'s Fading Beauty", "main": 3000, "append": 501}, {"id": 74540, "name": "Maiden\'s Distant Love", "main": 4000, "append": 501}, {"id": 74550, "name": "Maiden\'s Passing Youth", "main": 1000, "append": 501}]}}, {"id": 15001, "name": "Gladiator\'s Finale", "contains": {"4": [{"id": 75410, "name": "Gladiator\'s Intoxication", "main": 5000, "append": 401}, {"id": 75420, "name": "Gladiator\'s Destiny", "main": 2000, "append": 401}, {"id": 75430, "name": "Gladiator\'s Triumphus", "main": 3000, "append": 401}, {"id": 75440, "name": "Gladiator\'s Nostalgia", "main": 4000, "append": 401}, {"id": 75450, "name": "Gladiator\'s Longing", "main": 1000, "append": 401}], "5": [{"id": 75510, "name": "Gladiator\'s Intoxication", "main": 5000, "append": 501}, {"id": 75520, "name": "Gladiator\'s Destiny", "main": 2000, "append": 501}, {"id": 75530, "name": "Gladiator\'s Triumphus", "main": 3000, "append": 501}, {"id": 75540, "name": "Gladiator\'s Nostalgia", "main": 4000, "append": 501}, {"id": 75550, "name": "Gladiator\'s Longing", "main": 1000, "append": 501}]}}, {"id": 15002, "name": "Viridescent Venerer", "contains": {"4": [{"id": 76410, "name": "Viridescent Venerer\'s Vessel", "main": 5000, "append": 401}, {"id": 76420, "name": "Viridescent Arrow Feather", "main": 2000, "append": 401}, {"id": 76430, "name": "Viridescent Venerer\'s Diadem", "main": 3000, "append": 401}, {"id": 76440, "name": "In Remembrance of Viridescent Fields", "main": 4000, "append": 401}, {"id": 76450, "name": "Viridescent Venerer\'s Determination", "main": 1000, "append": 401}], "5": [{"id": 76510, "name": "Viridescent Venerer\'s Vessel", "main": 5000, "append": 501}, {"id": 76520, "name": "Viridescent Arrow Feather", "main": 2000, "append": 501}, {"id": 76530, "name": "Viridescent Venerer\'s Diadem", "main": 3000, "append": 501}, {"id": 76540, "name": "In Remembrance of Viridescent Fields", "main": 4000, "append": 501}, {"id": 76550, "name": "Viridescent Venerer\'s Determination", "main": 1000, "append": 501}]}}, {"id": 15003, "name": "Wanderer\'s Troupe", "contains": {"4": [{"id": 77410, "name": "Wanderer\'s String-Kettle", "main": 5000, "append": 401}, {"id": 77420, "name": "Bard\'s Arrow Feather", "main": 2000, "append": 401}, {"id": 77430, "name": "Conductor\'s Top Hat", "main": 3000, "append": 401}, {"id": 77440, "name": "Troupe\'s Dawnlight", "main": 4000, "append": 401}, {"id": 77450, "name": "Concert\'s Final Hour", "main": 1000, "append": 401}], "5": [{"id": 77510, "name": "Wanderer\'s String-Kettle", "main": 5000, "append": 501}, {"id": 77520, "name": "Bard\'s Arrow Feather", "main": 2000, "append": 501}, {"id": 77530, "name": "Conductor\'s Top Hat", "main": 3000, "append": 501}, {"id": 77540, "name": "Troupe\'s Dawnlight", "main": 4000, "append": 501}, {"id": 77550, "name": "Concert\'s Final Hour", "main": 1000, "append": 501}]}}, {"id": 15004, "name": "Glacier and Snowfield", "contains": {"6": [{"id": 78340, "name": "Heart of Frost", "main": 4000, "append": 301}, {"id": 78320, "name": "Plume of Snow", "main": 2000, "append": 301}, {"id": 78350, "name": "Glacial Sand", "main": 1000, "append": 301}, {"id": 78310, "name": "Goblet of Aquilo", "main": 5000, "append": 301}, {"id": 78330, "name": "Crown of Glacier", "main": 3000, "append": 301}]}}, {"id": 15005, "name": "Thundering Fury", "contains": {"4": [{"id": 79410, "name": "Omen of Thunderstorm", "main": 5000, "append": 401}, {"id": 79420, "name": "Survivor of Catastrophe", "main": 2000, "append": 401}, {"id": 79430, "name": "Thunder Summoner\'s Crown", "main": 3000, "append": 401}, {"id": 79440, "name": "Thunderbird\'s Mercy", "main": 4000, "append": 401}, {"id": 79450, "name": "Hourglass of Thunder", "main": 1000, "append": 401}], "5": [{"id": 79510, "name": "Omen of Thunderstorm", "main": 5000, "append": 501}, {"id": 79520, "name": "Survivor of Catastrophe", "main": 2000, "append": 501}, {"id": 79530, "name": "Thunder Summoner\'s Crown", "main": 3000, "append": 501}, {"id": 79540, "name": "Thunderbird\'s Mercy", "main": 4000, "append": 501}, {"id": 79550, "name": "Hourglass of Thunder", "main": 1000, "append": 501}]}}, {"id": 15006, "name": "Crimson Witch of Flames", "contains": {"4": [{"id": 80410, "name": "Witch\'s Heart Flames", "main": 5000, "append": 401}, {"id": 80420, "name": "Witch\'s Ever-Burning Plume", "main": 2000, "append": 401}, {"id": 80430, "name": "Witch\'s Scorching Hat", "main": 3000, "append": 401}, {"id": 80440, "name": "Witch\'s Flower of Blaze", "main": 4000, "append": 401}, {"id": 80450, "name": "Witch\'s End Time", "main": 1000, "append": 401}], "5": [{"id": 80510, "name": "Witch\'s Heart Flames", "main": 5000, "append": 501}, {"id": 80520, "name": "Witch\'s Ever-Burning Plume", "main": 2000, "append": 501}, {"id": 80530, "name": "Witch\'s Scorching Hat", "main": 3000, "append": 501}, {"id": 80540, "name": "Witch\'s Flower of Blaze", "main": 4000, "append": 501}, {"id": 80550, "name": "Witch\'s End Time", "main": 1000, "append": 501}]}}, {"id": 15007, "name": "Noblesse Oblige", "contains": {"4": [{"id": 81410, "name": "Royal Silver Urn", "main": 5000, "append": 401}, {"id": 81420, "name": "Royal Plume", "main": 2000, "append": 401}, {"id": 81430, "name": "Royal Masque", "main": 3000, "append": 401}, {"id": 81440, "name": "Royal Flora", "main": 4000, "append": 401}, {"id": 81450, "name": "Royal Pocket Watch", "main": 1000, "append": 401}], "5": [{"id": 81510, "name": "Royal Silver Urn", "main": 5000, "append": 501}, {"id": 81520, "name": "Royal Plume", "main": 2000, "append": 501}, {"id": 81530, "name": "Royal Masque", "main": 3000, "append": 501}, {"id": 81540, "name": "Royal Flora", "main": 4000, "append": 501}, {"id": 81550, "name": "Royal Pocket Watch", "main": 1000, "append": 501}]}}, {"id": 15008, "name": "Bloodstained Chivalry", "contains": {"4": [{"id": 82410, "name": "Bloodstained Chevalier\'s Goblet", "main": 5000, "append": 401}, {"id": 82420, "name": "Bloodstained Black Plume", "main": 2000, "append": 401}, {"id": 82430, "name": "Bloodstained Iron Mask", "main": 3000, "append": 401}, {"id": 82440, "name": "Bloodstained Flower of Iron", "main": 4000, "append": 401}, {"id": 82450, "name": "Bloodstained Final Hour", "main": 1000, "append": 401}], "5": [{"id": 82510, "name": "Bloodstained Chevalier\'s Goblet", "main": 5000, "append": 501}, {"id": 82520, "name": "Bloodstained Black Plume", "main": 2000, "append": 501}, {"id": 82530, "name": "Bloodstained Iron Mask", "main": 3000, "append": 501}, {"id": 82540, "name": "Bloodstained Flower of Iron", "main": 4000, "append": 501}, {"id": 82550, "name": "Bloodstained Final Hour", "main": 1000, "append": 501}]}}, {"id": 15009, "name": "Prayers for Illumination", "contains": {"3": [{"id": 83330, "name": "Tiara of Flame", "main": 3000, "append": 301}], "4": [{"id": 83430, "name": "Tiara of Flame", "main": 3000, "append": 401}]}}, {"id": 15010, "name": "Prayers for Destiny", "contains": {"3": [{"id": 84330, "name": "Tiara of Torrents", "main": 3000, "append": 301}], "4": [{"id": 84430, "name": "Tiara of Torrents", "main": 3000, "append": 401}]}}, {"id": 15011, "name": "Prayers for Wisdom", "contains": {"3": [{"id": 85330, "name": "Tiara of Thunder", "main": 3000, "append": 301}], "4": [{"id": 85430, "name": "Tiara of Thunder", "main": 3000, "append": 401}]}}, {"id": 15012, "name": "Prayers to the Firmament", "contains": {"6": [{"id": 86330, "name": "Tiara of Gales", "main": 3000, "append": 301}]}}, {"id": 15013, "name": "Prayers to Springtime", "contains": {"3": [{"id": 87330, "name": "Tiara of Frost", "main": 3000, "append": 301}], "4": [{"id": 87430, "name": "Tiara of Frost", "main": 3000, "append": 401}]}}, {"id": 15014, "name": "Archaic Petra", "contains": {"4": [{"id": 88410, "name": "Goblet of Chiseled Crag", "main": 5000, "append": 401}, {"id": 88420, "name": "Feather of Jagged Peaks", "main": 2000, "append": 401}, {"id": 88430, "name": "Mask of Solitude Basalt", "main": 3000, "append": 401}, {"id": 88440, "name": "Flower of Creviced Cliff", "main": 4000, "append": 401}, {"id": 88450, "name": "Sundial of Enduring Jade", "main": 1000, "append": 401}], "5": [{"id": 88510, "name": "Goblet of Chiseled Crag", "main": 5000, "append": 501}, {"id": 88520, "name": "Feather of Jagged Peaks", "main": 2000, "append": 501}, {"id": 88530, "name": "Mask of Solitude Basalt", "main": 3000, "append": 501}, {"id": 88540, "name": "Flower of Creviced Cliff", "main": 4000, "append": 501}, {"id": 88550, "name": "Sundial of Enduring Jade", "main": 1000, "append": 501}]}}, {"id": 15015, "name": "Retracing Bolide", "contains": {"4": [{"id": 89410, "name": "Summer Night\'s Waterballoon", "main": 5000, "append": 401}, {"id": 89420, "name": "Summer Night\'s Finale", "main": 2000, "append": 401}, {"id": 89430, "name": "Summer Night\'s Mask", "main": 3000, "append": 401}, {"id": 89440, "name": "Summer Night\'s Bloom", "main": 4000, "append": 401}, {"id": 89450, "name": "Summer Night\'s Moment", "main": 1000, "append": 401}], "5": [{"id": 89510, "name": "Summer Night\'s Waterballoon", "main": 5000, "append": 501}, {"id": 89520, "name": "Summer Night\'s Finale", "main": 2000, "append": 501}, {"id": 89530, "name": "Summer Night\'s Mask", "main": 3000, "append": 501}, {"id": 89540, "name": "Summer Night\'s Bloom", "main": 4000, "append": 501}, {"id": 89550, "name": "Summer Night\'s Moment", "main": 1000, "append": 501}]}}, {"id": 15016, "name": "Heart of Depth", "contains": {"4": [{"id": 90410, "name": "Goblet of Thundering Deep", "main": 5000, "append": 401}, {"id": 90420, "name": "Gust of Nostalgia", "main": 2000, "append": 401}, {"id": 90430, "name": "Wine-Stained Tricorne", "main": 3000, "append": 401}, {"id": 90440, "name": "Gilded Corsage", "main": 4000, "append": 401}, {"id": 90450, "name": "Copper Compass", "main": 1000, "append": 401}], "5": [{"id": 90510, "name": "Goblet of Thundering Deep", "main": 5000, "append": 501}, {"id": 90520, "name": "Gust of Nostalgia", "main": 2000, "append": 501}, {"id": 90530, "name": "Wine-Stained Tricorne", "main": 3000, "append": 501}, {"id": 90540, "name": "Gilded Corsage", "main": 4000, "append": 501}, {"id": 90550, "name": "Copper Compass", "main": 1000, "append": 501}]}}, {"id": 15017, "name": "Tenacity of the Millelith", "contains": {"4": [{"id": 91410, "name": "Noble\'s Pledging Vessel", "main": 5000, "append": 401}, {"id": 91420, "name": "Ceremonial War-Plume", "main": 2000, "append": 401}, {"id": 91430, "name": "General\'s Ancient Helm", "main": 3000, "append": 401}, {"id": 91440, "name": "Flower of Accolades", "main": 4000, "append": 401}, {"id": 91450, "name": "Orichalceous Time-Dial", "main": 1000, "append": 401}], "5": [{"id": 91510, "name": "Noble\'s Pledging Vessel", "main": 5000, "append": 501}, {"id": 91520, "name": "Ceremonial War-Plume", "main": 2000, "append": 501}, {"id": 91530, "name": "General\'s Ancient Helm", "main": 3000, "append": 501}, {"id": 91540, "name": "Flower of Accolades", "main": 4000, "append": 501}, {"id": 91550, "name": "Orichalceous Time-Dial", "main": 1000, "append": 501}]}}, {"id": 15018, "name": "Pale Flame", "contains": {"4": [{"id": 92410, "name": "Surpassing Cup", "main": 5000, "append": 401}, {"id": 92420, "name": "Wise Doctor\'s Pinion", "main": 2000, "append": 401}, {"id": 92430, "name": "Mocking Mask", "main": 3000, "append": 401}, {"id": 92440, "name": "Stainless Bloom", "main": 4000, "append": 401}, {"id": 92450, "name": "Moment of Cessation", "main": 1000, "append": 401}], "5": [{"id": 92510, "name": "Surpassing Cup", "main": 5000, "append": 501}, {"id": 92520, "name": "Wise Doctor\'s Pinion", "main": 2000, "append": 501}, {"id": 92530, "name": "Mocking Mask", "main": 3000, "append": 501}, {"id": 92540, "name": "Stainless Bloom", "main": 4000, "append": 501}, {"id": 92550, "name": "Moment of Cessation", "main": 1000, "append": 501}]}}, {"id": 15019, "name": "Shimenawa\'s Reminiscence", "contains": {"4": [{"id": 93413, "name": "Hopeful Heart", "main": 5000, "append": 401}, {"id": 93423, "name": "Shaft of Remembrance", "main": 2000, "append": 401}, {"id": 93433, "name": "Capricious Visage", "main": 3000, "append": 401}, {"id": 93443, "name": "Entangling Bloom", "main": 4000, "append": 401}, {"id": 93453, "name": "Morning Dew\'s Moment", "main": 1000, "append": 401}], "5": [{"id": 93513, "name": "Hopeful Heart", "main": 5000, "append": 501}, {"id": 93523, "name": "Shaft of Remembrance", "main": 2000, "append": 501}, {"id": 93533, "name": "Capricious Visage", "main": 3000, "append": 501}, {"id": 93543, "name": "Entangling Bloom", "main": 4000, "append": 501}, {"id": 93553, "name": "Morning Dew\'s Moment", "main": 1000, "append": 501}]}}, {"id": 15020, "name": "Emblem of Severed Fate", "contains": {"4": [{"id": 94413, "name": "Scarlet Vessel", "main": 5000, "append": 401}, {"id": 94423, "name": "Sundered Feather", "main": 2000, "append": 401}, {"id": 94433, "name": "Ornate Kabuto", "main": 3000, "append": 401}, {"id": 94443, "name": "Magnificent Tsuba", "main": 4000, "append": 401}, {"id": 94453, "name": "Storm Cage", "main": 1000, "append": 401}], "5": [{"id": 94513, "name": "Scarlet Vessel", "main": 5000, "append": 501}, {"id": 94523, "name": "Sundered Feather", "main": 2000, "append": 501}, {"id": 94533, "name": "Ornate Kabuto", "main": 3000, "append": 501}, {"id": 94543, "name": "Magnificent Tsuba", "main": 4000, "append": 501}, {"id": 94553, "name": "Storm Cage", "main": 1000, "append": 501}]}}, {"id": 15021, "name": "Husk of Opulent Dreams", "contains": {"4": [{"id": 95413, "name": "Calabash of Awakening", "main": 5000, "append": 401}, {"id": 95423, "name": "Plume of Luxury", "main": 2000, "append": 401}, {"id": 95433, "name": "Skeletal Hat", "main": 3000, "append": 401}, {"id": 95443, "name": "Bloom Times", "main": 4000, "append": 401}, {"id": 95453, "name": "Song of Life", "main": 1000, "append": 401}], "5": [{"id": 95513, "name": "Calabash of Awakening", "main": 5000, "append": 501}, {"id": 95523, "name": "Plume of Luxury", "main": 2000, "append": 501}, {"id": 95533, "name": "Skeletal Hat", "main": 3000, "append": 501}, {"id": 95543, "name": "Bloom Times", "main": 4000, "append": 501}, {"id": 95553, "name": "Song of Life", "main": 1000, "append": 501}]}}, {"id": 15022, "name": "Ocean-Hued Clam", "contains": {"4": [{"id": 96413, "name": "Pearl Cage", "main": 5000, "append": 401}, {"id": 96423, "name": "Deep Palace\'s Plume", "main": 2000, "append": 401}, {"id": 96433, "name": "Crown of Watatsumi", "main": 3000, "append": 401}, {"id": 96443, "name": "Sea-Dyed Blossom", "main": 4000, "append": 401}, {"id": 96453, "name": "Cowry of Parting", "main": 1000, "append": 401}], "5": [{"id": 96513, "name": "Pearl Cage", "main": 5000, "append": 501}, {"id": 96523, "name": "Deep Palace\'s Plume", "main": 2000, "append": 501}, {"id": 96533, "name": "Crown of Watatsumi", "main": 3000, "append": 501}, {"id": 96543, "name": "Sea-Dyed Blossom", "main": 4000, "append": 501}, {"id": 96553, "name": "Cowry of Parting", "main": 1000, "append": 501}]}}, {"id": 15023, "name": "Vermillion Hereafter", "contains": {"4": [{"id": 97413, "name": "Moment of the Pact", "main": 5000, "append": 401}, {"id": 97423, "name": "Feather of Nascent Light", "main": 2000, "append": 401}, {"id": 97433, "name": "Thundering Poise", "main": 3000, "append": 401}, {"id": 97443, "name": "Flowering Life", "main": 4000, "append": 401}, {"id": 97453, "name": "Solar Relic", "main": 1000, "append": 401}], "5": [{"id": 97513, "name": "Moment of the Pact", "main": 5000, "append": 501}, {"id": 97523, "name": "Feather of Nascent Light", "main": 2000, "append": 501}, {"id": 97533, "name": "Thundering Poise", "main": 3000, "append": 501}, {"id": 97543, "name": "Flowering Life", "main": 4000, "append": 501}, {"id": 97553, "name": "Solar Relic", "main": 1000, "append": 501}]}}, {"id": 15024, "name": "Echoes of an Offering", "contains": {"4": [{"id": 98413, "name": "Chalice of the Font", "main": 5000, "append": 401}, {"id": 98423, "name": "Jade Leaf", "main": 2000, "append": 401}, {"id": 98433, "name": "Flowing Rings", "main": 3000, "append": 401}, {"id": 98443, "name": "Soulscent Bloom", "main": 4000, "append": 401}, {"id": 98453, "name": "Symbol of Felicitation", "main": 1000, "append": 401}], "5": [{"id": 98513, "name": "Chalice of the Font", "main": 5000, "append": 501}, {"id": 98523, "name": "Jade Leaf", "main": 2000, "append": 501}, {"id": 98533, "name": "Flowing Rings", "main": 3000, "append": 501}, {"id": 98543, "name": "Soulscent Bloom", "main": 4000, "append": 501}, {"id": 98553, "name": "Symbol of Felicitation", "main": 1000, "append": 501}]}}, {"id": 15000, "contains": {"6": [{"id": 99340, "name": "Lord of Wind over Firmament\'s Flower", "main": 4000, "append": 301}, {"id": 99320, "name": "Lord of Wind over Firmament\'s Feather", "main": 2000, "append": 301}, {"id": 99350, "name": "Lord of Wind over Firmament\'s Hourglass", "main": 1000, "append": 301}, {"id": 99310, "name": "Lord of Wind over Firmament\'s Cup", "main": 5000, "append": 301}, {"id": 99330, "name": "Lord of Wind over Firmament\'s Crown", "main": 3000, "append": 301}]}}]
4 | var reli_main_prop = {"1000": {"HP": {"normal": 10001, "percent": 10002}, "ATTACK": {"normal": 10003, "percent": 10004}, "DEFENSE": {"normal": 10005, "percent": 10006}, "CHARGE_EFFICIENCY": {"normal": 10007}, "ELEMENT_MASTERY": {"normal": 10008}, "FIRE_SUB_HURT": {"normal": 10009}, "ELEC_SUB_HURT": {"normal": 10010}, "ICE_SUB_HURT": {"normal": 10011}, "WATER_SUB_HURT": {"normal": 10012}, "WIND_SUB_HURT": {"normal": 10013}, "ROCK_SUB_HURT": {"normal": 10014}, "GRASS_SUB_HURT": {"normal": 10015}}, "2000": {"ATTACK": {"normal": 12001}}, "3000": {"HP": {"normal": 13001, "percent": 13002}, "ATTACK": {"normal": 13003, "percent": 13004}, "DEFENSE": {"normal": 13005, "percent": 13006}, "CRITICAL": {"normal": 13007}, "CRITICAL_HURT": {"normal": 13008}, "HEAL_ADD": {"normal": 13009}, "ELEMENT_MASTERY": {"normal": 13010}}, "4000": {"HP": {"normal": 14001}}, "5000": {"HP": {"normal": 15001, "percent": 15002}, "ATTACK": {"normal": 15003, "percent": 15004}, "DEFENSE": {"normal": 15005, "percent": 15006}, "ELEMENT_MASTERY": {"normal": 15007}, "FIRE_ADD_HURT": {"normal": 15008}, "ELEC_ADD_HURT": {"normal": 15009}, "ICE_ADD_HURT": {"normal": 15010}, "WATER_ADD_HURT": {"normal": 15011}, "WIND_ADD_HURT": {"normal": 15012}, "ROCK_ADD_HURT": {"normal": 15013}, "GRASS_ADD_HURT": {"normal": 15014}, "PHYSICAL_ADD_HURT": {"normal": 15015}}, "1099": {"ATTACK": {"percent": 10990}}, "1098": {"HP": {"percent": 10980}}, "1097": {"DEFENSE": {"percent": 10970}}, "1096": {"CHARGE_EFFICIENCY": {"normal": 10960}}, "1095": {"ELEMENT_MASTERY": {"normal": 10950}}, "3099": {"ATTACK": {"percent": 30990}}, "3098": {"HP": {"percent": 30980}}, "3097": {"DEFENSE": {"percent": 30970}}, "3096": {"CRITICAL": {"normal": 30960}}, "3095": {"CRITICAL_HURT": {"normal": 30950}}, "3094": {"HEAL_ADD": {"normal": 30940}}, "3093": {"ELEMENT_MASTERY": {"normal": 30930}}, "5099": {"ATTACK": {"percent": 50990}}, "5098": {"HP": {"percent": 50980}}, "5097": {"DEFENSE": {"percent": 50970}}, "5096": {"FIRE_ADD_HURT": {"normal": 50960}}, "5095": {"ELEC_ADD_HURT": {"normal": 50950}}, "5094": {"ICE_ADD_HURT": {"normal": 50940}}, "5093": {"WATER_ADD_HURT": {"normal": 50930}}, "5092": {"WIND_ADD_HURT": {"normal": 50920}}, "5091": {"ROCK_ADD_HURT": {"normal": 50910}}, "5090": {"GRASS_ADD_HURT": {"normal": 50900}}, "5089": {"PHYSICAL_ADD_HURT": {"normal": 50890}}, "5088": {"ELEMENT_MASTERY": {"normal": 50880}}}
5 | var reli_affix_prop={"101": {"HP": {"normal": {"101021": 23.899999618530273, "101022": 29.8799991607666}, "percent": {"101031": 0.011699999682605267, "101032": 0.014600000344216824}}, "ATTACK": {"normal": {"101051": 1.559999942779541, "101052": 1.9500000476837158}, "percent": {"101061": 0.011699999682605267, "101062": 0.014600000344216824}}, "DEFENSE": {"normal": {"101081": 1.850000023841858, "101082": 2.309999942779541}, "percent": {"101091": 0.014600000344216824, "101092": 0.018200000748038292}}, "CHARGE_EFFICIENCY": {"normal": {"101231": 0.013000000268220901, "101232": 0.016200000420212746}}, "ELEMENT_MASTERY": {"normal": {"101241": 4.659999847412109, "101242": 5.829999923706055}}, "CRITICAL": {"normal": {"101201": 0.007799999788403511, "101202": 0.009700000286102295}}, "CRITICAL_HURT": {"normal": {"101221": 0.01549999974668026, "101222": 0.01940000057220459}}}, "201": {"HP": {"normal": {"201021": 50.189998626708984, "201022": 60.95000076293945, "201023": 71.69999694824219}, "percent": {"201031": 0.016300000250339508, "201032": 0.01979999989271164, "201033": 0.02329999953508377}}, "ATTACK": {"normal": {"201051": 3.2699999809265137, "201052": 3.9700000286102295, "201053": 4.670000076293945}, "percent": {"201061": 0.016300000250339508, "201062": 0.01979999989271164, "201063": 0.02329999953508377}}, "DEFENSE": {"normal": {"201081": 3.890000104904175, "201082": 4.71999979019165, "201083": 5.559999942779541}, "percent": {"201091": 0.020400000736117363, "201092": 0.024800000712275505, "201093": 0.029100000858306885}}, "CHARGE_EFFICIENCY": {"normal": {"201231": 0.01810000091791153, "201232": 0.02199999988079071, "201233": 0.02590000070631504}}, "ELEMENT_MASTERY": {"normal": {"201241": 6.53000020980835, "201242": 7.929999828338623, "201243": 9.329999923706055}}, "CRITICAL": {"normal": {"201201": 0.010900000110268593, "201202": 0.013199999928474426, "201203": 0.01549999974668026}}, "CRITICAL_HURT": {"normal": {"201221": 0.021800000220537186, "201222": 0.026399999856948853, "201223": 0.031099999323487282}}}, "301": {"HP": {"normal": {"301021": 100.37999725341797, "301022": 114.72000122070312, "301023": 129.05999755859375, "301024": 143.39999389648438}, "percent": {"301031": 0.02449999935925007, "301032": 0.02800000086426735, "301033": 0.03150000050663948, "301034": 0.03500000014901161}}, "ATTACK": {"normal": {"301051": 6.539999961853027, "301052": 7.46999979019165, "301053": 8.399999618530273, "301054": 9.34000015258789}, "percent": {"301061": 0.02449999935925007, "301062": 0.02800000086426735, "301063": 0.03150000050663948, "301064": 0.03500000014901161}}, "DEFENSE": {"normal": {"301081": 7.78000020980835, "301082": 8.890000343322754, "301083": 10.0, "301084": 11.109999656677246}, "percent": {"301091": 0.03060000017285347, "301092": 0.03500000014901161, "301093": 0.03929999843239784, "301094": 0.043699998408555984}}, "CHARGE_EFFICIENCY": {"normal": {"301231": 0.0272000003606081, "301232": 0.031099999323487282, "301233": 0.03500000014901161, "301234": 0.03889999911189079}}, "ELEMENT_MASTERY": {"normal": {"301241": 9.789999961853027, "301242": 11.1899995803833, "301243": 12.59000015258789, "301244": 13.989999771118164}}, "CRITICAL": {"normal": {"301201": 0.016300000250339508, "301202": 0.01860000006854534, "301203": 0.020999999716877937, "301204": 0.02329999953508377}}, "CRITICAL_HURT": {"normal": {"301221": 0.032600000500679016, "301222": 0.037300001829862595, "301223": 0.041999999433755875, "301224": 0.04659999907016754}}}, "401": {"HP": {"normal": {"401021": 167.3000030517578, "401022": 191.1999969482422, "401023": 215.10000610351562, "401024": 239.0}, "percent": {"401031": 0.032600000500679016, "401032": 0.037300001829862595, "401033": 0.041999999433755875, "401034": 0.04659999907016754}}, "ATTACK": {"normal": {"401051": 10.890000343322754, "401052": 12.449999809265137, "401053": 14.0, "401054": 15.5600004196167}, "percent": {"401061": 0.032600000500679016, "401062": 0.037300001829862595, "401063": 0.041999999433755875, "401064": 0.04659999907016754}}, "DEFENSE": {"normal": {"401081": 12.960000038146973, "401082": 14.819999694824219, "401083": 16.670000076293945, "401084": 18.520000457763672}, "percent": {"401091": 0.040800001472234726, "401092": 0.04659999907016754, "401093": 0.05249999836087227, "401094": 0.05829999968409538}}, "CHARGE_EFFICIENCY": {"normal": {"401231": 0.03629999980330467, "401232": 0.0414000004529953, "401233": 0.04659999907016754, "401234": 0.05180000141263008}}, "ELEMENT_MASTERY": {"normal": {"401241": 13.0600004196167, "401242": 14.920000076293945, "401243": 16.790000915527344, "401244": 18.649999618530273}}, "CRITICAL": {"normal": {"401201": 0.021800000220537186, "401202": 0.024900000542402267, "401203": 0.02800000086426735, "401204": 0.031099999323487282}}, "CRITICAL_HURT": {"normal": {"401221": 0.04349999874830246, "401222": 0.04969999939203262, "401223": 0.0560000017285347, "401224": 0.062199998646974564}}}, "501": {"HP": {"normal": {"501021": 209.1300048828125, "501022": 239.0, "501023": 268.8800048828125, "501024": 298.75}, "percent": {"501031": 0.040800001472234726, "501032": 0.04659999907016754, "501033": 0.05249999836087227, "501034": 0.05829999968409538}}, "ATTACK": {"normal": {"501051": 13.619999885559082, "501052": 15.5600004196167, "501053": 17.510000228881836, "501054": 19.450000762939453}, "percent": {"501061": 0.040800001472234726, "501062": 0.04659999907016754, "501063": 0.05249999836087227, "501064": 0.05829999968409538}}, "DEFENSE": {"normal": {"501081": 16.200000762939453, "501082": 18.520000457763672, "501083": 20.829999923706055, "501084": 23.149999618530273}, "percent": {"501091": 0.050999999046325684, "501092": 0.05829999968409538, "501093": 0.06560000032186508, "501094": 0.07289999723434448}}, "CHARGE_EFFICIENCY": {"normal": {"501231": 0.04529999941587448, "501232": 0.05180000141263008, "501233": 0.05829999968409538, "501234": 0.06480000168085098}}, "ELEMENT_MASTERY": {"normal": {"501241": 16.31999969482422, "501242": 18.649999618530273, "501243": 20.979999542236328, "501244": 23.309999465942383}}, "CRITICAL": {"normal": {"501201": 0.0272000003606081, "501202": 0.031099999323487282, "501203": 0.03500000014901161, "501204": 0.03889999911189079}}, "CRITICAL_HURT": {"normal": {"501221": 0.0544000007212162, "501222": 0.062199998646974564, "501223": 0.06989999860525131, "501224": 0.07769999653100967}}}, "999": {"CRITICAL_HURT": {"normal": {"999001": 3.5}}, "CRITICAL": {"normal": {"999002": 1.0}}, "ATTACK": {"normal": {"999003": 233333.0}}, "DEFENSE": {"normal": {"999004": 233333.0}}}, "998": {"HP": {"percent": {"998001": 0.14569999277591705}}, "ATTACK": {"percent": {"998002": 0.14569999277591705}}, "DEFENSE": {"percent": {"998003": 0.18209999799728394}}, "CRITICAL": {"normal": {"998004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"998005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"998006": 58.279998779296875}}, "CRITICAL_HURT": {"normal": {"998007": 0.19429999589920044}}}, "995": {"HP": {"percent": {"995001": 0.14569999277591705}}, "ATTACK": {"percent": {"995002": 0.14569999277591705}}, "DEFENSE": {"percent": {"995003": 0.18209999799728394}}, "CRITICAL": {"normal": {"995004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"995005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"995006": 58.279998779296875}}, "CRITICAL_HURT": {"normal": {"995007": 0.19429999589920044}}}, "997": {"HP": {"percent": {"997001": 0.09319999814033508}}, "ATTACK": {"percent": {"997002": 0.09319999814033508}}, "DEFENSE": {"percent": {"997003": 0.11659999936819077}}, "CRITICAL": {"normal": {"997004": 0.062199998646974564}}, "CHARGE_EFFICIENCY": {"normal": {"997005": 0.10360000282526016}}, "ELEMENT_MASTERY": {"normal": {"997006": 37.29999923706055}}, "CRITICAL_HURT": {"normal": {"997007": 0.12430000305175781}}}, "996": {"HP": {"percent": {"996001": 0.09319999814033508}}, "ATTACK": {"percent": {"996002": 0.09319999814033508}}, "DEFENSE": {"percent": {"996003": 0.11659999936819077}}, "CRITICAL": {"normal": {"996004": 0.062199998646974564}}, "CHARGE_EFFICIENCY": {"normal": {"996005": 0.10360000282526016}}, "ELEMENT_MASTERY": {"normal": {"996006": 37.29999923706055}}, "CRITICAL_HURT": {"normal": {"996007": 0.12430000305175781}}}, "994": {"CRITICAL": {"normal": {"994001": 0.800000011920929}}}, "993": {"CRITICAL_HURT": {"normal": {"993001": 0.800000011920929}}}, "992": {"SHIELD_COST_MINUS_RATIO": {"normal": {"992001": 0.800000011920929}}}, "991": {"HEAL_ADD": {"normal": {"991001": 0.800000011920929}}}, "990": {"HEALED_ADD": {"normal": {"990001": 0.800000011920929}}}, "989": {"SKILL_CD_MINUS_RATIO": {"normal": {"989001": 0.5}}}, "988": {"SPEED": {"percent": {"988001": 0.30000001192092896}}}, "987": {"FIRE_ADD_HURT": {"normal": {"987001": 0.800000011920929}}}, "986": {"ELEC_ADD_HURT": {"normal": {"986001": 0.800000011920929}}}, "985": {"WATER_ADD_HURT": {"normal": {"985001": 0.800000011920929}}}, "984": {"GRASS_ADD_HURT": {"normal": {"984001": 0.800000011920929}}}, "983": {"WIND_ADD_HURT": {"normal": {"983001": 0.800000011920929}}}, "982": {"ROCK_ADD_HURT": {"normal": {"982001": 0.800000011920929}}}, "981": {"ICE_ADD_HURT": {"normal": {"981001": 0.800000011920929}}}, "980": {"PHYSICAL_ADD_HURT": {"normal": {"980001": 0.800000011920929}}}, "979": {"FIRE_SUB_HURT": {"normal": {"979001": 0.800000011920929}}}, "978": {"ELEC_SUB_HURT": {"normal": {"978001": 0.800000011920929}}}, "977": {"WATER_SUB_HURT": {"normal": {"977001": 0.800000011920929}}}, "976": {"GRASS_SUB_HURT": {"normal": {"976001": 0.800000011920929}}}, "975": {"WIND_SUB_HURT": {"normal": {"975001": 0.800000011920929}}}, "974": {"ROCK_SUB_HURT": {"normal": {"974001": 0.800000011920929}}}, "973": {"ICE_SUB_HURT": {"normal": {"973001": 0.800000011920929}}}, "972": {"PHYSICAL_SUB_HURT": {"normal": {"972001": 0.800000011920929}}}, "971": {"ADD_HURT": {"normal": {"971001": 0.800000011920929}}}, "970": {"SUB_HURT": {"normal": {"970001": 0.800000011920929}}}, "969": {"DEFENSE": {"normal": {"969001": -500.0}}}, "968": {"ELEMENT_MASTERY": {"normal": {"968001": -300.0}}}, "951": {"HP": {"percent": {"951001": 0.14569999277591705}}, "ATTACK": {"percent": {"951002": 0.14569999277591705}}, "DEFENSE": {"percent": {"951003": 0.18209999799728394}}, "CRITICAL": {"normal": {"951004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"951005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"951006": 58.279998779296875}}, "CRITICAL_HURT": {"normal": {"951007": 0.19429999589920044}}}, "952": {"HP": {"percent": {"952001": 0.14569999277591705}}, "ATTACK": {"percent": {"952002": 0.14569999277591705}}, "DEFENSE": {"percent": {"952003": 0.18209999799728394}}, "CRITICAL": {"normal": {"952004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"952005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"952006": 58.279998779296875}}, "CRITICAL_HURT": {"normal": {"952007": 0.19429999589920044}}}, "953": {"HP": {"percent": {"953001": 0.14569999277591705}}, "ATTACK": {"percent": {"953002": 0.14569999277591705}}, "DEFENSE": {"percent": {"953003": 0.18209999799728394}}, "CRITICAL": {"normal": {"953004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"953005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"953006": 58.279998779296875}}, "CRITICAL_HURT": {"normal": {"953007": 0.19429999589920044}}}, "956": {"HP": {"percent": {"956001": 0.14569999277591705}}, "ATTACK": {"percent": {"956002": 0.14569999277591705}}, "DEFENSE": {"percent": {"956003": 0.18209999799728394}}, "CRITICAL": {"normal": {"956004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"956005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"956006": 58.279998779296875}}, "CRITICAL_HURT": {"normal": {"956007": 0.19429999589920044}}}, "941": {"HP": {"percent": {"941001": 0.09319999814033508}}, "ATTACK": {"percent": {"941002": 0.09319999814033508}}, "DEFENSE": {"percent": {"941003": 0.11659999936819077}}, "CRITICAL": {"normal": {"941004": 0.062199998646974564}}, "CHARGE_EFFICIENCY": {"normal": {"941005": 0.10360000282526016}}, "ELEMENT_MASTERY": {"normal": {"941006": 37.29999923706055}}, "CRITICAL_HURT": {"normal": {"941007": 0.12430000305175781}}}, "942": {"HP": {"percent": {"942001": 0.09319999814033508}}, "ATTACK": {"percent": {"942002": 0.09319999814033508}}, "DEFENSE": {"percent": {"942003": 0.11659999936819077}}, "CRITICAL": {"normal": {"942004": 0.062199998646974564}}, "CHARGE_EFFICIENCY": {"normal": {"942005": 0.10360000282526016}}, "ELEMENT_MASTERY": {"normal": {"942006": 37.29999923706055}}, "CRITICAL_HURT": {"normal": {"942007": 0.12430000305175781}}}, "943": {"HP": {"percent": {"943001": 0.09319999814033508}}, "ATTACK": {"percent": {"943002": 0.09319999814033508}}, "DEFENSE": {"percent": {"943003": 0.11659999936819077}}, "CRITICAL": {"normal": {"943004": 0.062199998646974564}}, "CHARGE_EFFICIENCY": {"normal": {"943005": 0.10360000282526016}}, "ELEMENT_MASTERY": {"normal": {"943006": 37.29999923706055}}, "CRITICAL_HURT": {"normal": {"943007": 0.12430000305175781}}}, "946": {"HP": {"percent": {"946001": 0.09319999814033508}}, "ATTACK": {"percent": {"946002": 0.09319999814033508}}, "DEFENSE": {"percent": {"946003": 0.11659999936819077}}, "CRITICAL": {"normal": {"946004": 0.062199998646974564}}, "CHARGE_EFFICIENCY": {"normal": {"946005": 0.10360000282526016}}, "ELEMENT_MASTERY": {"normal": {"946006": 37.29999923706055}}, "CRITICAL_HURT": {"normal": {"946007": 0.12430000305175781}}}, "961": {"HP": {"percent": {"961001": 0.09713800251483917}, "normal": {"961008": 746.8800048828125}}, "ATTACK": {"percent": {"961002": 0.14569999277591705}, "normal": {"961009": 48.630001068115234}}, "DEFENSE": {"percent": {"961003": 0.12140599638223648}, "normal": {"961010": 57.869998931884766}}, "CRITICAL": {"normal": {"961004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"961005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"961006": 38.85527420043945}}, "CRITICAL_HURT": {"normal": {"961007": 0.19429999589920044}}}, "962": {"HP": {"percent": {"962001": 0.09713800251483917}, "normal": {"962008": 746.8800048828125}}, "ATTACK": {"percent": {"962002": 0.14569999277591705}, "normal": {"962009": 48.630001068115234}}, "DEFENSE": {"percent": {"962003": 0.12140599638223648}, "normal": {"962010": 57.869998931884766}}, "CRITICAL": {"normal": {"962004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"962005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"962006": 38.85527420043945}}, "CRITICAL_HURT": {"normal": {"962007": 0.19429999589920044}}}, "963": {"HP": {"percent": {"963001": 0.09713800251483917}, "normal": {"963008": 746.8800048828125}}, "ATTACK": {"percent": {"963002": 0.14569999277591705}, "normal": {"963009": 48.630001068115234}}, "DEFENSE": {"percent": {"963003": 0.12140599638223648}, "normal": {"963010": 57.869998931884766}}, "CRITICAL": {"normal": {"963004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"963005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"963006": 38.85527420043945}}, "CRITICAL_HURT": {"normal": {"963007": 0.19429999589920044}}}, "964": {"HP": {"percent": {"964001": 0.09713800251483917}, "normal": {"964008": 746.8800048828125}}, "ATTACK": {"percent": {"964002": 0.14569999277591705}, "normal": {"964009": 48.630001068115234}}, "DEFENSE": {"percent": {"964003": 0.12140599638223648}, "normal": {"964010": 57.869998931884766}}, "CRITICAL": {"normal": {"964004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"964005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"964006": 38.85527420043945}}, "CRITICAL_HURT": {"normal": {"964007": 0.19429999589920044}}}, "965": {"HP": {"percent": {"965001": 0.09713800251483917}, "normal": {"965008": 746.8800048828125}}, "ATTACK": {"percent": {"965002": 0.14569999277591705}, "normal": {"965009": 48.630001068115234}}, "DEFENSE": {"percent": {"965003": 0.12140599638223648}, "normal": {"965010": 57.869998931884766}}, "CRITICAL": {"normal": {"965004": 0.09709999710321426}}, "CHARGE_EFFICIENCY": {"normal": {"965005": 0.16189999878406525}}, "ELEMENT_MASTERY": {"normal": {"965006": 38.85527420043945}}, "CRITICAL_HURT": {"normal": {"965007": 0.19429999589920044}}}};
6 | var monster_data = [{"id": "20010101", "name": "Dendro Slime", "type": 0}, {"id": "20010201", "name": "Large Dendro Slime", "type": 0}, {"id": "20010202", "name": "", "type": 0}, {"id": "20010301", "name": "Anemo Slime", "type": 0}, {"id": "20010302", "name": "Anemo Slime (Mechanicus)", "type": 0}, {"id": "20010401", "name": "Large Anemo Slime", "type": 0}, {"id": "20010402", "name": "Large Anemo Slime (Mechanicus)", "type": 0}, {"id": "20010403", "name": "", "type": 0}, {"id": "20010501", "name": "Electro Slime", "type": 0}, {"id": "20010502", "name": "Electro Slime (Mechanicus)", "type": 0}, {"id": "20010601", "name": "Large Electro Slime", "type": 0}, {"id": "20010602", "name": "Large Electro Slime (Mechanicus)", "type": 0}, {"id": "20010604", "name": "", "type": 0}, {"id": "20010701", "name": "Mutant Electro Slime", "type": 0}, {"id": "20010702", "name": "", "type": 0}, {"id": "20010703", "name": "Mutant Electro Slime (Mechanicus)", "type": 0}, {"id": "20010801", "name": "Cryo Slime", "type": 0}, {"id": "20010802", "name": "Cryo Slime - Dragonspine Event", "type": 0}, {"id": "20010803", "name": "Cryo Slime (Mechanicus)", "type": 0}, {"id": "20010901", "name": "Large Cryo Slime", "type": 0}, {"id": "20010902", "name": "Large Cryo Slime - Snowy Mountain Event", "type": 0}, {"id": "20010903", "name": "Large Cryo Slime (Mechanicus)", "type": 0}, {"id": "20010904", "name": "", "type": 0}, {"id": "20011001", "name": "Hydro Slime", "type": 0}, {"id": "20011002", "name": "Hydro Slime (Mechanicus)", "type": 0}, {"id": "20011101", "name": "Large Hydro Slime", "type": 0}, {"id": "20011102", "name": "Large Hydro Slime (Mechanicus)", "type": 0}, {"id": "20011103", "name": "", "type": 0}, {"id": "20011201", "name": "Pyro Slime", "type": 0}, {"id": "20011202", "name": "Pyro Slime", "type": 0}, {"id": "20011203", "name": "Pyro Slime (Mechanicus)", "type": 0}, {"id": "20011301", "name": "Large Pyro Slime", "type": 0}, {"id": "20011302", "name": "Large Pyro Slime (Mechanicus)", "type": 0}, {"id": "20011304", "name": "", "type": 0}, {"id": "20011401", "name": "Geo Slime", "type": 0}, {"id": "20011402", "name": "Geo Slime (Mechanicus)", "type": 0}, {"id": "20011501", "name": "Large Geo Slime", "type": 0}, {"id": "20011502", "name": "", "type": 0}, {"id": "20011503", "name": "Large Geo Slime (Mechanicus)", "type": 0}, {"id": "20011601", "name": "Hydro Hypostasis Summon: Split (L)", "type": 0}, {"id": "20011701", "name": "Hydro Hypostasis Summon: Split (S)", "type": 0}, {"id": "20011801", "name": "Hydro Hypostasis Summon: Self-Destruct", "type": 0}, {"id": "20011901", "name": "Hydro Hypostasis Summon: Heal", "type": 0}, {"id": "20020101", "name": "Eye of the Storm", "type": 0}, {"id": "20040101", "name": "Electro Hypostasis - Aleph", "type": 1}, {"id": "20040102", "name": "(Event) Electro Hypostasis - Aleph", "type": 1}, {"id": "20040201", "name": "Anemo Hypostasis - Beth", "type": 1}, {"id": "20040202", "name": "(Event) Anemo Hypostasis - Beth", "type": 1}, {"id": "20040301", "name": "Geo Hypostasis: Gimel", "type": 1}, {"id": "20040302", "name": "(Event) Geo Hypostasis - Gimel", "type": 1}, {"id": "20040401", "name": "Hydro Hypostasis", "type": 1}, {"id": "20040501", "name": "Cryo Hypostasis - Daleth", "type": 1}, {"id": "20040601", "name": "Pyro Hypostasis: Ayin", "type": 1}, {"id": "20050101", "name": "Oceanid", "type": 1}, {"id": "20050102", "name": "Oceanid (Main Body)", "type": 1}, {"id": "20050201", "name": "Oceanid Boar", "type": 0}, {"id": "20050202", "name": "Oceanid Boar (Enhanced)", "type": 0}, {"id": "20050203", "name": "", "type": 0}, {"id": "20050301", "name": "Oceanid Crane", "type": 0}, {"id": "20050302", "name": "", "type": 0}, {"id": "20050401", "name": "Oceanid Crab", "type": 0}, {"id": "20050402", "name": "Oceanid Crab (Enhanced)", "type": 0}, {"id": "20050403", "name": "", "type": 0}, {"id": "20050501", "name": "Oceanid Finch", "type": 0}, {"id": "20050502", "name": "", "type": 0}, {"id": "20050601", "name": "Oceanid Mallard", "type": 0}, {"id": "20050602", "name": "Oceanid Mallard (Landwalker Version)", "type": 0}, {"id": "20050603", "name": "", "type": 0}, {"id": "20050701", "name": "Oceanid Ferret", "type": 0}, {"id": "20050702", "name": "Oceanid Ferret (Enhanced)", "type": 0}, {"id": "20050703", "name": "", "type": 0}, {"id": "20050801", "name": "Oceanid Frog", "type": 0}, {"id": "20050802", "name": "", "type": 0}, {"id": "20050901", "name": "Oceanid Raptor", "type": 0}, {"id": "20060101", "name": "Hydro Specter", "type": 0}, {"id": "20060201", "name": "Geo Specter", "type": 0}, {"id": "20060301", "name": "Anemo Specter", "type": 0}, {"id": "20060401", "name": "null", "type": 0}, {"id": "20060501", "name": "null", "type": 0}, {"id": "20060601", "name": "null", "type": 0}, {"id": "20070101", "name": "Thunder Manifestation", "type": 1}, {"id": "21010101", "name": "Hilichurl", "type": 0}, {"id": "21010102", "name": "Hilichurl (Mechanicus)", "type": 0}, {"id": "21010201", "name": "Hilichurl Fighter", "type": 0}, {"id": "21010301", "name": "Wooden Shield Hilichurl Guard", "type": 0}, {"id": "21010302", "name": "Wooden Shield Hilichurl Guard (Mechanicus)", "type": 0}, {"id": "21010401", "name": "Hilichurl Shooter", "type": 0}, {"id": "21010402", "name": "Test_Varied Hilichurl Shooter", "type": 0}, {"id": "21010501", "name": "Pyro Hilichurl Shooter", "type": 0}, {"id": "21010502", "name": "Test_Varied Pyro Hilichurl Shooter", "type": 0}, {"id": "21010601", "name": "Hilichurl Grenadier", "type": 0}, {"id": "21010603", "name": "", "type": 0}, {"id": "21010701", "name": "Hilichurl Berserker", "type": 0}, {"id": "21010702", "name": "Hilichurl Berserker (Mechanicus)", "type": 0}, {"id": "21010901", "name": "Cryo Hilichurl Shooter", "type": 0}, {"id": "21010902", "name": "Test_Varied Cryo Hilichurl Shooter", "type": 0}, {"id": "21011001", "name": "Electro Hilichurl Shooter", "type": 0}, {"id": "21011002", "name": "Test_Varied Electro Hilichurl Shooter", "type": 0}, {"id": "21011201", "name": "Rock Shield Hilichurl Guard", "type": 0}, {"id": "21011202", "name": "Rock Shield Hilichurl Guard (Mechanicus)", "type": 0}, {"id": "21011301", "name": "Cryo Hilichurl Grenadier", "type": 0}, {"id": "21011302", "name": "Cryo Hilichurl Grenadier - Enhanced Attack", "type": 0}, {"id": "21011401", "name": "Ice Shield Hilichurl Guard", "type": 0}, {"id": "21011402", "name": "Ice Shield Hilichurl Guard (Mechanicus)", "type": 0}, {"id": "21011403", "name": "Ice Shield Hilichurl Guard: Dragonspine Event", "type": 0}, {"id": "21011501", "name": "Unusual Unarmed Hilichurl", "type": 0}, {"id": "21011601", "name": "Electro Hilichurl Grenadier", "type": 0}, {"id": "21011602", "name": "Electro Hilichurl Grenadier - Enhanced Attack", "type": 0}, {"id": "21020101", "name": "Wooden Shieldwall Mitachurl", "type": 0}, {"id": "21020102", "name": "Wooden Shieldwall Mitachurl (Mechanicus)", "type": 0}, {"id": "21020201", "name": "Blazing Axe Mitachurl", "type": 0}, {"id": "21020202", "name": "", "type": 0}, {"id": "21020203", "name": "Blazing Axe Mitachurl (Mechanicus)", "type": 0}, {"id": "21020301", "name": "Rock Shieldwall Mitachurl", "type": 0}, {"id": "21020302", "name": "Rock Shieldwall Mitachurl (Mechanicus)", "type": 0}, {"id": "21020401", "name": "Frostarm Lawachurl", "type": 0}, {"id": "21020402", "name": "Frostarm Lawachurl (Mechanicus)", "type": 0}, {"id": "21020501", "name": "Stonehide Lawachurl", "type": 0}, {"id": "21020502", "name": "Stonehide Lawachurl (Mechanicus)", "type": 0}, {"id": "21020601", "name": "Ice Shieldwall Mitachurl", "type": 0}, {"id": "21020602", "name": "Ice Shieldwall Mitachurl (Mechanicus)", "type": 0}, {"id": "21020701", "name": "Crackling Axe Mitachurl", "type": 0}, {"id": "21020702", "name": "Crackling Axe Mitachurl (Mechanicus)", "type": 0}, {"id": "21020703", "name": "Crackling Axe Mitachurl - Enhanced Attack", "type": 0}, {"id": "21020801", "name": "Thunderhelm Lawachurl", "type": 0}, {"id": "21020802", "name": "Thunderhelm Lawachurl (Mechanicus)", "type": 0}, {"id": "21030101", "name": "Hydro Samachurl", "type": 0}, {"id": "21030102", "name": "Hydro Samachurl (Mechanicus)", "type": 0}, {"id": "21030103", "name": "Test_Movement Healing Hydro Samachurl", "type": 0}, {"id": "21030201", "name": "Dendro Samachurl", "type": 0}, {"id": "21030202", "name": "Dendro Samachurl (Mechanicus)", "type": 0}, {"id": "21030203", "name": "", "type": 0}, {"id": "21030301", "name": "Anemo Samachurl", "type": 0}, {"id": "21030302", "name": "Anemo Samachurl (Mechanicus)", "type": 0}, {"id": "21030303", "name": "Test_Wind Current Enhanced Anemo Samachurl", "type": 0}, {"id": "21030304", "name": "", "type": 0}, {"id": "21030401", "name": "Geo Samachurl", "type": 0}, {"id": "21030402", "name": "", "type": 0}, {"id": "21030403", "name": "Geo Samachurl (Mechanicus)", "type": 0}, {"id": "21030501", "name": "Cryo Samachurl", "type": 0}, {"id": "21030502", "name": "Cryo Samachurl (Mechanicus)", "type": 0}, {"id": "21030601", "name": "Electro Samachurl", "type": 0}, {"id": "21030602", "name": "Electro Samachurl (Mechanicus)", "type": 0}, {"id": "21030603", "name": "Electro Samachurl - Enhanced Support", "type": 0}, {"id": "22010101", "name": "Pyro Abyss Mage", "type": 0}, {"id": "22010102", "name": "Test_Shield-Enhanced Pyro Abyss Mage", "type": 0}, {"id": "22010103", "name": "Test_Teleport-Enhanced Pyro Abyss Mage", "type": 0}, {"id": "22010104", "name": "Test_Attacking-Enhanced Pyro Abyss Mage", "type": 0}, {"id": "22010105", "name": "Pyro Abyss Mage (Mechanicus)", "type": 0}, {"id": "22010201", "name": "Cryo Abyss Mage", "type": 0}, {"id": "22010202", "name": "Test_Shield-Enhanced Cryo Abyss Mage", "type": 0}, {"id": "22010203", "name": "Test_Teleport-Enhanced Cryo Abyss Mage", "type": 0}, {"id": "22010204", "name": "Test_Attacking-Enhanced Cryo Abyss Mage", "type": 0}, {"id": "22010205", "name": "Cryo Abyss Mage (Mechanicus)", "type": 0}, {"id": "22010301", "name": "Hydro Abyss Mage", "type": 0}, {"id": "22010302", "name": "Test_Shield-Enhanced Hydro Abyss Mage", "type": 0}, {"id": "22010303", "name": "Test_Teleport-Enhanced Hydro Abyss Mage", "type": 0}, {"id": "22010304", "name": "Test_Attacking-Enhanced Hydro Abyss Mage", "type": 0}, {"id": "22010305", "name": "Hydro Abyss Mage (Mechanicus)", "type": 0}, {"id": "22010401", "name": "Electro Abyss Mage", "type": 0}, {"id": "22010402", "name": "Electro Abyss Mage (Mechanicus)", "type": 0}, {"id": "22010403", "name": "Electro Abyss Mage - Enhanced Shield", "type": 0}, {"id": "22010404", "name": "Electro Abyss Mage - Enhanced Attack", "type": 0}, {"id": "22020101", "name": "Abyss Herald: Wicked Torrents (Disappearing)", "type": 0}, {"id": "22020102", "name": "Abyss Herald: Wicked Torrents (Permanent)", "type": 0}, {"id": "22030101", "name": "Abyss Lector: Violet Lightning (Disappearing)", "type": 0}, {"id": "22030102", "name": "Abyss Lector: Violet Lightning (Permanent)", "type": 0}, {"id": "22030201", "name": "null", "type": 0}, {"id": "22030202", "name": "null", "type": 0}, {"id": "22040101", "name": "Rockfond Rifthound Whelp", "type": 0}, {"id": "22040201", "name": "Thundercraven Rifthound Whelp", "type": 0}, {"id": "22050101", "name": "Rockfond Rifthound", "type": 0}, {"id": "22050201", "name": "Thundercraven Rifthound", "type": 0}, {"id": "22060101", "name": "Golden Wolflord", "type": 1}, {"id": "22070101", "name": "null", "type": 0}, {"id": "22070102", "name": "null", "type": 0}, {"id": "22070201", "name": "null", "type": 0}, {"id": "22070202", "name": "null", "type": 0}, {"id": "22070301", "name": "null", "type": 0}, {"id": "22070302", "name": "null", "type": 0}, {"id": "22080101", "name": "null", "type": 0}, {"id": "23010101", "name": "", "type": 0}, {"id": "23010201", "name": "", "type": 0}, {"id": "23010301", "name": "", "type": 0}, {"id": "23010401", "name": "", "type": 0}, {"id": "23010501", "name": "", "type": 0}, {"id": "23010601", "name": "", "type": 0}, {"id": "23020101", "name": "Fatui Agent", "type": 0}, {"id": "23020102", "name": "", "type": 0}, {"id": "23030101", "name": "Fatui Electro Cicin Mage", "type": 0}, {"id": "23030102", "name": "", "type": 0}, {"id": "23040101", "name": "Fatui Cryo Cicin Mage", "type": 0}, {"id": "23040102", "name": "Fatui Cryo Cicin Mage - Enhanced Attack", "type": 0}, {"id": "23050101", "name": "Fatui Mirror Maiden", "type": 0}, {"id": "24010101", "name": "Ruin Guard", "type": 0}, {"id": "24010102", "name": "Ruin Guard (Mechanicus)", "type": 0}, {"id": "24010108", "name": "", "type": 0}, {"id": "24010109", "name": "", "type": 0}, {"id": "24010201", "name": "Ruin Hunter", "type": 0}, {"id": "24010202", "name": "Ruin Hunter (Mechanicus)", "type": 0}, {"id": "24010301", "name": "Ruin Grader", "type": 0}, {"id": "24010302", "name": "Ruin Grader (Mechanicus)", "type": 0}, {"id": "24010303", "name": "Ruin Grader (Mining Version)", "type": 0}, {"id": "24010401", "name": "null", "type": 1}, {"id": "24020101", "name": "Ruin Cruiser", "type": 0}, {"id": "24020102", "name": "Ruin Cruiser (Weakened)", "type": 0}, {"id": "24020103", "name": "Ruin Cruiser (Enhanced)", "type": 0}, {"id": "24020201", "name": "Ruin Destroyer", "type": 0}, {"id": "24020202", "name": "Ruin Destroyer (Weakened)", "type": 0}, {"id": "24020203", "name": "Ruin Destroyer (Enhanced)", "type": 0}, {"id": "24020301", "name": "Ruin Defender", "type": 0}, {"id": "24020302", "name": "Ruin Defender (Weakened)", "type": 0}, {"id": "24020303", "name": "Ruin Defender (Enhanced)", "type": 0}, {"id": "24020401", "name": "Ruin Scout", "type": 0}, {"id": "24020402", "name": "Ruin Scout (Weakened)", "type": 0}, {"id": "24020403", "name": "Ruin Scout (Enhanced)", "type": 0}, {"id": "24021101", "name": "Perpetual Mechanical Array", "type": 1}, {"id": "24021102", "name": "Perpetual Mechanical Array (Inazuma Event-Only)", "type": 1}, {"id": "25010101", "name": "Liuliu", "type": 0}, {"id": "25010102", "name": "Mystery Man", "type": 0}, {"id": "25010103", "name": "", "type": 0}, {"id": "25010104", "name": "", "type": 0}, {"id": "25010105", "name": "null", "type": 0}, {"id": "25010106", "name": "null", "type": 0}, {"id": "25010201", "name": "Treasure Hoarder Scout", "type": 0}, {"id": "25010203", "name": "", "type": 0}, {"id": "25010204", "name": "", "type": 0}, {"id": "25010205", "name": "", "type": 0}, {"id": "25010206", "name": "", "type": 0}, {"id": "25010207", "name": "", "type": 0}, {"id": "25010208", "name": "", "type": 0}, {"id": "25010301", "name": "", "type": 0}, {"id": "25010302", "name": "", "type": 0}, {"id": "25010401", "name": "", "type": 0}, {"id": "25010501", "name": "", "type": 0}, {"id": "25010601", "name": "", "type": 0}, {"id": "25010701", "name": "", "type": 0}, {"id": "25020101", "name": "Raptor", "type": 0}, {"id": "25020102", "name": "", "type": 0}, {"id": "25020201", "name": "Treasure Hoarder Marksman", "type": 0}, {"id": "25020204", "name": "", "type": 0}, {"id": "25030101", "name": "Carmen", "type": 0}, {"id": "25030102", "name": "null", "type": 0}, {"id": "25030103", "name": "null", "type": 0}, {"id": "25030201", "name": "Treasure Hoarder Gravedigger", "type": 0}, {"id": "25030301", "name": "Treasure Hoarder Oarsman", "type": 0}, {"id": "25040101", "name": "Boss", "type": 0}, {"id": "25040102", "name": "null", "type": 0}, {"id": "25040103", "name": "null", "type": 0}, {"id": "25050101", "name": "Millelith Soldier", "type": 0}, {"id": "25050201", "name": "Millelith Sergeant", "type": 0}, {"id": "25050301", "name": "Shogunate Infantry", "type": 0}, {"id": "25050401", "name": "Shogunate Infantry Captain", "type": 0}, {"id": "25050402", "name": "", "type": 0}, {"id": "25050501", "name": "Sangonomiya Cohort", "type": 0}, {"id": "25050502", "name": "", "type": 0}, {"id": "25060101", "name": "", "type": 0}, {"id": "25060102", "name": "", "type": 0}, {"id": "25070101", "name": "", "type": 0}, {"id": "25070201", "name": "null", "type": 0}, {"id": "25070202", "name": "null", "type": 0}, {"id": "25080101", "name": "Ronin", "type": 0}, {"id": "25080201", "name": "Ronin: Sanzoku", "type": 0}, {"id": "25080202", "name": "null", "type": 0}, {"id": "25080301", "name": "Ronin: Anbu", "type": 0}, {"id": "25080401", "name": "Shogunate Samurai", "type": 0}, {"id": "25080402", "name": "null", "type": 0}, {"id": "25090101", "name": "Marionette General", "type": 1}, {"id": "25090102", "name": "Marionette General: Wind Bunshin", "type": 1}, {"id": "25090103", "name": "Marionette General: Ice Bunshin", "type": 1}, {"id": "25090104", "name": "Marionette General: Masked Bunshin", "type": 1}, {"id": "25090201", "name": "Marionette General: Wind Bunshin (With Icon)", "type": 1}, {"id": "25090301", "name": "Marionette General: Ice Bunshin (With Icon)", "type": 1}, {"id": "25090401", "name": "Marionette General: Masked Bunshin (With Icon)", "type": 1}, {"id": "25100101", "name": "Electro Kairagi", "type": 0}, {"id": "25100102", "name": "null", "type": 0}, {"id": "25100201", "name": "Pyro Kairagi", "type": 0}, {"id": "25100301", "name": "Thunderwraith Kairagi", "type": 0}, {"id": "25100302", "name": "null", "type": 0}, {"id": "25100401", "name": "Flameghoul Kairagi", "type": 0}, {"id": "26010101", "name": "Cryo Whopperflower", "type": 0}, {"id": "26010102", "name": "Cryo Whopperflower (Dragonspine Event)", "type": 0}, {"id": "26010103", "name": "Giant Cryo Whopperflower (2.3 Dragonspine Event)", "type": 1}, {"id": "26010104", "name": "", "type": 1}, {"id": "26010201", "name": "Pyro Whopperflower", "type": 0}, {"id": "26010301", "name": "Electro Whopperflower", "type": 0}, {"id": "26020101", "name": "Cryo Regisvine", "type": 1}, {"id": "26020102", "name": "Cryo Regisvine (Dragonspine Event)", "type": 1}, {"id": "26020201", "name": "Pyro Regisvine", "type": 1}, {"id": "26030101", "name": "Geovishap Hatchling", "type": 0}, {"id": "26040101", "name": "Geovishap: Hydro", "type": 0}, {"id": "26040102", "name": "Geovishap: Pyro", "type": 0}, {"id": "26040103", "name": "Geovishap: Cryo", "type": 0}, {"id": "26040104", "name": "Geovishap: Electro", "type": 0}, {"id": "26040105", "name": "Geovishap: Hydro (Mechanicus)", "type": 0}, {"id": "26050101", "name": "Primo Geovishap: Hydro", "type": 1}, {"id": "26050201", "name": "Primo Geovishap: Pyro", "type": 1}, {"id": "26050301", "name": "Primo Geovishap: Cryo", "type": 1}, {"id": "26050401", "name": "Primo Geovishap: Electro", "type": 1}, {"id": "26050501", "name": "Primo Geovishap (Event)", "type": 1}, {"id": "26050601", "name": "null", "type": 0}, {"id": "26050701", "name": "null", "type": 1}, {"id": "26050702", "name": "null", "type": 1}, {"id": "26050801", "name": "null", "type": 1}, {"id": "26050802", "name": "null", "type": 1}, {"id": "26050901", "name": "null", "type": 0}, {"id": "26051001", "name": "null", "type": 0}, {"id": "26051101", "name": "null", "type": 0}, {"id": "26060101", "name": "Electro Cicin", "type": 0}, {"id": "26060201", "name": "Hydro Cicin", "type": 0}, {"id": "26060301", "name": "Cryo Cicin", "type": 0}, {"id": "26080101", "name": "null", "type": 1}, {"id": "26090101", "name": "null", "type": 0}, {"id": "28010101", "name": "Golden Crab", "type": 1}, {"id": "28010102", "name": "Sun Crab", "type": 1}, {"id": "28010103", "name": "Ocean Crab", "type": 1}, {"id": "28010104", "name": "General Crab", "type": 1}, {"id": "28010105", "name": "Pale Red Crab", "type": 1}, {"id": "28010106", "name": "Crab", "type": 1}, {"id": "28010201", "name": "Blue Horned Lizard", "type": 1}, {"id": "28010202", "name": "Red Horned Lizard", "type": 1}, {"id": "28010203", "name": "Green Horned Lizard", "type": 1}, {"id": "28010204", "name": "Sunset Loach", "type": 1}, {"id": "28010205", "name": "Golden Loach", "type": 1}, {"id": "28010206", "name": "Sunny Loach", "type": 1}, {"id": "28010207", "name": "Pith Lizard", "type": 1}, {"id": "28010301", "name": "Frog", "type": 1}, {"id": "28010302", "name": "Mud Frog", "type": 1}, {"id": "28010303", "name": "Blue Frog", "type": 1}, {"id": "28010401", "name": "", "type": 1}, {"id": "28010402", "name": "null", "type": 1}, {"id": "28010403", "name": "", "type": 1}, {"id": "28020101", "name": "Snow Fox", "type": 0}, {"id": "28020102", "name": "Crimson Fox", "type": 0}, {"id": "28020103", "name": "Gifting Snow Fox", "type": 0}, {"id": "28020104", "name": "Super-Gifting Snow Fox", "type": 0}, {"id": "28020105", "name": "null", "type": 0}, {"id": "28020106", "name": "null", "type": 0}, {"id": "28020201", "name": "Squirrel", "type": 0}, {"id": "28020301", "name": "Forest Boar", "type": 0}, {"id": "28020302", "name": "Forest Piglet", "type": 0}, {"id": "28020303", "name": "Snowboar", "type": 0}, {"id": "28020304", "name": "Great Snowboar King", "type": 0}, {"id": "28020305", "name": "Frozen Snowboar", "type": 0}, {"id": "28020306", "name": "null", "type": 0}, {"id": "28020307", "name": "null", "type": 0}, {"id": "28020308", "name": "null", "type": 0}, {"id": "28020309", "name": "null", "type": 0}, {"id": "28020401", "name": "Northland Hound", "type": 0}, {"id": "28020402", "name": "Forest-Patrol Hound", "type": 0}, {"id": "28020403", "name": "Shiba", "type": 0}, {"id": "28020404", "name": "Black-Back Hound", "type": 0}, {"id": "28020405", "name": "Shiba", "type": 0}, {"id": "28020406", "name": "Northland Hound (Dog Event Special, Extended LoS Range)", "type": 0}, {"id": "28020407", "name": "null", "type": 0}, {"id": "28020408", "name": "null", "type": 0}, {"id": "28020409", "name": "null", "type": 0}, {"id": "28020410", "name": "null", "type": 0}, {"id": "28020501", "name": "Sapphire", "type": 0}, {"id": "28020502", "name": "Jade-Eyed Cat", "type": 0}, {"id": "28020503", "name": "Gray Snow Cat", "type": 0}, {"id": "28020504", "name": "Northland Cat", "type": 0}, {"id": "28020505", "name": "Tiger-Striped Cat", "type": 0}, {"id": "28020506", "name": "Sheriff Cat", "type": 0}, {"id": "28020507", "name": "Black Cat", "type": 0}, {"id": "28020508", "name": "Sapphire", "type": 0}, {"id": "28020509", "name": "Gray Snow Cat (Dog Event Special, Extended LoS Range)", "type": 0}, {"id": "28020510", "name": "null", "type": 0}, {"id": "28020511", "name": "null", "type": 0}, {"id": "28020512", "name": "null", "type": 0}, {"id": "28020513", "name": "null", "type": 0}, {"id": "28020601", "name": "Snow Weasel", "type": 0}, {"id": "28020602", "name": "Red-Tailed Weasel", "type": 0}, {"id": "28020603", "name": "Boot Weasel", "type": 0}, {"id": "28020604", "name": "Masked Weasel", "type": 0}, {"id": "28020605", "name": "null", "type": 0}, {"id": "28020701", "name": "Kitsune", "type": 0}, {"id": "28020702", "name": "Kitsune (Dog Event Special, Extended LoS Range)", "type": 0}, {"id": "28020801", "name": "Bake-Danuki", "type": 0}, {"id": "28020802", "name": "null", "type": 0}, {"id": "28020803", "name": "null", "type": 0}, {"id": "28020901", "name": "Samurai Dog (Patrol)", "type": 0}, {"id": "28020902", "name": "Samurai Dog (Combat)", "type": 0}, {"id": "28020903", "name": "null", "type": 0}, {"id": "28030101", "name": "Azure Crane", "type": 0}, {"id": "28030102", "name": "Violet Ibis", "type": 0}, {"id": "28030201", "name": "Brownwing Falcon", "type": 0}, {"id": "28030202", "name": "Umbertail Falcon", "type": 0}, {"id": "28030203", "name": "Lapis Glede", "type": 0}, {"id": "28030204", "name": "Silkwhite Falcon", "type": 0}, {"id": "28030301", "name": "White Pigeon", "type": 0}, {"id": "28030302", "name": "Brightcrown Pigeon", "type": 0}, {"id": "28030303", "name": "Graywing Pigeon", "type": 0}, {"id": "28030304", "name": "Crimsonflank Pigeon", "type": 0}, {"id": "28030305", "name": "Black King Pigeon", "type": 0}, {"id": "28030306", "name": "Duck", "type": 0}, {"id": "28030307", "name": "White Pigeon", "type": 0}, {"id": "28030308", "name": "Brightcrown Pigeon", "type": 0}, {"id": "28030309", "name": "Graywing Pigeon", "type": 0}, {"id": "28030310", "name": "Crimsonflank Pigeon", "type": 0}, {"id": "28030311", "name": "Black King Pigeon", "type": 0}, {"id": "28030401", "name": "Crimson Finch", "type": 0}, {"id": "28030402", "name": "Golden Finch", "type": 0}, {"id": "28030403", "name": "Snow Finch", "type": 0}, {"id": "28030404", "name": "Emerald Finch", "type": 0}, {"id": "28030405", "name": "null", "type": 0}, {"id": "28030406", "name": "null", "type": 0}, {"id": "28030407", "name": "null", "type": 0}, {"id": "28030408", "name": "null", "type": 0}, {"id": "28030409", "name": "null", "type": 0}, {"id": "28030501", "name": "Scarletbeak Duck", "type": 0}, {"id": "28030502", "name": "Emerald Duck", "type": 0}, {"id": "28030503", "name": "Golden Duck", "type": 0}, {"id": "28030504", "name": "null", "type": 0}, {"id": "28040101", "name": "Black-Back Bass", "type": 1}, {"id": "28040102", "name": "Blue-Fin Bass", "type": 1}, {"id": "28040103", "name": "Golden Bass", "type": 1}, {"id": "28040104", "name": "Black-Back Bass", "type": 1}, {"id": "28040105", "name": "Black-Back Bass", "type": 1}, {"id": "28040106", "name": "Blue-Fin Bass", "type": 1}, {"id": "28040107", "name": "Golden Bass", "type": 1}, {"id": "28040108", "name": "null", "type": 1}, {"id": "28040201", "name": "Medaka", "type": 1}, {"id": "28040202", "name": "Glaze Medaka", "type": 1}, {"id": "28040203", "name": "Sweet-Flower Medaka", "type": 1}, {"id": "28040204", "name": "Aizen Medaka", "type": 1}, {"id": "28040205", "name": "Dawncatcher", "type": 1}, {"id": "28040206", "name": "Crystalfish", "type": 1}, {"id": "28040301", "name": "Lunged Stickleback", "type": 1}, {"id": "28040302", "name": "Betta", "type": 1}, {"id": "28040303", "name": "Venomspine Fish", "type": 1}, {"id": "28040304", "name": "Akai Maou", "type": 1}, {"id": "28040305", "name": "Snowstrider", "type": 1}, {"id": "28040401", "name": "Golden Koi", "type": 1}, {"id": "28040402", "name": "Rusty Koi", "type": 1}, {"id": "28040501", "name": "Brown Shirakodai", "type": 1}, {"id": "28040502", "name": "Purple Shirakodai", "type": 1}, {"id": "28040503", "name": "Tea-Colored Shirakodai", "type": 1}, {"id": "28040504", "name": "Abiding Angelfish", "type": 1}, {"id": "28040505", "name": "Raimei Angelfish", "type": 1}, {"id": "28040506", "name": "Moonfin", "type": 1}, {"id": "28040601", "name": "Pufferfish", "type": 1}, {"id": "28040602", "name": "Bitter Pufferfish", "type": 1}, {"id": "28040701", "name": "null", "type": 1}, {"id": "28040702", "name": "null", "type": 1}, {"id": "28040703", "name": "null", "type": 0}, {"id": "28050101", "name": "Anemo Crystalfly", "type": 1}, {"id": "28050102", "name": "Geo Crystalfly", "type": 1}, {"id": "28050103", "name": "Cryo Crystalfly", "type": 1}, {"id": "28050104", "name": "Electro Crystalfly", "type": 1}, {"id": "28050105", "name": "null", "type": 1}, {"id": "28050201", "name": "Amateur Weasel Thief", "type": 0}, {"id": "28050202", "name": "Hoarder Weasel Thief", "type": 0}, {"id": "28050203", "name": "Golden Weasel Thief", "type": 0}, {"id": "28050204", "name": "null", "type": 0}, {"id": "28050211", "name": "Amateur Weasel Thief", "type": 0}, {"id": "28050212", "name": "Hoarder Weasel Thief", "type": 0}, {"id": "28050213", "name": "Golden Weasel Thief", "type": 0}, {"id": "28050221", "name": "null", "type": 0}, {"id": "28050222", "name": "null", "type": 0}, {"id": "28050223", "name": "null", "type": 0}, {"id": "28050301", "name": "null", "type": 1}, {"id": "28210101", "name": "Domestic Golden Crab", "type": 0}, {"id": "28210102", "name": "Domestic Sun Crab", "type": 0}, {"id": "28210103", "name": "Domestic Ocean Crab", "type": 0}, {"id": "28210104", "name": "Domestic General Crab", "type": 0}, {"id": "28210105", "name": "Domestic Pale Red Crab", "type": 0}, {"id": "28210201", "name": "Domestic Blue Horned Lizard", "type": 0}, {"id": "28210202", "name": "Domestic Red Horned Lizard", "type": 0}, {"id": "28210203", "name": "Domestic Green Horned Lizard", "type": 0}, {"id": "28210204", "name": "Domestic Sunset Loach", "type": 0}, {"id": "28210205", "name": "Domestic Golden Loach", "type": 0}, {"id": "28210206", "name": "Domestic Sunny Loach", "type": 0}, {"id": "28210207", "name": "Domestic Marrow Lizard", "type": 0}, {"id": "28210301", "name": "Domestic Frog", "type": 0}, {"id": "28210302", "name": "Domestic Mud Frog", "type": 0}, {"id": "28210303", "name": "Domestic Blue Frog", "type": 0}, {"id": "28210401", "name": "Domestic Adorned Unagi", "type": 0}, {"id": "28210402", "name": "null", "type": 0}, {"id": "28210403", "name": "Domestic Red-Finned Unagi", "type": 0}, {"id": "28220101", "name": "Domestic Snow Fox", "type": 0}, {"id": "28220102", "name": "Domestic Crimson Fox", "type": 0}, {"id": "28220201", "name": "Domestic Squirrel", "type": 0}, {"id": "28220301", "name": "Domestic Forest Boar", "type": 0}, {"id": "28220303", "name": "Domestic Snowboar", "type": 0}, {"id": "28220401", "name": "Domestic Northland Hound", "type": 0}, {"id": "28220402", "name": "Domestic Forest-Patrol Hound", "type": 0}, {"id": "28220403", "name": "Domestic Shiba", "type": 0}, {"id": "28220404", "name": "Domestic Black-Back Hound", "type": 0}, {"id": "28220501", "name": "Domestic Sapphire", "type": 0}, {"id": "28220502", "name": "Domestic Jade-Eyed Cat", "type": 0}, {"id": "28220503", "name": "Domestic Gray Snow Cat", "type": 0}, {"id": "28220504", "name": "Domestic Northland Cat", "type": 0}, {"id": "28220505", "name": "Domestic Tiger-Striped Cat", "type": 0}, {"id": "28220506", "name": "Domestic Sheriff Cat", "type": 0}, {"id": "28220601", "name": "Domestic Snow Weasel", "type": 0}, {"id": "28220602", "name": "Domestic Red-Tailed Weasel", "type": 0}, {"id": "28220603", "name": "Domestic Boot Weasel", "type": 0}, {"id": "28220605", "name": "null", "type": 0}, {"id": "28220701", "name": "Domestic Kitsune", "type": 0}, {"id": "28220901", "name": "Domestic Samurai Dog", "type": 0}, {"id": "28230101", "name": "Domestic Azure Crane", "type": 0}, {"id": "28230102", "name": "Domestic Violet Ibis", "type": 0}, {"id": "28230301", "name": "Domestic White Pigeon", "type": 0}, {"id": "28230302", "name": "Domestic Brightcrown Pigeon", "type": 0}, {"id": "28230303", "name": "Domestic Graywing Pigeon", "type": 0}, {"id": "28230304", "name": "Domestic Crimsonflank Pigeon", "type": 0}, {"id": "28230305", "name": "Domestic Black King Pigeon", "type": 0}, {"id": "28230306", "name": "Domestic Crow", "type": 0}, {"id": "28230401", "name": "Domestic Crimson Finch", "type": 0}, {"id": "28230402", "name": "Domestic Golden Finch", "type": 0}, {"id": "28230403", "name": "Domestic Snow Finch", "type": 0}, {"id": "28230404", "name": "Domestic Emerald Finch", "type": 0}, {"id": "28240201", "name": "Domestic Medaka", "type": 0}, {"id": "28240202", "name": "Domestic Glaze Medaka", "type": 0}, {"id": "28240203", "name": "Domestic Sweet-Flower Medaka", "type": 0}, {"id": "28240204", "name": "Domestic Aizen Medaka", "type": 0}, {"id": "28240205", "name": "Domestic Dawncatcher", "type": 0}, {"id": "28240206", "name": "Domestic Crystalfish", "type": 0}, {"id": "28240301", "name": "Domestic Lunged Stickleback", "type": 0}, {"id": "28240302", "name": "Domestic Betta", "type": 0}, {"id": "28240303", "name": "Domestic Venomspine Fish", "type": 0}, {"id": "28240304", "name": "Domestic Akai Maou", "type": 0}, {"id": "28240305", "name": "Domestic Snowstrider", "type": 0}, {"id": "28240401", "name": "Domestic Golden Koi", "type": 0}, {"id": "28240402", "name": "Domestic Rusty Koi", "type": 0}, {"id": "28240501", "name": "Domestic Brown Shirakodai", "type": 0}, {"id": "28240502", "name": "Domestic Purple Shirakodai", "type": 0}, {"id": "28240503", "name": "Domestic Tea-Colored Shirakodai", "type": 0}, {"id": "28240504", "name": "Domestic Abiding Angelfish", "type": 0}, {"id": "28240505", "name": "Domestic Raimei Angelfish", "type": 0}, {"id": "28240506", "name": "Domestic Moonfin", "type": 0}, {"id": "28240601", "name": "Domestic Pufferfish", "type": 0}, {"id": "28240602", "name": "Domestic Bitter Pufferfish", "type": 0}, {"id": "28240701", "name": "null", "type": 0}, {"id": "28240702", "name": "null", "type": 0}, {"id": "28250101", "name": "Domestic Anemo Crystalfly", "type": 0}, {"id": "28250102", "name": "Domestic Geo Crystalfly", "type": 0}, {"id": "28250103", "name": "Domestic Cryo Crystalfly", "type": 0}, {"id": "28250104", "name": "Domestic Electro Crystalfly", "type": 0}, {"id": "28250105", "name": "null", "type": 0}, {"id": "28250301", "name": "null", "type": 0}, {"id": "29010101", "name": "Stormterror", "type": 1}, {"id": "29010102", "name": "Stormterror", "type": 1}, {"id": "29010103", "name": "Stormterror", "type": 1}, {"id": "29010104", "name": "Stormterror", "type": 1}, {"id": "29020101", "name": "Boreas, Great Wolf King of the North", "type": 1}, {"id": "29020102", "name": "Andrius, Dominator of Wolves", "type": 1}, {"id": "29030101", "name": "Eleventh of the Fatui Harbingers - Tartaglia", "type": 1}, {"id": "29030102", "name": "Delusion Unleashed - Childe", "type": 1}, {"id": "29030103", "name": "Childe", "type": 1}, {"id": "29030104", "name": "Eleventh of the Fatui Harbingers - Tartaglia", "type": 1}, {"id": "29030105", "name": "Delusion Unleashed - Childe", "type": 1}, {"id": "29030106", "name": "Childe", "type": 1}, {"id": "29040101", "name": "Azhdaha", "type": 1}, {"id": "29040102", "name": "Azhdaha", "type": 1}, {"id": "29040103", "name": "Azhdaha", "type": 1}, {"id": "29040104", "name": "Azhdaha", "type": 1}, {"id": "29040111", "name": "Azhdaha", "type": 1}, {"id": "29050101", "name": "Signora", "type": 1}, {"id": "29050102", "name": "Crimson Witch of Embers", "type": 1}, {"id": "29050103", "name": "Signora", "type": 1}, {"id": "29050104", "name": "Crimson Witch of Embers", "type": 1}, {"id": "29060101", "name": "Raiden Shogun", "type": 1}, {"id": "29060102", "name": "Raiden Ei", "type": 1}, {"id": "29060201", "name": "null", "type": 1}, {"id": "29060202", "name": "null", "type": 1}, {"id": "29060203", "name": "null", "type": 1}]
--------------------------------------------------------------------------------