diff --git a/creator/index.html b/creator/index.html
index 611b8266..689197c8 100644
--- a/creator/index.html
+++ b/creator/index.html
@@ -685,7 +685,11 @@
-
+
+
+
+
+
diff --git a/img/frames/custom/m15-eighth/nyx/a.png b/img/frames/custom/m15-eighth/nyx/a.png
new file mode 100644
index 00000000..a6219a33
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/a.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/aThumb.png b/img/frames/custom/m15-eighth/nyx/aThumb.png
new file mode 100644
index 00000000..dbf29164
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/aThumb.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/b.png b/img/frames/custom/m15-eighth/nyx/b.png
new file mode 100644
index 00000000..d796ea44
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/b.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/bThumb.png b/img/frames/custom/m15-eighth/nyx/bThumb.png
new file mode 100644
index 00000000..57703f25
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/bThumb.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/g.png b/img/frames/custom/m15-eighth/nyx/g.png
new file mode 100644
index 00000000..70244720
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/g.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/gThumb.png b/img/frames/custom/m15-eighth/nyx/gThumb.png
new file mode 100644
index 00000000..d45d4b25
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/gThumb.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/m.png b/img/frames/custom/m15-eighth/nyx/m.png
new file mode 100644
index 00000000..afc9983e
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/m.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/mThumb.png b/img/frames/custom/m15-eighth/nyx/mThumb.png
new file mode 100644
index 00000000..26473af4
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/mThumb.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/r.png b/img/frames/custom/m15-eighth/nyx/r.png
new file mode 100644
index 00000000..e72a2a57
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/r.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/rThumb.png b/img/frames/custom/m15-eighth/nyx/rThumb.png
new file mode 100644
index 00000000..8ef45801
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/rThumb.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/u.png b/img/frames/custom/m15-eighth/nyx/u.png
new file mode 100644
index 00000000..799d3f9c
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/u.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/uThumb.png b/img/frames/custom/m15-eighth/nyx/uThumb.png
new file mode 100644
index 00000000..f9948443
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/uThumb.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/w.png b/img/frames/custom/m15-eighth/nyx/w.png
new file mode 100644
index 00000000..a87ed5e1
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/w.png differ
diff --git a/img/frames/custom/m15-eighth/nyx/wThumb.png b/img/frames/custom/m15-eighth/nyx/wThumb.png
new file mode 100644
index 00000000..3254325d
Binary files /dev/null and b/img/frames/custom/m15-eighth/nyx/wThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/a.png b/img/frames/custom/m15-eighth/regular/a.png
new file mode 100644
index 00000000..d62f49e1
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/a.png differ
diff --git a/img/frames/custom/m15-eighth/regular/aThumb.png b/img/frames/custom/m15-eighth/regular/aThumb.png
new file mode 100644
index 00000000..e766e71e
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/aThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/b.png b/img/frames/custom/m15-eighth/regular/b.png
new file mode 100644
index 00000000..09135472
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/b.png differ
diff --git a/img/frames/custom/m15-eighth/regular/bThumb.png b/img/frames/custom/m15-eighth/regular/bThumb.png
new file mode 100644
index 00000000..d3a77078
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/bThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/bl.png b/img/frames/custom/m15-eighth/regular/bl.png
new file mode 100644
index 00000000..38c13ccf
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/bl.png differ
diff --git a/img/frames/custom/m15-eighth/regular/blThumb.png b/img/frames/custom/m15-eighth/regular/blThumb.png
new file mode 100644
index 00000000..079f2a5a
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/blThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/border.png b/img/frames/custom/m15-eighth/regular/border.png
new file mode 100644
index 00000000..641eb6a2
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/border.png differ
diff --git a/img/frames/custom/m15-eighth/regular/borderThumb.png b/img/frames/custom/m15-eighth/regular/borderThumb.png
new file mode 100644
index 00000000..d3f64326
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/borderThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/c.png b/img/frames/custom/m15-eighth/regular/c.png
new file mode 100644
index 00000000..2828cf82
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/c.png differ
diff --git a/img/frames/custom/m15-eighth/regular/cThumb.png b/img/frames/custom/m15-eighth/regular/cThumb.png
new file mode 100644
index 00000000..b8a75a76
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/cThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/frame.png b/img/frames/custom/m15-eighth/regular/frame.png
new file mode 100644
index 00000000..f9a1c096
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/frame.png differ
diff --git a/img/frames/custom/m15-eighth/regular/frameThumb.png b/img/frames/custom/m15-eighth/regular/frameThumb.png
new file mode 100644
index 00000000..c8f3b7c3
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/frameThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/g.png b/img/frames/custom/m15-eighth/regular/g.png
new file mode 100644
index 00000000..cec60df0
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/g.png differ
diff --git a/img/frames/custom/m15-eighth/regular/gThumb.png b/img/frames/custom/m15-eighth/regular/gThumb.png
new file mode 100644
index 00000000..5fa28973
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/gThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/gl.png b/img/frames/custom/m15-eighth/regular/gl.png
new file mode 100644
index 00000000..c3c6a9de
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/gl.png differ
diff --git a/img/frames/custom/m15-eighth/regular/glThumb.png b/img/frames/custom/m15-eighth/regular/glThumb.png
new file mode 100644
index 00000000..18c0c133
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/glThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/l.png b/img/frames/custom/m15-eighth/regular/l.png
new file mode 100644
index 00000000..efa07636
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/l.png differ
diff --git a/img/frames/custom/m15-eighth/regular/lThumb.png b/img/frames/custom/m15-eighth/regular/lThumb.png
new file mode 100644
index 00000000..d9799d2f
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/lThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/m.png b/img/frames/custom/m15-eighth/regular/m.png
new file mode 100644
index 00000000..6b31e89d
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/m.png differ
diff --git a/img/frames/custom/m15-eighth/regular/mThumb.png b/img/frames/custom/m15-eighth/regular/mThumb.png
new file mode 100644
index 00000000..3cf3e8b5
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/mThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/ml.png b/img/frames/custom/m15-eighth/regular/ml.png
new file mode 100644
index 00000000..ef33d3fe
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/ml.png differ
diff --git a/img/frames/custom/m15-eighth/regular/mlThumb.png b/img/frames/custom/m15-eighth/regular/mlThumb.png
new file mode 100644
index 00000000..858e6c20
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/mlThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/r.png b/img/frames/custom/m15-eighth/regular/r.png
new file mode 100644
index 00000000..82b9c7f7
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/r.png differ
diff --git a/img/frames/custom/m15-eighth/regular/rThumb.png b/img/frames/custom/m15-eighth/regular/rThumb.png
new file mode 100644
index 00000000..def96c21
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/rThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/rl.png b/img/frames/custom/m15-eighth/regular/rl.png
new file mode 100644
index 00000000..eda23297
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/rl.png differ
diff --git a/img/frames/custom/m15-eighth/regular/rlThumb.png b/img/frames/custom/m15-eighth/regular/rlThumb.png
new file mode 100644
index 00000000..ea226caf
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/rlThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/u.png b/img/frames/custom/m15-eighth/regular/u.png
new file mode 100644
index 00000000..d6d1730f
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/u.png differ
diff --git a/img/frames/custom/m15-eighth/regular/uThumb.png b/img/frames/custom/m15-eighth/regular/uThumb.png
new file mode 100644
index 00000000..4190aca6
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/uThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/ul.png b/img/frames/custom/m15-eighth/regular/ul.png
new file mode 100644
index 00000000..5d9fe18b
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/ul.png differ
diff --git a/img/frames/custom/m15-eighth/regular/ulThumb.png b/img/frames/custom/m15-eighth/regular/ulThumb.png
new file mode 100644
index 00000000..004159fd
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/ulThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/v.png b/img/frames/custom/m15-eighth/regular/v.png
new file mode 100644
index 00000000..846e6743
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/v.png differ
diff --git a/img/frames/custom/m15-eighth/regular/vThumb.png b/img/frames/custom/m15-eighth/regular/vThumb.png
new file mode 100644
index 00000000..c2b1f799
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/vThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/w.png b/img/frames/custom/m15-eighth/regular/w.png
new file mode 100644
index 00000000..e649c225
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/w.png differ
diff --git a/img/frames/custom/m15-eighth/regular/wThumb.png b/img/frames/custom/m15-eighth/regular/wThumb.png
new file mode 100644
index 00000000..ab52ef2c
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/wThumb.png differ
diff --git a/img/frames/custom/m15-eighth/regular/wl.png b/img/frames/custom/m15-eighth/regular/wl.png
new file mode 100644
index 00000000..43131e77
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/wl.png differ
diff --git a/img/frames/custom/m15-eighth/regular/wlThumb.png b/img/frames/custom/m15-eighth/regular/wlThumb.png
new file mode 100644
index 00000000..e500f21f
Binary files /dev/null and b/img/frames/custom/m15-eighth/regular/wlThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/a.png b/img/frames/custom/m15-eighth/snow/a.png
new file mode 100644
index 00000000..547d48d9
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/a.png differ
diff --git a/img/frames/custom/m15-eighth/snow/aThumb.png b/img/frames/custom/m15-eighth/snow/aThumb.png
new file mode 100644
index 00000000..54d4ffd2
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/aThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/b.png b/img/frames/custom/m15-eighth/snow/b.png
new file mode 100644
index 00000000..6b765f8a
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/b.png differ
diff --git a/img/frames/custom/m15-eighth/snow/bThumb.png b/img/frames/custom/m15-eighth/snow/bThumb.png
new file mode 100644
index 00000000..b591f774
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/bThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/bl.png b/img/frames/custom/m15-eighth/snow/bl.png
new file mode 100644
index 00000000..3aca20f8
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/bl.png differ
diff --git a/img/frames/custom/m15-eighth/snow/blThumb.png b/img/frames/custom/m15-eighth/snow/blThumb.png
new file mode 100644
index 00000000..896f9f8e
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/blThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/g.png b/img/frames/custom/m15-eighth/snow/g.png
new file mode 100644
index 00000000..e9ffa924
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/g.png differ
diff --git a/img/frames/custom/m15-eighth/snow/gThumb.png b/img/frames/custom/m15-eighth/snow/gThumb.png
new file mode 100644
index 00000000..4c1af74b
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/gThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/gl.png b/img/frames/custom/m15-eighth/snow/gl.png
new file mode 100644
index 00000000..c5131021
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/gl.png differ
diff --git a/img/frames/custom/m15-eighth/snow/glThumb.png b/img/frames/custom/m15-eighth/snow/glThumb.png
new file mode 100644
index 00000000..276e2c35
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/glThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/l.png b/img/frames/custom/m15-eighth/snow/l.png
new file mode 100644
index 00000000..493da177
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/l.png differ
diff --git a/img/frames/custom/m15-eighth/snow/lThumb.png b/img/frames/custom/m15-eighth/snow/lThumb.png
new file mode 100644
index 00000000..cace7194
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/lThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/m.png b/img/frames/custom/m15-eighth/snow/m.png
new file mode 100644
index 00000000..6807aee9
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/m.png differ
diff --git a/img/frames/custom/m15-eighth/snow/mThumb.png b/img/frames/custom/m15-eighth/snow/mThumb.png
new file mode 100644
index 00000000..a535a993
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/mThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/ml.png b/img/frames/custom/m15-eighth/snow/ml.png
new file mode 100644
index 00000000..2f70daca
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/ml.png differ
diff --git a/img/frames/custom/m15-eighth/snow/mlThumb.png b/img/frames/custom/m15-eighth/snow/mlThumb.png
new file mode 100644
index 00000000..2bde9f69
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/mlThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/r.png b/img/frames/custom/m15-eighth/snow/r.png
new file mode 100644
index 00000000..4d1f1fcf
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/r.png differ
diff --git a/img/frames/custom/m15-eighth/snow/rThumb.png b/img/frames/custom/m15-eighth/snow/rThumb.png
new file mode 100644
index 00000000..d5ab8392
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/rThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/rl.png b/img/frames/custom/m15-eighth/snow/rl.png
new file mode 100644
index 00000000..76547a01
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/rl.png differ
diff --git a/img/frames/custom/m15-eighth/snow/rlThumb.png b/img/frames/custom/m15-eighth/snow/rlThumb.png
new file mode 100644
index 00000000..f3d8ffa9
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/rlThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/u.png b/img/frames/custom/m15-eighth/snow/u.png
new file mode 100644
index 00000000..4b56cd2c
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/u.png differ
diff --git a/img/frames/custom/m15-eighth/snow/uThumb.png b/img/frames/custom/m15-eighth/snow/uThumb.png
new file mode 100644
index 00000000..e83b0fd0
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/uThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/ul.png b/img/frames/custom/m15-eighth/snow/ul.png
new file mode 100644
index 00000000..3e128b04
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/ul.png differ
diff --git a/img/frames/custom/m15-eighth/snow/ulThumb.png b/img/frames/custom/m15-eighth/snow/ulThumb.png
new file mode 100644
index 00000000..ea063dbf
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/ulThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/w.png b/img/frames/custom/m15-eighth/snow/w.png
new file mode 100644
index 00000000..5ab8d274
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/w.png differ
diff --git a/img/frames/custom/m15-eighth/snow/wThumb.png b/img/frames/custom/m15-eighth/snow/wThumb.png
new file mode 100644
index 00000000..eecdd416
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/wThumb.png differ
diff --git a/img/frames/custom/m15-eighth/snow/wl.png b/img/frames/custom/m15-eighth/snow/wl.png
new file mode 100644
index 00000000..07b590ac
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/wl.png differ
diff --git a/img/frames/custom/m15-eighth/snow/wlThumb.png b/img/frames/custom/m15-eighth/snow/wlThumb.png
new file mode 100644
index 00000000..f591579c
Binary files /dev/null and b/img/frames/custom/m15-eighth/snow/wlThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/a.png b/img/frames/custom/m15-eighth/ub/a.png
new file mode 100644
index 00000000..23677d5c
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/a.png differ
diff --git a/img/frames/custom/m15-eighth/ub/aThumb.png b/img/frames/custom/m15-eighth/ub/aThumb.png
new file mode 100644
index 00000000..66cca16e
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/aThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/b.png b/img/frames/custom/m15-eighth/ub/b.png
new file mode 100644
index 00000000..a4f83673
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/b.png differ
diff --git a/img/frames/custom/m15-eighth/ub/bThumb.png b/img/frames/custom/m15-eighth/ub/bThumb.png
new file mode 100644
index 00000000..85af205a
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/bThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/bl.png b/img/frames/custom/m15-eighth/ub/bl.png
new file mode 100644
index 00000000..78a0873b
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/bl.png differ
diff --git a/img/frames/custom/m15-eighth/ub/blThumb.png b/img/frames/custom/m15-eighth/ub/blThumb.png
new file mode 100644
index 00000000..ac03601b
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/blThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/g.png b/img/frames/custom/m15-eighth/ub/g.png
new file mode 100644
index 00000000..e1332dd9
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/g.png differ
diff --git a/img/frames/custom/m15-eighth/ub/gThumb.png b/img/frames/custom/m15-eighth/ub/gThumb.png
new file mode 100644
index 00000000..4ce83330
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/gThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/gl.png b/img/frames/custom/m15-eighth/ub/gl.png
new file mode 100644
index 00000000..bad4839b
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/gl.png differ
diff --git a/img/frames/custom/m15-eighth/ub/glThumb.png b/img/frames/custom/m15-eighth/ub/glThumb.png
new file mode 100644
index 00000000..99e114b0
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/glThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/l.png b/img/frames/custom/m15-eighth/ub/l.png
new file mode 100644
index 00000000..8d05b65f
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/l.png differ
diff --git a/img/frames/custom/m15-eighth/ub/lThumb.png b/img/frames/custom/m15-eighth/ub/lThumb.png
new file mode 100644
index 00000000..dac59fe2
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/lThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/m.png b/img/frames/custom/m15-eighth/ub/m.png
new file mode 100644
index 00000000..bcfb100d
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/m.png differ
diff --git a/img/frames/custom/m15-eighth/ub/mThumb.png b/img/frames/custom/m15-eighth/ub/mThumb.png
new file mode 100644
index 00000000..739e3806
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/mThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/ml.png b/img/frames/custom/m15-eighth/ub/ml.png
new file mode 100644
index 00000000..295ad1d8
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/ml.png differ
diff --git a/img/frames/custom/m15-eighth/ub/mlThumb.png b/img/frames/custom/m15-eighth/ub/mlThumb.png
new file mode 100644
index 00000000..2330c89c
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/mlThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/r.png b/img/frames/custom/m15-eighth/ub/r.png
new file mode 100644
index 00000000..4523e766
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/r.png differ
diff --git a/img/frames/custom/m15-eighth/ub/rThumb.png b/img/frames/custom/m15-eighth/ub/rThumb.png
new file mode 100644
index 00000000..ee2bba39
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/rThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/rl.png b/img/frames/custom/m15-eighth/ub/rl.png
new file mode 100644
index 00000000..cd5afcd5
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/rl.png differ
diff --git a/img/frames/custom/m15-eighth/ub/rlThumb.png b/img/frames/custom/m15-eighth/ub/rlThumb.png
new file mode 100644
index 00000000..a8daa2da
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/rlThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/u.png b/img/frames/custom/m15-eighth/ub/u.png
new file mode 100644
index 00000000..980b1876
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/u.png differ
diff --git a/img/frames/custom/m15-eighth/ub/uThumb.png b/img/frames/custom/m15-eighth/ub/uThumb.png
new file mode 100644
index 00000000..a4d9c0ee
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/uThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/ul.png b/img/frames/custom/m15-eighth/ub/ul.png
new file mode 100644
index 00000000..151efc7d
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/ul.png differ
diff --git a/img/frames/custom/m15-eighth/ub/ulThumb.png b/img/frames/custom/m15-eighth/ub/ulThumb.png
new file mode 100644
index 00000000..31aadad7
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/ulThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/v.png b/img/frames/custom/m15-eighth/ub/v.png
new file mode 100644
index 00000000..3dc67d46
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/v.png differ
diff --git a/img/frames/custom/m15-eighth/ub/vThumb.png b/img/frames/custom/m15-eighth/ub/vThumb.png
new file mode 100644
index 00000000..99a5dafc
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/vThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/w.png b/img/frames/custom/m15-eighth/ub/w.png
new file mode 100644
index 00000000..3f9c9d29
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/w.png differ
diff --git a/img/frames/custom/m15-eighth/ub/wThumb.png b/img/frames/custom/m15-eighth/ub/wThumb.png
new file mode 100644
index 00000000..7be5fcc4
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/wThumb.png differ
diff --git a/img/frames/custom/m15-eighth/ub/wl.png b/img/frames/custom/m15-eighth/ub/wl.png
new file mode 100644
index 00000000..cb8d5434
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/wl.png differ
diff --git a/img/frames/custom/m15-eighth/ub/wlThumb.png b/img/frames/custom/m15-eighth/ub/wlThumb.png
new file mode 100644
index 00000000..7a0e3d90
Binary files /dev/null and b/img/frames/custom/m15-eighth/ub/wlThumb.png differ
diff --git a/js/creator-23.js b/js/creator-23.js
index b9754baf..eec58f4f 100644
--- a/js/creator-23.js
+++ b/js/creator-23.js
@@ -814,6 +814,12 @@ function autoFrame() {
if (frame == 'M15Regular-1') {
autoM15Frame(colors, card.text.mana.text, card.text.type.text, card.text.pt.text);
group = 'Standard-3';
+ } else if (frame == 'M15Eighth') {
+ autoM15EighthFrame(colors, card.text.mana.text, card.text.type.text, card.text.pt.text);
+ group = 'Custom';
+ } else if (frame == 'M15EighthUB') {
+ autoM15EighthUBFrame(colors, card.text.mana.text, card.text.type.text, card.text.pt.text);
+ group = 'Custom';
} else if (frame == 'UB') {
autoUBFrame(colors, card.text.mana.text, card.text.type.text, card.text.pt.text);
group = 'Showcase-5';
@@ -999,6 +1005,116 @@ async function autoM15Frame(colors, mana_cost, type_line, power) {
await card.frames.forEach(item => addFrame([], item));
card.frames.reverse();
}
+async function autoM15EighthFrame(colors, mana_cost, type_line, power) {
+ var frames = card.frames.filter(frame => frame.name.includes('Extension'));
+
+ //clear the draggable frames
+ card.frames = [];
+ document.querySelector('#frame-list').innerHTML = null;
+
+ var properties = cardFrameProperties(colors, mana_cost, type_line, power);
+ var style = 'regular';
+ if (type_line.toLowerCase().includes('snow')) {
+ style = 'snow';
+ } else if (type_line.toLowerCase().includes('enchantment creature') || type_line.toLowerCase().includes('enchantment artifact')) {
+ style = 'Nyx';
+ }
+
+ // Set frames
+ if (type_line.includes('Legendary')) {
+ if (style == 'Nyx') {
+ frames.push(makeM15FrameByLetter(properties.innerCrown, 'Inner Crown', false, style));
+ }
+
+ if (properties.pinlineRight) {
+ frames.push(makeM15FrameByLetter(properties.pinlineRight, 'Crown', true, style));
+ }
+ frames.push(makeM15FrameByLetter(properties.pinline, "Crown", false, style));
+ frames.push(makeM15FrameByLetter(properties.pinline, "Crown Border Cover", false, style));
+ }
+ if (properties.pt) {
+ frames.push(makeM15EighthFrameByLetter(properties.pt, 'PT', false, style));
+ }
+ if (properties.pinlineRight) {
+ frames.push(makeM15EighthFrameByLetter(properties.pinlineRight, 'Pinline', true, style));
+ }
+ frames.push(makeM15EighthFrameByLetter(properties.pinline, 'Pinline', false, style));
+ frames.push(makeM15EighthFrameByLetter(properties.typeTitle, 'Type', false, style));
+ frames.push(makeM15EighthFrameByLetter(properties.typeTitle, 'Title', false, style));
+ if (properties.pinlineRight) {
+ frames.push(makeM15EighthFrameByLetter(properties.rulesRight, 'Rules', true, style));
+ }
+ frames.push(makeM15EighthFrameByLetter(properties.rules, 'Rules', false, style));
+ if (properties.frameRight) {
+ frames.push(makeM15EighthFrameByLetter(properties.frameRight, 'Frame', true, style));
+ }
+ frames.push(makeM15EighthFrameByLetter(properties.frame, 'Frame', false, style));
+ frames.push(makeM15EighthFrameByLetter(properties.frame, 'Border', false, style));
+
+ if (card.text.pt && type_line.includes('Vehicle') && !card.text.pt.text.includes('fff')) {
+ card.text.pt.text = '{fontcolor#fff}' + card.text.pt.text;
+ }
+
+ card.frames = frames;
+ card.frames.reverse();
+ await card.frames.forEach(item => addFrame([], item));
+ card.frames.reverse();
+}
+async function autoM15EighthUBFrame(colors, mana_cost, type_line, power) {
+ var frames = card.frames.filter(frame => frame.name.includes('Extension'));
+
+ //clear the draggable frames
+ card.frames = [];
+ document.querySelector('#frame-list').innerHTML = null;
+
+ var properties = cardFrameProperties(colors, mana_cost, type_line, power);
+ var style = 'regular';
+ if (type_line.toLowerCase().includes('snow')) {
+ style = 'snow';
+ } else if (type_line.toLowerCase().includes('enchantment creature') || type_line.toLowerCase().includes('enchantment artifact')) {
+ style = 'Nyx';
+ }
+
+ // Set frames
+ if (type_line.includes('Legendary')) {
+ if (style == 'Nyx') {
+ frames.push(makeM15FrameByLetter(properties.innerCrown, 'Inner Crown', false, style));
+ }
+
+ if (properties.pinlineRight) {
+ frames.push(makeM15EighthUBFrameByLetter(properties.pinlineRight, 'Crown', true, style));
+ }
+ frames.push(makeM15EighthUBFrameByLetter(properties.pinline, "Crown", false, style));
+ frames.push(makeM15EighthUBFrameByLetter(properties.pinline, "Crown Border Cover", false, style));
+ }
+ if (properties.pt) {
+ frames.push(makeM15EighthUBFrameByLetter(properties.pt, 'PT', false, style));
+ }
+ if (properties.pinlineRight) {
+ frames.push(makeM15EighthUBFrameByLetter(properties.pinlineRight, 'Pinline', true, style));
+ }
+ frames.push(makeM15EighthUBFrameByLetter(properties.pinline, 'Pinline', false, style));
+ frames.push(makeM15EighthUBFrameByLetter(properties.typeTitle, 'Type', false, style));
+ frames.push(makeM15EighthUBFrameByLetter(properties.typeTitle, 'Title', false, style));
+ if (properties.pinlineRight) {
+ frames.push(makeM15EighthUBFrameByLetter(properties.rulesRight, 'Rules', true, style));
+ }
+ frames.push(makeM15EighthUBFrameByLetter(properties.rules, 'Rules', false, style));
+ if (properties.frameRight) {
+ frames.push(makeM15EighthUBFrameByLetter(properties.frameRight, 'Frame', true, style));
+ }
+ frames.push(makeM15EighthUBFrameByLetter(properties.frame, 'Frame', false, style));
+ frames.push(makeM15EighthUBFrameByLetter(properties.frame, 'Border', false, style));
+
+ if (card.text.pt && type_line.includes('Vehicle') && !card.text.pt.text.includes('fff')) {
+ card.text.pt.text = '{fontcolor#fff}' + card.text.pt.text;
+ }
+
+ card.frames = frames;
+ card.frames.reverse();
+ await card.frames.forEach(item => addFrame([], item));
+ card.frames.reverse();
+}
async function autoBorderlessFrame(colors, mana_cost, type_line, power) {
var frames = card.frames.filter(frame => frame.name.includes('Extension'));
@@ -1386,6 +1502,272 @@ function makeM15FrameByLetter(letter, mask = false, maskToRightHalf = false, sty
return frame;
}
+function makeM15EighthFrameByLetter(letter, mask = false, maskToRightHalf = false, style = 'regular') {
+ letter = letter.toUpperCase();
+ var frameNames = {
+ 'W': 'White',
+ 'U': 'Blue',
+ 'B': 'Black',
+ 'R': 'Red',
+ 'G': 'Green',
+ 'M': 'Multicolored',
+ 'A': 'Artifact',
+ 'L': 'Land',
+ 'C': 'Colorless',
+ 'V': 'Vehicle',
+ 'WL': 'White Land',
+ 'UL': 'Blue Land',
+ 'BL': 'Black Land',
+ 'RL': 'Red Land',
+ 'GL': 'Green Land',
+ 'ML': 'Multicolored Land'
+ }
+
+ if ((mask.includes('Crown') || mask == 'PT' || mask.includes('Stamp')) && letter.includes('L') && letter.length > 1) {
+ letter = letter[0];
+ }
+
+ var frameName = frameNames[letter];
+
+ if (mask == "Crown Border Cover") {
+ return {
+ 'name': 'Legend Crown Border Cover',
+ 'src': '/img/black.png',
+ 'masks': [],
+ 'bounds': {
+ 'height': 0.0177,
+ 'width': 0.9214,
+ 'x': 0.0394,
+ 'y': 0.0277
+ }
+ }
+ }
+
+ if (mask == "Crown") {
+ var frame = {
+ 'name': frameName + ' Legend Crown',
+ 'src': '/img/frames/m15/crowns/m15Crown' + letter + '.png',
+ 'masks': [],
+ 'bounds': {
+ 'height': 0.1667,
+ 'width': 0.9454,
+ 'x': 0.0274,
+ 'y': 0.0191
+ }
+ }
+ if (maskToRightHalf) {
+ frame.masks.push({
+ 'src': '/img/frames/maskRightHalf.png',
+ 'name': 'Right Half'
+ });
+ }
+ return frame;
+ }
+
+ if (mask == "Inner Crown") {
+ var frame = {
+ 'name': frameName + ' ' + mask + ' (' + style + ')',
+ 'src': '/img/frames/m15/innerCrowns/m15InnerCrown' + letter + style + '.png',
+ 'masks': [],
+ 'bounds': {
+ 'height': 0.0239,
+ 'width': 0.672,
+ 'x': 0.164,
+ 'y': 0.0239
+ }
+ }
+ if (maskToRightHalf) {
+ frame.masks.push({
+ 'src': '/img/frames/maskRightHalf.png',
+ 'name': 'Right Half'
+ });
+ }
+ return frame;
+ }
+
+ if (mask == 'PT') {
+ return {
+ 'name': frameName + ' Power/Toughness',
+ 'src': '/img/frames/m15/regular/m15PT' + letter + '.png',
+ 'masks': [],
+ 'bounds': {
+ 'height': 0.0733,
+ 'width': 0.188,
+ 'x': 0.7573,
+ 'y': 1901/2100
+ }
+ }
+ }
+
+ var frame = {
+ 'name': frameName + ' Frame',
+ 'src': '/img/frames/custom/m15-eighth/' + style.toLowerCase() + '/' + letter.toLowerCase() + '.png',
+ }
+
+ if (style != 'regular') {
+ frame.name = style.charAt(0).toUpperCase() + style.slice(1) + ' ' + frame.name;
+ }
+
+ if (mask) {
+ if (mask.toLowerCase() == 'border' || mask.toLowerCase() == 'frame') {
+ frame.masks = [
+ {
+ 'src': '/img/frames/custom/m15-eighth/regular/' + mask + '.png',
+ 'name': mask
+ }
+ ]
+ } else {
+ frame.masks = [
+ {
+ 'src': '/img/frames/m15/regular/m15Mask' + mask + '.png',
+ 'name': mask
+ }
+ ]
+ }
+
+ if (maskToRightHalf) {
+ frame.masks.push({
+ 'src': '/img/frames/maskRightHalf.png',
+ 'name': 'Right Half'
+ });
+ }
+ } else {
+ frame.masks = [];
+ }
+
+ return frame;
+}
+function makeM15EighthUBFrameByLetter(letter, mask = false, maskToRightHalf = false) {
+ letter = letter.toUpperCase();
+ var frameNames = {
+ 'W': 'White',
+ 'U': 'Blue',
+ 'B': 'Black',
+ 'R': 'Red',
+ 'G': 'Green',
+ 'M': 'Multicolored',
+ 'A': 'Artifact',
+ 'L': 'Land',
+ 'C': 'Colorless',
+ 'V': 'Vehicle',
+ 'WL': 'White Land',
+ 'UL': 'Blue Land',
+ 'BL': 'Black Land',
+ 'RL': 'Red Land',
+ 'GL': 'Green Land',
+ 'ML': 'Multicolored Land'
+ }
+
+ if ((mask.includes('Crown') || mask == 'PT' || mask.includes('Stamp')) && letter.includes('L') && letter.length > 1) {
+ letter = letter[0];
+ }
+
+ var frameName = frameNames[letter];
+
+ if (mask == "Crown Border Cover") {
+ return {
+ 'name': 'Legend Crown Border Cover',
+ 'src': '/img/black.png',
+ 'masks': [],
+ 'bounds': {
+ 'height': 0.0177,
+ 'width': 0.9214,
+ 'x': 0.0394,
+ 'y': 0.0277
+ }
+ }
+ }
+
+ if (mask == "Crown") {
+ var frame = {
+ 'name': frameName + ' Legend Crown',
+ 'src': '/img/frames/m15/ub/crowns/m15Crown' + letter + '.png',
+ 'masks': [],
+ 'bounds': {
+ 'height': 0.1667,
+ 'width': 0.9454,
+ 'x': 0.0274,
+ 'y': 0.0191
+ }
+ }
+ if (maskToRightHalf) {
+ frame.masks.push({
+ 'src': '/img/frames/maskRightHalf.png',
+ 'name': 'Right Half'
+ });
+ }
+ return frame;
+ }
+
+ if (mask == "Inner Crown") {
+ var frame = {
+ 'name': frameName + ' ' + mask + ' (' + style + ')',
+ 'src': '/img/frames/m15/innerCrowns/m15InnerCrown' + letter + style + '.png',
+ 'masks': [],
+ 'bounds': {
+ 'height': 0.0239,
+ 'width': 0.672,
+ 'x': 0.164,
+ 'y': 0.0239
+ }
+ }
+ if (maskToRightHalf) {
+ frame.masks.push({
+ 'src': '/img/frames/maskRightHalf.png',
+ 'name': 'Right Half'
+ });
+ }
+ return frame;
+ }
+
+ if (mask == 'PT') {
+ return {
+ 'name': frameName + ' Power/Toughness',
+ 'src': '/img/frames/m15/ub/pt/' + letter + '.png',
+ 'masks': [],
+ 'bounds': {
+ 'height': 0.0733,
+ 'width': 0.188,
+ 'x': 0.7573,
+ 'y': 1901/2100
+ }
+ }
+ }
+
+ var frame = {
+ 'name': frameName + ' Frame',
+ 'src': '/img/frames/custom/m15-eighth/ub/' + letter.toLowerCase() + '.png',
+ }
+
+ if (mask) {
+ if (mask.toLowerCase() == 'border' || mask.toLowerCase() == 'frame') {
+ frame.masks = [
+ {
+ 'src': '/img/frames/custom/m15-eighth/regular/' + mask + '.png',
+ 'name': mask
+ }
+ ]
+ } else {
+ frame.masks = [
+ {
+ 'src': '/img/frames/m15/regular/m15Mask' + mask + '.png',
+ 'name': mask
+ }
+ ]
+ }
+
+ if (maskToRightHalf) {
+ frame.masks.push({
+ 'src': '/img/frames/maskRightHalf.png',
+ 'name': 'Right Half'
+ });
+ }
+ } else {
+ frame.masks = [];
+ }
+
+ return frame;
+}
function makeBorderlessFrameByLetter(letter, mask = false, maskToRightHalf = false, style) {
letter = letter.toUpperCase();
diff --git a/js/frames/groupCustom.js b/js/frames/groupCustom.js
index e0212519..43b49db4 100644
--- a/js/frames/groupCustom.js
+++ b/js/frames/groupCustom.js
@@ -10,6 +10,13 @@ loadFramePacks([
{name:'Seventh Edition Snow Lands', value:'SeventhSnowLands'},
{name:'Floating Old Border', value:'OldFloating'},
{name:'Floating Old Border (Short)', value:'OldFloatingShort'},
+
+ {name:'Modern M15 Eighth Edition Style', value:'disabled'},
+ {name:'Regular', value:'M15Eighth'},
+ {name:'Nyx', value:'M15EighthNyx'},
+ {name:'Snow', value:'M15EighthSnow'},
+ {name:'Universes Beyond', value:'M15EighthUB'},
+
{name:'Classicshifted Series', value:'disabled'},
{name:'Classicshifted', value:'Classicshifted'},
{name:'Classicshifted Lands', value:'ClassicshiftedLands'},
@@ -19,6 +26,7 @@ loadFramePacks([
{name:'Classicshifted MDFC Addons', value:'ClassicshiftedDFC'},
{name:'Classicshifted Transform Addons', value:'ClassicshiftedTransform'},
{name:'Color Identity Pips', value:'ClassicshiftedCIPips'},
+
{name:'Showcase Frame Varients', value:'disabled'},
{name:'Short Neon (NEO)', value:'NEONeonShort'},
{name:'Colored Golden Age (SNC)', value:'SNCGildedColored'},
@@ -27,8 +35,10 @@ loadFramePacks([
{name:'Horizontal Japanese Mystical Archive (STA)', value:'MysticalArchiveJPHorizontal'},
{name:'Extended Art Invocations', value:'AKHInvocationExtended'},
{name:'Textless Inventions', value:'TextlessInvention'},
+
{name:'Custom Addons', value:'disabled'},
{name:'Brawl Legend Crowns', value:'Brawl'},
+
{name:'Custom Community Frames', value:'disabled'},
{name:'Cartoony - Sheepwave', value:'Cartoony'},
{name:'Neon - Elry', value:'CustomNeon'},
diff --git a/js/frames/packM15Eighth.js b/js/frames/packM15Eighth.js
new file mode 100644
index 00000000..dfa91ed4
--- /dev/null
+++ b/js/frames/packM15Eighth.js
@@ -0,0 +1,72 @@
+//Create objects for common properties across available frames
+var masks = [{src:'/img/frames/m15/regular/m15MaskPinline.png', name:'Pinline'}, {src:'/img/frames/m15/regular/m15MaskTitle.png', name:'Title'}, {src:'/img/frames/m15/regular/m15MaskType.png', name:'Type'}, {src:'/img/frames/m15/regular/m15MaskRules.png', name:'Rules'}, {src:'/img/frames/custom/m15-eighth/regular/frame.png', name:'Frame'}, {src:'/img/frames/custom/m15-eighth/regular/border.png', name:'Border'}];
+var bounds = {x:0.7573, y:1901/2100, width:0.188, height:0.0733};
+//defines available frames
+availableFrames = [
+ {name:'White Frame', src:'/img/frames/custom/m15-eighth/regular/w.png', masks:masks},
+ {name:'Blue Frame', src:'/img/frames/custom/m15-eighth/regular/u.png', masks:masks},
+ {name:'Black Frame', src:'/img/frames/custom/m15-eighth/regular/b.png', masks:masks},
+ {name:'Red Frame', src:'/img/frames/custom/m15-eighth/regular/r.png', masks:masks},
+ {name:'Green Frame', src:'/img/frames/custom/m15-eighth/regular/g.png', masks:masks},
+ {name:'Multicolored Frame', src:'/img/frames/custom/m15-eighth/regular/m.png', masks:masks},
+ {name:'Artifact Frame', src:'/img/frames/custom/m15-eighth/regular/a.png', masks:masks},
+ {name:'Land Frame', src:'/img/frames/custom/m15-eighth/regular/l.png', masks:masks},
+ {name:'Colorless Frame', src:'/img/frames/custom/m15-eighth/regular/c.png', masks:masks},
+ {name:'Vehicle Frame', src:'/img/frames/custom/m15-eighth/regular/v.png', masks:masks},
+
+ {name:'White Power/Toughness', src:'/img/frames/m15/regular/m15PTW.png', bounds:bounds},
+ {name:'Blue Power/Toughness', src:'/img/frames/m15/regular/m15PTU.png', bounds:bounds},
+ {name:'Black Power/Toughness', src:'/img/frames/m15/regular/m15PTB.png', bounds:bounds},
+ {name:'Red Power/Toughness', src:'/img/frames/m15/regular/m15PTR.png', bounds:bounds},
+ {name:'Green Power/Toughness', src:'/img/frames/m15/regular/m15PTG.png', bounds:bounds},
+ {name:'Multicolored Power/Toughness', src:'/img/frames/m15/regular/m15PTM.png', bounds:bounds},
+ {name:'Artifact Power/Toughness', src:'/img/frames/m15/regular/m15PTA.png', bounds:bounds},
+ {name:'Colorless Power/Toughness', src:'/img/frames/m15/regular/m15PTC.png', bounds:bounds},
+ {name:'Vehicle Power/Toughness', src:'/img/frames/m15/regular/m15PTV.png', bounds:bounds},
+
+ {name:'White Land Frame', src:'/img/frames/custom/m15-eighth/regular/wl.png', masks:masks},
+ {name:'Blue Land Frame', src:'/img/frames/custom/m15-eighth/regular/ul.png', masks:masks},
+ {name:'Black Land Frame', src:'/img/frames/custom/m15-eighth/regular/bl.png', masks:masks},
+ {name:'Red Land Frame', src:'/img/frames/custom/m15-eighth/regular/rl.png', masks:masks},
+ {name:'Green Land Frame', src:'/img/frames/custom/m15-eighth/regular/gl.png', masks:masks},
+ {name:'Multicolored Land Frame', src:'/img/frames/custom/m15-eighth/regular/ml.png', masks:masks},
+
+ {name:'M15 Border', src:'/img/frames/m15/regular/m15MaskBorder.png'}
+];
+//disables/enables the "Load Frame Version" button
+document.querySelector('#loadFrameVersion').disabled = false;
+//defines process for loading this version, if applicable
+document.querySelector('#loadFrameVersion').onclick = async function() {
+ //resets things so that every frame doesn't have to
+ await resetCardIrregularities();
+ //sets card version
+ card.version = 'm15Eighth';
+ //art bounds
+ card.artBounds = {x:0.0767, y:0.1129, width:0.8476, height:0.4429};
+ autoFitArt();
+ //set symbol bounds
+ card.setSymbolBounds = {x:0.9213, y:0.5910, width:0.12, height:0.0410, vertical:'center', horizontal: 'right'};
+ resetSetSymbol();
+ //watermark bounds
+ card.watermarkBounds = {x:0.5, y:0.7762, width:0.75, height:0.2305};
+ resetWatermark();
+ //text
+ loadTextOptions({
+ mana: {name:'Mana Cost', text:'', y:0.0613, width:0.9292, height:71/2100, oneLine:true, size:71/1638, align:'right', shadowX:-0.001, shadowY:0.0029, manaCost:true, manaSpacing:0},
+ title: {name:'Title', text:'', x:0.0854, y:0.0522, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0381},
+ type: {name:'Type', text:'', x:0.0854, y:0.5664, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0324},
+ rules: {name:'Rules Text', text:'', x:0.086, y:0.6303, width:0.828, height:0.2875, size:0.0362},
+ pt: {name:'Power/Toughness', text:'', x:0.7928, y:1937/2100, width:0.1367, height:0.0372, size:0.0372, font:'belerenbsc', oneLine:true, align:'center'}
+ });
+ //bottom info
+ loadBottomInfo({
+ top: {text:'{conditionalcolor:M15_Border,Nyx_White_Frame,Nyx_Blue_Frame,Nyx_Black_Frame,Nyx_Red_Frame,Nyx_Green_Frame,Nyx_Multicolored_Frame,Nyx_Artifact_Frame,Black_Frame,Land_Frame,Colorless_Frame,Vehicle_Frame,White_Land_Frame,Blue_Land_Frame,Black_Land_Frame,Red_Land_Frame,Green_Land_Frame,Multicolored_Land_Frame:white}\uFFEE {elemidinfo-artist}', x:0.0647, y:1973/2100, width:0.8107, height:0.0248, oneLine:true, font:'belerenbsc', size:0.02095, color:'black'},
+ wizards: {name:'wizards', text:'{conditionalcolor:M15_Border,Nyx_White_Frame,Nyx_Blue_Frame,Nyx_Black_Frame,Nyx_Red_Frame,Nyx_Green_Frame,Nyx_Multicolored_Frame,Nyx_Artifact_Frame,Black_Frame,Land_Frame,Colorless_Frame,Vehicle_Frame,White_Land_Frame,Blue_Land_Frame,Black_Land_Frame,Red_Land_Frame,Green_Land_Frame,Multicolored_Land_Frame:white}\u2122 & \u00a9 1993-{elemidinfo-year} Wizards of the Coast, Inc. {elemidinfo-number}', x:0.0647, y:1958/2100, width:0.8107, height:0.0153, oneLine:true, font:'mplantin', size:0.0153, color:'black', shadowX:0.0007, shadowY:0.0005},
+ });
+}
+//loads available frames
+loadFramePack();
+//Only for the main version as the webpage loads:
+if (!card.text) {
+ document.querySelector('#loadFrameVersion').click();
+}
\ No newline at end of file
diff --git a/js/frames/packM15EighthNyx.js b/js/frames/packM15EighthNyx.js
new file mode 100644
index 00000000..99bc41b6
--- /dev/null
+++ b/js/frames/packM15EighthNyx.js
@@ -0,0 +1,62 @@
+//Create objects for common properties across available frames
+var masks = [{src:'/img/frames/m15/regular/m15MaskPinline.png', name:'Pinline'}, {src:'/img/frames/m15/regular/m15MaskTitle.png', name:'Title'}, {src:'/img/frames/m15/regular/m15MaskType.png', name:'Type'}, {src:'/img/frames/m15/regular/m15MaskRules.png', name:'Rules'}, {src:'/img/frames/custom/m15-eighth/regular/frame.png', name:'Frame'}, {src:'/img/frames/custom/m15-eighth/regular/border.png', name:'Border'}];
+var bounds = {x:0.7573, y:1901/2100, width:0.188, height:0.0733};
+//defines available frames
+availableFrames = [
+ {name:'White Frame', src:'/img/frames/custom/m15-eighth/nyx/w.png', masks:masks},
+ {name:'Blue Frame', src:'/img/frames/custom/m15-eighth/nyx/u.png', masks:masks},
+ {name:'Black Frame', src:'/img/frames/custom/m15-eighth/nyx/b.png', masks:masks},
+ {name:'Red Frame', src:'/img/frames/custom/m15-eighth/nyx/r.png', masks:masks},
+ {name:'Green Frame', src:'/img/frames/custom/m15-eighth/nyx/g.png', masks:masks},
+ {name:'Multicolored Frame', src:'/img/frames/custom/m15-eighth/nyx/m.png', masks:masks},
+ {name:'Artifact Frame', src:'/img/frames/custom/m15-eighth/nyx/a.png', masks:masks},
+ {name:'Colorless Frame', src:'/img/frames/custom/m15-eighth/nyx/c.png', masks:masks},
+
+ {name:'White Power/Toughness', src:'/img/frames/m15/regular/m15PTW.png', bounds:bounds},
+ {name:'Blue Power/Toughness', src:'/img/frames/m15/regular/m15PTU.png', bounds:bounds},
+ {name:'Black Power/Toughness', src:'/img/frames/m15/regular/m15PTB.png', bounds:bounds},
+ {name:'Red Power/Toughness', src:'/img/frames/m15/regular/m15PTR.png', bounds:bounds},
+ {name:'Green Power/Toughness', src:'/img/frames/m15/regular/m15PTG.png', bounds:bounds},
+ {name:'Multicolored Power/Toughness', src:'/img/frames/m15/regular/m15PTM.png', bounds:bounds},
+ {name:'Artifact Power/Toughness', src:'/img/frames/m15/regular/m15PTA.png', bounds:bounds},
+ {name:'Colorless Power/Toughness', src:'/img/frames/m15/regular/m15PTC.png', bounds:bounds},
+
+ {name:'M15 Border', src:'/img/frames/m15/regular/m15MaskBorder.png'}
+];
+//disables/enables the "Load Frame Version" button
+document.querySelector('#loadFrameVersion').disabled = false;
+//defines process for loading this version, if applicable
+document.querySelector('#loadFrameVersion').onclick = async function() {
+ //resets things so that every frame doesn't have to
+ await resetCardIrregularities();
+ //sets card version
+ card.version = 'm15EighthNyx';
+ //art bounds
+ card.artBounds = {x:0.0767, y:0.1129, width:0.8476, height:0.4429};
+ autoFitArt();
+ //set symbol bounds
+ card.setSymbolBounds = {x:0.9213, y:0.5910, width:0.12, height:0.0410, vertical:'center', horizontal: 'right'};
+ resetSetSymbol();
+ //watermark bounds
+ card.watermarkBounds = {x:0.5, y:0.7762, width:0.75, height:0.2305};
+ resetWatermark();
+ //text
+ loadTextOptions({
+ mana: {name:'Mana Cost', text:'', y:0.0613, width:0.9292, height:71/2100, oneLine:true, size:71/1638, align:'right', shadowX:-0.001, shadowY:0.0029, manaCost:true, manaSpacing:0},
+ title: {name:'Title', text:'', x:0.0854, y:0.0522, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0381},
+ type: {name:'Type', text:'', x:0.0854, y:0.5664, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0324},
+ rules: {name:'Rules Text', text:'', x:0.086, y:0.6303, width:0.828, height:0.2875, size:0.0362},
+ pt: {name:'Power/Toughness', text:'', x:0.7928, y:1937/2100, width:0.1367, height:0.0372, size:0.0372, font:'belerenbsc', oneLine:true, align:'center'}
+ });
+ //bottom info
+ loadBottomInfo({
+ top: {text:'\uFFEE {elemidinfo-artist}', x:0.0647, y:1973/2100, width:0.8107, height:0.0248, oneLine:true, font:'belerenbsc', size:0.02095, color:'white'},
+ wizards: {name:'wizards', text:'\u2122 & \u00a9 1993-{elemidinfo-year} Wizards of the Coast, Inc. {elemidinfo-number}', x:0.0647, y:1958/2100, width:0.8107, height:0.0153, oneLine:true, font:'mplantin', size:0.0153, color:'white', shadowX:0.0007, shadowY:0.0005},
+ });
+}
+//loads available frames
+loadFramePack();
+//Only for the main version as the webpage loads:
+if (!card.text) {
+ document.querySelector('#loadFrameVersion').click();
+}
\ No newline at end of file
diff --git a/js/frames/packM15EighthSnow.js b/js/frames/packM15EighthSnow.js
new file mode 100644
index 00000000..59c5a4a2
--- /dev/null
+++ b/js/frames/packM15EighthSnow.js
@@ -0,0 +1,76 @@
+//Create objects for common properties across available frames
+var masks = [{src:'/img/frames/m15/regular/m15MaskPinline.png', name:'Pinline'}, {src:'/img/frames/m15/regular/m15MaskTitle.png', name:'Title'}, {src:'/img/frames/m15/regular/m15MaskType.png', name:'Type'}, {src:'/img/frames/m15/regular/m15MaskRules.png', name:'Rules'}, {src:'/img/frames/custom/m15-eighth/regular/frame.png', name:'Frame'}, {src:'/img/frames/custom/m15-eighth/regular/border.png', name:'Border'}];
+var bounds = {x:0.7573, y:1901/2100, width:0.188, height:0.0733};
+var watermarkBounds = {x:0.3267, y:0.6491, width:0.3474, height:0.2496};
+//defines available frames
+availableFrames = [
+ {name:'White Frame', src:'/img/frames/custom/m15-eighth/snow/w.png', masks:masks},
+ {name:'Blue Frame', src:'/img/frames/custom/m15-eighth/snow/u.png', masks:masks},
+ {name:'Black Frame', src:'/img/frames/custom/m15-eighth/snow/b.png', masks:masks},
+ {name:'Red Frame', src:'/img/frames/custom/m15-eighth/snow/r.png', masks:masks},
+ {name:'Green Frame', src:'/img/frames/custom/m15-eighth/snow/g.png', masks:masks},
+ {name:'Multicolored Frame', src:'/img/frames/custom/m15-eighth/snow/m.png', masks:masks},
+ {name:'Artifact Frame', src:'/img/frames/custom/m15-eighth/snow/a.png', masks:masks},
+ {name:'Land Frame', src:'/img/frames/custom/m15-eighth/snow/l.png', masks:masks},
+
+ {name:'White Power/Toughness', src:'/img/frames/m15/regular/m15PTW.png', bounds:bounds},
+ {name:'Blue Power/Toughness', src:'/img/frames/m15/regular/m15PTU.png', bounds:bounds},
+ {name:'Black Power/Toughness', src:'/img/frames/m15/regular/m15PTB.png', bounds:bounds},
+ {name:'Red Power/Toughness', src:'/img/frames/m15/regular/m15PTR.png', bounds:bounds},
+ {name:'Green Power/Toughness', src:'/img/frames/m15/regular/m15PTG.png', bounds:bounds},
+ {name:'Multicolored Power/Toughness', src:'/img/frames/m15/regular/m15PTM.png', bounds:bounds},
+ {name:'Artifact Power/Toughness', src:'/img/frames/m15/regular/m15PTA.png', bounds:bounds},
+ {name:'Colorless Power/Toughness', src:'/img/frames/m15/regular/m15PTC.png', bounds:bounds},
+
+ {name:'White Land Frame', src:'/img/frames/custom/m15-eighth/snow/wl.png', masks:masks},
+ {name:'Blue Land Frame', src:'/img/frames/custom/m15-eighth/snow/ul.png', masks:masks},
+ {name:'Black Land Frame', src:'/img/frames/custom/m15-eighth/snow/bl.png', masks:masks},
+ {name:'Red Land Frame', src:'/img/frames/custom/m15-eighth/snow/rl.png', masks:masks},
+ {name:'Green Land Frame', src:'/img/frames/custom/m15-eighth/snow/gl.png', masks:masks},
+ {name:'Multicolored Land Frame', src:'/img/frames/custom/m15-eighth/snow/ml.png', masks:masks},
+
+ {name:'Plains Watermark', src:'/img/frames/snow/watermarks/w.png', bounds:watermarkBounds},
+ {name:'Island Watermark', src:'/img/frames/snow/watermarks/u.png', bounds:watermarkBounds},
+ {name:'Swamp Watermark', src:'/img/frames/snow/watermarks/b.png', bounds:watermarkBounds},
+ {name:'Mountain Watermark', src:'/img/frames/snow/watermarks/r.png', bounds:watermarkBounds},
+ {name:'Forest Watermark', src:'/img/frames/snow/watermarks/g.png', bounds:watermarkBounds},
+
+ {name:'M15 Border', src:'/img/frames/m15/regular/m15MaskBorder.png'}
+];
+//disables/enables the "Load Frame Version" button
+document.querySelector('#loadFrameVersion').disabled = false;
+//defines process for loading this version, if applicable
+document.querySelector('#loadFrameVersion').onclick = async function() {
+ //resets things so that every frame doesn't have to
+ await resetCardIrregularities();
+ //sets card version
+ card.version = 'm15EighthSnow';
+ //art bounds
+ card.artBounds = {x:0.0767, y:0.1129, width:0.8476, height:0.4429};
+ autoFitArt();
+ //set symbol bounds
+ card.setSymbolBounds = {x:0.9213, y:0.5910, width:0.12, height:0.0410, vertical:'center', horizontal: 'right'};
+ resetSetSymbol();
+ //watermark bounds
+ card.watermarkBounds = {x:0.5, y:0.7762, width:0.75, height:0.2305};
+ resetWatermark();
+ //text
+ loadTextOptions({
+ mana: {name:'Mana Cost', text:'', y:0.0613, width:0.9292, height:71/2100, oneLine:true, size:71/1638, align:'right', shadowX:-0.001, shadowY:0.0029, manaCost:true, manaSpacing:0},
+ title: {name:'Title', text:'', x:0.0854, y:0.0522, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0381},
+ type: {name:'Type', text:'', x:0.0854, y:0.5664, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0324},
+ rules: {name:'Rules Text', text:'', x:0.086, y:0.6303, width:0.828, height:0.2875, size:0.0362},
+ pt: {name:'Power/Toughness', text:'', x:0.7928, y:1937/2100, width:0.1367, height:0.0372, size:0.0372, font:'belerenbsc', oneLine:true, align:'center'}
+ });
+ //bottom info
+ loadBottomInfo({
+ top: {text:'{conditionalcolor:M15_Border:white}\uFFEE {elemidinfo-artist}', x:0.0647, y:1973/2100, width:0.8107, height:0.0248, oneLine:true, font:'belerenbsc', size:0.02095, color:'black'},
+ wizards: {name:'wizards', text:'{conditionalcolor:M15_Border:white}\u2122 & \u00a9 1993-{elemidinfo-year} Wizards of the Coast, Inc. {elemidinfo-number}', x:0.0647, y:1958/2100, width:0.8107, height:0.0153, oneLine:true, font:'mplantin', size:0.0153, color:'black', shadowX:0.0007, shadowY:0.0005},
+ });
+}
+//loads available frames
+loadFramePack();
+//Only for the main version as the webpage loads:
+if (!card.text) {
+ document.querySelector('#loadFrameVersion').click();
+}
\ No newline at end of file
diff --git a/js/frames/packM15EighthUB.js b/js/frames/packM15EighthUB.js
new file mode 100644
index 00000000..5f9f8620
--- /dev/null
+++ b/js/frames/packM15EighthUB.js
@@ -0,0 +1,71 @@
+//Create objects for common properties across available frames
+var masks = [{src:'/img/frames/m15/regular/m15MaskPinline.png', name:'Pinline'}, {src:'/img/frames/m15/regular/m15MaskTitle.png', name:'Title'}, {src:'/img/frames/m15/regular/m15MaskType.png', name:'Type'}, {src:'/img/frames/m15/regular/m15MaskRules.png', name:'Rules'}, {src:'/img/frames/custom/m15-eighth/regular/frame.png', name:'Frame'}, {src:'/img/frames/custom/m15-eighth/regular/border.png', name:'Border'}];
+var bounds = {x:0.7573, y:1901/2100, width:0.188, height:0.0733};
+//defines available frames
+availableFrames = [
+ {name:'White Frame', src:'/img/frames/custom/m15-eighth/ub/w.png', masks:masks},
+ {name:'Blue Frame', src:'/img/frames/custom/m15-eighth/ub/u.png', masks:masks},
+ {name:'Black Frame', src:'/img/frames/custom/m15-eighth/ub/b.png', masks:masks},
+ {name:'Red Frame', src:'/img/frames/custom/m15-eighth/ub/r.png', masks:masks},
+ {name:'Green Frame', src:'/img/frames/custom/m15-eighth/ub/g.png', masks:masks},
+ {name:'Multicolored Frame', src:'/img/frames/custom/m15-eighth/ub/m.png', masks:masks},
+ {name:'Artifact Frame', src:'/img/frames/custom/m15-eighth/ub/a.png', masks:masks},
+ {name:'Land Frame', src:'/img/frames/custom/m15-eighth/ub/l.png', masks:masks},
+ {name:'Vehicle Frame', src:'/img/frames/custom/m15-eighth/ub/v.png', masks:masks},
+
+ {name:'White Power/Toughness', src:'/img/frames/m15/ub/pt/w.png', bounds:bounds},
+ {name:'Blue Power/Toughness', src:'/img/frames/m15/ub/pt/u.png', bounds:bounds},
+ {name:'Black Power/Toughness', src:'/img/frames/m15/ub/pt/b.png', bounds:bounds},
+ {name:'Red Power/Toughness', src:'/img/frames/m15/ub/pt/r.png', bounds:bounds},
+ {name:'Green Power/Toughness', src:'/img/frames/m15/ub/pt/g.png', bounds:bounds},
+ {name:'Multicolored Power/Toughness', src:'/img/frames/m15/ub/pt/m.png', bounds:bounds},
+ {name:'Artifact Power/Toughness', src:'/img/frames/m15/ub/pt/a.png', bounds:bounds},
+ {name:'Vehicle Power/Toughness', src:'/img/frames/m15/ub/pt/v.png', bounds:bounds},
+ {name:'Colorless Power/Toughness', src:'/img/frames/m15/ub/pt/c.png', bounds:bounds},
+
+ {name:'White Land Frame', src:'/img/frames/custom/m15-eighth/ub/wl.png', masks:masks},
+ {name:'Blue Land Frame', src:'/img/frames/custom/m15-eighth/ub/ul.png', masks:masks},
+ {name:'Black Land Frame', src:'/img/frames/custom/m15-eighth/ub/bl.png', masks:masks},
+ {name:'Red Land Frame', src:'/img/frames/custom/m15-eighth/ub/rl.png', masks:masks},
+ {name:'Green Land Frame', src:'/img/frames/custom/m15-eighth/ub/gl.png', masks:masks},
+ {name:'Multicolored Land Frame', src:'/img/frames/custom/m15-eighth/ub/ml.png', masks:masks},
+
+ {name:'M15 Border', src:'/img/frames/m15/regular/m15MaskBorder.png'}
+];
+//disables/enables the "Load Frame Version" button
+document.querySelector('#loadFrameVersion').disabled = false;
+//defines process for loading this version, if applicable
+document.querySelector('#loadFrameVersion').onclick = async function() {
+ //resets things so that every frame doesn't have to
+ await resetCardIrregularities();
+ //sets card version
+ card.version = 'm15EighthSnow';
+ //art bounds
+ card.artBounds = {x:0.0767, y:0.1129, width:0.8476, height:0.4429};
+ autoFitArt();
+ //set symbol bounds
+ card.setSymbolBounds = {x:0.9213, y:0.5910, width:0.12, height:0.0410, vertical:'center', horizontal: 'right'};
+ resetSetSymbol();
+ //watermark bounds
+ card.watermarkBounds = {x:0.5, y:0.7762, width:0.75, height:0.2305};
+ resetWatermark();
+ //text
+ loadTextOptions({
+ mana: {name:'Mana Cost', text:'', y:0.0613, width:0.9292, height:71/2100, oneLine:true, size:71/1638, align:'right', shadowX:-0.001, shadowY:0.0029, manaCost:true, manaSpacing:0},
+ title: {name:'Title', text:'', x:0.0854, y:0.0522, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0381},
+ type: {name:'Type', text:'', x:0.0854, y:0.5664, width:0.8292, height:0.0543, oneLine:true, font:'belerenb', size:0.0324},
+ rules: {name:'Rules Text', text:'', x:0.086, y:0.6303, width:0.828, height:0.2875, size:0.0362},
+ pt: {name:'Power/Toughness', text:'', x:0.7928, y:1937/2100, width:0.1367, height:0.0372, size:0.0372, font:'belerenbsc', oneLine:true, align:'center'}
+ });
+ //bottom info
+ loadBottomInfo({
+ top: {text:'{conditionalcolor:M15_Border,Land_Frame,Vehicle_Frame,White_Land_Frame,Blue_Land_Frame,Black_Land_Frame,Red_Land_Frame,Green_Land_Frame,Multicolored_Land_Frame:white}\uFFEE {elemidinfo-artist}', x:0.0647, y:1973/2100, width:0.8107, height:0.0248, oneLine:true, font:'belerenbsc', size:0.02095, color:'black'},
+ wizards: {name:'wizards', text:'{conditionalcolor:M15_Border,Land_Frame,Vehicle_Frame,Colorless_Frame,White_Land_Frame,Blue_Land_Frame,Black_Land_Frame,Red_Land_Frame,Green_Land_Frame,Multicolored_Land_Frame:white}\u2122 & \u00a9 1993-{elemidinfo-year} Wizards of the Coast, Inc. {elemidinfo-number}', x:0.0647, y:1958/2100, width:0.8107, height:0.0153, oneLine:true, font:'mplantin', size:0.0153, color:'black', shadowX:0.0007, shadowY:0.0005},
+ });
+}
+//loads available frames
+loadFramePack();
+//Only for the main version as the webpage loads:
+if (!card.text) {
+ document.querySelector('#loadFrameVersion').click();
+}
\ No newline at end of file