Compare commits

...

795 Commits
backup ... main

Author SHA1 Message Date
hexahigh
5daa2f057e Github Action: Automatic sitemap update. 2024-02-16 16:31:04 +00:00
5768b83f95 add samorost to flash 2024-02-16 17:30:11 +01:00
hexahigh
48ec71ef9f Github Action: Updated torrent file 2023-09-12 12:03:05 +00:00
Boof
d7310297ed
nope 2023-09-12 14:01:31 +02:00
hexahigh
96dccd3a11 Github Action: Automatic sitemap update. 2023-09-12 11:58:56 +00:00
Boof
cd2efc5d32
perhaps async will fix it? 2023-09-12 13:58:01 +02:00
hexahigh
4dcff38ea7 Github Action: Updated torrent file 2023-09-12 11:52:18 +00:00
Boof
e967320c1e
nevermind. virt doesnt have networking 2023-09-12 13:51:01 +02:00
hexahigh
9bd43e7e84 Github Action: Automatic sitemap update. 2023-09-12 11:48:05 +00:00
Boof
d1478db98e
switched to alpine-virt 2023-09-12 13:47:12 +02:00
hexahigh
6df45e1395 Github Action: Automatic sitemap update. 2023-09-12 11:13:04 +00:00
Boof
e05ad9fd20
fixed the links 2023-09-12 13:11:54 +02:00
hexahigh
02a73e115b Github Action: Automatic sitemap update. 2023-09-12 10:59:22 +00:00
Boof
eb0fd2632a
fixed alpine linux 2023-09-12 12:58:17 +02:00
hexahigh
872f323226 Github Action: Updated torrent file 2023-09-11 12:32:06 +00:00
hexahigh
0cedb583a1 Merge branch 'main' of https://github.com/hexahigh/games 2023-09-11 14:30:45 +02:00
hexahigh
b96870d7ed fix audio? 2023-09-11 14:30:43 +02:00
hexahigh
1028dd5a3e Github Action: Automatic sitemap update. 2023-09-11 12:29:50 +00:00
hexahigh
b720850abe Merge branch 'main' of https://github.com/hexahigh/games 2023-09-11 14:28:31 +02:00
hexahigh
2f2bc039eb tested a solar system map 2023-09-11 14:28:29 +02:00
hexahigh
e968743c16 Github Action: Automatic sitemap update. 2023-09-11 10:26:49 +00:00
Boof
12588fc65f
updated ai model 2023-09-11 12:25:24 +02:00
hexahigh
2fe5b26692 Github Action: Automatic sitemap update. 2023-09-11 09:41:52 +00:00
Boof
c59e376fe5
fixed model? 2023-09-11 11:40:58 +02:00
hexahigh
f9460828bb Github Action: Updated torrent file 2023-09-11 08:56:12 +00:00
Boof
7783cb4e31
test ai model 2023-09-11 10:54:47 +02:00
hexahigh
d7f95cdcea Github Action: Updated torrent file 2023-09-06 12:09:17 +00:00
Boof
95143f18b7
fix? 2023-09-06 14:06:02 +02:00
hexahigh
901f133aa6 Github Action: Updated torrent file 2023-09-06 12:02:13 +00:00
Boof
5b30ba88c7
update iso url 2023-09-06 13:59:58 +02:00
hexahigh
d4efe4fd18 Github Action: Automatic sitemap update. 2023-09-06 11:59:45 +00:00
Boof
7d9776cf32
added alpine linux using v86 2023-09-06 13:57:49 +02:00
hexahigh
6ae784bd9c Github Action: Automatic sitemap update. 2023-08-15 13:55:42 +00:00
hexahigh
1fb3d4cd9b Merge branch 'main' of https://github.com/hexahigh/games 2023-08-15 15:53:52 +02:00
hexahigh
eadca1607f ah hell nah 2023-08-15 15:53:51 +02:00
hexahigh
ff3b148d88 Github Action: Automatic sitemap update. 2023-08-15 13:53:36 +00:00
hexahigh
bd81fababd Merge branch 'main' of https://github.com/hexahigh/games 2023-08-15 15:51:26 +02:00
hexahigh
38db74819c Github Action: Automatic sitemap update. 2023-08-15 13:51:18 +00:00
hexahigh
88f2baf519 Merge branch 'main' of https://github.com/hexahigh/games 2023-08-15 15:51:17 +02:00
hexahigh
862ca1f230 test 2023-08-15 15:51:16 +02:00
Boof
4069645cc3
Add files via upload 2023-08-15 15:48:47 +02:00
hexahigh
39dfa0862a Github Action: Updated torrent file 2023-07-11 12:26:34 +00:00
hexahigh
4b9b869e25 Merge branch 'main' of https://github.com/hexahigh/games 2023-07-11 14:23:40 +02:00
hexahigh
b244a082f0 removed torrents 2023-07-11 14:23:37 +02:00
hexahigh
daad10d6b5 Github Action: Updated torrent file 2023-06-19 13:30:39 +00:00
hexahigh
e9edcc0f2c Merge branch 'main' of https://github.com/hexahigh/games 2023-06-19 15:28:12 +02:00
hexahigh
9bbb8d270b fixed one of the torrents 2023-06-19 15:28:10 +02:00
hexahigh
fad421ee7a Github Action: Updated torrent file 2023-06-19 12:10:17 +00:00
hexahigh
3fe9ac9f00 Merge branch 'main' of https://github.com/hexahigh/games 2023-06-19 14:07:11 +02:00
hexahigh
97b4d0510b add 2023-06-19 14:07:10 +02:00
hexahigh
881fda1ced Github Action: Automatic sitemap update. 2023-06-19 12:03:26 +00:00
hexahigh
62abfc72df Merge branch 'main' of https://github.com/hexahigh/games 2023-06-19 14:01:21 +02:00
hexahigh
3c5d6bd382 test rss feed 2023-06-19 14:01:19 +02:00
hexahigh
f0b8f54af8 Github Action: Automatic sitemap update. 2023-06-11 17:23:49 +00:00
hexahigh
8a45754e06 Merge branch 'main' of https://github.com/hexahigh/games 2023-06-11 19:21:31 +02:00
hexahigh
23ad2285dd google wants a ads.txt file 2023-06-11 19:21:28 +02:00
hexahigh
7056488852 Github Action: Automatic sitemap update. 2023-06-11 17:21:09 +00:00
hexahigh
3c7bc7e8f8 Merge branch 'main' of https://github.com/hexahigh/games 2023-06-11 19:19:12 +02:00
hexahigh
bc1c56182d added adsense to more pages 2023-06-11 19:19:10 +02:00
hexahigh
90747d64fa Github Action: Updated torrent file 2023-06-11 17:08:52 +00:00
hexahigh
855818efa0 added google adsense 2023-06-11 19:06:32 +02:00
hexahigh
d061978b5f Github Action: Automatic sitemap update. 2023-06-09 08:35:18 +00:00
Boof
1175e51501
a 2023-06-09 10:33:23 +02:00
hexahigh
b728399796 Github Action: Updated torrent file 2023-06-09 08:29:50 +00:00
Boof
49d1a59820
update 2023-06-09 10:27:08 +02:00
hexahigh
a249059b99 Github Action: Automatic sitemap update. 2023-06-09 08:14:28 +00:00
Boof
d5b5213174
a 2023-06-09 10:12:29 +02:00
hexahigh
a95df98d2e Github Action: Automatic sitemap update. 2023-06-09 08:00:58 +00:00
Boof
0f1fc62efd
test webtorrent 2023-06-09 09:59:01 +02:00
hexahigh
52de5ad630 Github Action: Automatic sitemap update. 2023-06-09 07:36:35 +00:00
Boof
4b2cc4c462
add internet archive 2023-06-09 09:34:48 +02:00
hexahigh
d37379d58f Github Action: Automatic sitemap update. 2023-06-09 07:21:29 +00:00
Boof
877032bc74
fix buttons 2023-06-09 09:19:05 +02:00
hexahigh
385d49f772 Github Action: Automatic sitemap update. 2023-06-09 07:18:23 +00:00
Boof
e4c574675a
update link 2023-06-09 09:15:44 +02:00
Boof
e0cf09c167
a 2023-06-09 09:15:29 +02:00
hexahigh
375f1f9d9f Github Action: Updated torrent file 2023-06-05 09:46:29 +00:00
Boof
4a037295b7
Update and rename compress images.yml to compress images.yml 2023-06-05 11:44:19 +02:00
hexahigh
b0df24122a Github Action: Updated torrent file 2023-06-05 09:44:07 +00:00
Boof
a40b9d89dc
Rename leanify.yml to compress images.yml 2023-06-05 11:41:59 +02:00
Boof
36209a97b5
Update leanify.yml 2023-06-05 11:41:45 +02:00
hexahigh
b75e86b383 Github Action: Updated torrent file 2023-06-05 09:31:47 +00:00
Boof
c354514c9b
Update leanify.yml 2023-06-05 11:29:26 +02:00
hexahigh
8535f594a5 Github Action: Updated torrent file 2023-06-05 09:07:20 +00:00
Boof
1c7508992e
Update leanify.yml 2023-06-05 11:03:29 +02:00
hexahigh
4299f29669 Github Action: Updated torrent file 2023-06-05 09:01:14 +00:00
Boof
ba189128e8
Create leanify.yml 2023-06-05 10:58:59 +02:00
hexahigh
021457d141 Github Action: Automatic sitemap update. 2023-06-04 20:33:51 +00:00
hexahigh
c15c9089ea moved the flash dump to its own repo 2023-06-04 22:32:44 +02:00
hexahigh
735539af38 Merge branch 'main' of https://github.com/hexahigh/games 2023-06-04 22:29:08 +02:00
hexahigh
6d53fb5940 dumped more flash games 2023-06-04 22:28:58 +02:00
hexahigh
7c3d681e84 Github Action: Automatic sitemap update. 2023-06-04 20:27:49 +00:00
hexahigh
29ca4a755a Merge branch 'main' of https://github.com/hexahigh/games 2023-06-04 22:26:42 +02:00
hexahigh
985c0296c5 created the flash game dump 2023-06-04 22:26:40 +02:00
hexahigh
0bc5622b2e Github Action: Automatic sitemap update. 2023-06-04 20:24:18 +00:00
hexahigh
4ac181438a Merge branch 'main' of https://github.com/hexahigh/games 2023-06-04 22:23:33 +02:00
hexahigh
84a655e5f9 small update 2023-06-04 22:23:31 +02:00
hexahigh
4a872b9a9c Github Action: Updated torrent file 2023-06-04 20:10:05 +00:00
hexahigh
418bd6c97f added two new flash games 2023-06-04 22:08:13 +02:00
hexahigh
2f45660a6d Github Action: Automatic sitemap update. 2023-05-30 12:04:08 +00:00
Boof
65461b302c
fix pacman highscore 2023-05-30 14:03:28 +02:00
hexahigh
6ed6c893ce Github Action: Automatic sitemap update. 2023-05-30 10:29:17 +00:00
Boof
f8f20caa18
beep boop 2023-05-30 12:28:37 +02:00
hexahigh
9e3f50027e Github Action: Automatic sitemap update. 2023-05-30 10:25:53 +00:00
Boof
d1bec4b15d
mcdonald trump 2023-05-30 12:25:13 +02:00
hexahigh
b9ca1c4826 Github Action: Automatic sitemap update. 2023-05-30 10:24:08 +00:00
Boof
7f871ab77c
a 2023-05-30 12:23:32 +02:00
hexahigh
9dd92659fb Github Action: Automatic sitemap update. 2023-05-30 10:18:42 +00:00
Boof
b30ab51bb6
piss fix 2023-05-30 12:18:04 +02:00
hexahigh
7608abb99a Github Action: Automatic sitemap update. 2023-05-30 10:10:57 +00:00
Boof
fdb1cd849c
update 2023-05-30 12:10:08 +02:00
hexahigh
88993eb955 Github Action: Automatic sitemap update. 2023-05-30 10:06:37 +00:00
Boof
5357c2f2fe
a 2023-05-30 12:05:45 +02:00
hexahigh
717153cb9e Github Action: Automatic sitemap update. 2023-05-30 10:05:14 +00:00
Boof
020fdb2a8f
a 2023-05-30 12:04:15 +02:00
hexahigh
495ffd02f4 Github Action: Automatic sitemap update. 2023-05-30 07:05:08 +00:00
Boof
d819d49453
that somehow broke the game 2023-05-30 09:04:17 +02:00
hexahigh
b3ef712c36 Github Action: Automatic sitemap update. 2023-05-30 06:56:10 +00:00
Boof
43060652fc
remove cookie clicker topbar 2023-05-30 08:55:26 +02:00
hexahigh
0d2d0dea68 Github Action: Automatic sitemap update. 2023-05-27 10:46:00 +00:00
hexahigh
efaee7310b updated cookie clicker to a newer version 2023-05-27 12:45:09 +02:00
hexahigh
cc0b0bad5d Github Action: Automatic sitemap update. 2023-05-25 11:19:07 +00:00
Boof
b018e89dc4
added a new flash game 2023-05-25 13:18:13 +02:00
hexahigh
6fd65f3b50 Github Action: Automatic sitemap update. 2023-05-25 11:13:30 +00:00
Boof
621647d419
a 2023-05-25 13:12:51 +02:00
hexahigh
c072f49a83 Github Action: Automatic sitemap update. 2023-05-16 12:05:09 +00:00
Boof
52aa85becb
added the bloons player packs 2023-05-16 14:04:22 +02:00
hexahigh
a954bc30cb Github Action: Automatic sitemap update. 2023-05-16 11:59:09 +00:00
Boof
5ef8b4789b
add bloons junior 2023-05-16 13:58:31 +02:00
hexahigh
dfb93c5bae Github Action: Automatic sitemap update. 2023-05-16 11:57:24 +00:00
Boof
ee013e1038
added hot air bloon 2023-05-16 13:56:46 +02:00
hexahigh
a8e782e7f9 Github Action: Automatic sitemap update. 2023-05-16 11:53:01 +00:00
Boof
8b1860739e
MORE FLASH GAMES 2023-05-16 13:52:21 +02:00
hexahigh
17605b12b8 Github Action: Automatic sitemap update. 2023-05-16 11:50:12 +00:00
Boof
ca34f85a7e
add more flash games 2023-05-16 13:49:29 +02:00
hexahigh
5fa4e8b1bc Github Action: Updated torrent file 2023-05-16 11:46:30 +00:00
Boof
5a61737501
rename 2023-05-16 13:45:07 +02:00
hexahigh
d18bbf56ec Github Action: Automatic sitemap update. 2023-05-16 11:35:25 +00:00
Boof
5e13d39a15
added bloons td 5 to the flash games 2023-05-16 13:34:41 +02:00
hexahigh
07a9d30545 Github Action: Automatic sitemap update. 2023-05-16 10:26:57 +00:00
Boof
a7f34ba542
epic 2023-05-16 12:26:21 +02:00
hexahigh
e928b390fd Github Action: Updated torrent file 2023-05-13 11:59:42 +00:00
hexahigh
0e634ed761 Merge branch 'main' of https://github.com/hexahigh/games 2023-05-13 13:57:05 +02:00
hexahigh
2703f936e5 f 2023-05-13 13:57:04 +02:00
hexahigh
26aad37e85 Github Action: Updated torrent file 2023-05-13 11:02:08 +00:00
hexahigh
3b035b7bdb Merge branch 'main' of https://github.com/hexahigh/games 2023-05-13 13:01:05 +02:00
hexahigh
9a683269ed a 2023-05-13 13:01:04 +02:00
hexahigh
bbbdd793e5 Github Action: Updated torrent file 2023-05-13 10:58:52 +00:00
hexahigh
8caf36db82 Merge branch 'main' of https://github.com/hexahigh/games 2023-05-13 12:57:29 +02:00
hexahigh
7d30a3c094 update 2023-05-13 12:57:28 +02:00
hexahigh
b464715d85 Github Action: Updated torrent file 2023-05-13 10:53:33 +00:00
hexahigh
2930ef1a5a Merge branch 'main' of https://github.com/hexahigh/games 2023-05-13 12:52:34 +02:00
hexahigh
43413fa273 update 2023-05-13 12:52:32 +02:00
hexahigh
568c1ed5c2 Github Action: Automatic sitemap update. 2023-05-13 10:50:11 +00:00
hexahigh
7b474a6c2f Merge branch 'main' of https://github.com/hexahigh/games 2023-05-13 12:49:32 +02:00
hexahigh
81c13aa3cd fix 2023-05-13 12:49:30 +02:00
hexahigh
1d66a8ced1 Github Action: Automatic sitemap update. 2023-05-13 10:48:39 +00:00
hexahigh
a55cac652e Merge branch 'main' of https://github.com/hexahigh/games 2023-05-13 12:47:57 +02:00
hexahigh
bdf7fd0fc8 update 2023-05-13 12:47:55 +02:00
hexahigh
fc1a84ec5a Github Action: Automatic sitemap update. 2023-05-13 10:47:46 +00:00
hexahigh
7a44bae66f update 2023-05-13 12:47:07 +02:00
hexahigh
c46e2dc074 Merge branch 'main' of https://github.com/hexahigh/games 2023-05-13 12:46:16 +02:00
hexahigh
81bcd10079 a 2023-05-13 12:45:41 +02:00
hexahigh
eda8cfe52d Github Action: Updated torrent file 2023-05-12 10:28:50 +00:00
Boof
a98704c2cd
update 2023-05-12 12:27:49 +02:00
hexahigh
8c4fa282b6 Github Action: Updated torrent file 2023-05-12 10:23:11 +00:00
Boof
68b689e0f7
rvh 2023-05-12 12:22:06 +02:00
hexahigh
d08a1beba4 Github Action: Updated torrent file 2023-05-12 10:21:14 +00:00
Boof
27fa279c21
beep boop fix fox 2023-05-12 12:19:53 +02:00
hexahigh
b4e25c604c Github Action: Updated torrent file 2023-05-12 10:18:57 +00:00
Boof
35d39429b0
hh 2023-05-12 12:17:44 +02:00
hexahigh
5a8c3a4ae9 Github Action: Updated torrent file 2023-05-12 10:16:12 +00:00
Boof
098a97b9b8
test 2023-05-12 12:14:47 +02:00
hexahigh
d4cc1d1161 Github Action: Updated torrent file 2023-05-12 10:13:45 +00:00
Boof
ed8730b7be
fix 2023-05-12 12:12:43 +02:00
hexahigh
d45b9c6cc5 Github Action: Updated torrent file 2023-05-12 10:12:16 +00:00
Boof
fd4c653d7b
fix 2023-05-12 12:11:09 +02:00
hexahigh
4c0866c388 Github Action: Updated torrent file 2023-05-12 10:10:37 +00:00
Boof
fec2553f47
d 2023-05-12 12:09:32 +02:00
hexahigh
e4412aee7e Github Action: Updated torrent file 2023-05-12 10:06:32 +00:00
Boof
4407d9be3a
update 2023-05-12 12:05:08 +02:00
hexahigh
487f3c8ab6 Github Action: Automatic sitemap update. 2023-05-12 09:34:13 +00:00
Boof
14f44a929b
fix 2023-05-12 11:33:22 +02:00
hexahigh
11bfd0c4a6 Github Action: Automatic sitemap update. 2023-05-12 09:31:27 +00:00
Boof
0c9c433cf5
fix? 2023-05-12 11:30:46 +02:00
Boof
59bf4e69c2
update 2023-05-12 11:30:04 +02:00
hexahigh
f1fc66e60f Github Action: Updated torrent file 2023-05-12 09:29:44 +00:00
Boof
cabd32965b
update 2023-05-12 11:28:27 +02:00
hexahigh
dba3c551b6 Github Action: Automatic sitemap update. 2023-05-12 09:24:31 +00:00
Boof
530938def8
test 2023-05-12 11:23:50 +02:00
hexahigh
f2026981b4 Github Action: Automatic sitemap update. 2023-05-12 08:01:07 +00:00
Boof
2b6dac39bc
added proxy 2023-05-12 10:00:22 +02:00
hexahigh
56ffacf63f Github Action: Automatic sitemap update. 2023-05-11 10:56:21 +00:00
Boof
8a31538b9f
added line rider 2023-05-11 12:55:45 +02:00
hexahigh
fb3ad66023 Github Action: Automatic sitemap update. 2023-05-11 10:40:03 +00:00
Boof
239a427026
fix 2023-05-11 12:39:21 +02:00
hexahigh
3d3552c065 Github Action: Automatic sitemap update. 2023-05-11 10:38:50 +00:00
Boof
0875482d2d
fix? 2023-05-11 12:38:13 +02:00
Boof
63f7137acc
wtf is wrong, it worked perfectly before 2023-05-11 12:37:40 +02:00
hexahigh
f3dcd41a7c Github Action: Automatic sitemap update. 2023-05-11 10:36:02 +00:00
Boof
09d891c305
fix games list 2023-05-11 12:35:14 +02:00
hexahigh
876a01c1b3 Github Action: Automatic sitemap update. 2023-05-11 10:21:18 +00:00
Boof
cb73bf6fa4
fix 2023-05-11 12:20:41 +02:00
hexahigh
3141df3c86 Github Action: Automatic sitemap update. 2023-05-11 10:19:14 +00:00
Boof
22e698cdad
made game list sort games alphabetically 2023-05-11 12:18:35 +02:00
hexahigh
3c7687b948 Github Action: Automatic sitemap update. 2023-05-11 10:09:32 +00:00
Boof
c8837f5f34
add sm64 2023-05-11 12:08:51 +02:00
hexahigh
9bee1fc2fa Github Action: Updated torrent file 2023-05-11 10:02:36 +00:00
Boof
a640955c51
Create tmp 2023-05-11 12:01:24 +02:00
hexahigh
c4c0d637d0 Github Action: Automatic sitemap update. 2023-05-11 08:42:36 +00:00
Boof
3321b7f94c
added bloons td 2023-05-11 10:41:52 +02:00
hexahigh
9f99f1d394 Github Action: Automatic sitemap update. 2023-05-11 08:05:56 +00:00
Boof
fc4b96a7f4
add margin 2023-05-11 10:05:22 +02:00
hexahigh
b5ac4c9d82 Github Action: Automatic sitemap update. 2023-05-11 08:04:46 +00:00
Boof
cb7841b1c1
fix h1 2023-05-11 10:04:12 +02:00
hexahigh
619233feeb Github Action: Automatic sitemap update. 2023-05-11 08:02:28 +00:00
Boof
d69a25605c
forgot to rename the file 2023-05-11 10:01:51 +02:00
Boof
cc30bfed59
added pvz 2023-05-11 10:01:36 +02:00
hexahigh
b961580c57 Github Action: Automatic sitemap update. 2023-05-11 07:34:40 +00:00
Boof
3b908b05fb
update 2023-05-11 09:34:06 +02:00
hexahigh
faa95c7c8a Github Action: Automatic sitemap update. 2023-05-11 07:29:43 +00:00
Boof
b8975672bc
a 2023-05-11 09:29:07 +02:00
hexahigh
6c4ff4200c Github Action: Automatic sitemap update. 2023-05-11 07:04:54 +00:00
Boof
92232d5c39
add bloxorz to the list 2023-05-11 09:04:11 +02:00
hexahigh
e75f945851 Github Action: Automatic sitemap update. 2023-05-11 07:03:44 +00:00
Boof
c47f20444f
add template 2023-05-11 09:03:09 +02:00
Boof
65a4f5b3f2
update flash games list 2023-05-11 09:02:31 +02:00
hexahigh
ed2dc7ac4e Github Action: Automatic sitemap update. 2023-05-11 06:58:32 +00:00
Boof
2d75665771
update 2023-05-11 08:57:58 +02:00
hexahigh
d714084404 Github Action: Automatic sitemap update. 2023-05-11 06:54:44 +00:00
Boof
cd5cf30588
add bloxorz 2023-05-11 08:54:02 +02:00
hexahigh
0510c60d47 Github Action: Updated torrent file 2023-04-28 10:37:20 +00:00
Boof
83b89928cf
Update createTorrent.yml 2023-04-28 12:36:19 +02:00
hexahigh
8b83a5265c Github Action: Updated torrent file 2023-04-28 10:26:36 +00:00
Boof
eedd177867
Update createTorrent.yml 2023-04-28 12:25:36 +02:00
hexahigh
bf632d43b3 Github Action: Updated torrent file 2023-04-28 10:12:49 +00:00
Boof
112a6eb527
Update createTorrent.yml 2023-04-28 12:11:46 +02:00
hexahigh
7ba2a82504 Github Action: Updated torrent file 2023-04-28 10:06:04 +00:00
Boof
912e1ff8a3
Update createTorrent.yml 2023-04-28 12:04:49 +02:00
hexahigh
20f99ce92e Github Action: Automatic sitemap update. 2023-04-28 10:04:00 +00:00
Boof
1f5264fbfb
Update createTorrent.yml 2023-04-28 12:02:46 +02:00
hexahigh
9f392ce582 Github Action: Automatic sitemap update. 2023-04-28 09:42:30 +00:00
Boof
f1d940dd69
Update createTorrent.yml 2023-04-28 11:41:29 +02:00
hexahigh
490f1acc7c Github Action: Automatic sitemap update. 2023-04-28 09:40:42 +00:00
Boof
b9e561b690
Update createTorrent.yml 2023-04-28 11:38:49 +02:00
Boof
30be82b7f0
Update createTorrent.yml 2023-04-28 11:18:12 +02:00
Boof
ab03cc7976
Update createTorrent.yml 2023-04-28 11:17:19 +02:00
Boof
10144e34ea
Create createTorrent.yml 2023-04-28 11:13:45 +02:00
Boof
560fc9b7be
add node 2023-04-28 11:09:02 +02:00
Boof
4f9cb04822
YAY 2023-04-28 10:34:15 +02:00
Boof
bff36dac77
fix? 2023-04-28 10:30:11 +02:00
Boof
db4a35ea5c
e 2023-04-28 10:25:56 +02:00
hexahigh
e1d9ec4fcc Github Action: Automatic sitemap update. 2023-04-28 08:24:53 +00:00
Boof
b95c122693
a 2023-04-28 10:24:18 +02:00
hexahigh
af7542f851 Github Action: Automatic sitemap update. 2023-04-28 08:20:08 +00:00
Boof
c0f7791197
a 2023-04-28 10:19:31 +02:00
Boof
694fe48e7f
e 2023-04-28 10:19:00 +02:00
hexahigh
42ed231351 Github Action: Automatic sitemap update. 2023-04-28 08:14:04 +00:00
Boof
45d7450bf4
e 2023-04-28 10:13:25 +02:00
hexahigh
5621439290 Github Action: Automatic sitemap update. 2023-04-27 08:32:30 +00:00
Boof
d2e6303c11
fix 2023-04-27 10:31:53 +02:00
Boof
eb81d3d09d
a 2023-04-27 10:30:58 +02:00
hexahigh
e6dbf4acf6 Github Action: Automatic sitemap update. 2023-04-27 08:26:38 +00:00
Boof
a39b1213f0
add margin 2023-04-27 10:26:02 +02:00
Boof
0d3744512c
1 2023-04-27 10:23:35 +02:00
hexahigh
7ed403fc89 Github Action: Automatic sitemap update. 2023-04-27 08:21:00 +00:00
Boof
ad81658e58
update 2023-04-27 10:20:23 +02:00
Boof
936c3ccb01
maybe async will fix it? 2023-04-27 10:08:15 +02:00
hexahigh
a996bb05b4 Github Action: Automatic sitemap update. 2023-04-27 08:07:21 +00:00
Boof
5cfedd358e
moved to tools 2023-04-27 10:06:13 +02:00
Boof
bb22b8fb77
add prime numbers 2023-04-27 10:05:48 +02:00
hexahigh
7fb2ad16f6 Github Action: Automatic sitemap update. 2023-04-26 18:33:22 +00:00
hexahigh
6ffe614d08 updated gradient on the other pages 2023-04-26 20:32:07 +02:00
hexahigh
9c941b0c0a Github Action: Automatic sitemap update. 2023-04-24 11:27:13 +00:00
Boof
2b8c3f3e67
update 2023-04-24 13:26:24 +02:00
hexahigh
28f3e5d6b9 Github Action: Automatic sitemap update. 2023-04-24 11:26:19 +00:00
Boof
1ae87abe85
update 2023-04-24 13:25:39 +02:00
hexahigh
eab98f2d99 Github Action: Automatic sitemap update. 2023-04-24 11:20:43 +00:00
Boof
a7260757c5
update 2023-04-24 13:20:04 +02:00
hexahigh
3532b65b89 Github Action: Automatic sitemap update. 2023-04-24 11:18:40 +00:00
Boof
04680298db
added css 2023-04-24 13:18:00 +02:00
hexahigh
5659af41cc Github Action: Automatic sitemap update. 2023-04-24 11:17:24 +00:00
Boof
65f1c21d03
e 2023-04-24 13:16:49 +02:00
hexahigh
7f531dff48 Github Action: Automatic sitemap update. 2023-04-24 10:21:49 +00:00
Boof
949acd5f6b
kul 2023-04-24 12:21:08 +02:00
Boof
4a3df64d23
update 2023-04-24 12:08:07 +02:00
hexahigh
adcc1c2baf Github Action: Automatic sitemap update. 2023-04-24 09:59:58 +00:00
Boof
2ee85e4539
add funny 2023-04-24 11:59:10 +02:00
Boof
b5104a6e86
Update clamscan.yml 2023-04-19 12:45:58 +02:00
Boof
980dbe43c9
Update clamscan.yml 2023-04-19 12:43:00 +02:00
Boof
1869e8df45
Update clamscan.yml 2023-04-19 12:39:51 +02:00
Boof
88e605dccc
Update clamscan.yml 2023-04-19 12:37:06 +02:00
Boof
7f5ff3546c
Update clamscan.yml 2023-04-19 12:22:05 +02:00
Boof
dd959c4cdc
Update clamscan.yml 2023-04-19 12:11:58 +02:00
Boof
c33c305a59
Update clamscan.yml 2023-04-19 12:10:39 +02:00
Boof
c781cf1654
Update clamscan.yml 2023-04-19 12:08:05 +02:00
Boof
99a755ac60
Update clamscan.yml 2023-04-19 12:06:06 +02:00
Boof
7185836e11
Create clamscan.yml 2023-04-19 12:05:01 +02:00
Boof
bd4ad6d506
Create codeql.yml 2023-04-19 11:52:33 +02:00
Boof
b26a0e68c7
update 2023-04-17 11:22:02 +02:00
Boof
201b181a64
update 2023-04-17 11:19:25 +02:00
hexahigh
ae37a7a6eb Github Action: Automatic sitemap update. 2023-04-17 09:13:19 +00:00
Boof
f0b01f1e58
test 2023-04-17 11:12:44 +02:00
hexahigh
4daeebf094 Github Action: Automatic sitemap update. 2023-04-16 09:56:32 +00:00
hexahigh
d90e15c8c2 Merge branch 'main' of https://github.com/hexahigh/games 2023-04-16 11:55:52 +02:00
hexahigh
7e3ae2bded update 2023-04-16 11:55:50 +02:00
hexahigh
6ed716ec9c Github Action: Automatic sitemap update. 2023-04-15 23:14:34 +00:00
hexahigh
1419138bdf Merge branch 'main' of https://github.com/hexahigh/games 2023-04-16 01:13:56 +02:00
hexahigh
cdbb22e2e5 e 2023-04-16 01:13:54 +02:00
hexahigh
faf958579d Github Action: Automatic sitemap update. 2023-04-15 23:12:00 +00:00
hexahigh
93eaeb74ac compressed archived files 2023-04-16 01:11:15 +02:00
hexahigh
81dc797649 me no understando 2023-04-08 01:45:09 +02:00
hexahigh
292492d108 Merge branch 'main' of https://github.com/hexahigh/games 2023-04-08 01:42:24 +02:00
hexahigh
1d2d0222a1 update 2023-04-08 01:42:23 +02:00
hexahigh
f73e36744b Github Action: Automatic sitemap update. 2023-04-07 23:40:27 +00:00
hexahigh
7380f8eb44 test pacman 2023-04-08 01:39:49 +02:00
Boof
ff8d054639
update 2023-03-27 12:08:56 +02:00
Boof
cd318db7aa
fix 2023-03-27 12:06:10 +02:00
Boof
49b16884c5
update 2023-03-27 12:04:50 +02:00
Boof
3dec61a12e
test 2023-03-27 12:01:53 +02:00
Boof
33df52201c
update 2023-03-27 12:00:53 +02:00
Boof
7f82720354
update 2023-03-27 11:59:10 +02:00
hexahigh
08a85d73c9 Github Action: Automatic sitemap update. 2023-03-27 09:56:28 +00:00
Boof
5c0dbdfbee
update 2023-03-27 11:55:53 +02:00
Boof
40ba911587
upg 2023-03-27 11:52:06 +02:00
Boof
870f8e0098
update 2023-03-27 11:51:24 +02:00
Boof
11ad643a84
upd 2023-03-27 11:49:57 +02:00
Boof
77899a2bf6
updare 2023-03-27 11:47:42 +02:00
Boof
0e58223007
update 2023-03-27 11:47:17 +02:00
Boof
c1c655de3c
update 2023-03-27 11:44:49 +02:00
Boof
0153163a56
update 2023-03-27 11:44:02 +02:00
Boof
a196b3937a
update 2023-03-27 11:38:25 +02:00
Boof
ca9468b367
update 2023-03-27 11:36:29 +02:00
hexahigh
c7c41823b0 Github Action: Automatic sitemap update. 2023-03-27 09:35:09 +00:00
Boof
69264268c7
update 2023-03-27 11:34:29 +02:00
hexahigh
ba2a126d17 Github Action: Automatic sitemap update. 2023-03-27 09:33:36 +00:00
Boof
7badcbfa34
fix 2023-03-27 11:32:55 +02:00
hexahigh
a89f2affb3 Github Action: Automatic sitemap update. 2023-03-27 09:31:58 +00:00
Boof
0f6e6e79e1
test p5.js 2023-03-27 11:31:15 +02:00
hexahigh
9df1a63624 Github Action: Automatic sitemap update. 2023-03-24 19:27:47 +00:00
hexahigh
9628cb0799 Merge branch 'main' of https://github.com/hexahigh/games 2023-03-24 20:27:03 +01:00
hexahigh
5f51db5545 small update 2023-03-24 20:27:02 +01:00
hexahigh
6740aca712 Github Action: Automatic sitemap update. 2023-03-24 19:22:54 +00:00
hexahigh
981ab9e0bc small fix 2023-03-24 20:22:05 +01:00
hexahigh
b1e339627c Github Action: Automatic sitemap update. 2023-03-24 12:05:44 +00:00
Boof
175e735bc3
update 2023-03-24 13:05:05 +01:00
hexahigh
1ec0b17c6f Github Action: Automatic sitemap update. 2023-03-24 12:03:40 +00:00
Boof
3127ecad3e
update url 2023-03-24 13:03:02 +01:00
hexahigh
2dbeb07a04 Github Action: Automatic sitemap update. 2023-03-24 11:52:16 +00:00
Boof
e5083a8e7e
update 2023-03-24 12:51:35 +01:00
hexahigh
b575ca2f2c Github Action: Automatic sitemap update. 2023-03-24 11:49:58 +00:00
Boof
57ccfe46bf
update 2023-03-24 12:48:56 +01:00
Boof
d68e66e363
Update sync.yml 2023-03-23 13:50:31 +01:00
Boof
3f50b1c4d9
Update sync.yml 2023-03-23 13:42:07 +01:00
Boof
98cd946f05
Create sync.yml 2023-03-23 13:41:01 +01:00
Boof
078523418a
update 2023-03-20 10:40:08 +01:00
hexahigh
a676ee0116 Github Action: Automatic sitemap update. 2023-03-20 09:32:11 +00:00
Boof
655f4f8267
add new secret to the calculator 2023-03-20 10:31:31 +01:00
hexahigh
3b9ec86a0c Github Action: Automatic sitemap update. 2023-03-17 09:38:26 +00:00
Boof
bf275b2d6d
i give up, no more service-workers 2023-03-17 10:37:49 +01:00
Boof
6de49ddf71
fix 2023-03-17 09:56:27 +01:00
hexahigh
608f02280a Github Action: Automatic sitemap update. 2023-03-17 08:37:09 +00:00
Boof
c2a2bcca4c
update 2023-03-17 09:36:33 +01:00
Boof
eb040988ba
please work 2023-03-17 09:32:27 +01:00
Boof
1f64799462
update 2023-03-17 09:29:46 +01:00
hexahigh
5cf81a1e21 Github Action: Automatic sitemap update. 2023-03-17 08:26:44 +00:00
Boof
83fc86293a
test new service-worker 2023-03-17 09:26:04 +01:00
hexahigh
107e337e83 Github Action: Automatic sitemap update. 2023-03-17 08:14:14 +00:00
Boof
221caa3457
added service worker to the calculator 2023-03-17 09:13:38 +01:00
hexahigh
a61a759a7d Github Action: Automatic sitemap update. 2023-03-16 10:34:34 +00:00
Boof
b0ed2af110
update calc 2023-03-16 11:33:56 +01:00
hexahigh
6ecbe63aaa Github Action: Automatic sitemap update. 2023-03-16 09:46:32 +00:00
Boof
e3200ed252
rename calc 2023-03-16 10:45:54 +01:00
Boof
86e4fe769a
update 2023-03-16 10:44:47 +01:00
Boof
717f06535c
update calc secret 2023-03-16 10:42:51 +01:00
Boof
0a0276b2c2
fix 2023-03-16 10:33:19 +01:00
Boof
26325f0ff5
update 2023-03-16 08:02:20 +01:00
Boof
19417687bb
optimized 2023-03-15 13:16:24 +01:00
Boof
213db6e50d
update 2023-03-15 13:13:05 +01:00
Boof
89de8610c3
update 2023-03-15 12:56:13 +01:00
Boof
79da149a08
update 2023-03-15 12:54:24 +01:00
Boof
1ed728546f
update 2023-03-15 12:50:52 +01:00
Boof
fad5d90c95
update 2023-03-15 12:49:01 +01:00
Boof
6e22e4e857
update 2023-03-15 12:48:41 +01:00
hexahigh
0c0cd0605d Github Action: Automatic sitemap update. 2023-03-15 11:47:36 +00:00
Boof
4ef5041826
update 2023-03-15 12:46:58 +01:00
hexahigh
9b28476ac0 Github Action: Automatic sitemap update. 2023-03-15 11:33:40 +00:00
Boof
c0d62f0b4c
work 2023-03-15 12:32:56 +01:00
hexahigh
f6953a241b Github Action: Automatic sitemap update. 2023-03-15 11:30:03 +00:00
Boof
2fe38040c6
piss work 2023-03-15 12:29:19 +01:00
hexahigh
681306e5ca Github Action: Automatic sitemap update. 2023-03-15 11:29:04 +00:00
Boof
2cc4df03b2
e 2023-03-15 12:28:16 +01:00
hexahigh
64545e7611 Github Action: Automatic sitemap update. 2023-03-15 11:23:29 +00:00
Boof
e9871c6a79
update secret 2023-03-15 12:22:50 +01:00
Boof
4c27c43c5f
update 2023-03-15 10:54:34 +01:00
Boof
36388561a8
update calc 2023-03-15 10:50:37 +01:00
hexahigh
3a90158cf6 Github Action: Automatic sitemap update. 2023-03-15 09:48:29 +00:00
Boof
31ee4887bb
update calc 2023-03-15 10:47:53 +01:00
hexahigh
08047e7130 Github Action: Automatic sitemap update. 2023-03-15 09:45:13 +00:00
Boof
7681c280dd
update 2023-03-15 10:44:38 +01:00
hexahigh
668026d168 Github Action: Automatic sitemap update. 2023-03-15 09:34:20 +00:00
Boof
8a00ac5b30
update 2023-03-15 10:33:36 +01:00
hexahigh
41c132252d Github Action: Automatic sitemap update. 2023-03-15 09:32:54 +00:00
Boof
3cb55c283a
test 2023-03-15 10:32:06 +01:00
hexahigh
001cfc83ac Github Action: Automatic sitemap update. 2023-03-09 08:39:37 +00:00
Boof
cbce2ec1db
update sitemap 2023-03-09 09:39:00 +01:00
Boof
7403e93c02
add more file extensions to the sitemap 2023-03-09 09:38:28 +01:00
hexahigh
2e25997e1f Github Action: Automatic sitemap update. 2023-03-09 07:05:20 +00:00
Boof
53388f6230
archived 2023-03-09 08:04:44 +01:00
hexahigh
2a489c2ac9 Github Action: Automatic sitemap update. 2023-03-09 07:03:54 +00:00
Boof
89952d30e2
update base64 2023-03-09 08:03:19 +01:00
hexahigh
eb97f9919f Github Action: Automatic sitemap update. 2023-03-08 12:33:19 +00:00
Boof
683a349f5c
added it to the rest of the buttons 2023-03-08 13:32:44 +01:00
hexahigh
58d912614c Github Action: Automatic sitemap update. 2023-03-08 12:31:32 +00:00
Boof
9134152dc2
add copied text to the base64 encoder 2023-03-08 13:30:06 +01:00
hexahigh
0e0e63abf3 Github Action: Automatic sitemap update. 2023-03-08 12:24:30 +00:00
Boof
fe665656f2
update 2023-03-08 13:23:57 +01:00
hexahigh
af962011fc Github Action: Automatic sitemap update. 2023-03-08 12:19:23 +00:00
Boof
304050d9c9
e 2023-03-08 13:18:46 +01:00
hexahigh
57a8e7d241 Github Action: Automatic sitemap update. 2023-03-08 11:46:34 +00:00
Boof
22fa49c776
add margin 2023-03-08 12:45:56 +01:00
hexahigh
c5e56bf9d3 Github Action: Automatic sitemap update. 2023-03-08 11:43:49 +00:00
Boof
f95efe4a5b
e 2023-03-08 12:43:09 +01:00
hexahigh
3dc74a0e65 Github Action: Automatic sitemap update. 2023-03-08 11:26:01 +00:00
Boof
fb0ce2030b
updated the gui of the base64 encoder 2023-03-08 12:25:25 +01:00
hexahigh
f37754fcff Github Action: Automatic sitemap update. 2023-03-08 11:23:33 +00:00
Boof
c3deeff6cb
added margin to the base64 encoder 2023-03-08 12:22:56 +01:00
hexahigh
cb2ede062c Github Action: Automatic sitemap update. 2023-03-08 10:59:49 +00:00
Boof
1bf5b4441c
update 2023-03-08 11:59:07 +01:00
hexahigh
c606f2b74b Github Action: Automatic sitemap update. 2023-03-08 10:47:05 +00:00
Boof
1fc1944212
update 2023-03-08 11:46:28 +01:00
hexahigh
42e085ed2e Github Action: Automatic sitemap update. 2023-03-08 10:46:00 +00:00
Boof
0374cc1cde
test 2023-03-08 11:45:23 +01:00
hexahigh
a185c1d860 Github Action: Automatic sitemap update. 2023-03-08 10:44:50 +00:00
Boof
ef3f128563
test more 2023-03-08 11:44:14 +01:00
hexahigh
2399ccb9f5 Github Action: Automatic sitemap update. 2023-03-08 10:41:15 +00:00
Boof
a581aa7efd
e 2023-03-08 11:40:34 +01:00
hexahigh
63d43baf1b Github Action: Automatic sitemap update. 2023-03-08 10:39:05 +00:00
Boof
ed55087454
test 2023-03-08 11:38:21 +01:00
hexahigh
f58fcbb5d3 Github Action: Automatic sitemap update. 2023-03-08 10:36:16 +00:00
Boof
e4efd83ca7
e 2023-03-08 11:35:38 +01:00
hexahigh
cf217f22cb Github Action: Automatic sitemap update. 2023-03-02 11:47:15 +00:00
Boof
548b418c51
archived more things 2023-03-02 12:46:26 +01:00
hexahigh
c92043c65f Github Action: Automatic sitemap update. 2023-03-02 11:09:29 +00:00
Boof
7f1bdd6937
fix? 2023-03-02 12:08:53 +01:00
hexahigh
787b00bf8c Github Action: Automatic sitemap update. 2023-03-02 11:05:01 +00:00
Boof
6cf9955aaf
e 2023-03-02 12:04:19 +01:00
hexahigh
65c67b3c09 Github Action: Automatic sitemap update. 2023-03-02 09:27:09 +00:00
Boof
a03ac6f416
archived more things 2023-03-02 10:26:21 +01:00
Boof
01d4908fe0
archived some things 2023-03-02 10:25:46 +01:00
Boof
a8246ea5fc
e 2023-02-28 14:08:51 +01:00
hexahigh
936b0af13b Github Action: Automatic sitemap update. 2023-02-28 13:01:53 +00:00
Boof
599f011b1c
e 2023-02-28 14:01:06 +01:00
hexahigh
bf2d1a2b6f Github Action: Automatic sitemap update. 2023-02-28 13:00:08 +00:00
Boof
1ddd60cc14
e 2023-02-28 13:59:23 +01:00
hexahigh
c4172edbf3 Github Action: Automatic sitemap update. 2023-02-27 12:58:28 +00:00
Boof
5bd144c1e2
made webhook yeeter resp 2023-02-27 13:57:51 +01:00
hexahigh
f89347de97 Github Action: Automatic sitemap update. 2023-02-27 12:55:52 +00:00
Boof
cdd0d7843c
updated tools page 2023-02-27 13:55:09 +01:00
hexahigh
dc0a827425 Github Action: Automatic sitemap update. 2023-02-27 12:52:59 +00:00
Boof
50fde675e9
dont say that that was the fucking problem 2023-02-27 13:52:21 +01:00
hexahigh
82fb0c2b45 Github Action: Automatic sitemap update. 2023-02-27 12:47:07 +00:00
Boof
c1e62a0a2d
fix? 2023-02-27 13:46:22 +01:00
hexahigh
8111e3b030 Github Action: Automatic sitemap update. 2023-02-27 12:36:31 +00:00
Boof
adb2a20810
fix 2023-02-27 13:35:52 +01:00
hexahigh
755f14f203 Github Action: Automatic sitemap update. 2023-02-27 12:33:44 +00:00
Boof
8aa68999c2
added webhook yeeter 2023-02-27 13:33:04 +01:00
hexahigh
c94230d3d7 Github Action: Automatic sitemap update. 2023-02-16 07:58:52 +00:00
Boof
da83791ec5
E 2023-02-16 08:58:09 +01:00
Boof
5ee45e16a8
fix? 2023-02-14 12:49:30 +01:00
hexahigh
b3e632ce7d Github Action: Automatic sitemap update. 2023-02-12 10:47:11 +00:00
hexahigh
4e504949bd Merge branch 'main' of https://github.com/hexahigh/games 2023-02-12 11:46:32 +01:00
hexahigh
687f58bae4 update 2023-02-12 11:43:06 +01:00
hexahigh
da2fcdf3f8 Github Action: Automatic sitemap update. 2023-02-12 10:40:24 +00:00
hexahigh
ef79f75558 Merge branch 'main' of https://github.com/hexahigh/games 2023-02-12 11:39:48 +01:00
hexahigh
7dfe59d510 added antivirus hash submit 2023-02-12 11:39:45 +01:00
hexahigh
65a027b3bc Github Action: Automatic sitemap update. 2023-02-12 10:35:15 +00:00
hexahigh
1c2c298118 Merge branch 'main' of https://github.com/hexahigh/games 2023-02-12 11:34:38 +01:00
hexahigh
9e75f63180 Github Action: Automatic sitemap update. 2023-02-08 10:04:29 +00:00
Boof
06ce09e945
add zoneswifi 2023-02-08 11:03:53 +01:00
hexahigh
bc1877a5e3 Github Action: Automatic sitemap update. 2023-02-01 09:34:29 +00:00
Boof
e0ea8ee455
WORK 2023-02-01 10:33:54 +01:00
hexahigh
1a499c2cd6 Github Action: Automatic sitemap update. 2023-02-01 09:31:43 +00:00
Boof
23da5f4c94
test 2023-02-01 10:31:08 +01:00
hexahigh
55a182d9e2 Github Action: Automatic sitemap update. 2023-02-01 09:28:39 +00:00
Boof
cf21f4f15c
added percentage calculator 2023-02-01 10:28:05 +01:00
hexahigh
d048ca00b6 Github Action: Automatic sitemap update. 2023-01-31 09:36:57 +00:00
Boof
d3800e9f4a
remove 2023-01-31 10:36:19 +01:00
hexahigh
9dfe100138 Github Action: Automatic sitemap update. 2023-01-31 09:21:35 +00:00
Boof
7228cb19e1
test 2023-01-31 10:20:57 +01:00
hexahigh
4f4bc6727a Github Action: Automatic sitemap update. 2023-01-31 08:57:08 +00:00
Boof
18ac27c30f
test 2023-01-31 09:56:16 +01:00
hexahigh
2dad6d4d0f Github Action: Automatic sitemap update. 2023-01-26 11:35:36 +00:00
Boof
77af96d132
e 2023-01-26 12:34:56 +01:00
hexahigh
ce2699cce8 Github Action: Automatic sitemap update. 2023-01-24 13:08:49 +00:00
Boof
3ef61be875
test 2023-01-24 14:08:09 +01:00
hexahigh
031103ec15 e 2023-01-20 17:34:22 +01:00
Boof
0f8d7c0e99
Update sitemap.yml 2023-01-19 09:34:04 +01:00
hexahigh
77ff045fda Github Action: Automatic sitemap update. 2023-01-19 08:33:42 +00:00
Boof
57a4da3b22
Update sitemap.yml 2023-01-19 09:33:05 +01:00
Boof
a6b80947e0
fix 2023-01-19 08:54:45 +01:00
Boof
291bdb7546
e 2023-01-18 14:08:43 +01:00
Boof
193be7cb91
e 2023-01-18 14:01:15 +01:00
Boof
c4f0eedd6e
t 2023-01-17 13:57:58 +01:00
Boof
3a4396b47b
e 2023-01-17 12:03:31 +01:00
Boof
4897f0188c
check 2023-01-17 12:00:39 +01:00
Boof
4f9fbeab02
t 2023-01-17 11:56:52 +01:00
Boof
8173799d9d
test 2023-01-17 10:46:16 +01:00
Boof
3ec9bef521
e 2023-01-17 10:35:54 +01:00
Boof
c1e97dac25
e 2023-01-17 10:20:31 +01:00
Boof
e07a896949
t 2023-01-17 09:38:22 +01:00
Boof
fc8a3962ee
y 2023-01-17 09:35:12 +01:00
Boof
ee1ce85468
yes 2023-01-17 09:29:53 +01:00
Boof
4275b62196
add enigma 2023-01-13 11:26:26 +01:00
Boof
1ed732949b
Merge pull request #46 from hexahigh/games/main
Automated sitemap update
2023-01-12 13:04:05 +01:00
Boof
77d813886c Automated sitemap update. 2023-01-12 11:32:29 +00:00
Boof
241b61c436
no point in doing that without node 2023-01-12 12:31:51 +01:00
Boof
79d4ed9dab
test encrypt 2023-01-12 12:28:45 +01:00
Boof
0a047b2b83
more space 2023-01-12 11:36:51 +01:00
Boof
6cf5117bc6
fixed 2023-01-12 09:45:13 +01:00
Boof
93d456b7a7
test 2023-01-12 09:40:32 +01:00
Boof
a1799d6598
e 2023-01-12 09:17:59 +01:00
Boof
2cdf71343e
final fix 2023-01-11 21:51:07 +01:00
Boof
73d527e10b
fixed 2023-01-11 21:47:59 +01:00
Boof
04aefc1409
fix? 2023-01-11 21:43:32 +01:00
Boof
7ec3279ec4
added copy button 2023-01-11 21:40:23 +01:00
Boof
a953a7aa31
made base64 a bit prettier 2023-01-11 21:34:53 +01:00
Boof
084e47c4fb
Merge pull request #45 from hexahigh/games/main
Automated sitemap update
2023-01-11 15:54:06 +01:00
Boof
1d98882f54 Automated sitemap update. 2023-01-11 13:06:55 +00:00
Boof
b8413674f8
maybe fixed? 2023-01-11 14:06:11 +01:00
Boof
9c9216cd8c
fixed the browser refreshing when the encode/decode button is pressed on base64 2023-01-11 14:02:19 +01:00
Boof
f1d2010690
added base64 encode/decode 2023-01-11 13:54:53 +01:00
Boof
f2a3932697
e 2023-01-11 13:21:54 +01:00
Boof
3a4aa5802d
e 2023-01-11 13:21:15 +01:00
Boof
c2b0369dec
test 2023-01-11 13:11:58 +01:00
Boof
304c612a7a
fix 2023-01-11 13:09:52 +01:00
Boof
936a560301
t 2023-01-11 12:54:15 +01:00
Boof
38ac122924
test 2023-01-11 12:46:55 +01:00
Boof
ecf14d02e9
e 2023-01-11 12:41:23 +01:00
Boof
60bed3bdfc
fix 2023-01-11 12:35:43 +01:00
Boof
fe47423460
e 2023-01-11 12:33:27 +01:00
Boof
f752d33460
e 2023-01-11 12:30:03 +01:00
Boof
d98a3f31a8
Merge pull request #44 from hexahigh/games/main
Automated sitemap update
2023-01-06 09:37:02 +01:00
Boof
8f3eb8d95b Automated sitemap update. 2023-01-06 08:01:47 +00:00
Boof
6edaa35782
added crypto miner for donations. (dont worry, it wont run in the background) 2023-01-06 09:01:03 +01:00
Boof
0dbfbb4b6a
Merge pull request #43 from hexahigh/games/main
Automated sitemap update
2023-01-05 10:24:22 +01:00
Boof
433cae52a1 Automated sitemap update. 2023-01-05 07:54:04 +00:00
Boof
f94b680c78
no more firebase 2023-01-05 08:53:27 +01:00
Boof
58916fbd4e
add firebase test 2023-01-05 08:27:04 +01:00
Boof
a911797864
Merge pull request #42 from hexahigh/games/main
Automated sitemap update
2023-01-03 12:44:00 +01:00
Boof
ef97a40cc7 Automated sitemap update. 2023-01-03 11:21:59 +00:00
Boof
b475dbe936
added pixel art studio 2023-01-03 12:21:19 +01:00
Boof
4b52f34679
Merge pull request #41 from hexahigh/games/main
Automated sitemap update
2023-01-03 09:49:11 +01:00
Boof
f425753414 Automated sitemap update. 2023-01-03 08:32:30 +00:00
Boof
1224deab63
removed license 2023-01-03 09:31:51 +01:00
Boof
4bf9f0ab21
Merge pull request #39 from hexahigh/games/main
Automated sitemap update
2023-01-02 14:40:50 +01:00
Boof
17f05ca740 Automated sitemap update. 2023-01-02 13:40:02 +00:00
Boof
f493c35a83
Merge pull request #40 from hexahigh/dev
update site name
2023-01-02 14:39:26 +01:00
Boof
d107147deb
updated 2023-01-02 13:34:13 +01:00
Boof
3b8134eff2
updated 2023-01-02 13:18:58 +01:00
Boof
b047acf584
updated some stuff 2023-01-02 13:18:42 +01:00
hexahigh
751c30ce24 update site name 2022-12-31 18:57:38 +01:00
Boof
37f0cdde89
Merge pull request #37 from hexahigh/dev
add resilio sync for backup
2022-12-24 15:43:48 +01:00
hexahigh
2bc18fde3b add resilio sync for backup 2022-12-24 15:27:12 +01:00
Boof
5c44f775be
Merge pull request #36 from hexahigh/games/main
Automated sitemap update
2022-12-16 14:55:33 +01:00
Boof
11621330c7 Automated sitemap update. 2022-12-16 13:50:44 +00:00
Boof
9bf258e265
Merge pull request #34 from hexahigh/games/main
Automated sitemap update
2022-12-16 14:50:08 +01:00
Boof
d4fdd6114d
Merge pull request #35 from hexahigh/dev
Dev
2022-12-16 14:49:59 +01:00
hexahigh
d30566ac70 made button big 2022-12-16 14:49:14 +01:00
hexahigh
6237119f2b fix? 2022-12-16 14:44:49 +01:00
hexahigh
09037e0429 added speed to krydder 2022-12-16 14:37:43 +01:00
Boof
9bda89f5f8 Automated sitemap update. 2022-12-16 12:37:41 +00:00
Boof
d407be3f5a
Merge pull request #33 from hexahigh/dev
Dev
2022-12-16 13:37:03 +01:00
Boof
8841ea9d13
remove dlhermann and add sound to krydder 2022-12-16 13:34:42 +01:00
Boof
6c6914cb97
attempt fix 4 2022-12-16 12:09:45 +01:00
Boof
97f662f748
Merge pull request #32 from hexahigh/dev
fix 3
2022-12-16 11:40:33 +01:00
Boof
61e956665b
fix 3 2022-12-16 11:39:58 +01:00
Boof
d4453c1027
Merge pull request #31 from hexahigh/dev
fix 2
2022-12-16 11:32:10 +01:00
Boof
208bfea335
Merge pull request #30 from hexahigh/games/main
Automated sitemap update
2022-12-16 11:02:55 +01:00
Boof
73dc6ba86c
fix 2 2022-12-16 11:02:41 +01:00
Boof
90c8e86bf5 Automated sitemap update. 2022-12-16 09:59:08 +00:00
Boof
31eb6c2e49
Update sitemap.yml 2022-12-16 10:58:33 +01:00
Boof
fe95887fd7
Merge pull request #29 from hexahigh/dev
fix
2022-12-16 10:57:18 +01:00
Boof
792a5f3b1a
Merge pull request #28 from hexahigh/games/main
Automated sitemap update
2022-12-16 10:56:54 +01:00
Boof
476f69659d
fix 2022-12-16 10:56:37 +01:00
Vincent A. Cicirello
9f9414224f Automated sitemap update. 2022-12-16 09:54:35 +00:00
Boof
6963dfefe4
Merge pull request #27 from hexahigh/dev
Dev
2022-12-16 10:53:59 +01:00
Boof
ac419c184f
add 2022-12-16 10:52:11 +01:00
hexahigh
4dcb16985c added Krydder or something 2022-12-15 16:40:58 +01:00
Boof
7d9bece5e6
Delete sitemap txt.yml 2022-12-15 10:14:48 +01:00
Boof
7c0f747f1f
Update and rename sitemap xml.yml to sitemap.yml 2022-12-15 10:13:53 +01:00
Boof
920386f479
Merge pull request #26 from hexahigh/games/main
Automated sitemap update
2022-12-15 10:12:02 +01:00
Vincent A. Cicirello
9583653333 Automated sitemap update. 2022-12-15 09:10:41 +00:00
Boof
af4b7a1b2e
Merge pull request #25 from hexahigh/games/main
Automated sitemap update
2022-12-15 10:10:05 +01:00
Vincent A. Cicirello
77606289f3 Automated sitemap update. 2022-12-13 14:17:47 +00:00
Boof
b04d17b329
Merge pull request #23 from hexahigh/games/main
Automated sitemap update
2022-12-13 15:17:08 +01:00
Boof
696cdd1a86
Merge pull request #24 from hexahigh/dev
Dev
2022-12-13 15:16:56 +01:00
hexahigh
68455f64a4 removed amp becaue it broke my js 2022-12-13 15:13:56 +01:00
hexahigh
fa2cbfa1aa fix the size of text 2022-12-13 15:00:17 +01:00
hexahigh
4002472f00 fix css gradient? 2022-12-13 14:58:33 +01:00
hexahigh
0ffdebfff9 added amp to most pages 2022-12-13 14:53:03 +01:00
Vincent A. Cicirello
8b96ad85c0 Automated sitemap update. 2022-12-13 13:08:31 +00:00
Boof
52b3130db1
Merge pull request #22 from hexahigh/dev
this is the final commit, i promise
2022-12-13 14:07:54 +01:00
Boof
1ed820fe7a
this is the final commit, i promise 2022-12-13 14:07:20 +01:00
Boof
5fc70bc106
Merge pull request #20 from hexahigh/games/main
Automated sitemap update
2022-12-13 14:02:16 +01:00
Vincent A. Cicirello
87e0104d11 Automated sitemap update. 2022-12-13 13:01:32 +00:00
Boof
1407b0da90
Merge pull request #19 from hexahigh/dev
Added Android calculator and software category
2022-12-13 14:00:54 +01:00
Boof
4e1b8c5d13
added calculator and software category 2022-12-13 14:00:05 +01:00
Boof
be8a9078fd
amp test 3 2022-12-13 13:49:15 +01:00
Boof
8e0f81eebc
amp test 2 2022-12-13 13:44:23 +01:00
Boof
dc60fe4e08
test amp 2022-12-13 13:29:10 +01:00
Boof
e7a2b9b29f
Merge pull request #18 from hexahigh/main
update dev
2022-12-12 09:43:33 +01:00
Boof
6a8bd1b700
Merge pull request #17 from hexahigh/games/main
Automated sitemap update
2022-12-11 16:18:10 +01:00
Vincent A. Cicirello
8c65e3c691 Automated sitemap update. 2022-12-11 15:17:59 +00:00
Boof
252a3e7131
Update sitemap txt.yml 2022-12-11 16:12:56 +01:00
Boof
c629d4e7f0
Merge pull request #15 from hexahigh/games/main
Automated sitemap update
2022-12-11 16:07:12 +01:00
Vincent A. Cicirello
ff2b88864b Automated sitemap update. 2022-12-11 15:06:50 +00:00
Boof
115befc4ad
Update sitemap txt.yml 2022-12-11 16:06:14 +01:00
Boof
09dcf14e47
Merge pull request #13 from hexahigh/games/main
Automated sitemap update
2022-12-11 16:03:26 +01:00
Vincent A. Cicirello
7bfcdad655 Automated sitemap update. 2022-12-11 15:02:17 +00:00
Boof
e1272ddd2a
Update sitemap txt.yml 2022-12-11 16:01:39 +01:00
Boof
02bbeafa9a
Create sitemap txt.yml 2022-12-11 16:01:22 +01:00
Boof
7fb5c03ff6
Rename main.yml to sitemap xml.yml 2022-12-11 15:58:59 +01:00
Boof
5f974d3df5
Merge pull request #12 from hexahigh/games/main
Automated sitemap update
2022-12-08 12:20:55 +01:00
Vincent A. Cicirello
6e637f7167 Automated sitemap update. 2022-12-08 11:17:55 +00:00
Boof
359fce8758
Update main.yml 2022-12-08 12:10:55 +01:00
Boof
ce66ddc838
Update main.yml 2022-12-08 12:05:01 +01:00
Boof
52d8dbab6b
Update main.yml 2022-12-08 12:01:10 +01:00
Boof
85c6ece5a3
Update main.yml 2022-12-08 11:57:48 +01:00
Boof
ab6acf4286
Delete sitemap.xml 2022-12-08 11:53:56 +01:00
Boof
e22969eebe
Update main.yml 2022-12-08 11:50:03 +01:00
Boof
fee781a70f
Merge pull request #11 from hexahigh/main
update dev
2022-12-08 11:47:42 +01:00
Boof
647f935047
Create main.yml 2022-12-08 11:42:30 +01:00
Boof
9da3c8f6ef
add sitemap 2022-12-08 10:02:57 +01:00
Boof
e648228f02
verification 2022-12-08 09:59:05 +01:00
Boof
04807bad20
fix 2022-12-05 12:49:58 +01:00
Boof
05086d32d4
Merge pull request #10 from hexahigh/dev
Dev
2022-12-02 10:23:15 +01:00
hexahigh
3b59f8054b finally moved ncage++ over to its own repository 2022-12-01 17:22:34 +01:00
hexahigh
f74c9dbf38 moved image loader 2022-12-01 17:14:48 +01:00
Boof
594bdaa264
fix 2022-12-01 10:24:43 +01:00
Boof
4571a99c74
Merge pull request #9 from hexahigh/dev
Dev
2022-12-01 10:19:44 +01:00
Boof
f4587e21d9
that did not work 2022-12-01 09:53:16 +01:00
Boof
f784b288a7
didnt work 2022-12-01 09:46:54 +01:00
Boof
114487e592
fix footer license text? 2022-12-01 09:43:09 +01:00
Boof
242cc108da
made the license link text white 2022-12-01 09:40:13 +01:00
Boof
e61303db69
Merge pull request #8 from hexahigh/dev
added creative commons license
2022-11-30 14:06:14 +01:00
Boof
f7fd70f754
added creative commons license 2022-11-30 14:05:52 +01:00
Boof
c3c440ef52
Merge pull request #7 from hexahigh/dev
made snow rider better and added it to the list
2022-11-30 11:44:37 +01:00
Boof
282c4ea8a0
made snow rider better and added it to the list 2022-11-30 11:42:46 +01:00
Boof
85b468ae85
Merge pull request #6 from hexahigh/dev
added support for scripts on hermann
2022-11-29 13:07:44 +01:00
Boof
5a9a8d681b
added support for scripts on hermann 2022-11-29 13:06:56 +01:00
Boof
27b7ce1c57
Merge pull request #5 from hexahigh/dev
added herremann
2022-11-29 12:46:55 +01:00
Boof
83f78021af
added herremann 2022-11-29 12:46:20 +01:00
Boof
36d0d85b94
Merge pull request #4 from hexahigh/dev
Dev
2022-11-29 10:37:07 +01:00
Boof
c7078d7483
fixed games being compact 2022-11-29 10:36:01 +01:00
Boof
e83bad3194
added thing 2022-11-29 09:55:50 +01:00
Boof
6857aeba09
Merge pull request #3 from hexahigh/dev
Dev
2022-11-28 14:45:58 +01:00
Boof
a19f25a33e
removed new 2022-11-28 14:45:14 +01:00
Boof
f60338699b
fix? 2022-11-28 14:42:56 +01:00
Boof
0a2b9c8e30
new backgound gradient 2022-11-28 14:41:09 +01:00
Boof
411902d000
add footer 2022-11-28 14:09:24 +01:00
Boof
0f82895e80
added animated gradient to tools and games and made it more compact 2022-11-28 14:04:25 +01:00
Boof
f3812e1fd6
fix grad 2022-11-28 13:56:51 +01:00
Boof
52d65587bc
add animation 2022-11-28 13:55:22 +01:00
Boof
67e2028ef0
Merge pull request #2 from hexahigh/dev
Added More donations and made them more compact
2022-11-28 13:42:17 +01:00
Boof
db24373cb8
fix footer? 2022-11-28 13:39:47 +01:00
Boof
75b56d6c1b
testing 2022-11-28 13:30:25 +01:00
Boof
977c5dd205
fix donation? 2022-11-28 13:27:37 +01:00
Boof
acd00b4daf
made donations more compact 2022-11-28 13:24:05 +01:00
Boof
a15f5d137d
added more donation methods 2022-11-28 13:18:38 +01:00
Boof
740a80041b
Merge pull request #1 from hexahigh/dev
added music mute button
2022-11-28 13:10:04 +01:00
Boof
acb0ba9ea4
added music mute button 2022-11-28 12:50:03 +01:00
Boof
cafd7ff22f
nvm, that was ugly 2022-11-22 14:06:51 +01:00
Boof
c36171f1e5
fix grad? 2022-11-22 13:49:50 +01:00
Boof
a6f1aeb0f1
fix grad 2022-11-22 13:44:40 +01:00
Boof
dbc3f888b7
fix gradient? 2022-11-22 13:33:59 +01:00
Boof
6759cbb3e6
remved add because it broke the website 2022-11-22 13:32:01 +01:00
Boof
5c8dc06936
attempt to add music to tetris 2022-11-22 12:30:06 +01:00
Boof
61dd73cf55
fixed website title 2022-11-21 13:57:44 +01:00
Boof
1a99c9afea
removed donations using mining 2022-11-21 10:01:50 +01:00
Boof
294bb1c6c3
fix space? 2022-11-19 13:50:21 +01:00
Boof
8e9813ce99
fix 2022-11-18 19:27:08 +01:00
Boof
ba74434c9f
fix 2022-11-18 18:45:38 +01:00
Boof
8ba97ba734
if anybody reads these commits messages, please help me set up a good footer 2022-11-18 18:45:04 +01:00
Boof
8bf4b104d3
fix footer? 2022-11-18 18:40:15 +01:00
Boof
173bc1f285
removed paypal and added footer and monero 2022-11-18 18:37:37 +01:00
Boof
146fced7cf
add paypal donation 2022-11-18 13:22:06 +01:00
Boof
02a1df1763
change ad 2022-11-18 11:32:44 +01:00
Boof
4f463d016a
fix favicon on tools 2022-11-18 08:39:46 +01:00
Boof
f48e2f462e
lettuce fix it 2022-11-17 13:59:58 +01:00
Boof
4605d31b33
lettuce continue 2022-11-17 13:58:36 +01:00
Boof
b15f972107
lettuce add a 404 page 2022-11-17 13:56:43 +01:00
Boof
f310fc558d
i fucking hate css, i want to rip my hair of my head because of it, why does it have to be so goddamn hard to just add a gradient backgound without it being completely worng, this is a warning to whoever made css: Im coming for your ass 🥵 (Joke) 2022-11-17 12:26:49 +01:00
Boof
9f8ca4be98
fix css error? 2022-11-17 12:20:48 +01:00
Boof
484c7834bc
fix css gradient on tools? 2022-11-17 11:25:56 +01:00
Boof
c10b5ccd2b
retry cloudflare pages commit 2022-11-17 11:23:58 +01:00
Boof
8c75ab61ad
updated tools list 2022-11-17 11:15:22 +01:00
Boof
96d695d70e
added online nes emulator 2022-11-15 10:07:41 +01:00
Boof
410421a7aa
IT WORKS 2022-11-15 08:48:58 +01:00
Boof
1169a1715f
work? 2022-11-15 08:47:12 +01:00
Boof
6862544113
please work now css 2022-11-15 08:45:29 +01:00
Boof
ab8370e74f
commit 2022-11-14 14:09:52 +01:00
Boof
f37ab7c113
fix css? 2022-11-14 14:08:26 +01:00
Boof
6e24cdfce1
fix? 2022-11-14 13:59:53 +01:00
Boof
663759fa40
fix css? 2022-11-14 13:56:12 +01:00
Boof
e257d645a6
fix css? 2022-11-14 13:52:51 +01:00
Boof
f08446bfc5
plis work 2022-11-14 12:52:07 +01:00
Boof
d9ed240c86
fix? 2022-11-14 12:48:44 +01:00
Boof
d4ec797ca4
fix? 2022-11-14 12:44:44 +01:00
Boof
850052929b
now? 2022-11-14 12:38:33 +01:00
Boof
1d23cf7542
i forgor the id 💀 2022-11-14 12:35:57 +01:00
Boof
dd79e9d859
fix? 2022-11-14 12:35:34 +01:00
Boof
bf81985dcf
we got progress :) 2022-11-14 12:31:05 +01:00
Boof
a9227faa11
fix? 2022-11-14 12:29:43 +01:00
Boof
1b1b066600
fix? 2022-11-14 12:28:30 +01:00
Boof
6aa3be8e12
fix css? 2022-11-14 12:27:16 +01:00
Boof
216875de4d
fix css? 2022-11-14 11:47:04 +01:00
Boof
01a91c8e2e
added background 2022-11-14 11:39:18 +01:00
Boof
cc905f25c4
more raytracers and games 2022-11-14 10:40:10 +01:00
Boof
8052ed3cbc
added black hole raytrace 2022-11-14 10:32:27 +01:00
Boof
8f4cc4f260
removed cursor 2022-11-10 10:44:52 +01:00
Boof
ac11e34ff2
fix? 2022-11-10 10:36:54 +01:00
Boof
10ed213d22
added rainbow mouse 2022-11-10 10:34:39 +01:00
Boof
e76d769d57
added cursor effects 2022-11-10 10:30:58 +01:00
Boof
df8fe4747a
fixed 2022-11-10 09:41:27 +01:00
Boof
4931f74cb8
fix? 2022-11-10 09:38:37 +01:00
Boof
081ae884e1
moved interactive buddy and created flash game category 2022-11-10 09:37:05 +01:00
Boof
7f6ea8447f
added ruffle to index2 2022-11-10 08:46:34 +01:00
Boof
cf8136de83
added index2 2022-11-10 08:45:43 +01:00
Boof
2f7cad754c
fixed ruffle 2022-11-10 08:42:47 +01:00
Boof
914d68536c
fixed new game 2022-11-10 08:40:07 +01:00
Boof
e036737c0d
removed software download and added new game 2022-11-10 08:29:55 +01:00
Boof
2842e23c51
adding software download 2022-11-09 12:19:11 +01:00
Boof
9697ee3d89
changed title 2022-11-08 18:22:45 +01:00
Boof
4508f20f40
added mogus 2022-11-08 11:43:55 +01:00
Boof
8e69d506f0
mogus 2022-11-08 11:42:48 +01:00
Boof
4857669de4
added imgload 2022-11-08 10:09:36 +01:00
Boof
73e85c0f27
new status page 2022-11-07 11:22:36 +01:00
Boof
d6c4ee809e
more cat images 2022-11-07 09:55:47 +01:00
Boof
bd04c82259
updated options 2022-11-03 14:10:30 +01:00
Boof
b85168787b
changed name to Ncage++ 2022-11-03 12:38:02 +01:00
Boof
a6ce027a9b
MORE images 2022-11-03 12:37:09 +01:00
Boof
c7f63ae359
FASTER 2022-11-03 12:00:26 +01:00
Boof
907d760f4b
fix? 2022-11-03 10:54:32 +01:00
Boof
ea6545949f
added 4 images of cat 2022-11-03 10:45:40 +01:00
Boof
3f5db3cd67
add ajax 2022-11-03 10:39:03 +01:00
Boof
a55807fa0d
added ncage+ 2022-11-03 10:34:51 +01:00
Boof
da29e0b0a7
added new tracker 2022-11-03 08:20:33 +01:00
Boof
6fbee875b8
added /tools and Btorrent 2022-11-03 08:09:58 +01:00
Boof
8a7a3a9ea2
added status 2022-11-01 12:30:24 +01:00
Boof
b0cabd6a58
new radio 2022-10-31 12:11:08 +01:00
Boof
f3c51bc6a8
remove radio 2022-10-31 12:01:56 +01:00
Boof
6473b83f1a
removed fnf 2022-10-30 18:09:07 +01:00
Boof
cddf81b350
radio test 2022-10-30 18:08:10 +01:00
hexahigh
125a326189 fnf test 2022-10-30 13:45:26 +01:00
Boof
1f1cd116f6
why does the t have to be samll 2022-10-29 21:43:46 +02:00
Boof
cad33110d3
fixed calc 2022-10-29 21:41:46 +02:00
hexahigh
32eacf60d3 Optimized terraria and moved files to where they belong 2022-10-28 16:58:33 +02:00
hexahigh
ba5dd5cb01 Merge branch 'main' of https://github.com/hexahigh/games 2022-10-28 16:46:09 +02:00
hexahigh
ede74713be Preparing for optimization 2022-10-28 16:46:05 +02:00
Boof
c00d8fb9af
nevermind, its broken 2022-10-28 14:00:40 +02:00
Boof
83e2a1a98b
added minecraft classic 2022-10-28 13:58:47 +02:00
Boof
0572e66ee1
added autotor 2022-10-28 13:54:35 +02:00
Boof
043ba4850f
added hextris 2022-10-28 10:30:30 +02:00
Boof
2f33a836a5
made links BIG and CHUNKY 2022-10-27 14:04:39 +02:00
Boof
f61ee2ea59
small 2022-10-27 12:45:41 +02:00
Boof
9b66f83cbc
fix 2022-10-27 12:41:29 +02:00
Boof
f4c8a46a65
better? 2022-10-27 12:40:03 +02:00
Boof
78f29f20be
bigger text? 2022-10-27 12:36:39 +02:00
Boof
ec0098210c
remove website moving thingy 2022-10-27 12:31:58 +02:00
Boof
299fa788e9
fix ad? 2022-10-27 12:28:25 +02:00
Boof
29b28b79d7
update index 2022-10-27 12:25:25 +02:00
Boof
ee9fbf71b8
update game list 2022-10-27 12:22:47 +02:00
Boof
00be5c1d35
add list of games 2022-10-27 11:32:48 +02:00
Boof
b22ac07614
moved pacman 2022-10-27 11:25:17 +02:00
Boof
b21e68abe7
moved square 2022-10-27 10:47:11 +02:00
Boof
3337d2476d
moved cookie clicker 2022-10-27 10:45:04 +02:00
Boof
1dd26f02f2
moved chess and physics 2022-10-27 10:38:51 +02:00
Boof
9b44388141
moved 2048 2022-10-27 10:37:32 +02:00
Boof
5ec7eafa9c
moved tetris 2022-10-27 10:36:32 +02:00
Boof
69081b957e
added chrome dino game 2022-10-27 10:34:19 +02:00
Boof
e0db623157
c 2022-10-27 10:31:55 +02:00
Boof
91e598e282
c 2022-10-27 10:24:49 +02:00
Boof
22b3aaa556
cleaning 2022-10-27 10:24:14 +02:00
Boof
be19a902ed
cleaning part 1 2022-10-27 08:39:19 +02:00
Boof
48a60656e3
update index 2022-10-27 08:12:24 +02:00
Boof
01afaca7aa
obfuscated calculator 2022-10-27 08:08:54 +02:00
Boof
88db8adb23
i thought i deleted this 2022-10-27 08:07:07 +02:00
t0m0t0w
1a05e1ca2a
snoooooooo ridaaa 2022-10-26 12:37:01 +02:00
Boof
fffc82c22c
no more credits heheheha 2022-10-26 12:34:17 +02:00
Boof
49bae8fad3
added calculator 2022-10-26 12:30:03 +02:00
t0m0t0w
310cf626d2
Update index.html 2022-10-26 12:28:57 +02:00
Boof
8d821def66
e 2022-10-26 12:24:36 +02:00
t0m0t0w
fc27b06308
snooow RIDAA 2022-10-26 12:22:58 +02:00
Boof
954c3856ab
Create .imgbotconfig 2022-10-25 15:17:44 +02:00
9657 changed files with 600913 additions and 23722 deletions

39
.github/workflows/clamscan.yml vendored Normal file
View File

@ -0,0 +1,39 @@
name: "Clamscan"
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "main" ]
schedule:
- cron: '44 8 * * 5'
jobs:
build:
name: Scanning repo with clamav
runs-on: ubuntu-latest
steps:
- name: Downloading git repo
run: |
git clone --depth=1 --branch=main https://github.com/hexahigh/games.git repo
rm -rf ./repo/.git
- name: Installing
run: |
sudo apt update
sudo apt install -y clamav
- name: Disabling freshclam service
run: |
sudo systemctl stop clamav-freshclam.service
- name: Running freshclam
run: |
sudo freshclam
- name: Scanning
run: |
sudo clamscan -i -r ./repo

77
.github/workflows/codeql.yml vendored Normal file
View File

@ -0,0 +1,77 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "main" ]
schedule:
- cron: '44 8 * * 5'
jobs:
analyze:
name: Analyze
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Use only 'java' to analyze code written in Java, Kotlin or both
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{matrix.language}}"

34
.github/workflows/compress images.yml vendored Normal file
View File

@ -0,0 +1,34 @@
name: "Compress images"
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "main" ]
schedule:
- cron: '44 8 * * 5'
jobs:
build:
name: calibreapp/image-actions
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Compress Images
id: calibre
uses: calibreapp/image-actions@main
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
compressOnly: true
- name: Create New Pull Request If Needed
if: steps.calibre.outputs.markdown != ''
uses: peter-evans/create-pull-request@v3
with:
title: Compressed Images Nightly
branch-suffix: timestamp
commit-message: Compressed Images
body: ${{ steps.calibre.outputs.markdown }}

34
.github/workflows/createTorrent.yml vendored Normal file
View File

@ -0,0 +1,34 @@
name: Create torrent
on:
workflow_dispatch:
push:
branches: [ main ]
jobs:
sitemap_job:
runs-on: ubuntu-latest
name: Create torrent
steps:
- name: Checkout the repo
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install npm and the required packages
run: |
sudo apt update
sudo apt install nodejs
sudo apt install npm
sudo npm install -g create-torrent
- name: Create the torrent
run: |
create-torrent ./ --urlList "https://boof.eu.org" --urlList "https://games-olive-delta.vercel.app" --urlList "https://games-hexahigh.vercel.app" --urlList "https://games-git-main-hexahigh.vercel.app" -o site.torrent
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: "Github Action: Updated torrent file"
branch: ${{ github.ref }}

45
.github/workflows/sitemap.yml vendored Normal file
View File

@ -0,0 +1,45 @@
name: Generate xml sitemap
on:
push:
branches: [ main ]
jobs:
sitemap_job:
runs-on: ubuntu-latest
name: Generate a sitemap
steps:
- name: Checkout the repo
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Generate the sitemap
id: sitemapxml
uses: cicirello/generate-sitemap@v1
with:
base-url-path: https://boof.eu.org/
path-to-root: .
- name: Generate the sitemap
id: sitemaptxt
uses: cicirello/generate-sitemap@v1
with:
base-url-path: https://boof.eu.org/
path-to-root: .
sitemap-format: txt
additional-extensions: doc docx ppt pptx txt md exe lua py zip rar mp3 png wav jpg jpeg bin css js json php svg gif ogg swf ico otf ttf scss xml sh 3G2 3GG 3GP 7Z A AAI AC ACC ADP AI AIR APK APNG APPX APR ART ART AVCI AVCS AVI AVIF AVIF AVIFS AVS BAR BMP BMP BPG BPL BSZ CBT CBZ CDR CDT CHI CHM CHQ CHS CHW CIN CMYK CMYKA CPL CSL CSS CUR DB DB DCX DDS DEB DES DIB DIB DLL DOC DOCM DOCX DOT DOTM DOTX DPX DRV DWF DWFX EAR EASM EML EMLX EPDF EPDF EPRT EPUB EXE FAX FAX FB2 FDF FITS FLA FLAC FLV FPX FPX FXG FXG GALLERY GALLERYCOLLECTION GALLERYITEM GFT GIF GRAY GRS GZ HDR HEIC HEICS HEIF HEIFS HRZ HTM HTML ICB ICL ICO ICO INK INLINE IPA IPK IPSW ITA ITS ITZ J2C J2K JAR JFI JFIF JIF JNG JP2 JPC JPE JPEG JPG JPS JPT JS JSON JXL KML KMZ KMZ KSF LIB LIT LUA LUAC LXF LZL LZMA M4A M4B M4P M4R M4V MAX MBX MCE MDB MDT MDZ MHT MHT MHTML MHTML MIC MIF MIFF MIX MIZ MK3D MKA MKS MKV MMIP MNG MONO MOV MP3 MP4 MPC MPD MPEG MPG MPO MPP MPP MPR MPT MSC MSG MSG MSI MSL MSP MST MSZ MTV MTW MVG MVZ MZZ NAR NBK NOTEBOOK O OBJ OCX ODB ODF ODG ODP ODS ODT OEX OGA OGG OGG OGM OGV OGX OGX OLE OLE2 ONE OPT OPUS ORA OSK OST OTB OXPS P7 PALM PBM PCC PCD PCDS PCL PCLS PCX PDB PDF PFM PFS PGM PIC PICON PICT PK3 PNG PNM PNS POTM POTX PPAM PPM PPS PPSM PPSX PPT PPTM PPTX PSB PSD PTIF PTIF PTIFF PTIFF PUB PUB PUZ QT QWK R2SKIN RA RAM RDB RDB RFA RFG RFT RGB RGBA RLL RM RMSKIN RMVB RTE RV RVT S3Z SCR SGI SGML SLDASM SLDDRW SLDM SLDPRT SLDX SMIL SOU SPL SPO SPX SQLITE SQLITE2 SQLITE3 STZ SUN SVG SVGZ SWC SWF SYS TAR TGA TGZ THM TIF TIFF UYVY VBX VCARD VCF VDA VDX VICAR VIFF VLT VOB VSD VSS VST VST VSX VTX WAL WAR WAV WBA WBMP WEBA WEBM WEBP WIZ WMA WMV WMZ WPS WSZ X XAP XBM XHTML XHTML XL XLA XLAM XLC XLM XLS XLSB XLSM XLSX XLTM XLTX XLW XML XML XMZ XNK XPI XPM XPS XSF XSL XSLT XSN XWD YCBR YCBRA YUB Z01 Z02 Z03 Z04 Z05 Z06 Z07 Z08 Z09 Z10 ZIP ZIPX ZX01 ZX02 ZX03 ZX04 ZX05 ZX05 ZX06 ZX07 ZX08 ZX09 ZX10
- name: Output stats
run: |
echo "sitemap-path = ${{ steps.sitemap.outputs.sitemap-path }}"
echo "url-count = ${{ steps.sitemap.outputs.url-count }}"
echo "excluded-count = ${{ steps.sitemap.outputs.excluded-count }}"
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: "Github Action: Automatic sitemap update."
branch: ${{ github.ref }}

20
.github/workflows/sync.yml vendored Normal file
View File

@ -0,0 +1,20 @@
name: sync with codeberg
on:
push:
branches: [ main ]
jobs:
sitemap_job:
runs-on: ubuntu-latest
name: sync
steps:
- name: clone
run: |
git clone https://github.com/hexahigh/games.git
git clone https://github.com/hexahigh/portfolio.git
git clone https://github.com/hexahigh/nodejs-hash-antivirus.git
- name: sync
run: |

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.sync
node_modules

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 MiB

56
404.css Normal file
View File

@ -0,0 +1,56 @@
body {
background-color: #95c2de;
}
.mainbox {
background-color: #95c2de;
margin: auto;
height: 600px;
width: 600px;
position: relative;
}
.err {
color: #ffffff;
font-family: 'Nunito Sans', sans-serif;
font-size: 11rem;
position:absolute;
left: 20%;
top: 8%;
}
.far {
position: absolute;
font-size: 8.5rem;
left: 42%;
top: 15%;
color: #ffffff;
}
.err2 {
color: #ffffff;
font-family: 'Nunito Sans', sans-serif;
font-size: 11rem;
position:absolute;
left: 68%;
top: 8%;
}
.msg {
text-align: center;
font-family: 'Nunito Sans', sans-serif;
font-size: 1.6rem;
position:absolute;
left: 16%;
top: 45%;
width: 75%;
}
a {
text-decoration: none;
color: white;
}
a:hover {
text-decoration: underline;
}

13
404.html Normal file
View File

@ -0,0 +1,13 @@
<head>
<title>Uh oh. 404</title>
<link href="https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@600;900&display=swap" rel="stylesheet">
<script src="https://kit.fontawesome.com/4b9ba14b0f.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://boof.eu.org/404.css" Type="text/css" media="all">
</head>
<body>
<div class="mainbox">
<div class="err">4</div>
<i class="far fa-question-circle fa-spin"></i>
<div class="err2">4</div>
<div class="msg">Maybe this page moved? Got deleted? Is hiding out in quarantine? Never existed in the first place?<p>Let's go <a href="https://boof.eu.org/">home</a> and try from there.</p></div>
</div>

View File

@ -0,0 +1 @@
site-verification: 4f9122ff340ebd7b1c8f5e2d23ef4ab4

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 KiB

View File

@ -1,871 +0,0 @@
/*
Orteil's crappy dungeon generation library, 2013
Unfinished and buggy, use at your own risk (please credit)
http://orteil.dashnet.org
Rough process (might or might not be what actually happens) :
1 make a room in the middle
2 pick one of its walls (not corners)
3 select a free tile on the other side of that wall
4 iteratively expand the selection in one (corridors) or two (rooms) directions, stopping when we meet a wall or when we're above the size threshold
5 compute that selection into a room
6 add decorations to the room (pillars, water) but only on the center tiles, as to leave free passages (sprinkle destructible decorations anywhere)
7 take a random floor tile in the room and repeat step 4, but don't stop at the walls of this room (this creates branching) - repeat about 5 times for interesting shapes
8 add those branches to the room
9 carve the room into the map, and set the initially selected wall as a door - set the new room's parent to the previous room, and add it to its parent's children
10 repeat step 2 with any free wall on the map until the amount of tiles dug is above the desired fill ratio
Note : I should probably switch the rendering to canvas to allow stuff like occlusion shadows and lights
*/
if (1==1 || undefined==Math.seedrandom)
{
//seeded random function, courtesy of http://davidbau.com/archives/2010/01/30/random_seeds_coded_hints_and_quintillions.html
(function(a,b,c,d,e,f){function k(a){var b,c=a.length,e=this,f=0,g=e.i=e.j=0,h=e.S=[];for(c||(a=[c++]);d>f;)h[f]=f++;for(f=0;d>f;f++)h[f]=h[g=j&g+a[f%c]+(b=h[f])],h[g]=b;(e.g=function(a){for(var b,c=0,f=e.i,g=e.j,h=e.S;a--;)b=h[f=j&f+1],c=c*d+h[j&(h[f]=h[g=j&g+b])+(h[g]=b)];return e.i=f,e.j=g,c})(d)}function l(a,b){var e,c=[],d=(typeof a)[0];if(b&&"o"==d)for(e in a)try{c.push(l(a[e],b-1))}catch(f){}return c.length?c:"s"==d?a:a+"\0"}function m(a,b){for(var d,c=a+"",e=0;c.length>e;)b[j&e]=j&(d^=19*b[j&e])+c.charCodeAt(e++);return o(b)}function n(c){try{return a.crypto.getRandomValues(c=new Uint8Array(d)),o(c)}catch(e){return[+new Date,a,a.navigator.plugins,a.screen,o(b)]}}function o(a){return String.fromCharCode.apply(0,a)}var g=c.pow(d,e),h=c.pow(2,f),i=2*h,j=d-1;c.seedrandom=function(a,f){var j=[],p=m(l(f?[a,o(b)]:0 in arguments?a:n(),3),j),q=new k(j);return m(o(q.S),b),c.random=function(){for(var a=q.g(e),b=g,c=0;h>a;)a=(a+c)*d,b*=d,c=q.g(1);for(;a>=i;)a/=2,b/=2,c>>>=1;return(a+c)/b},p},m(c.random(),b)})(this,[],Math,256,6,52);
}
if (1==1 || undefined==choose) {function choose(arr) {if (arr.length==0) return 0; else return arr[Math.floor(Math.random()*arr.length)];}}
var DungeonGen=function()
{
var TILE_EMPTY=0;//solid
var TILE_LIMIT=-100;//can't build anything here; edges of map
var TILE_FLOOR_EDGE=100;
var TILE_FLOOR_CENTER=110;
var TILE_DOOR=200;
var TILE_PILLAR=300;//not just pillars, could be any type of repetitive decoration
var TILE_WATER=400;
var TILE_WALL=500;
var TILE_WALL_CORNER=510;
var TILE_ENTRANCE=250;
var TILE_EXIT=260;
var colors=[];
colors[TILE_EMPTY]='000';
colors[TILE_LIMIT]='900';
colors[TILE_FLOOR_EDGE]='ffc';
colors[TILE_FLOOR_CENTER]='ff9';
colors[TILE_DOOR]='f9f';
colors[TILE_PILLAR]='990';
colors[TILE_WATER]='99f';
colors[TILE_WALL]='960';
colors[TILE_WALL_CORNER]='630';
colors[TILE_ENTRANCE]='f9f';
colors[TILE_EXIT]='f9f';
var rand=function(a,b){return Math.floor(Math.random()*(b-a+1)+a);}//return random value between a and b
var Patterns=[];
this.Pattern=function(name,func)
{
this.name=name;
this.func=func;
Patterns.push(this);
}
new this.Pattern('Pillars',function(x,y,room)
{
if ((x+room.x)%2==0 && (y+room.y)%2==0 && Math.random()<0.8) return TILE_PILLAR;
return 0;
});
new this.Pattern('Large pillars',function(x,y,room)
{
if ((x+room.x)%3<2 && (y+room.y)%3<2 && Math.random()<0.8) return TILE_PILLAR;
return 0;
});
new this.Pattern('Sparse pillars',function(x,y,room)
{
if ((x+room.x)%3==0 && (y+room.y)%3==0 && Math.random()<0.8) return TILE_PILLAR;
return 0;
});
new this.Pattern('Lines',function(x,y,room)
{
if (room.x%2==0) if ((x+room.x)%2==0 && Math.random()<0.98) return TILE_PILLAR;
if (room.x%2==1) if ((y+room.y)%2==0 && Math.random()<0.98) return TILE_PILLAR;
return 0;
});
var getRandomPattern=function()
{return choose(Patterns);}
var defaultGenerator=function(me)
{
me.roomSize=10;
me.corridorSize=5;
me.fillRatio=1/3;
me.corridorRatio=0.2;
me.pillarRatio=0.2;
me.waterRatio=0;
me.branching=4;
me.sizeVariance=0.2;
me.fillRatio=0.1+Math.random()*0.4;
me.roomSize=Math.ceil(rand(5,15)*me.fillRatio*2);
me.corridorSize=Math.ceil(rand(1,7)*me.fillRatio*2);
me.corridorRatio=Math.random()*0.8+0.1;
me.pillarRatio=Math.random()*0.5+0.5;
me.waterRatio=Math.pow(Math.random(),2);
me.branching=Math.floor(Math.random()*6);
me.sizeVariance=Math.random();
}
this.Map=function(w,h,seed,params)
{
//create a new map
//leave the seed out for a random seed
//params is an object that contains custom parameters as defined in defaultGenerator
//example : MyMap=new DungeonGen.Map(30,30,MySeed,{waterRatio:0.8}); (80 percent of the rooms will contain water)
if (undefined!=seed) this.seed=seed; else {Math.seedrandom();this.seed=Math.random();}
Math.seedrandom(this.seed);
this.seedState=Math.random;
this.w=w||20;
this.h=h||20;
this.roomsAreHidden=0;
this.rooms=[];
this.freeWalls=[];//all walls that would be a good spot for a door
this.freeTiles=[];//all passable floor tiles
this.doors=[];
this.tiles=this.w*this.h;
this.tilesDug=0;
this.digs=0;//amount of digging steps
this.stuck=0;//how many times we ran into a problem; stop digging if we get too many of these
this.data=[];//fill the map with 0
for (var x=0;x<this.w;x++)
{
this.data[x]=[];
for (var y=0;y<this.h;y++)
{
this.data[x][y]=[TILE_EMPTY,-1,0];//data is stored as [tile system type,room id,tile displayed type] (-1 is no room)
if (x==0 || y==0 || x==this.w-1 || y==this.h-1) this.data[x][y]=[TILE_LIMIT,-1,0];
}
}
defaultGenerator(this);
if (params)
{
for (var i in params)
{
this[i]=params[i];
}
}
Math.seedrandom();
}
this.Map.prototype.getType=function(x,y){return this.data[x][y][0];}
this.Map.prototype.getRoom=function(x,y){if (this.data[x][y][1]!=-1) return this.rooms[this.data[x][y][1]]; else return -1;}
this.Map.prototype.getTile=function(x,y){return this.rooms[this.data[x][y][2]];}
this.Map.prototype.isWall=function(x,y)
{
var n=0;
for (var i in this.freeWalls){if (this.freeWalls[i][0]==x && this.freeWalls[i][1]==y) return n; else n++;}
return -1;
}
this.Map.prototype.isFloor=function(x,y)
{
var n=0;
for (var i in this.freeTiles){if (this.freeTiles[i][0]==x && this.freeTiles[i][1]==y) return n; else n++;}
return -1;
}
this.Map.prototype.removeFreeTile=function(x,y)
{
this.freeTiles.splice(this.isFloor(x,y),1);
}
this.Map.prototype.fill=function(what)
{
//fill with something (either a set value, or a function that takes the map, a position X and a position Y as arguments)
//NOTE : this also resets the rooms!
//example : MyMap.fill(function(m,x,y){return Math.floor((Math.random());});
//...will fill the map with 0s and 1s
var func=0;
if (typeof(what)=='function') func=1;
for (var x=0;x<this.w;x++){for (var y=0;y<this.h;y++){
if (func) this.data[x][y]=[what(this,x,y),-1,0]; else this.data[x][y]=[what,-1,0];
}}
this.rooms=[];
}
this.Map.prototype.fillZone=function(X,Y,W,H,what)
{
//just plain fill a rectangle
for (var x=X;x<X+W;x++){for (var y=Y;y<Y+H;y++){
this.data[x][y][0]=what;
}}
}
this.Map.prototype.getRoomTile=function(room,x,y)
{
var n=0;
for (var i in room.tiles) {if (room.tiles[i].x==x && room.tiles[i].y==y) return n; else n++;}
return -1;
}
this.Map.prototype.getFloorTileInRoom=function(room)
{
var tiles=[];
for (var i in room.tiles) {if (room.tiles[i].type==TILE_FLOOR_EDGE || room.tiles[i].type==TILE_FLOOR_CENTER) tiles.push(room.tiles[i]);}
return choose(tiles);
}
this.Map.prototype.canPlaceRoom=function(rx,ry,rw,rh)
{
if (rx<2 || ry<2 || rx+rw>=this.w-1 || ry+rh>=this.h-1) return false;
for (var x=rx;x<rx+rw;x++)
{
for (var y=ry;y<ry+rh;y++)
{
var tile=this.getType(x,y);
var room=this.getRoom(x,y);
if (tile==TILE_LIMIT) return false;
if (room!=-1) return false;
}
}
return true;
}
this.Map.prototype.setRoomTile=function(room,x,y,tile)
{
//var mapTile=this.getType(x,y);
var oldTile=this.getRoomTile(room,x,y);
var oldTileType=oldTile!=-1?room.tiles[oldTile].type:-1;
if (oldTile!=-1 && (
//(tile!=TILE_FLOOR_EDGE && tile!=TILE_FLOOR_CENTER) ||// && (oldTileType!=TILE_FLOOR_EDGE && oldTileType!=TILE_FLOOR_CENTER)) ||
//(tile!=TILE_FLOOR_EDGE && tile!=TILE_FLOOR_CENTER && (oldTileType!=TILE_FLOOR_EDGE && oldTileType!=TILE_FLOOR_CENTER)) ||
(tile==TILE_WALL || tile==TILE_WALL_CORNER) ||//don't place a wall over an existing room
(tile==TILE_FLOOR_EDGE && oldTileType==TILE_FLOOR_CENTER)//don't place an edge floor over a center floor
)) {return false;}
else
{
if (oldTile!=-1) room.tiles.splice(oldTile,1);
room.tiles.push({x:x,y:y,type:tile,score:0});
if ((tile==TILE_FLOOR_EDGE || tile==TILE_FLOOR_CENTER) && (oldTileType!=TILE_FLOOR_EDGE && oldTileType!=TILE_FLOOR_CENTER)) room.freeTiles++;
else if (tile!=TILE_FLOOR_EDGE && tile!=TILE_FLOOR_CENTER && (oldTileType==TILE_FLOOR_EDGE || oldTileType==TILE_FLOOR_CENTER)) room.freeTiles--;
return true;
}
}
this.Map.prototype.expandRoom=function(room,rx,ry,rw,rh)
{
var x=0;var y=0;
//floor
for (var x=rx;x<rx+rw;x++){for (var y=ry;y<ry+rh;y++){
this.setRoomTile(room,x,y,TILE_FLOOR_EDGE);
}}
for (var x=rx+1;x<rx+rw-1;x++){for (var y=ry+1;y<ry+rh-1;y++){
this.setRoomTile(room,x,y,TILE_FLOOR_CENTER);
}}
//walls
y=ry-1;
for (var x=rx;x<rx+rw;x++){
this.setRoomTile(room,x,y,TILE_WALL);
}
y=ry+rh;
for (var x=rx;x<rx+rw;x++){
this.setRoomTile(room,x,y,TILE_WALL);
}
x=rx-1;
for (var y=ry;y<ry+rh;y++){
this.setRoomTile(room,x,y,TILE_WALL);
}
x=rx+rw;
for (var y=ry;y<ry+rh;y++){
this.setRoomTile(room,x,y,TILE_WALL);
}
//corners
x=rx-1;y=ry-1;
this.setRoomTile(room,x,y,TILE_WALL_CORNER);
x=rx+rw;y=ry-1;
this.setRoomTile(room,x,y,TILE_WALL_CORNER);
x=rx-1;y=ry+rh;
this.setRoomTile(room,x,y,TILE_WALL_CORNER);
x=rx+rw;y=ry+rh;
this.setRoomTile(room,x,y,TILE_WALL_CORNER);
//decoration
var water=Math.random()<this.waterRatio?1:0;
var pattern=Math.random()<this.pillarRatio?getRandomPattern():0;
for (var x=rx;x<rx+rw;x++){for (var y=ry;y<ry+rh;y++){
if (room.tiles[this.getRoomTile(room,x,y)].type==TILE_FLOOR_CENTER)
{
var tile=0;
if (water!=0) tile=TILE_WATER;
if (pattern!=0)
{
tile=pattern.func(x,y,room)||tile;
}
if (tile!=0) this.setRoomTile(room,x,y,tile);
}
}}
}
this.Map.prototype.newRoom=function(x,y,w,h,parent)
{
//create a new abstract room, ready to be carved
var room={};
room.id=this.rooms.length;
room.w=w;//||rand(2,this.roomSize);
room.h=h;//||rand(2,this.roomSize);
room.x=x||rand(1,this.w-room.w-1);
room.y=y||rand(1,this.h-room.h-1);
room.tiles=[];
room.freeTiles=0;
room.parent=parent?parent:-1;
room.children=[];
room.gen=0;
room.door=0;
room.corridor=Math.random()<this.corridorRatio?1:0;
room.hidden=this.roomsAreHidden;//if 1, don't draw
//if (room.parent!=-1) room.corridor=!room.parent.corridor;//alternate rooms and corridors
return room;
}
this.Map.prototype.planRoom=function(room)
{
var branches=this.branching+1;
var forcedExpansions=[];
var w=room.w;
var h=room.h;
while (w>0 && h>0)
{
if (w>0) {forcedExpansions.push(1,3);w--;}
if (h>0) {forcedExpansions.push(2,4);h--;}
}
for (var i=0;i<branches;i++)
{
var steps=0;
var expansions=[];
if (!room.corridor)
{
expansions=[1,2,3,4];
steps=this.roomSize;
}
else
{
expansions=choose([[1,3],[2,4]]);
steps=this.corridorSize;
}
steps=Math.max(room.w+room.h,Math.ceil(steps*(1-Math.random()*this.sizeVariance)));
if (room.tiles.length==0) {var rx=room.x;var ry=room.y;var rw=1;var rh=1;}
else {var randomTile=this.getFloorTileInRoom(room);var rx=randomTile.x;var ry=randomTile.y;var rw=1;var rh=1;}
for (var ii=0;ii<steps;ii++)
{
if (expansions.length==0) break;
var xd=0;var yd=0;var wd=0;var hd=0;
var side=choose(expansions);
if (forcedExpansions.length>0) side=forcedExpansions[0];
if (side==1) {xd=-1;wd=1;}
else if (side==2) {yd=-1;hd=1;}
else if (side==3) {wd=1;}
else if (side==4) {hd=1;}
if (this.canPlaceRoom(rx+xd,ry+yd,rw+wd,rh+hd)) {rx+=xd;ry+=yd;rw+=wd;rh+=hd;} else expansions.splice(expansions.indexOf(side),1);
if (forcedExpansions.length>0) forcedExpansions.splice(0,1);
}
if (rw>1 || rh>1)
{
this.expandRoom(room,rx,ry,rw,rh);
}
}
}
this.Map.prototype.carve=function(room)
{
//carve a room into the map
for (var i in room.tiles)
{
var thisTile=room.tiles[i];
var x=thisTile.x;var y=thisTile.y;
var myType=this.data[x][y][0];
var type=thisTile.type;
if ((type==TILE_WALL || type==TILE_WALL_CORNER) && this.isWall(x,y)!=-1) {this.freeWalls.splice(this.isWall(x,y),1);}
if (this.data[x][y][1]!=-1 && (type==TILE_WALL || type==TILE_WALL_CORNER)) {}
else
{
if (this.data[x][y][1]==-1) this.tilesDug++;
this.data[x][y]=[thisTile.type,room.id,0];
if (x>1 && y>1 && x<this.w-2 && y<this.h-2 && type==TILE_WALL) this.freeWalls.push([x,y]);
if (type==TILE_FLOOR_EDGE || type==TILE_FLOOR_CENTER) this.freeTiles.push([x,y]);
}
var pos=[x,y];
}
this.rooms[room.id]=room;
}
this.Map.prototype.newRandomRoom=function(params)
{
var success=1;
params=params||{};//params is an object such as {corridor:1}
var door=choose(this.freeWalls);//select a free wall to use as a door
if (!door) {success=0;}
else
{
//this.data[door[0]][door[1]][0]=TILE_LIMIT;//not door
var parentRoom=this.getRoom(door[0],door[1]);
var sides=[];//select a free side of that door
if (this.getType(door[0]-1,door[1])==TILE_EMPTY) sides.push([-1,0]);
if (this.getType(door[0]+1,door[1])==TILE_EMPTY) sides.push([1,0]);
if (this.getType(door[0],door[1]-1)==TILE_EMPTY) sides.push([0,-1]);
if (this.getType(door[0],door[1]+1)==TILE_EMPTY) sides.push([0,1]);
var side=choose(sides);
if (!side) {success=0;this.freeWalls.splice(this.isWall(door[0],door[1]),1);}
else
{
var room=this.newRoom(door[0]+side[0],door[1]+side[1],0,0,parentRoom);//try a new room from this spot
for (var i in params)
{
room[i]=params[i];
}
this.planRoom(room);
if (room.tiles.length>0 && room.freeTiles>0)//we got a decent room
{
this.carve(room);
this.data[door[0]][door[1]][0]=TILE_DOOR;//place door
room.door=[door[0],door[1]];
this.data[door[0]][door[1]][1]=room.id;//set ID
this.freeWalls.splice(this.isWall(door[0],door[1]),1);//the door isn't a wall anymore
this.doors.push([door[0],door[1],room]);
//remove free tiles on either side of the door
if (this.isFloor(door[0]+side[0],door[1]+side[1])!=-1) this.removeFreeTile(door[0]+side[0],door[1]+side[1]);
if (this.isFloor(door[0]-side[0],door[1]-side[1])!=-1) this.removeFreeTile(door[0]-side[0],door[1]-side[1]);
room.parent=parentRoom;
parentRoom.children.push(room);
room.gen=parentRoom.gen+1;
}
else//not a good spot; remove this tile from the list of walls
{
this.freeWalls.splice(this.isWall(door[0],door[1]),1);
success=0;
}
}
}
if (success) return room;
else return 0;
}
this.Map.prototype.getRandomSpotInRoom=function(room)
{
var listOfTiles=[];
for (var i in room.tiles)
{
if ((room.tiles[i].type==TILE_FLOOR_EDGE || room.tiles[i].type==TILE_FLOOR_CENTER) && this.isFloor(room.tiles[i].x,room.tiles[i].y)!=-1)
{
listOfTiles.push(room.tiles[i]);
}
}
if (listOfTiles.length==0) return -1;
return choose(listOfTiles);
}
this.Map.prototype.getBestSpotInRoom=function(room)
{
var highest=-1;
var listOfHighest=[];
for (var i in room.tiles)
{
if ((room.tiles[i].type==TILE_FLOOR_EDGE || room.tiles[i].type==TILE_FLOOR_CENTER) && this.isFloor(room.tiles[i].x,room.tiles[i].y)!=-1)
{
if (room.tiles[i].score>highest)
{
listOfHighest=[];
highest=room.tiles[i].score;
listOfHighest.push(room.tiles[i]);
}
else if (room.tiles[i].score==highest)
{
listOfHighest.push(room.tiles[i]);
}
}
}
if (listOfHighest.length==0) return -1;
return choose(listOfHighest);
}
this.Map.prototype.getEarliestRoom=function()
{
return this.rooms[0];
}
this.Map.prototype.getDeepestRoom=function()
{
var deepest=0;
var deepestRoom=this.rooms[0];
for (var i in this.rooms)
{
if ((this.rooms[i].gen+Math.sqrt(this.rooms[i].freeTiles)*0.05)>=deepest && this.rooms[i].corridor==0 && this.rooms[i].freeTiles>4) {deepest=(this.rooms[i].gen+Math.sqrt(this.rooms[i].freeTiles)*0.05);deepestRoom=this.rooms[i];}
}
return deepestRoom;
}
this.Map.prototype.dig=function()
{
//one step in which we try to carve new stuff
//returns 0 when we couldn't dig this step, 1 when we could, and 2 when the digging is complete
Math.random=this.seedState;
var badDig=0;
if (this.digs==0)//first dig : build a starting room in the middle of the map
{
var w=rand(3,7);
var h=rand(3,7);
var room=this.newRoom(Math.floor(this.w/2-w/2),Math.floor(this.h/2-h/2),w,h);
room.corridor=0;
this.planRoom(room);
this.carve(room);
}
else
{
if (this.newRandomRoom()==0) badDig++;
}
if (badDig>0) this.stuck++;
this.digs++;
var finished=0;
if (this.tilesDug>=this.tiles*this.fillRatio) finished=1;
if (this.stuck>100) finished=1;
if (finished==1)//last touch : try to add a whole room at the end
{
for (var i=0;i<10;i++)
{
var newRoom=this.newRandomRoom({corridor:0,w:rand(3,7),h:rand(3,7)});
if (newRoom!=0 && newRoom.freeTiles>15) break;
}
}
Math.seedrandom();
if (finished==1) return 1; else if (badDig>0) return -1; else return 0;
}
this.Map.prototype.finish=function()
{
//touch up the map : add pillars in corners etc
/*
//set paths
for (var i in this.rooms)
{
var me=this.rooms[i];
if (me.door!=0)
{
var doors=[];
doors.push(me.door);
for (var ii in me.children)
{
if (me.children[ii].door!=0) doors.push(me.children[ii].door);
}
for (var ii in doors)
{
this.data[doors[ii][0]][doors[ii][1]][0]=TILE_LIMIT;
//ideally we should run agents that step from each door to the next
}
}
}
*/
for (var i in this.rooms)
{
var pillars=Math.random()<this.pillarRatio;
for (var ii in this.rooms[i].tiles)
{
var x=this.rooms[i].tiles[ii].x;
var y=this.rooms[i].tiles[ii].y;
var me=this.data[x][y][0];
var x1=this.data[x-1][y][0];
var x2=this.data[x+1][y][0];
var y1=this.data[x][y-1][0];
var y2=this.data[x][y+1][0];
var xy1=this.data[x-1][y-1][0];
var xy2=this.data[x+1][y-1][0];
var xy3=this.data[x-1][y+1][0];
var xy4=this.data[x+1][y+1][0];
var walls=0;
if ((x1==TILE_WALL||x1==TILE_WALL_CORNER)) walls++;
if ((y1==TILE_WALL||y1==TILE_WALL_CORNER)) walls++;
if ((x2==TILE_WALL||x2==TILE_WALL_CORNER)) walls++;
if ((y2==TILE_WALL||y2==TILE_WALL_CORNER)) walls++;
if ((xy1==TILE_WALL||xy1==TILE_WALL_CORNER)) walls++;
if ((xy2==TILE_WALL||xy2==TILE_WALL_CORNER)) walls++;
if ((xy3==TILE_WALL||xy3==TILE_WALL_CORNER)) walls++;
if ((xy4==TILE_WALL||xy4==TILE_WALL_CORNER)) walls++;
var floors=0;
if ((x1==TILE_FLOOR_CENTER||x1==TILE_FLOOR_EDGE)) floors++;
if ((y1==TILE_FLOOR_CENTER||y1==TILE_FLOOR_EDGE)) floors++;
if ((x2==TILE_FLOOR_CENTER||x2==TILE_FLOOR_EDGE)) floors++;
if ((y2==TILE_FLOOR_CENTER||y2==TILE_FLOOR_EDGE)) floors++;
if ((xy1==TILE_FLOOR_CENTER||xy1==TILE_FLOOR_EDGE)) floors++;
if ((xy2==TILE_FLOOR_CENTER||xy2==TILE_FLOOR_EDGE)) floors++;
if ((xy3==TILE_FLOOR_CENTER||xy3==TILE_FLOOR_EDGE)) floors++;
if ((xy4==TILE_FLOOR_CENTER||xy4==TILE_FLOOR_EDGE)) floors++;
var complete=0;
if (walls+floors==8) complete=1;
var angle=0;
if (complete)
{
var top=0;
var left=0;
var right=0;
var bottom=0;
if ((xy1==TILE_WALL||xy1==TILE_WALL_CORNER) && (y1==TILE_WALL||y1==TILE_WALL_CORNER) && (xy2==TILE_WALL||xy2==TILE_WALL_CORNER)) top=1;
else if ((xy1==TILE_FLOOR_CENTER||xy1==TILE_FLOOR_EDGE) && (y1==TILE_FLOOR_CENTER||y1==TILE_FLOOR_EDGE) && (xy2==TILE_FLOOR_CENTER||xy2==TILE_FLOOR_EDGE)) top=-1;
if ((xy2==TILE_WALL||xy2==TILE_WALL_CORNER) && (x2==TILE_WALL||x2==TILE_WALL_CORNER) && (xy4==TILE_WALL||xy4==TILE_WALL_CORNER)) right=1;
else if ((xy2==TILE_FLOOR_CENTER||xy2==TILE_FLOOR_EDGE) && (x2==TILE_FLOOR_CENTER||x2==TILE_FLOOR_EDGE) && (xy4==TILE_FLOOR_CENTER||xy4==TILE_FLOOR_EDGE)) right=-1;
if ((xy1==TILE_WALL||xy1==TILE_WALL_CORNER) && (x1==TILE_WALL||x1==TILE_WALL_CORNER) && (xy3==TILE_WALL||xy3==TILE_WALL_CORNER)) left=1;
else if ((xy1==TILE_FLOOR_CENTER||xy1==TILE_FLOOR_EDGE) && (x1==TILE_FLOOR_CENTER||x1==TILE_FLOOR_EDGE) && (xy3==TILE_FLOOR_CENTER||xy3==TILE_FLOOR_EDGE)) left=-1;
if ((xy3==TILE_WALL||xy3==TILE_WALL_CORNER) && (y2==TILE_WALL||y2==TILE_WALL_CORNER) && (xy4==TILE_WALL||xy4==TILE_WALL_CORNER)) bottom=1;
else if ((xy3==TILE_FLOOR_CENTER||xy3==TILE_FLOOR_EDGE) && (y2==TILE_FLOOR_CENTER||y2==TILE_FLOOR_EDGE) && (xy4==TILE_FLOOR_CENTER||xy4==TILE_FLOOR_EDGE)) bottom=-1;
if ((top==1 && bottom==-1) || (top==-1 && bottom==1) || (left==1 && right==-1) || (left==-1 && right==1)) angle=1;
}
if (pillars && Math.random()<0.8 && this.rooms[i].freeTiles>4)
{
if ((angle==1 || (complete && walls==7)) && me==TILE_FLOOR_EDGE && x1!=TILE_DOOR && x2!=TILE_DOOR && y1!=TILE_DOOR && y2!=TILE_DOOR)
{
this.data[x][y][0]=TILE_PILLAR;
me=TILE_PILLAR;
this.removeFreeTile(x,y);
this.rooms[i].freeTiles--;
}
}
//calculate score (for placing items and exits)
if (top==1 || bottom==1 || left==1 || right==1)
{
this.rooms[i].tiles[ii].score+=2;
}
if (walls>5 || floors>5)
{
this.rooms[i].tiles[ii].score+=1;
}
if (walls==7 || floors==8)
{
this.rooms[i].tiles[ii].score+=5;
}
if ((me!=TILE_FLOOR_CENTER && me!=TILE_FLOOR_EDGE) || x1==TILE_DOOR || x2==TILE_DOOR || y1==TILE_DOOR || y2==TILE_DOOR) this.rooms[i].tiles[ii].score=-1;
}
}
//carve entrance and exit
var entrance=this.getBestSpotInRoom(this.getEarliestRoom());
this.data[entrance.x][entrance.y][0]=TILE_ENTRANCE;
this.entrance=[entrance.x,entrance.y];
entrance.score=0;
this.removeFreeTile(entrance.x,entrance.y);
var exit=this.getBestSpotInRoom(this.getDeepestRoom());
this.data[exit.x][exit.y][0]=TILE_EXIT;
this.exit=[exit.x,exit.y];
this.removeFreeTile(exit.x,exit.y);
exit.score=0;
/*
for (var i in this.doors)//remove door tiles (to add later; replace the tiles by entities that delete themselves when opened)
{
this.data[this.doors[i][0]][this.doors[i][1]][0]=TILE_FLOOR_EDGE;
}
*/
}
this.Map.prototype.isObstacle=function(x,y)
{
var free=[TILE_FLOOR_EDGE,TILE_FLOOR_CENTER,TILE_DOOR,TILE_ENTRANCE,TILE_EXIT];
for (var i in free)
{
if (this.data[x][y][0]==free[i]) return 0;
}
return 1;
}
var joinTile=function(map,x,y,joinWith)
{
//for the tile at x,y, return 2 if it joins with its horizontal neighbors, 3 if it joins with its vertical neighbors, 1 if it joins with either both or neither.
//joinWith contains the tile types that count as joinable, in addition to this tile. (don't add the tested tile to joinWith!)
var p=1;
var me=map.data[x][y][0];
var x1=map.data[x-1][y][0];
var x2=map.data[x+1][y][0];
var y1=map.data[x][y-1][0];
var y2=map.data[x][y+1][0];
joinWith.push(me);
var joinsX=0;
for (var i in joinWith)
{
if (x1==joinWith[i]) joinsX++;
if (x2==joinWith[i]) joinsX++;
}
var joinsY=0;
for (var i in joinWith)
{
if (y1==joinWith[i]) joinsY++;
if (y2==joinWith[i]) joinsY++;
}
if (joinsX==2 && joinsY==2) p=1;
else if (joinsX==2) p=2;
else if (joinsY==2) p=3;
return p;
}
this.Map.prototype.getPic=function(x,y)
{
//return a position [x,y] in the tiles (as 0, 1, 2...) for the tile on the map at position x,y
if (Tiles[this.data[x][y][2]])
{
if (Tiles[this.data[x][y][2]].joinType=='join')
{
var thisPic=Tiles[this.data[x][y][2]].pic;
thisPic=[thisPic[0],thisPic[1]];//why is this even necessary?
var joinWith=[];
if (this.data[x][y][0]==TILE_WALL) joinWith.push(TILE_WALL_CORNER);
else if (this.data[x][y][0]==TILE_DOOR) joinWith.push(TILE_WALL,TILE_WALL_CORNER);
thisPic[0]+=joinTile(this,x,y,joinWith)-1;
return thisPic;
}
else if (Tiles[this.data[x][y][2]].joinType=='random3')
{
var thisPic=Tiles[this.data[x][y][2]].pic;
thisPic=[thisPic[0],thisPic[1]];
thisPic[0]+=Math.floor(Math.random()*3);
return thisPic;
}
return Tiles[this.data[x][y][2]].pic;
}
return [0,0];
}
var Tiles=[];
var TilesByName=[];
this.Tile=function(name,pic,joinType)
{
this.name=name;
this.pic=pic;
this.joinType=joinType||'none';
this.id=Tiles.length;
Tiles[this.id]=this;
TilesByName[this.name]=this;
}
new this.Tile('void',[0,0]);
this.loadTiles=function(tiles)
{
for (var i in tiles)
{
var name=tiles[i][0];
var pic=tiles[i][1];
var joinType=tiles[i][2];
new this.Tile(name,pic,joinType);
}
}
var computeTile=function(tile,tiles,value,name)
{
if (tile==value && tiles[name]) return TilesByName[tiles[name]];
return 0;
}
this.Map.prototype.assignTiles=function(room,tiles)
{
//set the displayed tiles for this room
for (var i in room.tiles)
{
var type=Tiles[0];
var me=room.tiles[i];
var tile=this.data[me.x][me.y][0];
type=computeTile(tile,tiles,TILE_WALL_CORNER,'wall corner')||type;
type=computeTile(tile,tiles,TILE_WALL,'wall')||type;
type=computeTile(tile,tiles,TILE_FLOOR_EDGE,'floor edges')||type;
type=computeTile(tile,tiles,TILE_FLOOR_CENTER,'floor')||type;
type=computeTile(tile,tiles,TILE_PILLAR,'pillar')||type;
type=computeTile(tile,tiles,TILE_DOOR,'door')||type;
type=computeTile(tile,tiles,TILE_WATER,'water')||type;
type=computeTile(tile,tiles,TILE_ENTRANCE,'entrance')||type;
type=computeTile(tile,tiles,TILE_EXIT,'exit')||type;
this.data[me.x][me.y][2]=type.id;
}
}
this.Map.prototype.draw=function(size)
{
//return a string containing a rough visual representation of the map
var str='';
var size=size||10;
for (var y=0;y<this.h;y++){for (var x=0;x<this.w;x++){
var text='';
if (this.isFloor(x,y)!=-1) text='o';
if (this.isWall(x,y)!=-1) text+='x';
var room=this.getRoom(x,y);
var opacity=Math.max(0.1,1-(this.getRoom(x,y).gen/10));
var title=room.freeTiles;//this.data[x][y][0].toString();
text='';
str+='<div style="opacity:'+opacity+';width:'+size+'px;height:'+size+'px;position:absolute;left:'+(x*size)+'px;top:'+(y*size)+'px;display:block;padding:0px;margin:0px;background:#'+colors[this.data[x][y][0]]+';color:#999;" title="'+title+'">'+text+'</div>';
}
str+='<br>';
}
str='<div style="position:relative;width:'+(this.w*size)+'px;height:'+(this.h*size)+'px;background:#000;font-family:Courier;font-size:'+size+'px;float:left;margin:10px;">'+str+'</div>';
return str;
}
this.Map.prototype.drawDetailed=function()
{
//return a string containing a rough visual representation of the map (with graphics)
var str='';
var size=16;
for (var y=0;y<this.h;y++){for (var x=0;x<this.w;x++){
var room=this.getRoom(x,y);
//var opacity=Math.max(0.1,room.tiles[this.getRoomTile(room,x,y)].score);
var opacity=1;
var title='void';
if (room!=-1)
{
opacity=Math.max(0.1,1-room.gen/5);
if (this.data[x][y][0]==TILE_ENTRANCE || this.data[x][y][0]==TILE_EXIT) opacity=1;
title=(room.corridor?'corridor':'room')+' '+room.id+' | depth : '+room.gen+' | children : '+room.children.length;
}
var pic=this.getPic(x,y);
str+='<div style="opacity:'+opacity+';width:'+size+'px;height:'+size+'px;position:absolute;left:'+(x*size)+'px;top:'+(y*size)+'px;display:block;padding:0px;margin:0px;background:#'+colors[this.data[x][y][0]]+' url(img/dungeonTiles.png) '+(-pic[0]*16)+'px '+(-pic[1]*16)+'px;color:#999;" title="'+title+'"></div>';
}
str+='<br>';
}
str='<div style="box-shadow:0px 0px 12px 6px #00061b;position:relative;width:'+(this.w*size)+'px;height:'+(this.h*size)+'px;background:#00061b;font-family:Courier;font-size:'+size+'px;float:left;margin:10px;">'+str+'</div>';
return str;
}
this.Map.prototype.getStr=function()
{
//return a string containing the map with tile graphics, ready to be pasted in a wrapper
var str='';
var size=16;
for (var y=0;y<this.h;y++){for (var x=0;x<this.w;x++){
var room=this.getRoom(x,y);
//var opacity=Math.max(0.1,room.tiles[this.getRoomTile(room,x,y)].score);
var opacity=1;
var title='void';
var pic=this.getPic(x,y);
if (room!=-1)
{
/*
opacity=Math.max(0.1,1-room.gen/5);
if (room.hidden) opacity=0;
if (this.data[x][y][0]==TILE_ENTRANCE || this.data[x][y][0]==TILE_EXIT) opacity=1;
*/
if (room.hidden) pic=[0,0];
title=(room.corridor?'corridor':'room')+' '+room.id+' | depth : '+room.gen+' | children : '+room.children.length;
}
str+='<div style="opacity:'+opacity+';width:'+size+'px;height:'+size+'px;position:absolute;left:'+(x*size)+'px;top:'+(y*size)+'px;display:block;padding:0px;margin:0px;background:#'+colors[this.data[x][y][0]]+' url(img/dungeonTiles.png) '+(-pic[0]*16)+'px '+(-pic[1]*16)+'px;color:#999;" title="'+title+'"></div>';
}
str+='<br>';
}
return str;
}
}

View File

@ -1,6 +0,0 @@
# Cookie-Clicker-Source-Code
2.021 source code for... educational purposes... <br>
Download and Extract to delete free time. Or just use the website. <br> <br>
Do not worry, I will be updating this to be up to date with the current Cookie Clicker version. <br>
<!-- Well guess what, 2.021 came out... what happened to 2.020?? -->
Credits obviously go Orteil, visit the official website here: http://orteil.dashnet.org/cookieclicker/

View File

@ -1,6 +0,0 @@
function ajax(url,callback){
var ajaxRequest;
try{ajaxRequest = new XMLHttpRequest();} catch (e){try{ajaxRequest=new ActiveXObject('Msxml2.XMLHTTP');} catch (e) {try{ajaxRequest=new ActiveXObject('Microsoft.XMLHTTP');} catch (e){alert("Something broke!");return false;}}}
if (callback){ajaxRequest.onreadystatechange=function(){if(ajaxRequest.readyState==4){callback(ajaxRequest.responseText);}}}
ajaxRequest.open('GET',url+'&nocache='+(new Date().getTime()),true);ajaxRequest.send(null);
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 944 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 634 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

View File

@ -1,230 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
window.cookieconsent_options = {"message":"Unsurprisingly, this website uses cookies for ads and traffic analysis.","dismiss":"Got it!","learnMore":"Learn more","link":"http://orteil.dashnet.org/cookieconsentpolicy.html","target":"_blank","theme":"http://orteil.dashnet.org/cookieconsent.css","domain":"dashnet.org"};
</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/cookieconsent.min.js"></script>
<title>Cookie Clicker</title>
<!--
Code and graphics copyright Orteil, 2013-2019
Feel free to alter this code to your liking, but please do not re-host it, do not profit from it and do not present it as your own.
-->
<meta name="viewport" content="width=900, initial-scale=1">
<link rel="shortcut icon" href="img/favicon.ico" />
<!--<link href="https://fonts.googleapis.com/css?family=Kavoon&subset=latin,latin-ext" rel="stylesheet" type="text/css">-->
<link href='https://fonts.googleapis.com/css?family=Merriweather:900&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<script src="showads.js"></script><!-- this just detects adblockers so we can adjust the layout and play nice -->
<script src="base64.js"></script>
<script src="main.js?v=2.058"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-8491708950677704",
enable_page_level_ads: true
});
</script>
<link href="style.css?v=2.050" rel="stylesheet" type="text/css">
<!--[if IE]>
<style type="text/css">
#ifIE9{display:block;}
</style>
<![endif]-->
<!--[if lt IE9]><script src="excanvas.compiled.js"></script><![endif]-->
</head>
<body>
<div id="wrapper">
<div id="topBar">
<div><b>Cookie Clicker</b>&trade; &copy; <a href="http://orteil.dashnet.org" target="_blank" id="topbarOrteil">Orteil</a>, 2019 - <a href="http://dashnet.org" target="_blank" id="topbarDashnet">DashNet</a></div>
<div><a href="http://twitter.com/orteil42" target="_blank" id="topbarTwitter">twitter</a></div>
<div><a href="http://orteil42.tumblr.com" target="_blank" id="topbarTumblr">tumblr</a></div>
<!--<div><a href="http://forum.dashnet.org" target="_blank">Official forum</a></div>-->
<div style="position:relative;"><div style="width:22px;height:32px;background:url(img/discord.png);position:absolute;left:0px;top:0px;pointer-events:none;"></div><a href="https://discordapp.com/invite/cookie" target="_blank" style="padding-left:16px;" id="topbarDiscord">Discord</a></div>
<div style="position:relative;"><div style="width:25px;height:32px;background:url(img/weeHoodie.png);position:absolute;left:-2px;top:0px;pointer-events:none;"></div><a class="blueLink" href="http://www.redbubble.com/people/dashnet" target="_blank" style="padding-left:12px;" id="topbarMerch">Merch!</a></div>
<div style="position:relative;"><div style="width:22px;height:32px;background:url(img/patreon.png);position:absolute;left:0px;top:0px;pointer-events:none;"></div><a class="orangeLink" href="https://www.patreon.com/dashnet" target="_blank" style="padding-left:16px;" id="topbarPatreon">Patreon</a></div>
<div style="position:relative;display:none;font-weight:bold;" id="heralds"><div style="position:absolute;top:-4px;width:31px;height:39px;background:url(img/heraldFlag.png);left:50%;margin-left:-15px;pointer-events:none;"></div><div id="heraldsAmount" style="position:relative;z-index:10;text-shadow:0px 1px 0px #000,0px 0px 6px #ff00e4;color:#fff;">-</div></div>
<div><a class="lightblueLink" style="font-weight:bold;" href="https://play.google.com/store/apps/details?id=org.dashnet.cookieclicker" target="_blank" id="topbarMobileCC">Cookie Clicker for Android</a></div>
<div><a href="http://orteil.dashnet.org/randomgen/" target="_blank" id="topbarRandomgen">RandomGen</a></div>
<div><a href="http://orteil.dashnet.org/igm/" target="_blank" id="topbarIGM">Idle Game Maker</a></div>
<div id="links" class="hoverer">
Other versions
<div class="hoverable">
<a href="../" target="_blank" id="linkVersionLive">Live version</a>
<a href="beta" target="_blank" id="linkVersionBeta">Try the beta!</a>
<a href="http://orteil.dashnet.org/cookieclicker/v10466" target="_blank" id="linkVersionOld">v. 1.0466</a>
<a href="http://orteil.dashnet.org/experiments/cookie/" target="_blank">Classic</a>
</div>
</div>
</div>
<div id="game">
<div id="javascriptError">
<div id="loader">
<div class="spinnyBig"></div>
<div class="spinnySmall"></div>
<div id="loading" class="title">Loading...</div>
<div id="failedToLoad" class="title">This is taking longer than expected.<br>
<div style="font-size:65%;line-height:120%;">Slow connection? If not, please make sure your javascript is enabled, then refresh.<br>
If problems persist, this might be on our side - wait a few minutes, then hit ctrl+f5!</div></div>
<div id="ifIE9" class="title" style="font-size:100%;line-height:120%;">Your browser may not be recent enough to run Cookie Clicker.<br>You might want to update, or switch to a more modern browser such as Chrome or Firefox.</div>
<!--<div class="title">Oops, looks like we've got a problem.</div>
<div>Please bear with us while we fix it.<br>Your save is safe, don't worry!</div>-->
</div>
</div>
<canvas id="backgroundCanvas"></canvas>
<div id="goldenCookie" class="goldenCookie"></div>
<div id="seasonPopup" class="seasonPopup"></div>
<div id="shimmers"></div>
<div id="alert"></div>
<div id="particles"></div>
<div id="sparkles" class="sparkles"></div>
<div id="notes"></div>
<div id="darken"></div>
<div id="toggleBox" class="framed prompt"></div>
<div id="promptAnchor"><div id="prompt" class="framed"><div id="promptContent"></div><div class="close" onclick="PlaySound('snd/tick.mp3');Game.ClosePrompt();">x</div></div></div>
<div id="versionNumber" class="title"></div>
<div id="ascend">
<div id="ascendBG"></div>
<div id="ascendZoomable"><div id="ascendContent"><div id="ascendUpgrades" style="position:absolute;"></div></div></div>
<div id="ascendOverlay"></div>
</div>
<div id="debug"><div id="devConsole" class="framed"></div><div id="debugLog"></div></div>
<div id="sectionLeft" class="inset">
<canvas id="backgroundLeftCanvas" style="z-index:5;"></canvas>
<div class="blackFiller"></div>
<div class="blackGradient"></div>
<div id="sectionLeftInfo"></div>
<div id="cookies" class="title"></div>
<div id="bakeryNameAnchor"><div id="bakeryName" class="title"></div></div>
<div id="specialPopup" class="framed prompt offScreen"></div>
<div id="buffs" class="crateBox"></div>
<div id="cookieAnchor">
<div id="bigCookie"></div>
<div id="cookieNumbers"></div>
</div>
<div id="sectionLeftExtra"></div>
</div>
<div class="separatorLeft"></div>
<div class="separatorRight"></div>
<div id="sectionMiddle" class="inset">
<div id="comments" class="inset title">
<div id="prefsButton" class="button">Options</div>
<div id="statsButton" class="button">Stats</div>
<div id="logButton" class="button"><div id="checkForUpdate">New update!</div>Info</div>
<div id="legacyButton" class="button">Legacy<div id="ascendMeterContainer" class="smallFramed meterContainer"><div id="ascendMeter" class="meter filling"></div></div><div class="roundedPanel" id="ascendNumber"></div><div id="ascendTooltip" class="framed"></div></div>
<div id="commentsTextBelow" class="commentsText"></div>
<div id="commentsText" class="commentsText"></div>
<div class="separatorBottom"></div>
</div>
<div id="centerArea">
<div id="buildingsTitle" class="inset title zoneTitle">Buildings</div>
<div id="buildingsMaster"></div>
<div id="rows"></div>
<div id="menu"></div>
<!--
<div id="donateBox">
<form target="_blank" action="https://www.paypal.com/cgi-bin/webscr" method="post" id="donate" style="margin:0px 16px;">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="BBN2WL3TC6QH4">
<input type="image" src="https://www.paypalobjects.com/en_GB/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal — The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/nl_NL/i/scr/pixel.gif" width="1" height="1">
</form>
<small>Help us keep developing the game!</small>
</div>
-->
</div>
</div>
<div id="sectionRight" class="inset">
<div class="ifNoAds" style="width:300px;text-align:center;padding:8px 0px;background:rgba(0,0,0,0.95);font-size:10px;opacity:0.5;text-shadow:0px 0px 2px #000,0px 1px 0px #000;text-align:center;">
Cookie Clicker is mainly supported by ads.<br>Consider unblocking our site or checking out our <a href="https://www.patreon.com/dashnet" target="_blank">Patreon</a>!
</div>
<div id="smallSupport" style="width:300px;text-align:center;padding-bottom:40px;background:rgba(0,0,0,0.5);position:relative;z-index:100;">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Cookie Clicker Header Responsive -->
<ins class="adsbygoogle"
style="display:block;margin:auto;width:300px;max-height:300px;overflow:hidden;"
data-ad-client="ca-pub-8491708950677704"
data-ad-slot="7077525342"
data-ad-format="rectangle"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<div class="supportComment">^ Sponsored link ^</div>
</div>
<div id="store">
<div id="storeTitle" class="inset title zoneTitle">Store</div>
<div id="toggleUpgrades" class="storeSection upgradeBox"></div>
<div id="techUpgrades" class="storeSection upgradeBox"></div>
<div id="vaultUpgrades" class="storeSection upgradeBox"></div>
<div id="upgrades" class="storeSection upgradeBox"></div>
<div id="products" class="storeSection"></div>
</div>
<div id="detectAds" class="adBanner" style="background:transparent;width:1px;height:1px;"></div>
<div id="support" style="margin-top:130px;">
<div class="supportComment">v Sponsored links v</div>
<div style="position:relative;">
<div style="position:relative;z-index:100;min-height:250px;">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Cookie Clicker Responsive -->
<ins class="adsbygoogle"
style="display:block;margin:auto;"
data-ad-client="ca-pub-8491708950677704"
data-ad-slot="9780186019"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<div style="height:16px;"></div>
<!-- AdventureQuest Worlds banner -->
<a class="ad" id="aqad" href="http://www.aq.com/landing/cookie/?utm_campaign=AQW_CookieClicker&utm_source=CookieClicker" target="_blank" title="AdventureQuest Worlds" style="background:url(img/aqworldsbanner.jpg) no-repeat;width:300px;height:64px;display:block;position:relative;margin:0px auto;">
</a>
</div>
</div>
</div>
</div>
<div id="focusButtons">
<div id="focusLeft" class="title">Cookie</div>
<div id="focusMiddle" class="title" style="font-size:80%;padding-top:18px;padding-bottom:14px;">Buildings</div>
<div id="focusRight" class="title">Store</div>
<div id="focusMenu" class="title">Menu</div>
</div>
<div id="compactOverlay" class="title">
<div id="compactCommentsText" class="commentsText"></div>
<div id="compactCookies"></div>
<div class="separatorBottom"></div>
</div>
<div id="tooltipAnchor"><div id="tooltip" class="framed" onMouseOut="Game.tooltip.hide();"></div></div>
</div>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -1,500 +0,0 @@
var M={};
M.parent=Game.Objects['Wizard tower'];
M.parent.minigame=M;
M.launch=function()
{
var M=this;
M.name=M.parent.minigameName;
M.init=function(div)
{
//populate div with html and initialize values
M.spells={
'conjure baked goods':{
name:'Conjure Baked Goods',
desc:'Summon half an hour worth of your CpS, capped at 15% of your cookies owned.',
failDesc:'Trigger a 15-minute clot and lose 15 minutes of CpS.',
icon:[21,11],
costMin:2,
costPercent:0.4,
win:function()
{
var val=Math.max(7,Math.min(Game.cookies*0.15,Game.cookiesPs*60*30));
Game.Earn(val);
Game.Notify('Conjure baked goods!','You magic <b>'+Beautify(val)+' cookie'+(val==1?'':'s')+'</b> out of thin air.',[21,11],6);
Game.Popup('<div style="font-size:80%;">+'+Beautify(val)+' cookie'+(val==1?'':'s')+'!</div>',Game.mouseX,Game.mouseY);
},
fail:function()
{
var buff=Game.gainBuff('clot',60*15,0.5);
var val=Math.min(Game.cookies*0.15,Game.cookiesPs*60*15)+13;
val=Math.min(Game.cookies,val);
Game.Spend(val);
Game.Notify(buff.name,buff.desc,buff.icon,6);
Game.Popup('<div style="font-size:80%;">Backfire!<br>Summoning failed! Lost '+Beautify(val)+' cookie'+(val==1?'':'s')+'!</div>',Game.mouseX,Game.mouseY);
},
},
'hand of fate':{
name:'Force the Hand of Fate',
desc:'Summon a random golden cookie. Each existing golden cookie makes this spell +15% more likely to backfire.',
failDesc:'Summon an unlucky wrath cookie.',
icon:[22,11],
costMin:10,
costPercent:0.6,
failFunc:function(fail)
{
return fail+0.15*Game.shimmerTypes['golden'].n;
},
win:function()
{
var newShimmer=new Game.shimmer('golden',{noWrath:true});
var choices=[];
choices.push('frenzy','multiply cookies');
if (!Game.hasBuff('Dragonflight')) choices.push('click frenzy');
if (Math.random()<0.1) choices.push('chain cookie','cookie storm','blab');
if (Game.BuildingsOwned>=10 && Math.random()<0.25) choices.push('building special');
//if (Math.random()<0.2) choices.push('clot','cursed finger','ruin cookies');
if (Math.random()<0.15) choices=['cookie storm drop'];
if (Math.random()<0.0001) choices.push('free sugar lump');
newShimmer.force=choose(choices);
if (newShimmer.force=='cookie storm drop')
{
newShimmer.sizeMult=Math.random()*0.75+0.25;
}
Game.Popup('<div style="font-size:80%;">Promising fate!</div>',Game.mouseX,Game.mouseY);
},
fail:function()
{
var newShimmer=new Game.shimmer('golden',{wrath:true});
var choices=[];
choices.push('clot','ruin cookies');
if (Math.random()<0.1) choices.push('cursed finger','blood frenzy');
if (Math.random()<0.003) choices.push('free sugar lump');
if (Math.random()<0.1) choices=['blab'];
newShimmer.force=choose(choices);
Game.Popup('<div style="font-size:80%;">Backfire!<br>Sinister fate!</div>',Game.mouseX,Game.mouseY);
},
},
'stretch time':{
name:'Stretch Time',
desc:'All active buffs gain 10% more time (up to 5 more minutes).',
failDesc:'All active buffs are shortened by 20% (up to 10 minutes shorter).',
icon:[23,11],
costMin:8,
costPercent:0.2,
win:function()
{
var changed=0;
for (var i in Game.buffs)
{
var me=Game.buffs[i];
var gain=Math.min(Game.fps*60*5,me.maxTime*0.1);
me.maxTime+=gain;
me.time+=gain;
changed++;
}
if (changed==0){Game.Popup('<div style="font-size:80%;">No buffs to alter!</div>',Game.mouseX,Game.mouseY);return -1;}
Game.Popup('<div style="font-size:80%;">Zap! Buffs lengthened.</div>',Game.mouseX,Game.mouseY);
},
fail:function()
{
var changed=0;
for (var i in Game.buffs)
{
var me=Game.buffs[i];
var loss=Math.min(Game.fps*60*10,me.time*0.2);
me.time-=loss;
me.time=Math.max(me.time,0);
changed++;
}
if (changed==0){Game.Popup('<div style="font-size:80%;">No buffs to alter!</div>',Game.mouseX,Game.mouseY);return -1;}
Game.Popup('<div style="font-size:80%;">Backfire!<br>Fizz! Buffs shortened.</div>',Game.mouseX,Game.mouseY);
},
},
'spontaneous edifice':{
name:'Spontaneous Edifice',
desc:'The spell picks a random building you could afford if you had twice your current cookies, and gives it to you for free. The building selected must be under 400, and cannot be your most-built one (unless it is your only one).',
failDesc:'Lose a random building.',
icon:[24,11],
costMin:20,
costPercent:0.75,
win:function()
{
var buildings=[];
var max=0;
var n=0;
for (var i in Game.Objects)
{
if (Game.Objects[i].amount>max) max=Game.Objects[i].amount;
if (Game.Objects[i].amount>0) n++;
}
for (var i in Game.Objects)
{if ((Game.Objects[i].amount<max || n==1) && Game.Objects[i].getPrice()<=Game.cookies*2 && Game.Objects[i].amount<400) buildings.push(Game.Objects[i]);}
if (buildings.length==0){Game.Popup('<div style="font-size:80%;">No buildings to improve!</div>',Game.mouseX,Game.mouseY);return -1;}
var building=choose(buildings);
building.buyFree(1);
Game.Popup('<div style="font-size:80%;">A new '+building.single+'<br>bursts out of the ground.</div>',Game.mouseX,Game.mouseY);
},
fail:function()
{
if (Game.BuildingsOwned==0){Game.Popup('<div style="font-size:80%;">Backfired, but no buildings to destroy!</div>',Game.mouseX,Game.mouseY);return -1;}
var buildings=[];
for (var i in Game.Objects)
{if (Game.Objects[i].amount>0) buildings.push(Game.Objects[i]);}
var building=choose(buildings);
building.sacrifice(1);
Game.Popup('<div style="font-size:80%;">Backfire!<br>One of your '+building.plural+'<br>disappears in a puff of smoke.</div>',Game.mouseX,Game.mouseY);
},
},
'haggler\'s charm':{
name:'Haggler\'s Charm',
desc:'Upgrades are 2% cheaper for 1 minute.',
failDesc:'Upgrades are 2% more expensive for an hour.<q>What\'s that spell? Loadsamoney!</q>',
icon:[25,11],
costMin:10,
costPercent:0.1,
win:function()
{
Game.killBuff('Haggler\'s misery');
var buff=Game.gainBuff('haggler luck',60,2);
Game.Popup('<div style="font-size:80%;">Upgrades are cheaper!</div>',Game.mouseX,Game.mouseY);
},
fail:function()
{
Game.killBuff('Haggler\'s luck');
var buff=Game.gainBuff('haggler misery',60*60,2);
Game.Popup('<div style="font-size:80%;">Backfire!<br>Upgrades are pricier!</div>',Game.mouseX,Game.mouseY);
},
},
'summon crafty pixies':{
name:'Summon Crafty Pixies',
desc:'Buildings are 2% cheaper for 1 minute.',
failDesc:'Buildings are 2% more expensive for an hour.',
icon:[26,11],
costMin:10,
costPercent:0.2,
win:function()
{
Game.killBuff('Nasty goblins');
var buff=Game.gainBuff('pixie luck',60,2);
Game.Popup('<div style="font-size:80%;">Crafty pixies!<br>Buildings are cheaper!</div>',Game.mouseX,Game.mouseY);
},
fail:function()
{
Game.killBuff('Crafty pixies');
var buff=Game.gainBuff('pixie misery',60*60,2);
Game.Popup('<div style="font-size:80%;">Backfire!<br>Nasty goblins!<br>Buildings are pricier!</div>',Game.mouseX,Game.mouseY);
},
},
'gambler\'s fever dream':{
name:'Gambler\'s Fever Dream',
desc:'Cast a random spell at half the magic cost, with twice the chance of backfiring.',
icon:[27,11],
costMin:3,
costPercent:0.05,
win:function()
{
var spells=[];
var selfCost=M.getSpellCost(M.spells['gambler\'s fever dream']);
for (var i in M.spells)
{if (i!='gambler\'s fever dream' && (M.magic-selfCost)>=M.getSpellCost(M.spells[i])*0.5) spells.push(M.spells[i]);}
if (spells.length==0){Game.Popup('<div style="font-size:80%;">No eligible spells!</div>',Game.mouseX,Game.mouseY);return -1;}
var spell=choose(spells);
var cost=M.getSpellCost(spell)*0.5;
setTimeout(function(){
var out=M.castSpell(spell,{cost:cost,failChanceMax:0.5,passthrough:true});
if (!out)
{
M.magic+=selfCost;
setTimeout(function(){
Game.Popup('<div style="font-size:80%;">That\'s too bad!<br>Magic refunded.</div>',Game.mouseX,Game.mouseY);
},1500);
}
},1000);
Game.Popup('<div style="font-size:80%;">Casting '+spell.name+'<br>for '+Beautify(cost)+' magic...</div>',Game.mouseX,Game.mouseY);
},
},
'resurrect abomination':{
name:'Resurrect Abomination',
desc:'Instantly summon a wrinkler if conditions are fulfilled.',
failDesc:'Pop one of your wrinklers.',
icon:[28,11],
costMin:20,
costPercent:0.1,
win:function()
{
var out=Game.SpawnWrinkler();
if (!out){Game.Popup('<div style="font-size:80%;">Unable to spawn a wrinkler!</div>',Game.mouseX,Game.mouseY);return -1;}
Game.Popup('<div style="font-size:80%;">Rise, my precious!</div>',Game.mouseX,Game.mouseY);
},
fail:function()
{
var out=Game.PopRandomWrinkler();
if (!out){Game.Popup('<div style="font-size:80%;">Backfire!<br>But no wrinkler was harmed.</div>',Game.mouseX,Game.mouseY);return -1;}
Game.Popup('<div style="font-size:80%;">Backfire!<br>So long, ugly...</div>',Game.mouseX,Game.mouseY);
},
},
'diminish ineptitude':{
name:'Diminish Ineptitude',
desc:'Spells backfire 10 times less for the next 5 minutes.',
failDesc:'Spells backfire 5 times more for the next 10 minutes.',
icon:[29,11],
costMin:5,
costPercent:0.2,
win:function()
{
Game.killBuff('Magic inept');
var buff=Game.gainBuff('magic adept',5*60,10);
Game.Popup('<div style="font-size:80%;">Ineptitude diminished!</div>',Game.mouseX,Game.mouseY);
},
fail:function()
{
Game.killBuff('Magic adept');
var buff=Game.gainBuff('magic inept',10*60,5);
Game.Popup('<div style="font-size:80%;">Backfire!<br>Ineptitude magnified!</div>',Game.mouseX,Game.mouseY);
},
},
};
M.spellsById=[];var n=0;
for (var i in M.spells){M.spells[i].id=n;M.spellsById[n]=M.spells[i];n++;}
M.computeMagicM=function()
{
var towers=Math.max(M.parent.amount,1);
var lvl=Math.max(M.parent.level,1);
M.magicM=Math.floor(4+Math.pow(towers,0.6)+Math.log((towers+(lvl-1)*10)/15+1)*15);
//old formula :
/*
M.magicM=8+Math.min(M.parent.amount,M.parent.level*5)+Math.ceil(M.parent.amount/10);
if (M.magicM>200)
{
//diminishing returns starting at 200, being 5% as fast by 400
var x=M.magicM;
var top=x-200;
top/=200;
var top2=top;
top*=(1-top/2);
if (top2>=1) top=0.5;
top=top*0.95+top2*0.05;
top*=200;
x=top+200;
M.magicM=x;
}
*/
M.magic=Math.min(M.magicM,M.magic);
}
M.getFailChance=function(spell)
{
var failChance=0.15;
if (Game.hasBuff('Magic adept')) failChance*=0.1;
if (Game.hasBuff('Magic inept')) failChance*=5;
if (spell.failFunc) failChance=spell.failFunc(failChance);
return failChance;
}
M.castSpell=function(spell,obj)
{
var obj=obj||{};
var out=0;
var cost=0;
var fail=false;
if (typeof obj.cost!=='undefined') cost=obj.cost; else cost=M.getSpellCost(spell);
if (M.magic<cost) return false;
var failChance=M.getFailChance(spell);
if (typeof obj.failChanceSet!=='undefined') failChance=obj.failChanceSet;
if (typeof obj.failChanceAdd!=='undefined') failChance+=obj.failChanceAdd;
if (typeof obj.failChanceMult!=='undefined') failChance*=obj.failChanceMult;
if (typeof obj.failChanceMax!=='undefined') failChance=Math.max(failChance,obj.failChanceMax);
Math.seedrandom(Game.seed+'/'+M.spellsCastTotal);
if (!spell.fail || Math.random()<(1-failChance)) {out=spell.win();} else {fail=true;out=spell.fail();}
Math.seedrandom();
if (out!=-1)
{
if (!spell.passthrough && !obj.passthrough)
{
M.spellsCast++;
M.spellsCastTotal++;
if (M.spellsCastTotal>=9) Game.Win('Bibbidi-bobbidi-boo');
if (M.spellsCastTotal>=99) Game.Win('I\'m the wiz');
if (M.spellsCastTotal>=999) Game.Win('A wizard is you');
}
M.magic-=cost;
M.magic=Math.max(0,M.magic);
var rect=l('grimoireSpell'+spell.id).getBoundingClientRect();
Game.SparkleAt((rect.left+rect.right)/2,(rect.top+rect.bottom)/2-24);
if (fail) PlaySound('snd/spellFail.mp3',0.75); else PlaySound('snd/spell.mp3',0.75);
return true;
}
PlaySound('snd/spellFail.mp3',0.75);
return false;
}
M.getSpellCost=function(spell)
{
var out=spell.costMin;
if (spell.costPercent) out+=M.magicM*spell.costPercent;
return Math.floor(out);
}
M.getSpellCostBreakdown=function(spell)
{
var str='';
if (spell.costPercent) str+=Beautify(spell.costMin)+' magic +'+Beautify(Math.ceil(spell.costPercent*100))+'% of max magic';
else str+=Beautify(spell.costMin)+' magic';
return str;
}
M.spellTooltip=function(id)
{
return function(){
var me=M.spellsById[id];
me.icon=me.icon||[28,12];
var cost=Beautify(M.getSpellCost(me));
var costBreakdown=M.getSpellCostBreakdown(me);
if (cost!=costBreakdown) costBreakdown=' <small>('+costBreakdown+')</small>'; else costBreakdown='';
var backfire=M.getFailChance(me);
var str='<div style="padding:8px 4px;min-width:350px;">'+
'<div class="icon" style="float:left;margin-left:-8px;margin-top:-8px;background-position:'+(-me.icon[0]*48)+'px '+(-me.icon[1]*48)+'px;"></div>'+
'<div class="name">'+me.name+'</div>'+
'<div>Magic cost : <b style="color:#'+(cost<=M.magic?'6f6':'f66')+';">'+cost+'</b>'+costBreakdown+'</div>'+
(me.fail?('<div><small>Chance to backfire : <b style="color:#f66">'+Math.ceil(100*backfire)+'%</b></small></div>'):'')+
'<div class="line"></div><div class="description"><b>Effect :</b> '+me.desc+(me.failDesc?('<div style="height:8px;"></div><b>Backfire :</b> '+me.failDesc):'')+'</div></div>';
return str;
};
}
var str='';
str+='<style>'+
'#grimoireBG{background:url(img/shadedBorders.png),url(img/grimoireBG.png);background-size:100% 100%,auto;position:absolute;left:0px;right:0px;top:0px;bottom:16px;}'+
'#grimoireContent{position:relative;box-sizing:border-box;padding:4px 24px;}'+
'#grimoireBar{max-width:95%;margin:4px auto;height:16px;}'+
'#grimoireBarFull{transform:scale(1,2);transform-origin:50% 0;height:50%;}'+
'#grimoireBarText{transform:scale(1,0.8);width:100%;position:absolute;left:0px;top:0px;text-align:center;color:#fff;text-shadow:-1px 1px #000,0px 0px 4px #000,0px 0px 6px #000;margin-top:2px;}'+
'#grimoireSpells{text-align:center;width:100%;padding:8px;box-sizing:border-box;}'+
'.grimoireIcon{pointer-events:none;margin:2px 6px 0px 6px;width:48px;height:48px;opacity:0.8;position:relative;}'+
'.grimoirePrice{pointer-events:none;}'+
'.grimoireSpell{box-shadow:4px 4px 4px #000;cursor:pointer;position:relative;color:#f33;opacity:0.8;text-shadow:0px 0px 4px #000,0px 0px 6px #000;font-weight:bold;font-size:12px;display:inline-block;width:60px;height:74px;background:url(img/spellBG.png);}'+
'.grimoireSpell.ready{color:rgba(255,255,255,0.8);opacity:1;}'+
'.grimoireSpell.ready:hover{color:#fff;}'+
'.grimoireSpell:hover{box-shadow:6px 6px 6px 2px #000;z-index:1000000001;top:-1px;}'+
'.grimoireSpell:active{top:1px;}'+
'.grimoireSpell.ready .grimoireIcon{opacity:1;}'+
'.grimoireSpell:hover{background-position:0px -74px;} .grimoireSpell:active{background-position:0px 74px;}'+
'.grimoireSpell:nth-child(4n+1){background-position:-60px 0px;} .grimoireSpell:nth-child(4n+1):hover{background-position:-60px -74px;} .grimoireSpell:nth-child(4n+1):active{background-position:-60px 74px;}'+
'.grimoireSpell:nth-child(4n+2){background-position:-120px 0px;} .grimoireSpell:nth-child(4n+2):hover{background-position:-120px -74px;} .grimoireSpell:nth-child(4n+2):active{background-position:-120px 74px;}'+
'.grimoireSpell:nth-child(4n+3){background-position:-180px 0px;} .grimoireSpell:nth-child(4n+3):hover{background-position:-180px -74px;} .grimoireSpell:nth-child(4n+3):active{background-position:-180px 74px;}'+
'.grimoireSpell:hover .grimoireIcon{top:-1px;}'+
'.grimoireSpell.ready:hover .grimoireIcon{animation-name:bounce;animation-iteration-count:infinite;animation-duration:0.8s;}'+
'#grimoireLumpRefill{cursor:pointer;width:48px;height:48px;position:absolute;left:-40px;top:-17px;transform:scale(0.5);z-index:1000;transition:transform 0.05s;}'+
'#grimoireLumpRefill:hover{transform:scale(1);}'+
'#grimoireLumpRefill:active{transform:scale(0.4);}'+
'#grimoireInfo{text-align:center;font-size:11px;margin-top:12px;color:rgba(255,255,255,0.75);text-shadow:-1px 1px 0px #000;}'+
'</style>';
str+='<div id="grimoireBG"></div>';
str+='<div id="grimoireContent">';
str+='<div id="grimoireSpells">';//did you know adding class="shadowFilter" to this cancels the "z-index:1000000001" that displays the selected spell above the tooltip? stacking orders are silly https://philipwalton.com/articles/what-no-one-told-you-about-z-index/
for (var i in M.spells)
{
var me=M.spells[i];
var icon=me.icon||[28,12];
str+='<div class="grimoireSpell titleFont" id="grimoireSpell'+me.id+'" '+Game.getDynamicTooltip('Game.ObjectsById['+M.parent.id+'].minigame.spellTooltip('+me.id+')','this')+'><div class="usesIcon shadowFilter grimoireIcon" style="background-position:'+(-icon[0]*48)+'px '+(-icon[1]*48)+'px;"></div><div class="grimoirePrice" id="grimoirePrice'+me.id+'">-</div></div>';
}
str+='</div>';
var icon=[29,14];
str+='<div id="grimoireBar" class="smallFramed meterContainer"><div '+Game.getTooltip('<div style="padding:8px;width:300px;font-size:11px;text-align:center;">Click to refill <b>100 units</b> of your magic meter<br>for <span class="price lump">1 sugar lump</span>.</div>')+' id="grimoireLumpRefill" class="usesIcon shadowFilter" style="background-position:'+(-icon[0]*48)+'px '+(-icon[1]*48)+'px;"></div><div id="grimoireBarFull" class="meter filling"></div><div id="grimoireBarText" class="titleFont"></div><div '+Game.getTooltip('<div style="padding:8px;width:300px;font-size:11px;text-align:center;">This is your magic meter. Each spell costs magic to use.<div class="line"></div>Your maximum amount of magic varies depending on your amount of <b>Wizard towers</b>, and their level.<div class="line"></div>Magic refills over time. The lower your magic meter, the slower it refills.</div>')+' style="position:absolute;left:0px;top:0px;right:0px;bottom:0px;"></div></div>';
str+='<div id="grimoireInfo"></div>';
str+='</div>';
div.innerHTML=str;
M.magicBarL=l('grimoireBar');
M.magicBarFullL=l('grimoireBarFull');
M.magicBarTextL=l('grimoireBarText');
M.lumpRefill=l('grimoireLumpRefill');
M.infoL=l('grimoireInfo');
for (var i in M.spells)
{
var me=M.spells[i];
AddEvent(l('grimoireSpell'+me.id),'click',function(spell){return function(){PlaySound('snd/tick.mp3');M.castSpell(spell);}}(me));
}
AddEvent(M.lumpRefill,'click',function(){
if (Game.lumps>=1 && M.magic<M.magicM)
{
M.magic+=100;
M.magic=Math.min(M.magic,M.magicM);
Game.lumps-=1;
PlaySound('snd/pop'+Math.floor(Math.random()*3+1)+'.mp3',0.75);
}
});
M.computeMagicM();
M.magic=M.magicM;
M.spellsCast=0;
M.spellsCastTotal=0;
//M.parent.switchMinigame(1);
}
M.save=function()
{
//output cannot use ",", ";" or "|"
var str=''+
parseFloat(M.magic)+' '+
parseInt(Math.floor(M.spellsCast))+' '+
parseInt(Math.floor(M.spellsCastTotal))
;
return str;
}
M.load=function(str)
{
//interpret str; called after .init
//note : not actually called in the Game's load; see "minigameSave" in main.js
if (!str) return false;
var i=0;
var spl=str.split(' ');
M.computeMagicM();
M.magic=parseFloat(spl[i++]||M.magicM);
M.spellsCast=parseInt(spl[i++]||0);
M.spellsCastTotal=parseInt(spl[i++]||0);
}
M.reset=function()
{
M.computeMagicM();
M.magic=M.magicM;
M.spellsCast=0;
}
M.logic=function()
{
//run each frame
if (Game.T%5==0) {M.computeMagicM();}
M.magicPS=Math.max(0.002,Math.pow(M.magic/Math.max(M.magicM,100),0.5))*0.002;
M.magic+=M.magicPS;
M.magic=Math.min(M.magic,M.magicM);
if (Game.T%5==0)
{
for (var i in M.spells)
{
var me=M.spells[i];
var cost=M.getSpellCost(me);
l('grimoirePrice'+me.id).innerHTML=Beautify(cost);
if (M.magic<cost) l('grimoireSpell'+me.id).className='grimoireSpell titleFont';
else l('grimoireSpell'+me.id).className='grimoireSpell titleFont ready';
}
}
}
M.draw=function()
{
//run each draw frame
M.magicBarTextL.innerHTML=Math.min(Math.floor(M.magicM),Beautify(M.magic))+'/'+Beautify(Math.floor(M.magicM))+(M.magic<M.magicM?(' (+'+Beautify((M.magicPS||0)*Game.fps,2)+'/s)'):'');
M.magicBarFullL.style.width=((M.magic/M.magicM)*100)+'%';
M.magicBarL.style.width=(M.magicM*3)+'px';
M.infoL.innerHTML='Spells cast : '+Beautify(M.spellsCast)+' (total : '+Beautify(M.spellsCastTotal)+')';
}
M.init(l('rowSpecial'+M.parent.id));
}
var M=0;

View File

@ -1,500 +0,0 @@
var M={};
M.parent=Game.Objects['Temple'];
M.parent.minigame=M;
M.launch=function()
{
var M=this;
M.name=M.parent.minigameName;
M.init=function(div)
{
//populate div with html and initialize values
M.gods={
'asceticism':{
name:'Holobore, Spirit of Asceticism',
icon:[21,18],
desc1:'+15% base CpS.',
desc2:'+10% base CpS.',
desc3:'+5% base CpS.',
descAfter:'If a golden cookie is clicked, this spirit is unslotted and all worship swaps will be used up.',
quote:'An immortal life spent focusing on the inner self, away from the distractions of material wealth.',
},
'decadence':{
name:'Vomitrax, Spirit of Decadence',
icon:[22,18],
desc1:'Golden and wrath cookie effect duration +7%, but buildings grant -7% CpS.',
desc2:'Golden and wrath cookie effect duration +5%, but buildings grant -5% CpS.',
desc3:'Golden and wrath cookie effect duration +2%, but buildings grant -2% CpS.',
quote:'This sleazy spirit revels in the lust for quick easy gain and contempt for the value of steady work.',
},
'ruin':{
name:'Godzamok, Spirit of Ruin',
icon:[23,18],
descBefore:'Selling buildings triggers a buff boosted by how many buildings were sold.',
desc1:'Buff boosts clicks by +1% for every building sold for 10 seconds.',
desc2:'Buff boosts clicks by +0.5% for every building sold for 10 seconds.',
desc3:'Buff boosts clicks by +0.25% for every building sold for 10 seconds.',
quote:'The embodiment of natural disasters. An impenetrable motive drives the devastation caused by this spirit.',
},
'ages':{
name:'Cyclius, Spirit of Ages',
icon:[24,18],
activeDescFunc:function()
{
var godLvl=Game.hasGod('ages');
var mult=1;
if (godLvl==1) mult*=0.15*Math.sin((Date.now()/1000/(60*60*3))*Math.PI*2);
else if (godLvl==2) mult*=0.15*Math.sin((Date.now()/1000/(60*60*12))*Math.PI*2);
else if (godLvl==3) mult*=0.15*Math.sin((Date.now()/1000/(60*60*24))*Math.PI*2);
return 'Current bonus : '+(mult<0?'-':'+')+Beautify(Math.abs(mult)*100,2)+'%.';
},
descBefore:'CpS bonus fluctuating between +15% and -15% over time.',
desc1:'Effect cycles over 3 hours.',
desc2:'Effect cycles over 12 hours.',
desc3:'Effect cycles over 24 hours.',
quote:'This spirit knows about everything you\'ll ever do, and enjoys dispensing a harsh judgement.',
},
'seasons':{
name:'Selebrak, Spirit of Festivities',
icon:[25,18],
descBefore:'Some seasonal effects are boosted.',
desc1:'Large boost. Switching seasons is 100% pricier.',
desc2:'Medium boost. Switching seasons is 50% pricier.',
desc3:'Small boost. Switching seasons is 25% pricier.',
quote:'This is the spirit of merry getaways and regretful Monday mornings.',
},
'creation':{
name:'Dotjeiess, Spirit of Creation',
icon:[26,18],
desc1:'Buildings are 7% cheaper, but heavenly chips have 30% less effect.',
desc2:'Buildings are 5% cheaper, but heavenly chips have 20% less effect.',
desc3:'Buildings are 2% cheaper, but heavenly chips have 10% less effect.',
quote:'All things that be and ever will be were scripted long ago by this spirit\'s inscrutable tendrils.',
},
'labor':{
name:'Muridal, Spirit of Labor',
icon:[27,18],
desc1:'Clicks are 15% more powerful, but buildings produce 3% less.',
desc2:'Clicks are 10% more powerful, but buildings produce 2% less.',
desc3:'Clicks are 5% more powerful, but buildings produce 1% less.',
quote:'This spirit enjoys a good cheese after a day of hard work.',
},
'industry':{
name:'Jeremy, Spirit of Industry',
icon:[28,18],
desc1:'Buildings produce 10% more cookies, but golden and wrath cookies appear 10% less.',
desc2:'Buildings produce 6% more cookies, but golden and wrath cookies appear 6% less.',
desc3:'Buildings produce 3% more cookies, but golden and wrath cookies appear 3% less.',
quote:'While this spirit has many regrets, helping you rule the world through constant industrialization is not one of them.',
},
'mother':{
name:'Mokalsium, Mother Spirit',
icon:[29,18],
desc1:'Milk is 10% more powerful, but golden and wrath cookies appear 15% less.',
desc2:'Milk is 5% more powerful, but golden and wrath cookies appear 10% less.',
desc3:'Milk is 3% more powerful, but golden and wrath cookies appear 5% less.',
quote:'A caring spirit said to contain itself, inwards infinitely.',
},
'scorn':{
name:'Skruuia, Spirit of Scorn',
icon:[21,19],
descBefore:'All golden cookies are wrath cookies with a greater chance of a negative effect.',
desc1:'Wrinklers appear 150% faster and digest 15% more cookies.',
desc2:'Wrinklers appear 100% faster and digest 10% more cookies.',
desc3:'Wrinklers appear 50% faster and digest 5% more cookies.',
quote:'This spirit enjoys poking foul beasts and watching them squirm, but has no love for its own family.',
},
'order':{
name:'Rigidel, Spirit of Order',
icon:[22,19],
activeDescFunc:function()
{
if (Game.BuildingsOwned%10==0) return 'Buildings owned : '+Beautify(Game.BuildingsOwned)+'.<br>Effect is active.';
else return 'Buildings owned : '+Beautify(Game.BuildingsOwned)+'.<br>Effect is inactive.';
},
desc1:'Sugar lumps ripen an hour sooner.',
desc2:'Sugar lumps ripen 40 minutes sooner.',
desc3:'Sugar lumps ripen 20 minutes sooner.',
descAfter:'Effect is only active when your total amount of buildings ends with 0.',
quote:'You will find that life gets just a little bit sweeter if you can motivate this spirit with tidy numbers and properly-filled tax returns.',
},
};
M.godsById=[];var n=0;
for (var i in M.gods){M.gods[i].id=n;M.gods[i].slot=-1;M.godsById[n]=M.gods[i];n++;}
M.slot=[];
M.slot[0]=-1;//diamond socket
M.slot[1]=-1;//ruby socket
M.slot[2]=-1;//jade socket
M.slotNames=[
'Diamond','Ruby','Jade'
];
M.swaps=3;//swaps left
M.swapT=Date.now();//the last time we swapped
M.lastSwapT=0;//frames since last swap
M.godTooltip=function(id)
{
return function(){
var me=M.godsById[id];
me.icon=me.icon||[0,0];
var str='<div style="padding:8px 4px;min-width:350px;">'+
'<div class="icon" style="float:left;margin-left:-8px;margin-top:-8px;background-position:'+(-me.icon[0]*48)+'px '+(-me.icon[1]*48)+'px;"></div>'+
'<div class="name">'+me.name+'</div>'+
'<div class="line"></div><div class="description"><div style="margin:6px 0px;font-weight:bold;">Effects :</div>'+
(me.descBefore?('<div class="templeEffect">'+me.descBefore+'</div>'):'')+
(me.desc1?('<div class="templeEffect templeEffect1"><div class="usesIcon shadowFilter templeGem templeGem1"></div>'+me.desc1+'</div>'):'')+
(me.desc2?('<div class="templeEffect templeEffect2"><div class="usesIcon shadowFilter templeGem templeGem2"></div>'+me.desc2+'</div>'):'')+
(me.desc3?('<div class="templeEffect templeEffect3"><div class="usesIcon shadowFilter templeGem templeGem3"></div>'+me.desc3+'</div>'):'')+
(me.descAfter?('<div class="templeEffect">'+me.descAfter+'</div>'):'')+
(me.quote?('<q>'+me.quote+'</q>'):'')+
'</div></div>';
return str;
};
}
M.slotTooltip=function(id)
{
return function(){
if (M.slot[id]!=-1)
{
var me=M.godsById[M.slot[id]];
me.icon=me.icon||[0,0];
}
var str='<div style="padding:8px 4px;min-width:350px;">'+
(M.slot[id]!=-1?(
'<div class="name templeEffect" style="margin-bottom:12px;"><div class="usesIcon shadowFilter templeGem templeGem'+(parseInt(id)+1)+'"></div>'+M.slotNames[id]+' slot</div>'+
'<div class="icon" style="float:left;margin-left:-8px;margin-top:-8px;background-position:'+(-me.icon[0]*48)+'px '+(-me.icon[1]*48)+'px;"></div>'+
'<div class="name">'+me.name+'</div>'+
'<div class="line"></div><div class="description"><div style="margin:6px 0px;font-weight:bold;">Effects :</div>'+
(me.activeDescFunc?('<div class="templeEffect templeEffectOn" style="padding:8px 4px;text-align:center;">'+me.activeDescFunc()+'</div>'):'')+
(me.descBefore?('<div class="templeEffect">'+me.descBefore+'</div>'):'')+
(me.desc1?('<div class="templeEffect templeEffect1'+(me.slot==0?' templeEffectOn':'')+'"><div class="usesIcon shadowFilter templeGem templeGem1"></div>'+me.desc1+'</div>'):'')+
(me.desc2?('<div class="templeEffect templeEffect2'+(me.slot==1?' templeEffectOn':'')+'"><div class="usesIcon shadowFilter templeGem templeGem2"></div>'+me.desc2+'</div>'):'')+
(me.desc3?('<div class="templeEffect templeEffect3'+(me.slot==2?' templeEffectOn':'')+'"><div class="usesIcon shadowFilter templeGem templeGem3"></div>'+me.desc3+'</div>'):'')+
(me.descAfter?('<div class="templeEffect">'+me.descAfter+'</div>'):'')+
(me.quote?('<q>'+me.quote+'</q>'):'')+
'</div>'
):
('<div class="name templeEffect"><div class="usesIcon shadowFilter templeGem templeGem'+(parseInt(id)+1)+'"></div>'+M.slotNames[id]+' slot (empty)</div><div class="line"></div><div class="description">'+
((M.slotHovered==id && M.dragging)?'Release to assign <b>'+M.dragging.name+'</b> to this slot.':'Drag a spirit onto this slot to assign it.')+
'</div>')
)+
'</div>';
return str;
};
}
M.useSwap=function(n)
{
M.swapT=Date.now();
M.swaps-=n;
if (M.swaps<0) M.swaps=0;
}
M.slotGod=function(god,slot)
{
if (slot==god.slot) return false;
if (slot!=-1 && M.slot[slot]!=-1)
{
M.godsById[M.slot[slot]].slot=god.slot;//swap
M.slot[god.slot]=M.slot[slot];
}
else if (god.slot!=-1) M.slot[god.slot]=-1;
if (slot!=-1) M.slot[slot]=god.id;
god.slot=slot;
Game.recalculateGains=true;
}
M.dragging=false;
M.dragGod=function(what)
{
M.dragging=what;
var div=l('templeGod'+what.id);
var box=div.getBoundingClientRect();
var box2=l('templeDrag').getBoundingClientRect();
div.className='ready templeGod titleFont templeDragged';
l('templeDrag').appendChild(div);
var x=box.left-box2.left;
var y=box.top-box2.top;
div.style.transform='translate('+(x)+'px,'+(y)+'px)';
l('templeGodPlaceholder'+M.dragging.id).style.display='inline-block';
PlaySound('snd/tick.mp3');
}
M.dropGod=function()
{
if (!M.dragging) return;
var div=l('templeGod'+M.dragging.id);
div.className='ready templeGod titleFont';
div.style.transform='none';
if (M.slotHovered!=-1 && (M.swaps==0 || M.dragging.slot==M.slotHovered))//dropping on a slot but no swaps left, or slot is the same as the original
{
if (M.dragging.slot!=-1) l('templeSlot'+M.dragging.slot).appendChild(div);
else l('templeGodPlaceholder'+(M.dragging.id)).parentNode.insertBefore(div,l('templeGodPlaceholder'+(M.dragging.id)));
PlaySound('snd/sell1.mp3',0.75);
}
else if (M.slotHovered!=-1)//dropping on a slot
{
M.useSwap(1);
M.lastSwapT=0;
var prev=M.slot[M.slotHovered];//id of the god already in the slot
if (prev!=-1)
{
prev=M.godsById[prev];
var prevDiv=l('templeGod'+prev.id);
if (M.dragging.slot!=-1)//swap with god's previous slot
{
l('templeSlot'+M.dragging.slot).appendChild(prevDiv);
}
else//swap back to roster
{
var other=l('templeGodPlaceholder'+(prev.id));
other.parentNode.insertBefore(prevDiv,other);
}
}
l('templeSlot'+M.slotHovered).appendChild(div);
M.slotGod(M.dragging,M.slotHovered);
PlaySound('snd/tick.mp3');
PlaySound('snd/spirit.mp3',0.5);
var rect=div.getBoundingClientRect();
Game.SparkleAt((rect.left+rect.right)/2,(rect.top+rect.bottom)/2-24);
}
else//dropping back to roster
{
var other=l('templeGodPlaceholder'+(M.dragging.id));
other.parentNode.insertBefore(div,other);
other.style.display='none';
M.slotGod(M.dragging,-1);
PlaySound('snd/sell1.mp3',0.75);
}
M.dragging=false;
}
M.slotHovered=-1;
M.hoverSlot=function(what)
{
M.slotHovered=what;
if (M.dragging)
{
if (M.slotHovered==-1) l('templeGodPlaceholder'+M.dragging.id).style.display='inline-block';
else l('templeGodPlaceholder'+M.dragging.id).style.display='none';
PlaySound('snd/clickb'+Math.floor(Math.random()*7+1)+'.mp3',0.75);
}
}
//external
Game.hasGod=function(what)
{
var god=M.gods[what];
for (var i=0;i<3;i++)
{
if (M.slot[i]==god.id) return (i+1);
}
return false;
}
Game.forceUnslotGod=function(god)
{
var god=M.gods[god];
if (god.slot==-1) return false;
var div=l('templeGod'+god.id);
var other=l('templeGodPlaceholder'+(god.id));
other.parentNode.insertBefore(div,other);
other.style.display='none';
M.slotGod(god,-1);
return true;
}
Game.useSwap=M.useSwap;
var str='';
str+='<style>'+
'#templeBG{background:url(img/shadedBorders.png),url(img/pantheonBG.png);background-size:100% 100%,auto;position:absolute;left:0px;right:0px;top:0px;bottom:16px;}'+
'#templeContent{position:relative;box-sizing:border-box;padding:4px 24px;text-align:center;}'+
'#templeGods{text-align:center;width:100%;padding:8px;box-sizing:border-box;}'+
'.templeIcon{pointer-events:none;margin:12px 6px 0px 6px;width:48px;height:48px;opacity:0.8;position:relative;}'+
'.templeSlot .templeIcon{margin:2px 6px 0px 6px;}'+
'.templeGod{box-shadow:4px 4px 4px #000;cursor:pointer;position:relative;color:#f33;opacity:0.8;text-shadow:0px 0px 4px #000,0px 0px 6px #000;font-weight:bold;font-size:12px;display:inline-block;width:60px;height:74px;background:url(img/spellBG.png);}'+
'.templeGod.ready{color:rgba(255,255,255,0.8);opacity:1;}'+
'.templeGod.ready:hover{color:#fff;}'+
'.templeGod:hover,.templeDragged{box-shadow:6px 6px 6px 2px #000;z-index:1000000001;top:-1px;}'+
'.templeGod:active{top:1px;}'+
'.templeGod.ready .templeIcon{opacity:1;}'+
'.templeGod:hover{background-position:0px -74px;} .templeGod:active{background-position:0px 74px;}'+
'.templeGod1{background-position:-60px 0px;} .templeGod1:hover{background-position:-60px -74px;} .templeGod1:active{background-position:-60px 74px;}'+
'.templeGod2{background-position:-120px 0px;} .templeGod2:hover{background-position:-120px -74px;} .templeGod2:active{background-position:-120px 74px;}'+
'.templeGod3{background-position:-180px 0px;} .templeGod3:hover{background-position:-180px -74px;} .templeGod3:active{background-position:-180px 74px;}'+
'.templeGod:hover .templeIcon{top:-1px;}'+
'.templeGod.ready:hover .templeIcon{animation-name:bounce;animation-iteration-count:infinite;animation-duration:0.8s;}'+
'.templeGem{z-index:100;width:24px;height:24px;}'+
'.templeEffect{font-weight:bold;font-size:11px;position:relative;margin:0px -12px;padding:4px;padding-left:28px;}'+
'.description .templeEffect{border-top:1px solid rgba(255,255,255,0.15);background:linear-gradient(to top,rgba(255,255,255,0.1),rgba(255,255,255,0));}'+
'.templeEffect .templeGem{position:absolute;left:0px;top:0px;}'+
'.templeEffectOn{text-shadow:0px 0px 6px rgba(255,255,255,0.75);color:#fff;}'+
'.templeGod .templeGem{position:absolute;left:18px;bottom:8px;pointer-events:none;}'+
'.templeGem1{background-position:-1104px -720px;}'+
'.templeGem2{background-position:-1128px -720px;}'+
'.templeGem3{background-position:-1104px -744px;}'+
'.templeSlot .templeGod,.templeSlot .templeGod:hover,.templeSlot .templeGod:active{background:none;}'+
'.templeSlotDrag{position:absolute;left:0px;top:0px;right:0px;bottom:0px;background:#999;opacity:0;cursor:pointer;}'+
'#templeDrag{position:absolute;left:0px;top:0px;z-index:1000000000000;}'+
'.templeGod{transition:transform 0.1s;}'+
'#templeDrag .templeGod{position:absolute;left:0px;top:0px;}'+
'.templeDragged{pointer-events:none;}'+
'.templeGodPlaceholder{background:red;opacity:0;display:none;width:60px;height:74px;}'+
'#templeSlots{margin:4px auto;text-align:center;}'+
'#templeSlot0{top:-4px;}'+
'#templeSlot1{top:0px;}'+
'#templeSlot2{top:4px;}'+
'#templeLumpRefill{cursor:pointer;width:48px;height:48px;position:absolute;left:-6px;top:-10px;transform:scale(0.5);z-index:1000;transition:transform 0.05s;}'+
'#templeLumpRefill:hover{transform:scale(1);}'+
'#templeLumpRefill:active{transform:scale(0.4);}'+
'#templeInfo{position:relative;display:inline-block;margin:8px auto 0px auto;padding:8px 16px;padding-left:32px;text-align:center;font-size:11px;color:rgba(255,255,255,0.75);text-shadow:-1px 1px 0px #000;background:rgba(0,0,0,0.75);border-radius:16px;}'+
'</style>';
str+='<div id="templeBG"></div>';
str+='<div id="templeContent">';
str+='<div id="templeDrag"></div>';
str+='<div id="templeSlots">';
for (var i in M.slot)
{
var me=M.slot[i];
str+='<div class="ready templeGod templeGod'+(i%4)+' templeSlot titleFont" id="templeSlot'+i+'" '+Game.getDynamicTooltip('Game.ObjectsById['+M.parent.id+'].minigame.slotTooltip('+i+')','this')+'><div class="usesIcon shadowFilter templeGem templeGem'+(parseInt(i)+1)+'"></div></div>';
}
str+='</div>';
var icon=[29,14];
str+='<div id="templeInfo"><div '+Game.getTooltip('<div style="padding:8px;width:300px;font-size:11px;text-align:center;">Click to refill all your worship swaps for <span class="price lump">1 sugar lump</span>.</div>')+' id="templeLumpRefill" class="usesIcon shadowFilter" style="background-position:'+(-icon[0]*48)+'px '+(-icon[1]*48)+'px;"></div><div id="templeSwaps" '+Game.getTooltip('<div style="padding:8px;width:350px;font-size:11px;text-align:center;">Each time you slot a spirit, you use up one worship swap.<div class="line"></div>If you have 0 swaps left, you will get one after 16 hours.<br>If you have 1 swap left, the next one will refill after 4 hours.<br>If you have 2 swaps left, the next one will refill after 1 hour.<div class="line"></div>Unslotting a spirit costs no swaps.</div>')+'>-</div></div>';
str+='<div id="templeGods">';
for (var i in M.gods)
{
var me=M.gods[i];
var icon=me.icon||[0,0];
str+='<div class="ready templeGod templeGod'+(me.id%4)+' titleFont" id="templeGod'+me.id+'" '+Game.getDynamicTooltip('Game.ObjectsById['+M.parent.id+'].minigame.godTooltip('+me.id+')','this')+'><div class="usesIcon shadowFilter templeIcon" style="background-position:'+(-icon[0]*48)+'px '+(-icon[1]*48)+'px;"></div><div class="templeSlotDrag" id="templeGodDrag'+me.id+'"></div></div>';
str+='<div class="templeGodPlaceholder" id="templeGodPlaceholder'+me.id+'"></div>';
}//<div class="usesIcon shadowFilter templeGem templeGem'+(me.id%3+1)+'"></div>
str+='</div>';
str+='</div>';
div.innerHTML=str;
M.swapsL=l('templeSwaps');
M.lumpRefill=l('templeLumpRefill');
for (var i in M.gods)
{
var me=M.gods[i];
AddEvent(l('templeGodDrag'+me.id),'mousedown',function(what){return function(){M.dragGod(what);}}(me));
AddEvent(l('templeGodDrag'+me.id),'mouseup',function(what){return function(){M.dropGod(what);}}(me));
}
for (var i in M.slot)
{
var me=M.slot[i];
AddEvent(l('templeSlot'+i),'mouseover',function(what){return function(){M.hoverSlot(what);}}(i));
AddEvent(l('templeSlot'+i),'mouseout',function(what){return function(){M.hoverSlot(-1);}}(i));
}
AddEvent(document,'mouseup',M.dropGod);
AddEvent(M.lumpRefill,'click',function(){
if (Game.lumps>=1 && M.swaps<3)
{
M.swaps=3;
M.swapT=Date.now();
Game.lumps-=1;
PlaySound('snd/pop'+Math.floor(Math.random()*3+1)+'.mp3',0.75);
}
});
//M.parent.switchMinigame(1);
}
M.save=function()
{
//output cannot use ",", ";" or "|"
var str='';
for (var i in M.slot)
{str+=parseFloat(M.slot[i])+'/';}
str=str.slice(0,-1);
str+=' '+parseFloat(M.swaps)+' '+parseFloat(M.swapT);
return str;
}
M.load=function(str)
{
//interpret str; called after .init
//note : not actually called in the Game's load; see "minigameSave" in main.js
if (!str) return false;
var i=0;
var spl=str.split(' ');
var bit=spl[i++].split('/')||[];
for (var ii in M.slot)
{
if (parseFloat(bit[ii])!=-1)
{
var god=M.godsById[parseFloat(bit[ii])];
M.slotGod(god,ii);
l('templeSlot'+god.slot).appendChild(l('templeGod'+god.id));
}
}
M.swaps=parseFloat(spl[i++]||3);
M.swapT=parseFloat(spl[i++]||Date.now());
}
M.reset=function()
{
M.swaps=3;
M.swapT=Date.now();
for (var i in M.slot) {M.slot[i]=-1;}
for (var i in M.gods)
{
var me=M.gods[i];
me.slot=-1;
var other=l('templeGodPlaceholder'+(me.id));
other.parentNode.insertBefore(l('templeGod'+me.id),other);
other.style.display='none';
}
}
M.logic=function()
{
//run each frame
var t=1000*60*60;
if (M.swaps==0) t=1000*60*60*16;
else if (M.swaps==1) t=1000*60*60*4;
var t2=M.swapT+t-Date.now();
if (t2<=0 && M.swaps<3) {M.swaps++;M.swapT=Date.now();}
M.lastSwapT++;
}
M.draw=function()
{
//run each draw frame
if (M.dragging)
{
var box=l('templeDrag').getBoundingClientRect();
var x=Game.mouseX-box.left-60/2;
var y=Game.mouseY-box.top;
if (M.slotHovered!=-1)//snap to slots
{
var box2=l('templeSlot'+M.slotHovered).getBoundingClientRect();
x=box2.left-box.left;
y=box2.top-box.top;
}
l('templeGod'+M.dragging.id).style.transform='translate('+(x)+'px,'+(y)+'px)';
}
var t=1000*60*60;
if (M.swaps==0) t=1000*60*60*16;
else if (M.swaps==1) t=1000*60*60*4;
var t2=M.swapT+t-Date.now();
M.swapsL.innerHTML='Worship swaps : <span class="titleFont" style="color:'+(M.swaps>0?'#fff':'#c00')+';">'+M.swaps+'/'+(3)+'</span>'+((M.swaps<3)?' (next in '+Game.sayTime((t2/1000+1)*Game.fps,-1)+')':'');
}
M.init(l('rowSpecial'+M.parent.id));
}
var M=0;

View File

@ -1,3 +0,0 @@
//this lets us detect adblockers so we can adjust the layout in case ads aren't shown ! (we're not using this for anything weird, promise !)
//this works because an adblocker will usually block this file from being embedded at all
var showAds=false;

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Some files were not shown because too many files have changed in this diff Show More