-
Notifications
You must be signed in to change notification settings - Fork 2
/
deckinfo.htm
79 lines (79 loc) · 2.48 KB
/
deckinfo.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE html>
<html>
<head>
<title>Deck Info</title>
<link href="../forum/Smileys/default/time.png" rel="shortcut icon" />
<style>
body {
background-color:black;
color:white;
margin:0;
}
a {
color:#6699FF;
text-decoration:none;
}
</style>
<script src="etgify.js"></script>
</head>
<body>
<input id="deckinput" type="text" placeholder="Deck" style="width:800px">
<div style="display:flex"><div id="infobox"></div><img id="deckpreview" style="padding-left:8px;width:646px;height:252px"></div>
<script>
"use strict";
var infobox = document.getElementById("infobox");
function setInfo(x){
infobox.appendChild(typeof x === "string" ? document.createTextNode(x) : x);
}
var Cards = require("./Cards");
require("./etg.client").loadcards(function(){
setInfo("Cards loaded");
document.getElementById("deckinput").addEventListener("keydown", printstat);
});
function mkTable(){
var tbl = document.createElement("table");
for(var i=0; i<arguments.length; i+=2){
var row = document.createElement("tr");
var col1 = document.createElement("td");
var col2 = document.createElement("td");
col1.appendChild(document.createTextNode(arguments[i]));
col2.appendChild(document.createTextNode(arguments[i+1]));
row.appendChild(col1);
row.appendChild(col2);
tbl.appendChild(row);
}
return tbl;
}
function printstat(e){
if (e.keyCode != 13) return;
document.getElementById("deckpreview").src = "http://dek.im/deck/" + this.value;
var summon = 0, buy = 0, norarebuy = 0, sell = 0, rares = 0, nymphs = 0, pillars = 0, ups = 0, total = 0;
this.value.split(" ").forEach(function(code){
if (code in Cards.Codes){
var card = Cards.Codes[code], uncard = card.asUpped(false);
total++;
summon += card.cost;
var buycost = 6 * uncard.tier * uncard.tier + uncard.cost + (card.upped?1500:0);
buy += buycost;
sell += 4 * card.tier * card.tier + card.cost;
if (card.upped) ups++;
if (!card.type) pillars++;
if ([6, 8, 15, 18, 20].indexOf(card.tier) == -1) norarebuy += buycost;
else if (card.tier == 6 || card.tier == 8 || card.tier == 18) rares++;
else if (card.tier == 15 || card.tier == 20) nymphs++;
}
});
while (infobox.firstChild) infobox.firstChild.remove();
setInfo(mkTable("Cards", total,
"Upgraded", ups,
"Summoning cost", summon,
"Cost to buy (rareless)", norarebuy,
"Cost to buy", buy,
"Sell price", sell,
"Pillars", pillars,
"Non-nymph rares", rares,
"Nymphs", nymphs));
}
</script>
</body>
</html>