Compare commits
264 commits
version-0.
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0afaa20c1d | ||
![]() |
7207d53885 | ||
![]() |
ed33a36bca | ||
![]() |
29ab9721af | ||
![]() |
a2192e25eb | ||
![]() |
fe37aa11df | ||
![]() |
f03a3a31a8 | ||
![]() |
40b2d7f45d | ||
![]() |
9c5bad5959 | ||
![]() |
ba5fc73127 | ||
![]() |
ca3b04b895 | ||
![]() |
0c8cb197c2 | ||
![]() |
a11e7de14e | ||
![]() |
759f93cae0 | ||
![]() |
9faad5f263 | ||
![]() |
d822cb3438 | ||
![]() |
f98cc543f6 | ||
![]() |
4365aa4bfc | ||
![]() |
fc678c6b42 | ||
![]() |
e92fd2b6f3 | ||
![]() |
c894f6e094 | ||
![]() |
63eaea3536 | ||
![]() |
4a2d8770d9 | ||
![]() |
b4569622a0 | ||
![]() |
4bf9a9177f | ||
![]() |
fc8e65f4d6 | ||
![]() |
586343a614 | ||
![]() |
7ffa6025ce | ||
![]() |
a20d701096 | ||
![]() |
c46927ea10 | ||
![]() |
a83ee77eea | ||
![]() |
5aca2fb56a | ||
![]() |
564f9842a2 | ||
![]() |
d5ff57e025 | ||
![]() |
81e25f73bb | ||
![]() |
644ff6edc0 | ||
![]() |
097879440d | ||
![]() |
b839fb6463 | ||
![]() |
ae1a48deed | ||
![]() |
25a143cf22 | ||
![]() |
20fa95bd93 | ||
![]() |
a86912705c | ||
![]() |
ad0069e899 | ||
![]() |
42575ef1f5 | ||
![]() |
f19c1dbb20 | ||
![]() |
e03a63f9fb | ||
![]() |
48e28ee636 | ||
![]() |
b9209beddd | ||
![]() |
8594568ff4 | ||
![]() |
521180b086 | ||
![]() |
05d54ff661 | ||
![]() |
f84b63f0e6 | ||
![]() |
97fe02d99d | ||
![]() |
0d889cd0ff | ||
![]() |
b9656013b0 | ||
![]() |
fc4eacadb0 | ||
![]() |
9bf6926dc3 | ||
![]() |
077f0e84ea | ||
![]() |
a4a4389281 | ||
![]() |
9c02fb846b | ||
![]() |
694ee210d6 | ||
![]() |
1788b8fb28 | ||
![]() |
23ead1f0ca | ||
![]() |
f26189c696 | ||
![]() |
b193bab148 | ||
![]() |
569d04725a | ||
![]() |
e51fb8627c | ||
![]() |
be3eef7082 | ||
![]() |
d6326c9e41 | ||
![]() |
fd53f92fe6 | ||
![]() |
d93bc1615c | ||
![]() |
86ddfc460f | ||
![]() |
ff7111b006 | ||
![]() |
b311713064 | ||
![]() |
6f91533950 | ||
![]() |
2997dc363b | ||
![]() |
d264760405 | ||
![]() |
2802a44ba4 | ||
![]() |
aa72cfe4a4 | ||
![]() |
3b81959aa9 | ||
![]() |
973495b687 | ||
![]() |
379060b8c7 | ||
![]() |
f4fa50a413 | ||
![]() |
48a7f72411 | ||
![]() |
0272ba8540 | ||
![]() |
75646619b3 | ||
![]() |
dca38397e7 | ||
![]() |
0d1eacdc5c | ||
![]() |
72ecca8c82 | ||
![]() |
a3f82139e9 | ||
![]() |
dd541ae59d | ||
![]() |
d9219a8c64 | ||
![]() |
3b06105813 | ||
![]() |
5db3d1a306 | ||
![]() |
5e01eb29a9 | ||
![]() |
b2a6262964 | ||
![]() |
b16ca3fd65 | ||
![]() |
b2d0b0ee4c | ||
![]() |
2c011079a8 | ||
![]() |
cfefffe1cc | ||
![]() |
40611d4d54 | ||
![]() |
04b3cf3f16 | ||
![]() |
d6e2b64140 | ||
![]() |
dbc2000434 | ||
![]() |
056b0b307b | ||
![]() |
f64b202ee7 | ||
![]() |
601f3331ed | ||
![]() |
cd89625c96 | ||
![]() |
265e53e05a | ||
![]() |
af3568154a | ||
![]() |
1baf90a776 | ||
![]() |
a26f0b0c0a | ||
![]() |
584c4e9f67 | ||
![]() |
87e69bebde | ||
![]() |
970905fcd5 | ||
![]() |
2421a33bb0 | ||
![]() |
784f753e72 | ||
![]() |
8c8d6dc9e7 | ||
![]() |
6576164fad | ||
![]() |
b6d1ae2700 | ||
![]() |
efdb0cb119 | ||
![]() |
8bbafc4d10 | ||
![]() |
0d79ce35b3 | ||
![]() |
a418b48e94 | ||
![]() |
b28b76ee2d | ||
![]() |
cad51f4908 | ||
![]() |
ab1a415b55 | ||
![]() |
75c28cd764 | ||
![]() |
b603ef5a3f | ||
![]() |
6a0725e401 | ||
![]() |
02c42eb042 | ||
![]() |
6437bd3b54 | ||
![]() |
7602fb0b31 | ||
![]() |
57d69015c2 | ||
![]() |
769530b45c | ||
![]() |
b0204772c7 | ||
![]() |
19682fd0bc | ||
![]() |
ea92dcc3c4 | ||
![]() |
fcd1bc589c | ||
![]() |
f668ff6b7a | ||
![]() |
689bb150c6 | ||
![]() |
6ff1919587 | ||
![]() |
f559b5a39d | ||
![]() |
6a72d1160f | ||
![]() |
fb064ffbf1 | ||
![]() |
3c5021e4c9 | ||
![]() |
e0588847fa | ||
![]() |
2c6565c40a | ||
![]() |
812407c3df | ||
![]() |
a0eff927b6 | ||
![]() |
119b3ed11d | ||
![]() |
68e50342e5 | ||
![]() |
87459d41bb | ||
![]() |
dfd3118d04 | ||
![]() |
029a0f86ae | ||
![]() |
ca74b817e5 | ||
![]() |
cd02507023 | ||
![]() |
d99d9a68c8 | ||
![]() |
7fc32b0248 | ||
![]() |
9468990f76 | ||
![]() |
82ee8f68f7 | ||
![]() |
1ab708c4eb | ||
![]() |
06a843f169 | ||
![]() |
af933c827a | ||
![]() |
7db64b73c5 | ||
![]() |
7b0bac4f59 | ||
![]() |
2aa4f0a2e8 | ||
![]() |
2458f01ebd | ||
![]() |
86eabed3db | ||
![]() |
38159a5f84 | ||
![]() |
d6c5a89251 | ||
![]() |
4a48910273 | ||
![]() |
e01e697535 | ||
![]() |
be7b86a913 | ||
![]() |
570b70ab0c | ||
![]() |
7a551cf83a | ||
![]() |
343f3a246f | ||
![]() |
0d6a71b06f | ||
![]() |
2a6b892e7f | ||
![]() |
4b0d76bbcc | ||
![]() |
3e0adf0c22 | ||
![]() |
47c219b86e | ||
![]() |
e1c2869d1c | ||
![]() |
461ad03d27 | ||
![]() |
842aac3127 | ||
![]() |
94385b195d | ||
![]() |
c509162be1 | ||
![]() |
5aa54d875f | ||
![]() |
0674908e49 | ||
![]() |
5c47a0151c | ||
![]() |
4b34de2109 | ||
![]() |
f208ca946e | ||
![]() |
ab391aaa97 | ||
![]() |
b8d2d1870d | ||
![]() |
e8199a973c | ||
![]() |
d2a5dfa713 | ||
![]() |
e45de2a2cf | ||
![]() |
dc8648016d | ||
![]() |
3dc70c3af6 | ||
![]() |
74a1801069 | ||
![]() |
cdd58ee21a | ||
![]() |
31df3fe7a3 | ||
![]() |
dd463d7d6e | ||
![]() |
931d9493d2 | ||
![]() |
e015652f4c | ||
![]() |
8453e7c3b9 | ||
![]() |
af2947c50a | ||
![]() |
5cb74151f5 | ||
![]() |
3a745d492a | ||
![]() |
ea9f6bf383 | ||
![]() |
f45dbe8c48 | ||
![]() |
96a585220b | ||
![]() |
c0d668fb0b | ||
![]() |
9dcc2036aa | ||
![]() |
e361984c40 | ||
![]() |
90c37fe4c9 | ||
![]() |
4eaf3c35d6 | ||
![]() |
5f1a453fb4 | ||
![]() |
20f03731e5 | ||
![]() |
37715f05a5 | ||
![]() |
33cd490ed3 | ||
![]() |
c97648ab3a | ||
![]() |
ac252bf09d | ||
![]() |
a0b785cb2a | ||
![]() |
0f8e61797f | ||
![]() |
7a0b2f988d | ||
![]() |
6cbfcf993e | ||
![]() |
0eb245d113 | ||
![]() |
d6e64dd06b | ||
![]() |
a2246d2b71 | ||
![]() |
bed5ce22d2 | ||
![]() |
cc44c9d37a | ||
![]() |
dfc6aa08e9 | ||
![]() |
8545b8cf1d | ||
![]() |
8a3046e141 | ||
![]() |
74a8599977 | ||
![]() |
7c90eb6da1 | ||
![]() |
abea6da2e0 | ||
![]() |
1780a758b3 | ||
![]() |
20176cf54a | ||
![]() |
4e7f837240 | ||
![]() |
438bd8ab8a | ||
![]() |
82ce3cb6be | ||
![]() |
70d27b9a95 | ||
![]() |
78ba83e916 | ||
![]() |
c4ed26184b | ||
![]() |
edf10c976a | ||
![]() |
bac552c3d7 | ||
![]() |
dab0e092e6 | ||
![]() |
6269d10807 | ||
![]() |
8a1f42c0f1 | ||
![]() |
d1bd6b7c45 | ||
![]() |
2ceab51c40 | ||
![]() |
14619558fa | ||
![]() |
9d55b2954a | ||
![]() |
1a9e068d02 | ||
![]() |
bc557652ba | ||
![]() |
c8a8d2b1af | ||
![]() |
292711f91f | ||
![]() |
ad1d08ca96 | ||
![]() |
dac9b1b3de | ||
![]() |
1ab5fa4291 | ||
![]() |
4c03fe1ed3 | ||
![]() |
bc31750d9c |
1
.gitignore
vendored
|
@ -27,4 +27,5 @@ backup
|
||||||
*.dll
|
*.dll
|
||||||
*.world
|
*.world
|
||||||
coverage
|
coverage
|
||||||
|
coverage/*
|
||||||
.venv
|
.venv
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
set makeprg=meson\ compile\ -C\ .
|
set makeprg=make\ -f\ ../Makefile\ build
|
||||||
|
|
26
Makefile
|
@ -1,3 +1,5 @@
|
||||||
|
ROOT_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
|
||||||
|
|
||||||
all: build test
|
all: build test
|
||||||
|
|
||||||
reset:
|
reset:
|
||||||
|
@ -8,10 +10,19 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
%.cpp : %.rl
|
%.cpp : %.rl
|
||||||
ragel -o $@ $<
|
ragel -I $(ROOT_DIR) -G1 -o $@ $<
|
||||||
|
|
||||||
build: lel_parser.cpp
|
%.dot: %.rl
|
||||||
meson compile -j 10 -C builddir
|
ragel -Vp -I $(ROOT_DIR) -o $@ $<
|
||||||
|
|
||||||
|
%.png: %.dot
|
||||||
|
dot -Tpng $< -o $@
|
||||||
|
|
||||||
|
build:
|
||||||
|
meson compile -j 10 -C $(ROOT_DIR)/builddir
|
||||||
|
|
||||||
|
asset_build:
|
||||||
|
./builddir/icongen
|
||||||
|
|
||||||
release_build:
|
release_build:
|
||||||
meson --wipe builddir -Db_ndebug=true --buildtype release
|
meson --wipe builddir -Db_ndebug=true --buildtype release
|
||||||
|
@ -25,8 +36,8 @@ tracy_build:
|
||||||
meson setup --wipe builddir --buildtype debugoptimized -Dtracy_enable=true -Dtracy:on_demand=true
|
meson setup --wipe builddir --buildtype debugoptimized -Dtracy_enable=true -Dtracy:on_demand=true
|
||||||
meson compile -j 10 -C builddir
|
meson compile -j 10 -C builddir
|
||||||
|
|
||||||
test: build
|
test:
|
||||||
./builddir/runtests
|
./builddir/runtests -d yes
|
||||||
|
|
||||||
run: build test
|
run: build test
|
||||||
ifeq '$(OS)' 'Windows_NT'
|
ifeq '$(OS)' 'Windows_NT'
|
||||||
|
@ -49,10 +60,13 @@ clean:
|
||||||
meson compile --clean -C builddir
|
meson compile --clean -C builddir
|
||||||
|
|
||||||
debug_test: build
|
debug_test: build
|
||||||
gdb --nx -x .gdbinit --ex run --args builddir/runtests -e
|
gdb --nx -x .gdbinit --ex run --ex bt --ex q --args builddir/runtests -e
|
||||||
|
|
||||||
win_installer:
|
win_installer:
|
||||||
powershell 'start "C:\Program Files (x86)\solicus\InstallForge\bin\ifbuilderenvx86.exe" scripts\win_installer.ifp'
|
powershell 'start "C:\Program Files (x86)\solicus\InstallForge\bin\ifbuilderenvx86.exe" scripts\win_installer.ifp'
|
||||||
|
|
||||||
coverage_report:
|
coverage_report:
|
||||||
powershell 'scripts/coverage_report.ps1'
|
powershell 'scripts/coverage_report.ps1'
|
||||||
|
|
||||||
|
money:
|
||||||
|
scc --exclude-dir subprojects
|
||||||
|
|
1
ai.hpp
|
@ -34,6 +34,7 @@ namespace ai {
|
||||||
void update();
|
void update();
|
||||||
|
|
||||||
void dump();
|
void dump();
|
||||||
|
std::string to_string();
|
||||||
};
|
};
|
||||||
|
|
||||||
struct AIManager {
|
struct AIManager {
|
||||||
|
|
10
ai_debug.cpp
|
@ -61,4 +61,14 @@ namespace ai {
|
||||||
dump_script(script, start, plan.script);
|
dump_script(script, start, plan.script);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string EntityAI::to_string() {
|
||||||
|
AIProfile* profile = ai::profile();
|
||||||
|
std::string result = wants_to();
|
||||||
|
|
||||||
|
for(auto& [name, name_id] : *profile) {
|
||||||
|
result += fmt::format("\n{}={}", name, start.test(name_id));
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,8 @@
|
||||||
"have_item": 6,
|
"have_item": 6,
|
||||||
"have_healing": 7,
|
"have_healing": 7,
|
||||||
"detect_enemy": 8,
|
"detect_enemy": 8,
|
||||||
"tough_personality": 9
|
"tough_personality": 9,
|
||||||
|
"cant_move": 10
|
||||||
},
|
},
|
||||||
"actions": [
|
"actions": [
|
||||||
{
|
{
|
||||||
|
@ -22,6 +23,7 @@
|
||||||
"enemy_found": false
|
"enemy_found": false
|
||||||
},
|
},
|
||||||
"effects": {
|
"effects": {
|
||||||
|
"in_combat": true,
|
||||||
"enemy_found": true
|
"enemy_found": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -32,7 +34,8 @@
|
||||||
"tough_personality": false,
|
"tough_personality": false,
|
||||||
"in_combat": true,
|
"in_combat": true,
|
||||||
"have_healing": false,
|
"have_healing": false,
|
||||||
"health_good": false
|
"health_good": false,
|
||||||
|
"cant_move": false
|
||||||
},
|
},
|
||||||
"effects": {
|
"effects": {
|
||||||
"in_combat": false
|
"in_combat": false
|
||||||
|
@ -63,13 +66,24 @@
|
||||||
"no_more_items": true
|
"no_more_items": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "find_healing",
|
||||||
|
"cost": 2,
|
||||||
|
"needs": {
|
||||||
|
"have_healing": false,
|
||||||
|
"in_combat": false,
|
||||||
|
"health_good": false
|
||||||
|
},
|
||||||
|
"effects": {
|
||||||
|
"health_good": true
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "use_healing",
|
"name": "use_healing",
|
||||||
"cost": 0,
|
"cost": 1,
|
||||||
"needs": {
|
"needs": {
|
||||||
"have_item": true,
|
"have_item": true,
|
||||||
"have_healing": true,
|
"have_healing": true,
|
||||||
"in_combat": false,
|
|
||||||
"health_good": false
|
"health_good": false
|
||||||
},
|
},
|
||||||
"effects": {
|
"effects": {
|
||||||
|
@ -118,6 +132,7 @@
|
||||||
["find_enemy",
|
["find_enemy",
|
||||||
"kill_enemy",
|
"kill_enemy",
|
||||||
"collect_items",
|
"collect_items",
|
||||||
|
"find_healing",
|
||||||
"use_healing"],
|
"use_healing"],
|
||||||
"Enemy::actions":
|
"Enemy::actions":
|
||||||
["find_enemy", "run_away", "kill_enemy", "use_healing"]
|
["find_enemy", "run_away", "kill_enemy", "use_healing"]
|
||||||
|
|
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 665 KiB After Width: | Height: | Size: 665 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 1,011 KiB After Width: | Height: | Size: 1,011 KiB |
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 466 KiB After Width: | Height: | Size: 466 KiB |
Before Width: | Height: | Size: 818 KiB After Width: | Height: | Size: 818 KiB |
Before Width: | Height: | Size: 413 KiB After Width: | Height: | Size: 413 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 249 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 75 KiB |
|
@ -22,293 +22,207 @@
|
||||||
"ui_hover": "assets/sounds/ui_hover.ogg",
|
"ui_hover": "assets/sounds/ui_hover.ogg",
|
||||||
"punch_cartoony": "assets/sounds/punch_cartoony.ogg",
|
"punch_cartoony": "assets/sounds/punch_cartoony.ogg",
|
||||||
"electric_shock_01": "assets/sounds/electric_shock_01.ogg",
|
"electric_shock_01": "assets/sounds/electric_shock_01.ogg",
|
||||||
"fireball_01": "assets/sounds/fireball_01.ogg"
|
"fireball_01": "assets/sounds/fireball_01.ogg",
|
||||||
|
"hp_status_80": "assets/sounds/hp_status_80.ogg",
|
||||||
|
"hp_status_60": "assets/sounds/hp_status_60.ogg",
|
||||||
|
"hp_status_30": "assets/sounds/hp_status_30.ogg",
|
||||||
|
"hp_status_10": "assets/sounds/hp_status_10.ogg",
|
||||||
|
"hp_status_00": "assets/sounds/hp_status_00.ogg"
|
||||||
},
|
},
|
||||||
"sprites": {
|
"sprites": {
|
||||||
"gold_savior":
|
"gold_savior":
|
||||||
{"path": "assets/gold_savior-256.png",
|
{"path": "assets/sprites/gold_savior.png",
|
||||||
"frame_width": 256,
|
"frame_width": 256,
|
||||||
"frame_height": 256
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"armored_knight":
|
"armored_knight":
|
||||||
{"path": "assets/armored_knight_1-256.png",
|
{"path": "assets/sprites/armored_knight_1.png",
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"sword":
|
|
||||||
{"path": "assets/cinqueda_1-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"rat_with_sword":
|
|
||||||
{"path": "assets/rat_with_sword-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"rat_king":
|
|
||||||
{"path": "assets/rat_king-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"rat_king_boss":
|
|
||||||
{"path": "assets/rat_king_2_frame_animation.png",
|
|
||||||
"frame_width": 720,
|
|
||||||
"frame_height": 720
|
|
||||||
},
|
|
||||||
"barrel_small":
|
|
||||||
{"path": "assets/wood_barrel_small-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"torch_pillar":
|
|
||||||
{"path": "assets/torch_pillar-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"torch_crappy":
|
|
||||||
{"path": "assets/torch_crappy-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"torch_horizontal_floor":
|
|
||||||
{"path": "assets/torch_horizontal_floor-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"evil_eye":
|
|
||||||
{"path": "assets/evil_eye-sprites.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"peasant_girl":
|
|
||||||
{"path": "assets/undead_peasant-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"grave_stone":
|
|
||||||
{"path": "assets/grave_stone-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"floor":
|
|
||||||
{"path": "assets/floor_tile_test-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"ceiling":
|
|
||||||
{"path": "assets/ceiling_test-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"healing_potion_small":
|
|
||||||
{"path": "assets/healing_potion_small-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"well_down":
|
|
||||||
{"path": "assets/well_down-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"rope_vines_up":
|
|
||||||
{"path": "assets/rope_vines_up-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"tripwire_trap":
|
|
||||||
{"path": "assets/tripwire_trap-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"cinqueda":
|
|
||||||
{"path": "assets/cinqueda_1-256.png",
|
|
||||||
"frame_width": 256,
|
|
||||||
"frame_height": 256
|
|
||||||
},
|
|
||||||
"blood_splatter":
|
|
||||||
{"path": "assets/blood_splatter-256.png",
|
|
||||||
"frame_width": 256,
|
"frame_width": 256,
|
||||||
"frame_height": 256
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"axe_ranger":
|
"axe_ranger":
|
||||||
{"path": "assets/axe_ranger-256.png",
|
{"path": "assets/sprites/axe_ranger.png",
|
||||||
"frame_width": 256,
|
"frame_width": 256,
|
||||||
"frame_height": 256
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"hairy_spider":
|
"hairy_spider":
|
||||||
{"path": "assets/hairy_spider-256.png",
|
{"path": "assets/sprites/hairy_spider.png",
|
||||||
"frame_width": 256,
|
"frame_width": 256,
|
||||||
"frame_height": 256
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"down_the_well":
|
"rat_with_sword":
|
||||||
{"path": "assets/down_the_well.jpg",
|
{"path": "assets/sprites/rat_with_sword.png",
|
||||||
"frame_width": 900,
|
"frame_width": 256,
|
||||||
"frame_height": 600
|
"frame_height": 256
|
||||||
|
},
|
||||||
|
"rat_king_boss":
|
||||||
|
{"path": "assets/bossfights/rat_king_2_frame_animation.png",
|
||||||
|
"frame_width": 720,
|
||||||
|
"frame_height": 720
|
||||||
|
},
|
||||||
|
"barrel_small":
|
||||||
|
{"path": "assets/items/wood_barrel_small.png",
|
||||||
|
"frame_width": 256,
|
||||||
|
"frame_height": 256
|
||||||
|
},
|
||||||
|
"torch_pillar":
|
||||||
|
{"path": "assets/sprites/torch_pillar.png",
|
||||||
|
"frame_width": 256,
|
||||||
|
"frame_height": 256
|
||||||
|
},
|
||||||
|
"torch_crappy":
|
||||||
|
{"path": "assets/items/torch_crappy.png",
|
||||||
|
"frame_width": 256,
|
||||||
|
"frame_height": 256
|
||||||
|
},
|
||||||
|
"torch_horizontal_floor":
|
||||||
|
{"path": "assets/items/torch_horizontal_floor.png",
|
||||||
|
"frame_width": 256,
|
||||||
|
"frame_height": 256
|
||||||
|
},
|
||||||
|
"peasant_girl":
|
||||||
|
{"path": "assets/sprites/peasant_girl_2.png",
|
||||||
|
"frame_width": 256,
|
||||||
|
"frame_height": 256
|
||||||
|
},
|
||||||
|
"grave_stone":
|
||||||
|
{"path": "assets/sprites/grave_stone.png",
|
||||||
|
"frame_width": 256,
|
||||||
|
"frame_height": 256
|
||||||
|
},
|
||||||
|
"healing_potion_small":
|
||||||
|
{"path": "assets/items/healing_potion_small.png",
|
||||||
|
"frame_width": 256,
|
||||||
|
"frame_height": 256
|
||||||
|
},
|
||||||
|
"well_down":
|
||||||
|
{"path": "assets/sprites/well_down.png",
|
||||||
|
"frame_width": 256,
|
||||||
|
"frame_height": 256
|
||||||
|
},
|
||||||
|
"rope_vines_up":
|
||||||
|
{"path": "assets/sprites/rope_vines_up.png",
|
||||||
|
"frame_width": 256,
|
||||||
|
"frame_height": 256
|
||||||
|
},
|
||||||
|
"tripwire_trap":
|
||||||
|
{"path": "assets/sprites/tripwire_trap.png",
|
||||||
|
"frame_width": 256,
|
||||||
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"boss_fight_background":
|
"boss_fight_background":
|
||||||
{"path": "assets/rat_king_boss_fight_background.jpg",
|
{"path": "assets/bossfights/rat_king_boss_fight_background.jpg",
|
||||||
"frame_width": 1080,
|
"frame_width": 1080,
|
||||||
"frame_height": 720
|
"frame_height": 720
|
||||||
},
|
},
|
||||||
"devils_fingers_background":
|
"devils_fingers_background":
|
||||||
{"path": "assets/devils_fingers_background.jpg",
|
{"path": "assets/bossfights/devils_fingers_background.jpg",
|
||||||
"frame_width": 1080,
|
"frame_width": 1080,
|
||||||
"frame_height": 720
|
"frame_height": 720
|
||||||
},
|
},
|
||||||
"devils_fingers_sprite":
|
"devils_fingers_sprite":
|
||||||
{"path": "assets/devils_fingers_sprite.png",
|
{"path": "assets/bossfights/devils_fingers_sprite.png",
|
||||||
"frame_width": 720,
|
"frame_width": 720,
|
||||||
"frame_height": 720
|
"frame_height": 720
|
||||||
},
|
},
|
||||||
"devils_fingers_stage":
|
"devils_fingers_stage":
|
||||||
{"path": "assets/devils_fingers_stage.png",
|
{"path": "assets/bossfights/devils_fingers_stage.png",
|
||||||
"frame_width": 1080,
|
"frame_width": 1080,
|
||||||
"frame_height": 720
|
"frame_height": 720
|
||||||
},
|
},
|
||||||
"tunnel_with_rocks":
|
"tunnel_with_rocks":
|
||||||
{"path": "assets/tunnel_with_rocks.png",
|
{"path": "assets/bossfights/tunnel_with_rocks.png",
|
||||||
"frame_width": 1080,
|
"frame_width": 1080,
|
||||||
"frame_height": 720
|
"frame_height": 720
|
||||||
},
|
},
|
||||||
"tunnel_with_rocks_stage":
|
"tunnel_with_rocks_stage":
|
||||||
{"path": "assets/tunnel_with_rocks_stage.png",
|
{"path": "assets/bossfights/tunnel_with_rocks_stage.png",
|
||||||
"frame_width": 1080,
|
"frame_width": 1080,
|
||||||
"frame_height": 720
|
"frame_height": 720
|
||||||
},
|
},
|
||||||
"ritual_crafting_area":
|
"ritual_crafting_area":
|
||||||
{"path": "assets/ritual_crafting_area.png",
|
{"path": "assets/ui/ritual_crafting_area.png",
|
||||||
"frame_width": 380,
|
|
||||||
"frame_height": 720
|
|
||||||
},
|
|
||||||
"the_ritual_circle":
|
|
||||||
{"path": "assets/the_ritual_circle.png",
|
|
||||||
"frame_width": 380,
|
|
||||||
"frame_height": 380
|
|
||||||
},
|
|
||||||
"paper_ui_background":
|
|
||||||
{"path": "assets/paper_ui_background.png",
|
|
||||||
"frame_width": 380,
|
"frame_width": 380,
|
||||||
"frame_height": 720
|
"frame_height": 720
|
||||||
},
|
},
|
||||||
"full_screen_paper":
|
"full_screen_paper":
|
||||||
{"path": "assets/full_screen_paper.png",
|
{"path": "assets/ui/full_screen_paper.png",
|
||||||
"frame_width": 1280,
|
"frame_width": 1280,
|
||||||
"frame_height": 720
|
"frame_height": 720
|
||||||
},
|
},
|
||||||
"broken_locket-64":
|
"broken_locket":
|
||||||
{"path": "assets/rituals/broken_locket-64.png",
|
{"path": "assets/items/broken_locket.png",
|
||||||
"frame_width": 64,
|
"frame_width": 256,
|
||||||
"frame_height": 64
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"broken_locket-128":
|
"broken_pen_knife":
|
||||||
{"path": "assets/rituals/broken_locket-128.png",
|
{"path": "assets/items/broken_pen_knife.png",
|
||||||
"frame_width": 128,
|
"frame_width": 256,
|
||||||
"frame_height": 128
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"broken_pen_knife-64":
|
"broken_yoyo":
|
||||||
{"path": "assets/rituals/broken_pen_knife-64.png",
|
{"path": "assets/items/broken_yoyo.png",
|
||||||
"frame_width": 64,
|
"frame_width": 256,
|
||||||
"frame_height": 64
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"broken_pen_knife-128":
|
"chess_pawn":
|
||||||
{"path": "assets/rituals/broken_pen_knife-128.png",
|
{"path": "assets/items/chess_pawn.png",
|
||||||
"frame_width": 128,
|
"frame_width": 256,
|
||||||
"frame_height": 128
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"broken_yoyo-64":
|
"dirty_kerchief":
|
||||||
{"path": "assets/rituals/broken_yoyo-64.png",
|
{"path": "assets/items/dirty_kerchief.png",
|
||||||
"frame_width": 64,
|
"frame_width": 256,
|
||||||
"frame_height": 64
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"broken_yoyo-128":
|
"leather_pouch":
|
||||||
{"path": "assets/rituals/broken_yoyo-128.png",
|
{"path": "assets/items/leather_pouch.png",
|
||||||
"frame_width": 128,
|
"frame_width": 256,
|
||||||
"frame_height": 128
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"chess_pawn-64":
|
"mushroom":
|
||||||
{"path": "assets/rituals/chess_pawn-64.png",
|
{"path": "assets/items/mushroom.png",
|
||||||
"frame_width": 64,
|
"frame_width": 256,
|
||||||
"frame_height": 64
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"chess_pawn-128":
|
"pocket_watch":
|
||||||
{"path": "assets/rituals/chess_pawn-128.png",
|
{"path": "assets/items/pocket_watch.png",
|
||||||
"frame_width": 128,
|
"frame_width": 256,
|
||||||
"frame_height": 128
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"dirty_kerchief-64":
|
"rusty_nails":
|
||||||
{"path": "assets/rituals/dirty_kerchief-64.png",
|
{"path": "assets/items/rusty_nails.png",
|
||||||
"frame_width": 64,
|
"frame_width": 256,
|
||||||
"frame_height": 64
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"dirty_kerchief-128":
|
"severed_finger":
|
||||||
{"path": "assets/rituals/dirty_kerchief-128.png",
|
{"path": "assets/items/severed_finger.png",
|
||||||
"frame_width": 128,
|
"frame_width": 256,
|
||||||
"frame_height": 128
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"leather_pouch-64":
|
"stone_doll_cursed":
|
||||||
{"path": "assets/rituals/leather_pouch-64.png",
|
{"path": "assets/items/stone_doll_cursed.png",
|
||||||
"frame_width": 64,
|
"frame_width": 256,
|
||||||
"frame_height": 64
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"leather_pouch-128":
|
"dubious_combination":
|
||||||
{"path": "assets/rituals/leather_pouch-128.png",
|
{"path": "assets/items/dubious_combination.png",
|
||||||
"frame_width": 128,
|
"frame_width": 256,
|
||||||
"frame_height": 128
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"mushroom-64":
|
"dead_body":
|
||||||
{"path": "assets/rituals/mushroom-64.png",
|
{"path": "assets/sprites/dead_body.png",
|
||||||
"frame_width": 64,
|
"frame_width": 256,
|
||||||
"frame_height": 64
|
"frame_height": 256
|
||||||
},
|
},
|
||||||
"mushroom-128":
|
"dead_body_lootable":
|
||||||
{"path": "assets/rituals/mushroom-128.png",
|
{"path": "assets/sprites/dead_body_lootable.png",
|
||||||
"frame_width": 128,
|
"frame_width": 256,
|
||||||
"frame_height": 128
|
"frame_height": 256
|
||||||
},
|
|
||||||
"pocket_watch-64":
|
|
||||||
{"path": "assets/rituals/pocket_watch-64.png",
|
|
||||||
"frame_width": 64,
|
|
||||||
"frame_height": 64
|
|
||||||
},
|
|
||||||
"pocket_watch-128":
|
|
||||||
{"path": "assets/rituals/pocket_watch-128.png",
|
|
||||||
"frame_width": 128,
|
|
||||||
"frame_height": 128
|
|
||||||
},
|
|
||||||
"rusty_nails-64":
|
|
||||||
{"path": "assets/rituals/rusty_nails-64.png",
|
|
||||||
"frame_width": 64,
|
|
||||||
"frame_height": 64
|
|
||||||
},
|
|
||||||
"rusty_nails-128":
|
|
||||||
{"path": "assets/rituals/rusty_nails-128.png",
|
|
||||||
"frame_width": 128,
|
|
||||||
"frame_height": 128
|
|
||||||
},
|
|
||||||
"severed_finger-64":
|
|
||||||
{"path": "assets/rituals/severed_finger-64.png",
|
|
||||||
"frame_width": 64,
|
|
||||||
"frame_height": 64
|
|
||||||
},
|
|
||||||
"severed_finger-128":
|
|
||||||
{"path": "assets/rituals/severed_finger-128.png",
|
|
||||||
"frame_width": 128,
|
|
||||||
"frame_height": 128
|
|
||||||
},
|
|
||||||
"stone_doll_cursed-64":
|
|
||||||
{"path": "assets/rituals/stone_doll_cursed-64.png",
|
|
||||||
"frame_width": 64,
|
|
||||||
"frame_height": 64
|
|
||||||
},
|
|
||||||
"stone_doll_cursed-128":
|
|
||||||
{"path": "assets/rituals/stone_doll_cursed-128.png",
|
|
||||||
"frame_width": 128,
|
|
||||||
"frame_height": 128
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"worldgen": {
|
"worldgen": {
|
||||||
"enemy_probability": 50,
|
"enemy_probability": 50,
|
||||||
"empty_room_probability": 1,
|
|
||||||
"device_probability": 10
|
"device_probability": 10
|
||||||
},
|
},
|
||||||
"graphics": {
|
"graphics": {
|
||||||
|
@ -324,9 +238,12 @@
|
||||||
"W": 8592,
|
"W": 8592,
|
||||||
"NW": 8598
|
"NW": 8598
|
||||||
},
|
},
|
||||||
"test_rituals": [
|
"theme": {
|
||||||
{ "has_spikes": true, "active": true },
|
"NOTE": "colors are in assets/palette.json",
|
||||||
{ "has_magick": true, "active": true },
|
"padding": 3,
|
||||||
{ "has_magick": true, "shiny_bauble": true, "active": true }
|
"border_px": 1,
|
||||||
]
|
"text_size": 20,
|
||||||
|
"label_size": 20,
|
||||||
|
"font_file_name": "assets/text.otf"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
"inventory_count": 0,
|
"inventory_count": 0,
|
||||||
"randomized": false,
|
"randomized": false,
|
||||||
"components": [
|
"components": [
|
||||||
{"_type": "Tile", "display": 10949,
|
{"_type": "Tile", "display": 6105,
|
||||||
"foreground": [24, 205, 189],
|
"foreground": "devices/fg:stairs_down",
|
||||||
"background": [24, 205, 189]
|
"background": "devices/bg:stairs_down"
|
||||||
},
|
},
|
||||||
{"_type": "Device",
|
{"_type": "Device",
|
||||||
"config": {"test": true},
|
"config": {},
|
||||||
"events": ["Events::GUI::STAIRS_DOWN"]},
|
"events": ["STAIRS_DOWN"]},
|
||||||
{"_type": "Sprite", "name": "well_down", "width": 256, "height": 256, "scale": 1.0}
|
{"_type": "Sprite", "name": "well_down", "width": 256, "height": 256, "scale": 1.0}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -25,12 +25,12 @@
|
||||||
"placement": "fixed",
|
"placement": "fixed",
|
||||||
"components": [
|
"components": [
|
||||||
{"_type": "Tile", "display": 8793,
|
{"_type": "Tile", "display": 8793,
|
||||||
"foreground": [24, 205, 189],
|
"foreground": "devices/fg:stairs_up",
|
||||||
"background": [24, 205, 189]
|
"background": "devices/fg:stairs_up"
|
||||||
},
|
},
|
||||||
{"_type": "Device",
|
{"_type": "Device",
|
||||||
"config": {"test": true},
|
"config": {},
|
||||||
"events": ["Events::GUI::STAIRS_UP"]},
|
"events": ["STAIRS_UP"]},
|
||||||
{"_type": "Sprite", "name": "rope_vines_up", "width": 256, "height": 256, "scale": 1.0}
|
{"_type": "Sprite", "name": "rope_vines_up", "width": 256, "height": 256, "scale": 1.0}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -40,14 +40,66 @@
|
||||||
"description": "Watch where you're going.",
|
"description": "Watch where you're going.",
|
||||||
"inventory_count": 0,
|
"inventory_count": 0,
|
||||||
"components": [
|
"components": [
|
||||||
{"_type": "Tile", "display": 6855,
|
{"_type": "Tile", "display": 95,
|
||||||
"foreground": [24, 205, 189],
|
"foreground": "devices/fg:tripwire",
|
||||||
"background": [24, 205, 189]
|
"background": "devices/bg:tripwire"
|
||||||
},
|
},
|
||||||
{"_type": "Device",
|
{"_type": "Device", "config": {}, "events": ["TRAP"]},
|
||||||
"config": {"test": true},
|
|
||||||
"events": ["Events::GUI::TRAP"]},
|
|
||||||
{"_type": "Sprite", "name": "tripwire_trap", "width": 256, "height": 256, "scale": 1.0}
|
{"_type": "Sprite", "name": "tripwire_trap", "width": 256, "height": 256, "scale": 1.0}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"BARREL_SMALL": {
|
||||||
|
"id": "BARREL_SMALL",
|
||||||
|
"name": "Small Barrel",
|
||||||
|
"description": "A small rotten barrel that may hold things.",
|
||||||
|
"components": [
|
||||||
|
{"_type": "Tile", "display": 85,
|
||||||
|
"foreground": "devices/fg:barrel",
|
||||||
|
"background": "devices/bg:barrel"
|
||||||
|
},
|
||||||
|
{"_type": "Device", "config": {}, "events": ["LOOT_CONTAINER"]},
|
||||||
|
{"_type": "Sprite", "name": "barrel_small", "width": 256, "height": 256, "scale": 1.0},
|
||||||
|
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"GRAVE_STONE": {
|
||||||
|
"id": "GRAVE_STONE",
|
||||||
|
"name": "Grave Stone",
|
||||||
|
"description": "Something died here. Was this your doing?",
|
||||||
|
"components": [
|
||||||
|
{"_type": "Tile", "display": 8687,
|
||||||
|
"foreground": "devices/fg:grave_stone",
|
||||||
|
"background": "devices/bg:grave_stone"
|
||||||
|
},
|
||||||
|
{"_type": "Device", "config": {}, "events": ["LOOT_CONTAINER"]},
|
||||||
|
{"_type": "Sprite", "name": "grave_stone", "width": 256, "height": 256, "scale": 1.0},
|
||||||
|
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"DEAD_BODY_LOOTABLE": {
|
||||||
|
"id": "DEAD_BODY_LOOTABLE",
|
||||||
|
"name": "Grave Stone",
|
||||||
|
"description": "Something died here. Was this your doing?",
|
||||||
|
"components": [
|
||||||
|
{"_type": "Tile", "display": 1890,
|
||||||
|
"foreground": "devices/fg:dead_body_lootable",
|
||||||
|
"background": "devices/bg:dead_body_lootable"
|
||||||
|
},
|
||||||
|
{"_type": "Device", "config": {}, "events": ["LOOT_CONTAINER"]},
|
||||||
|
{"_type": "Sprite", "name": "dead_body_lootable", "width": 256, "height": 256, "scale": 1.0},
|
||||||
|
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"DEAD_BODY": {
|
||||||
|
"id": "DEAD_BODY",
|
||||||
|
"name": "Something Dead",
|
||||||
|
"description": "You can't loot this, weirdo.",
|
||||||
|
"components": [
|
||||||
|
{"_type": "Tile", "display": 1939,
|
||||||
|
"foreground": "devices/fg:dead_body",
|
||||||
|
"background": "devices/bg:dead_body"
|
||||||
|
},
|
||||||
|
{"_type": "Sprite", "name": "dead_body", "width": 256, "height": 256, "scale": 1.0}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,22 +2,40 @@
|
||||||
"PLAYER_TILE": {
|
"PLAYER_TILE": {
|
||||||
"placement": "fixed",
|
"placement": "fixed",
|
||||||
"components": [
|
"components": [
|
||||||
{"_type": "Tile", "display": 42603,
|
{"_type": "Tile", "display": 10733,
|
||||||
"foreground": [255, 200, 125],
|
"foreground": "enemies/fg:player",
|
||||||
"background": [30, 20, 75]
|
"background": "color:transparent"
|
||||||
},
|
},
|
||||||
{"_type": "Combat", "hp": 200, "max_hp": 200, "damage": 10, "dead": false},
|
{"_type": "Combat", "hp": 200, "max_hp": 200, "damage": 10, "dead": false},
|
||||||
{"_type": "Motion", "dx": 0, "dy": 0, "random": false},
|
{"_type": "Motion", "dx": 0, "dy": 0, "random": false},
|
||||||
{"_type": "LightSource", "strength": 45, "radius": 2.0}
|
{"_type": "Collision", "has": true},
|
||||||
|
{"_type": "LightSource", "strength": 35, "radius": 2.0}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"GOLD_SAVIOR": {
|
||||||
|
"components": [
|
||||||
|
{"_type": "Tile", "display": 42586,
|
||||||
|
"foreground": "enemies/fg:gold_savior",
|
||||||
|
"background": "color:transparent"
|
||||||
|
},
|
||||||
|
{"_type": "Combat", "hp": 20, "max_hp": 20, "damage": 1, "dead": false},
|
||||||
|
{"_type": "Collision", "has": true},
|
||||||
|
{"_type": "Motion", "dx": 0, "dy": 0, "random": false},
|
||||||
|
{"_type": "EnemyConfig", "ai_script": "Enemy::actions", "ai_start_name": "Enemy::initial_state", "ai_goal_name": "Enemy::final_state"},
|
||||||
|
{"_type": "Personality", "hearing_distance": 5, "tough": true},
|
||||||
|
{"_type": "Animation", "easing": 1, "ease_rate": 0.2, "scale": 0.1, "simple": true, "frames": 10, "speed": 0.3, "stationary": false},
|
||||||
|
{"_type": "Sprite", "name": "gold_savior", "width": 256, "height": 256, "width": 256, "height": 256, "scale": 1.0},
|
||||||
|
{"_type": "Sound", "attack": "Sword_Hit_2", "death": "Humanoid_Death_1"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"KNIGHT": {
|
"KNIGHT": {
|
||||||
"components": [
|
"components": [
|
||||||
{"_type": "Tile", "display": 2189,
|
{"_type": "Tile", "display": 2216,
|
||||||
"foreground": [131, 213, 238],
|
"foreground": "enemies/fg:knight",
|
||||||
"background": [30, 20, 75]
|
"background": "color:transparent"
|
||||||
},
|
},
|
||||||
{"_type": "Combat", "hp": 20, "max_hp": 20, "damage": 1, "dead": false},
|
{"_type": "Combat", "hp": 20, "max_hp": 20, "damage": 1, "dead": false},
|
||||||
|
{"_type": "Collision", "has": true},
|
||||||
{"_type": "Motion", "dx": 0, "dy": 0, "random": false},
|
{"_type": "Motion", "dx": 0, "dy": 0, "random": false},
|
||||||
{"_type": "EnemyConfig", "ai_script": "Enemy::actions", "ai_start_name": "Enemy::initial_state", "ai_goal_name": "Enemy::final_state"},
|
{"_type": "EnemyConfig", "ai_script": "Enemy::actions", "ai_start_name": "Enemy::initial_state", "ai_goal_name": "Enemy::final_state"},
|
||||||
{"_type": "Personality", "hearing_distance": 5, "tough": true},
|
{"_type": "Personality", "hearing_distance": 5, "tough": true},
|
||||||
|
@ -29,28 +47,30 @@
|
||||||
"AXE_RANGER": {
|
"AXE_RANGER": {
|
||||||
"components": [
|
"components": [
|
||||||
{"_type": "Tile", "display": 1898,
|
{"_type": "Tile", "display": 1898,
|
||||||
"foreground": [156, 172, 197],
|
"foreground": "enemies/fg:axe_ranger",
|
||||||
"background": [30, 20, 75]
|
"background": "color:transparent"
|
||||||
},
|
},
|
||||||
{"_type": "Combat", "hp": 40, "max_hp": 40, "damage": 10, "dead": false},
|
{"_type": "Combat", "hp": 40, "max_hp": 40, "damage": 10, "dead": false},
|
||||||
|
{"_type": "Collision", "has": true},
|
||||||
{"_type": "Motion", "dx": 0, "dy": 0, "random": true},
|
{"_type": "Motion", "dx": 0, "dy": 0, "random": true},
|
||||||
{"_type": "EnemyConfig", "ai_script": "Enemy::actions", "ai_start_name": "Enemy::initial_state", "ai_goal_name": "Enemy::final_state"},
|
{"_type": "EnemyConfig", "ai_script": "Enemy::actions", "ai_start_name": "Enemy::initial_state", "ai_goal_name": "Enemy::final_state"},
|
||||||
{"_type": "Personality", "hearing_distance": 5, "tough": true},
|
{"_type": "Personality", "hearing_distance": 5, "tough": true},
|
||||||
{"_type": "Sprite", "name": "axe_ranger", "width": 256, "height": 256, "scale": 1.0},
|
{"_type": "Sprite", "name": "axe_ranger", "width": 256, "height": 256, "scale": 1.0},
|
||||||
{"_type": "Animation", "easing": 3, "ease_rate": 0.5, "scale": 0.1, "simple": false, "frames": 2, "speed": 0.6, "stationary": false},
|
{"_type": "Animation", "easing": 3, "ease_rate": 0.5, "scale": 0.1, "simple": true, "frames": 1, "speed": 0.6, "stationary": false},
|
||||||
{"_type": "Sound", "attack": "Sword_Hit_2", "death": "Ranger_1"}
|
{"_type": "Sound", "attack": "Sword_Hit_2", "death": "Ranger_1"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"RAT_GIANT": {
|
"RAT_GIANT": {
|
||||||
"components": [
|
"components": [
|
||||||
{"_type": "Tile", "display": 2220,
|
{"_type": "Tile", "display": 2220,
|
||||||
"foreground": [205, 164, 246],
|
"foreground": "enemies/fg:rat_giant",
|
||||||
"background": [30, 20, 75]
|
"background": "color:transparent"
|
||||||
},
|
},
|
||||||
{"_type": "Combat", "hp": 50, "max_hp": 50, "damage": 2, "dead": false},
|
{"_type": "Combat", "hp": 50, "max_hp": 50, "damage": 2, "dead": false},
|
||||||
|
{"_type": "Collision", "has": true},
|
||||||
{"_type": "Motion", "dx": 0, "dy": 0, "random": false},
|
{"_type": "Motion", "dx": 0, "dy": 0, "random": false},
|
||||||
{"_type": "EnemyConfig", "ai_script": "Enemy::actions", "ai_start_name": "Enemy::initial_state", "ai_goal_name": "Enemy::final_state"},
|
{"_type": "EnemyConfig", "ai_script": "Enemy::actions", "ai_start_name": "Enemy::initial_state", "ai_goal_name": "Enemy::final_state"},
|
||||||
{"_type": "Personality", "hearing_distance": 5, "tough": false},
|
{"_type": "Personality", "hearing_distance": 5, "tough": true},
|
||||||
{"_type": "Animation", "easing": 3, "ease_rate": 0.5, "scale": 0.1, "simple": true, "frames": 1, "speed": 1.0, "stationary": false},
|
{"_type": "Animation", "easing": 3, "ease_rate": 0.5, "scale": 0.1, "simple": true, "frames": 1, "speed": 1.0, "stationary": false},
|
||||||
{"_type": "Sprite", "name": "rat_with_sword", "width": 256, "height": 256, "scale": 1.0},
|
{"_type": "Sprite", "name": "rat_with_sword", "width": 256, "height": 256, "scale": 1.0},
|
||||||
{"_type": "Sound", "attack": "Small_Rat", "death": "Creature_Death_1"}
|
{"_type": "Sound", "attack": "Small_Rat", "death": "Creature_Death_1"}
|
||||||
|
@ -59,10 +79,11 @@
|
||||||
"SPIDER_GIANT_HAIRY": {
|
"SPIDER_GIANT_HAIRY": {
|
||||||
"components": [
|
"components": [
|
||||||
{"_type": "Tile", "display": 1218,
|
{"_type": "Tile", "display": 1218,
|
||||||
"foreground": [205, 164, 246],
|
"foreground": "enemies/fg:spider_giant",
|
||||||
"background": [30, 20, 75]
|
"background": "color:transparent"
|
||||||
},
|
},
|
||||||
{"_type": "Combat", "hp": 20, "max_hp": 20, "damage": 20, "dead": false},
|
{"_type": "Combat", "hp": 20, "max_hp": 20, "damage": 20, "dead": false},
|
||||||
|
{"_type": "Collision", "has": true},
|
||||||
{"_type": "Motion", "dx": 0, "dy": 0, "random": false},
|
{"_type": "Motion", "dx": 0, "dy": 0, "random": false},
|
||||||
{"_type": "EnemyConfig", "ai_script": "Enemy::actions", "ai_start_name": "Enemy::initial_state", "ai_goal_name": "Enemy::final_state"},
|
{"_type": "EnemyConfig", "ai_script": "Enemy::actions", "ai_start_name": "Enemy::initial_state", "ai_goal_name": "Enemy::final_state"},
|
||||||
{"_type": "Personality", "hearing_distance": 5, "tough": true},
|
{"_type": "Personality", "hearing_distance": 5, "tough": true},
|
||||||
|
|
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 204 KiB |
Before Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 350 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 11 KiB |
12
assets/icons.json
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"healing_potion_small":
|
||||||
|
{"path": "assets/icons/healing_potion_small.png",
|
||||||
|
"frame_width": 96,
|
||||||
|
"frame_height": 96
|
||||||
|
},
|
||||||
|
"torch_horizontal_floor":
|
||||||
|
{"path": "assets/icons/torch_horizontal_floor.png",
|
||||||
|
"frame_width": 96,
|
||||||
|
"frame_height": 96
|
||||||
|
}
|
||||||
|
}
|
BIN
assets/icons/healing_potion_small.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
assets/icons/torch_horizontal_floor.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
|
@ -7,58 +7,13 @@
|
||||||
"components": [
|
"components": [
|
||||||
{"_type": "LightSource", "strength": 50, "radius": 2.5},
|
{"_type": "LightSource", "strength": 50, "radius": 2.5},
|
||||||
{"_type": "Tile", "display": 3848,
|
{"_type": "Tile", "display": 3848,
|
||||||
"foreground": [24, 120, 189],
|
"foreground": "items/fg:flame",
|
||||||
"background": [230,120, 120]
|
"background": "color:transparent"
|
||||||
},
|
},
|
||||||
{"_type": "Sprite", "name": "torch_horizontal_floor", "width": 256, "height": 256, "scale": 1.0},
|
{"_type": "Sprite", "name": "torch_horizontal_floor", "width": 256, "height": 256, "scale": 1.0},
|
||||||
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"SWORD_RUSTY": {
|
|
||||||
"id": "SWORD_RUSTY",
|
|
||||||
"name": "Rusty Junk Sword",
|
|
||||||
"description": "A sword left to rot in a deep hole where it acquired a patina of dirt and tetanus. You aren't sure if it's more deadly for you to hold it or for the people you stab with it.",
|
|
||||||
"inventory_count": 1,
|
|
||||||
"components": [
|
|
||||||
{"_type": "Weapon", "damage": 15},
|
|
||||||
{"_type": "Tile", "display": 7735,
|
|
||||||
"foreground": [24, 120, 189],
|
|
||||||
"background": [24, 120, 189]
|
|
||||||
},
|
|
||||||
{"_type": "Sprite", "name": "cinqueda", "width": 256, "height": 256, "scale": 1.0},
|
|
||||||
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"BARREL_SMALL": {
|
|
||||||
"id": "BARREL_SMALL",
|
|
||||||
"name": "Small Barrel",
|
|
||||||
"description": "A small rotten barrel that may hold things.",
|
|
||||||
"components": [
|
|
||||||
{"_type": "Tile", "display": 43754,
|
|
||||||
"foreground": [150, 100, 189],
|
|
||||||
"background": [150, 100, 189]
|
|
||||||
},
|
|
||||||
{"_type": "Loot", "amount": 10},
|
|
||||||
{"_type": "Sprite", "name": "barrel_small", "width": 256, "height": 256, "scale": 1.0},
|
|
||||||
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
|
||||||
],
|
|
||||||
"inventory_count": 1
|
|
||||||
},
|
|
||||||
"TORCH_PILLAR": {
|
|
||||||
"id": "TORCH_PILLAR",
|
|
||||||
"name": "Light Hanging from Ceiling",
|
|
||||||
"description": "Light Hanging from Ceiling",
|
|
||||||
"inventory_count": 0,
|
|
||||||
"components": [
|
|
||||||
{"_type": "Tile", "display": 1918,
|
|
||||||
"foreground": [24, 205, 210],
|
|
||||||
"background": [24, 205, 210]
|
|
||||||
},
|
|
||||||
{"_type": "LightSource", "strength": 50, "radius": 2.8},
|
|
||||||
{"_type": "Sprite", "name": "torch_pillar", "width": 256, "height": 256, "scale": 1.0},
|
|
||||||
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"POTION_HEALING_SMALL": {
|
"POTION_HEALING_SMALL": {
|
||||||
"id": "POTION_HEALING_SMALL",
|
"id": "POTION_HEALING_SMALL",
|
||||||
"name": "Small Healing Potion",
|
"name": "Small Healing Potion",
|
||||||
|
@ -66,27 +21,12 @@
|
||||||
"inventory_count": 1,
|
"inventory_count": 1,
|
||||||
"components": [
|
"components": [
|
||||||
{"_type": "Tile", "display": 1003,
|
{"_type": "Tile", "display": 1003,
|
||||||
"foreground": [255, 205, 189],
|
"foreground": "items/fg:potion",
|
||||||
"background": [255, 205, 189]
|
"background": "color:transparent"
|
||||||
},
|
},
|
||||||
{"_type": "Curative", "hp": 20},
|
{"_type": "Curative", "hp": 20},
|
||||||
{"_type": "Sprite", "name": "healing_potion_small", "width": 256, "height": 256, "scale": 1.0},
|
{"_type": "Sprite", "name": "healing_potion_small", "width": 256, "height": 256, "scale": 1.0},
|
||||||
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
"GRAVE_STONE": {
|
|
||||||
"id": "GRAVE_STONE",
|
|
||||||
"name": "Grave Stone",
|
|
||||||
"description": "Something died here. Was this your doing?",
|
|
||||||
"inventory_count": 1,
|
|
||||||
"components": [
|
|
||||||
{"_type": "Tile", "display": 8687,
|
|
||||||
"foreground": [32, 123, 164],
|
|
||||||
"background": [24, 205, 189]
|
|
||||||
},
|
|
||||||
{"_type": "Loot", "amount": 10},
|
|
||||||
{"_type": "Sprite", "name": "grave_stone", "width": 256, "height": 256, "scale": 1.0},
|
|
||||||
{"_type": "Sound", "attack": "pickup", "death": "blank"}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
BIN
assets/items/broken_locket.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
assets/items/broken_pen_knife.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
assets/items/broken_yoyo.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
assets/items/chess_pawn.png
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
assets/items/cinqueda.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
assets/items/dirty_kerchief.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
assets/items/dubious_combination.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
assets/items/healing_postion_small.png
Normal file
After Width: | Height: | Size: 7 KiB |
BIN
assets/items/healing_potion_small.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
assets/items/leather_pouch.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
assets/items/mushroom.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
assets/items/pocket_watch.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
assets/items/rusty_nails.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
assets/items/severed_finger.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
assets/items/stone_doll_cursed.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
assets/items/torch_crappy.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
assets/items/torch_horizontal_floor.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
assets/items/wood_barrel_small.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
140
assets/map_tiles.json
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"centered": false,
|
||||||
|
"display": 35,
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": false,
|
||||||
|
"display": 8284,
|
||||||
|
"x": 64,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": false,
|
||||||
|
"display": 11590,
|
||||||
|
"x": 128,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": false,
|
||||||
|
"display": 10899,
|
||||||
|
"x": 192,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": false,
|
||||||
|
"display": 9256,
|
||||||
|
"x": 256,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": false,
|
||||||
|
"display": 9608,
|
||||||
|
"x": 320,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": false,
|
||||||
|
"display": 10747,
|
||||||
|
"x": 384,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": false,
|
||||||
|
"display": 8285,
|
||||||
|
"x": 448,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 1003,
|
||||||
|
"x": 512,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 3848,
|
||||||
|
"x": 576,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 85,
|
||||||
|
"x": 0,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 1939,
|
||||||
|
"x": 64,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 1890,
|
||||||
|
"x": 128,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 8687,
|
||||||
|
"x": 192,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 6105,
|
||||||
|
"x": 256,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 8793,
|
||||||
|
"x": 320,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 95,
|
||||||
|
"x": 384,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 1898,
|
||||||
|
"x": 448,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 42586,
|
||||||
|
"x": 512,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 2216,
|
||||||
|
"x": 576,
|
||||||
|
"y": 64
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 10733,
|
||||||
|
"x": 0,
|
||||||
|
"y": 128
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 2220,
|
||||||
|
"x": 64,
|
||||||
|
"y": 128
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"centered": true,
|
||||||
|
"display": 1218,
|
||||||
|
"x": 128,
|
||||||
|
"y": 128
|
||||||
|
}
|
||||||
|
]
|
BIN
assets/map_tiles.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
81
assets/palette.json
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
{
|
||||||
|
"color": {
|
||||||
|
"transparent": [100, 100, 100, 100],
|
||||||
|
"BAD": [255, 0, 0]
|
||||||
|
},
|
||||||
|
"gui/theme": {
|
||||||
|
"black": [0, 0, 0, 255],
|
||||||
|
"dark_dark": [10, 10, 10, 255],
|
||||||
|
"dark_mid": [30, 30, 30, 255],
|
||||||
|
"dark_light": [60, 60, 60, 255],
|
||||||
|
"mid": [100, 100, 100, 255],
|
||||||
|
"light_dark": [150, 150, 150, 255],
|
||||||
|
"light_mid": [200, 200, 200, 255],
|
||||||
|
"light_light": [230, 230, 230, 255],
|
||||||
|
"white": [255, 255, 255, 255],
|
||||||
|
"fill_color": "gui/theme:dark_mid",
|
||||||
|
"text_color": "gui/theme:light_light",
|
||||||
|
"bg_color": "gui/theme:mid",
|
||||||
|
"border_color": "gui/theme:dark_dark",
|
||||||
|
"bg_color_dark": "gui/theme:black"
|
||||||
|
},
|
||||||
|
"map/theme": {
|
||||||
|
"black": [0, 0, 0, 255],
|
||||||
|
"dark_dark": [10, 10, 10, 255],
|
||||||
|
"dark_mid": [30, 30, 30, 255],
|
||||||
|
"dark_light": [60, 60, 60, 255],
|
||||||
|
"mid": [100, 100, 100, 255],
|
||||||
|
"light_dark": [150, 150, 150, 255],
|
||||||
|
"light_mid": [200, 200, 200, 255],
|
||||||
|
"light_light": [230, 230, 230, 255],
|
||||||
|
"white": [255, 255, 255, 255]
|
||||||
|
},
|
||||||
|
"items/fg": {
|
||||||
|
"flame": "map/theme:white",
|
||||||
|
"potion": "map/theme:white"
|
||||||
|
},
|
||||||
|
"enemies/fg": {
|
||||||
|
"player": "map/theme:white",
|
||||||
|
"gold_savior": "map/theme:white",
|
||||||
|
"knight": "map/theme:white",
|
||||||
|
"axe_ranger": "map/theme:white",
|
||||||
|
"rat_giant": "map/theme:white",
|
||||||
|
"spider_giant": "map/theme:white"
|
||||||
|
},
|
||||||
|
"tiles/fg": {
|
||||||
|
"floor_tile": "map/theme:mid",
|
||||||
|
"wall_plain": "map/theme:dark_mid",
|
||||||
|
"wall_moss": "map/theme:dark_light",
|
||||||
|
"ceiling_black": "color:transparent",
|
||||||
|
"lava_floor": [200, 100, 100],
|
||||||
|
"gray_stone_floor_light": [40, 60, 180],
|
||||||
|
"wood_wall": "map/theme:dark_mid"
|
||||||
|
},
|
||||||
|
"tiles/bg": {
|
||||||
|
"floor_tile": "map/theme:dark_dark",
|
||||||
|
"wall_plain": "map/theme:dark_dark",
|
||||||
|
"wall_moss": "map/theme:light_dark",
|
||||||
|
"ceiling_black": "color:transparent",
|
||||||
|
"lava_floor": "map/theme:dark_dark",
|
||||||
|
"gray_stone_floor_light": "map/theme:dark_mid",
|
||||||
|
"wood_wall": "map/theme:dark_dark"
|
||||||
|
},
|
||||||
|
"devices/fg": {
|
||||||
|
"stairs_down": [24, 205, 189],
|
||||||
|
"stairs_up": [24, 205, 189],
|
||||||
|
"tripwire": [24, 205, 189],
|
||||||
|
"barrel": [150, 100, 189],
|
||||||
|
"grave_stone": [32, 123, 164],
|
||||||
|
"dead_body": [32, 123, 164],
|
||||||
|
"dead_body_lootable": [32, 123, 164]
|
||||||
|
},
|
||||||
|
"devices/bg": {
|
||||||
|
"stairs_down": [24, 205, 189],
|
||||||
|
"stairs_up": [24, 205, 189],
|
||||||
|
"tripwire": [24, 205, 189],
|
||||||
|
"barrel": [150, 100, 189],
|
||||||
|
"grave_stone": [24, 205, 189],
|
||||||
|
"dead_body": [24, 205, 189],
|
||||||
|
"dead_body_lootable": [24, 205, 189]
|
||||||
|
}
|
||||||
|
}
|
Before Width: | Height: | Size: 285 KiB |
Before Width: | Height: | Size: 211 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 20 KiB |
|
@ -169,5 +169,34 @@
|
||||||
"damage": 16,
|
"damage": 16,
|
||||||
"probability": 1.0
|
"probability": 1.0
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"junk": {
|
||||||
|
"chess_pawn": {
|
||||||
|
"name": "chess_pawn",
|
||||||
|
"provides": ["cursed_item"]
|
||||||
|
},
|
||||||
|
"dirty_kerchief": {
|
||||||
|
"name": "dirty_kerchief",
|
||||||
|
"provides": ["has_magick"]
|
||||||
|
},
|
||||||
|
"mushroom": {
|
||||||
|
"name": "mushroom",
|
||||||
|
"provides": ["has_magick"]
|
||||||
|
},
|
||||||
|
"pocket_watch": {
|
||||||
|
"name": "pocket_watch",
|
||||||
|
"provides": ["shiny_bauble"]
|
||||||
|
},
|
||||||
|
"rusty_nails": {
|
||||||
|
"name": "rusty_nails",
|
||||||
|
"provides": ["has_spikes"]
|
||||||
|
},
|
||||||
|
"severed_finger": {
|
||||||
|
"name": "severed_finger",
|
||||||
|
"provides": ["cursed_item"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"starting_junk": [
|
||||||
|
"pocket_watch", "mushroom", "rusty_nails"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
BIN
assets/rituals/dubious_combination-128.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
assets/rituals/dubious_combination-64.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 28 KiB |
|
@ -1,8 +1,10 @@
|
||||||
|
#version 120
|
||||||
uniform vec2 u_resolution;
|
uniform vec2 u_resolution;
|
||||||
uniform float u_time;
|
uniform float u_time;
|
||||||
uniform sampler2D source;
|
uniform sampler2D source;
|
||||||
uniform float u_mouse;
|
uniform float u_mouse;
|
||||||
uniform float value = 0.2;
|
uniform float value = 0.2;
|
||||||
|
uniform int octaves=8;
|
||||||
|
|
||||||
float random (in vec2 st) {
|
float random (in vec2 st) {
|
||||||
return fract(sin(dot(st.xy,
|
return fract(sin(dot(st.xy,
|
||||||
|
@ -26,7 +28,7 @@ float noise(in vec2 st) {
|
||||||
(d - b) * u.x * u.y;
|
(d - b) * u.x * u.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
float fbm(in vec2 st, int octaves=8) {
|
float fbm(in vec2 st) {
|
||||||
float v = 0.0;
|
float v = 0.0;
|
||||||
float a = 0.5;
|
float a = 0.5;
|
||||||
vec2 shift = vec2(100.0);
|
vec2 shift = vec2(100.0);
|
||||||
|
@ -47,7 +49,7 @@ void main() {
|
||||||
vec3 color = vec3(0.0);
|
vec3 color = vec3(0.0);
|
||||||
|
|
||||||
float speed = u_time * 10.0;
|
float speed = u_time * 10.0;
|
||||||
float value = cos(u_time) * cos(u_time);
|
float value = 0.8; // cos(u_time) * cos(u_time);
|
||||||
|
|
||||||
vec2 q = vec2(0.0);
|
vec2 q = vec2(0.0);
|
||||||
q.x = fbm(st + 0.00 * speed);
|
q.x = fbm(st + 0.00 * speed);
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
|
#version 120
|
||||||
uniform vec2 u_resolution;
|
uniform vec2 u_resolution;
|
||||||
uniform float u_time;
|
uniform float u_time;
|
||||||
uniform sampler2D source;
|
uniform sampler2D source;
|
||||||
uniform float u_mouse;
|
uniform float u_mouse;
|
||||||
uniform float value = 0.2;
|
uniform float value = 0.2;
|
||||||
|
uniform int octaves=8;
|
||||||
|
|
||||||
float random (in vec2 st) {
|
float random (in vec2 st) {
|
||||||
return fract(sin(dot(st.xy,
|
return fract(sin(dot(st.xy,
|
||||||
|
@ -26,7 +28,7 @@ float noise(in vec2 st) {
|
||||||
(d - b) * u.x * u.y;
|
(d - b) * u.x * u.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
float fbm(in vec2 st, int octaves=8) {
|
float fbm(in vec2 st) {
|
||||||
float v = 0.0;
|
float v = 0.0;
|
||||||
float a = 0.5;
|
float a = 0.5;
|
||||||
vec2 shift = vec2(100.0);
|
vec2 shift = vec2(100.0);
|
||||||
|
|
BIN
assets/sounds/hp_status_00.ogg
Normal file
BIN
assets/sounds/hp_status_10.ogg
Normal file
BIN
assets/sounds/hp_status_30.ogg
Normal file
BIN
assets/sounds/hp_status_60.ogg
Normal file
BIN
assets/sounds/hp_status_80.ogg
Normal file
BIN
assets/sprites/armored_knight_1.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
assets/sprites/axe_ranger.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
assets/sprites/dead_body.png
Normal file
After Width: | Height: | Size: 2 KiB |
BIN
assets/sprites/dead_body_lootable.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
assets/sprites/gold_savior.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
assets/sprites/grave_stone.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
assets/sprites/hairy_spider.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
assets/sprites/peasant_girl_2.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
assets/sprites/rat_with_sword.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
assets/sprites/rope_vines_up.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
assets/sprites/torch_pillar.png
Normal file
After Width: | Height: | Size: 9.8 KiB |
BIN
assets/sprites/tripwire_trap.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
assets/sprites/undead_peasant.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
assets/sprites/well_down.png
Normal file
After Width: | Height: | Size: 22 KiB |
17
assets/styles.json
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "Mossy Blue Ceiling",
|
||||||
|
"floor": "gray_stone_floor_light",
|
||||||
|
"walls": "wall_moss"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Plain",
|
||||||
|
"floor": "floor_tile",
|
||||||
|
"walls": "wall_plain"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Wood Walls",
|
||||||
|
"floor": "floor_tile",
|
||||||
|
"walls": "wood_wall"
|
||||||
|
}
|
||||||
|
]
|
BIN
assets/textures/ceiling_black.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
assets/textures/ceiling_blue_light.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
assets/textures/floor_gray_stone.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
assets/textures/glowing_moss_wall.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
assets/textures/gray_stone_floor_light.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
assets/textures/lava_floor.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
assets/textures/wall_plain.png
Normal file
After Width: | Height: | Size: 30 KiB |