summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--LevelDesign/tiled_files/dungeonDecoration_0.tsx4
-rw-r--r--LevelDesign/tiled_files/dungeonDecoration_1.tsx4
-rw-r--r--LevelDesign/tiled_files/dungeon_.tsx2
-rw-r--r--LevelDesign/tiled_files/map2.tmx164
-rw-r--r--LevelDesign/tiled_files/traps_.tsx4
-rw-r--r--LevelDesign/tiled_files/waterLavaAcid_.tsx4
-rw-r--r--assets/map2-overhang.pngbin0 -> 1221 bytes
-rw-r--r--assets/map2.pngbin0 -> 7260 bytes
-rw-r--r--src/levels.rb164
-rw-r--r--src/logic.rb16
10 files changed, 348 insertions, 14 deletions
diff --git a/LevelDesign/tiled_files/dungeonDecoration_0.tsx b/LevelDesign/tiled_files/dungeonDecoration_0.tsx
new file mode 100644
index 0000000..a1955c3
--- /dev/null
+++ b/LevelDesign/tiled_files/dungeonDecoration_0.tsx
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tileset version="1.5" tiledversion="1.7.2" name="dungeonDecoration_0" tilewidth="16" tileheight="16" tilecount="169" columns="13">
+ <image source="../dungeon_ v1.0/dungeonDecoration_0.png" width="208" height="208"/>
+</tileset>
diff --git a/LevelDesign/tiled_files/dungeonDecoration_1.tsx b/LevelDesign/tiled_files/dungeonDecoration_1.tsx
new file mode 100644
index 0000000..eb9850f
--- /dev/null
+++ b/LevelDesign/tiled_files/dungeonDecoration_1.tsx
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tileset version="1.5" tiledversion="1.7.2" name="dungeonDecoration_1" tilewidth="16" tileheight="16" tilecount="448" columns="32">
+ <image source="../dungeon_ v1.0/dungeonDecoration_1.png" width="512" height="224"/>
+</tileset>
diff --git a/LevelDesign/tiled_files/dungeon_.tsx b/LevelDesign/tiled_files/dungeon_.tsx
index b4feb87..034d053 100644
--- a/LevelDesign/tiled_files/dungeon_.tsx
+++ b/LevelDesign/tiled_files/dungeon_.tsx
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.5" tiledversion="1.7.2" name="dungeon_" tilewidth="16" tileheight="16" tilecount="280" columns="14">
- <image source="dungeon_.png" width="224" height="320"/>
+ <image source="../dungeon_ v1.0/dungeon_.png" width="224" height="320"/>
</tileset>
diff --git a/LevelDesign/tiled_files/map2.tmx b/LevelDesign/tiled_files/map2.tmx
new file mode 100644
index 0000000..216fea8
--- /dev/null
+++ b/LevelDesign/tiled_files/map2.tmx
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="29" height="22" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="1">
+ <tileset firstgid="1" source="dungeon_.tsx"/>
+ <tileset firstgid="281" source="dungeonDecoration_0.tsx"/>
+ <tileset firstgid="450" source="traps_.tsx"/>
+ <tileset firstgid="580" source="waterLavaAcid_.tsx"/>
+ <tileset firstgid="979" source="dungeonDecoration_1.tsx"/>
+ <layer id="1" name="floor" width="29" height="22" offsetx="-16" offsety="-16">
+ <data encoding="csv">
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,146,147,147,147,147,147,148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,160,161,161,161,161,161,173,147,147,147,147,147,147,147,147,147,147,147,147,147,148,0,0,0,0,0,
+0,0,0,160,161,145,175,149,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,162,0,0,0,0,0,
+0,0,0,160,161,159,189,163,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,162,0,0,0,0,0,
+0,0,0,160,161,173,147,177,161,145,175,175,175,175,175,175,175,175,175,175,175,149,161,162,0,0,0,0,0,
+0,0,0,160,161,161,161,161,161,159,189,189,189,189,189,189,189,189,189,189,189,163,161,162,0,0,0,0,0,
+0,0,0,174,175,149,161,145,175,176,0,106,106,106,106,0,0,106,0,504,504,160,161,162,0,0,0,0,0,
+0,0,0,188,189,163,161,159,189,190,0,106,106,106,106,0,106,146,147,147,147,177,161,173,147,147,147,148,0,
+0,0,0,0,0,160,161,162,0,0,0,106,106,106,106,106,106,160,161,161,161,161,161,161,161,161,161,162,0,
+0,0,0,0,0,160,161,162,0,0,106,106,106,106,106,106,106,160,161,145,175,175,175,175,175,149,161,162,0,
+0,0,0,146,147,177,161,173,147,147,147,147,147,147,148,320,106,160,161,159,189,189,189,189,189,163,161,162,0,
+0,0,0,160,161,161,161,161,161,161,161,161,161,161,162,320,106,160,161,162,4,146,147,148,6,160,161,162,0,
+0,0,0,160,161,161,161,161,161,145,175,175,175,175,176,320,106,160,161,162,4,160,161,162,6,160,161,162,0,
+0,0,0,160,161,161,161,161,161,159,189,189,189,189,190,320,106,160,161,162,4,160,161,162,6,160,161,162,0,
+0,0,0,174,175,175,175,175,175,176,15,320,320,320,320,106,0,160,161,173,147,177,161,173,147,177,161,162,0,
+0,0,0,188,189,189,189,189,189,190,0,0,0,0,0,0,5,160,161,161,161,161,161,161,161,161,161,162,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,174,175,175,175,175,175,175,175,175,175,176,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,188,189,189,189,189,189,189,189,189,189,190,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,6,6,6,6,6,0
+</data>
+ </layer>
+ <layer id="3" name="carpet" width="29" height="22" offsetx="-16" offsety="-16">
+ <data encoding="csv">
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,301,302,303,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,314,315,316,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,314,315,316,0,0,0,0,0,0,0,0,0,301,302,302,302,302,302,302,302,302,302,303,0,
+0,0,0,0,0,314,315,316,0,0,106,0,0,0,0,0,0,314,315,315,315,315,315,315,315,315,315,316,0,
+0,0,0,0,0,314,315,316,0,106,106,0,0,0,0,0,0,327,328,328,328,328,328,328,328,328,328,329,0,
+0,0,0,0,0,314,315,316,0,301,302,302,302,302,303,299,320,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,327,328,329,0,314,315,315,315,315,316,299,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,106,327,328,328,328,328,329,299,0,0,0,0,0,0,1119,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,106,106,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,106,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+</data>
+ </layer>
+ <layer id="5" name="decor" width="29" height="22" offsetx="-16" offsety="-16">
+ <data encoding="csv">
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,641,639,642,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,621,622,619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,660,601,661,376,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,425,426,427,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+</data>
+ </layer>
+ <layer id="2" name="walls" width="29" height="22" offsetx="-16" offsety="-16">
+ <data encoding="csv">
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,16,59,50,106,49,59,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,30,73,64,106,63,73,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,76,0,0,0,0,0,0,0,0,0,0,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,62,0,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,15,15,15,15,20,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,49,89,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,63,103,15,15,15,15,15,0,0,0,0,49,59,0,0,0,59,50,0,0,0,
+0,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,0,0,63,73,1172,1173,1174,73,64,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,0,106,0,0,0,0,0,
+0,0,0,34,0,0,0,0,0,20,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,86,17,17,59,17,17,89,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,20,0,
+0,0,0,100,31,101,73,31,31,103,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,0,0,34,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,17,50,0,0,0,0,0,0,49,89,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,31,64,0,0,0,0,0,296,63,103,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+</data>
+ </layer>
+ <layer id="4" name="traps" width="29" height="22" offsetx="-16" offsety="-16">
+ <data encoding="csv">
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,554,0,0,0,0,0,554,0,0,0,0,0,554,0,0,0,0,0,0,
+0,0,0,0,0,157,157,157,0,0,564,0,0,554,454,454,564,0,0,554,0,0,564,0,0,0,0,0,0,
+0,0,0,0,0,157,157,157,0,0,0,0,0,564,454,454,454,0,0,564,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,157,157,157,0,0,0,0,0,0,454,106,106,106,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,157,157,157,0,0,0,0,0,0,0,106,106,106,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,106,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,454,454,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,454,454,454,454,454,454,0,0,0,0,454,454,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,454,454,454,454,454,454,454,454,454,454,454,454,454,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,454,454,454,454,454,454,454,454,454,454,454,454,454,454,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,454,454,454,454,454,454,454,454,454,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+</data>
+ </layer>
+ <layer id="6" name="arches" width="29" height="22" visible="0" offsetx="-16" offsety="-16">
+ <data encoding="csv">
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1108,1109,1110,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,287,287,1140,1141,1142,287,287,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,287,287,287,287,287,287,287,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+</data>
+ </layer>
+</map>
diff --git a/LevelDesign/tiled_files/traps_.tsx b/LevelDesign/tiled_files/traps_.tsx
new file mode 100644
index 0000000..2aef163
--- /dev/null
+++ b/LevelDesign/tiled_files/traps_.tsx
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tileset version="1.5" tiledversion="1.7.2" name="traps_" tilewidth="16" tileheight="16" tilecount="130" columns="10">
+ <image source="../dungeon_ v1.0/traps_.png" width="160" height="208"/>
+</tileset>
diff --git a/LevelDesign/tiled_files/waterLavaAcid_.tsx b/LevelDesign/tiled_files/waterLavaAcid_.tsx
new file mode 100644
index 0000000..572aeed
--- /dev/null
+++ b/LevelDesign/tiled_files/waterLavaAcid_.tsx
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tileset version="1.5" tiledversion="1.7.2" name="waterLavaAcid_" tilewidth="16" tileheight="16" tilecount="399" columns="19">
+ <image source="../dungeon_ v1.0/waterLavaAcid_.png" width="304" height="336"/>
+</tileset>
diff --git a/assets/map2-overhang.png b/assets/map2-overhang.png
new file mode 100644
index 0000000..a797d42
--- /dev/null
+++ b/assets/map2-overhang.png
Binary files differ
diff --git a/assets/map2.png b/assets/map2.png
new file mode 100644
index 0000000..162ac3b
--- /dev/null
+++ b/assets/map2.png
Binary files differ
diff --git a/src/levels.rb b/src/levels.rb
index 37a6731..32e6e84 100644
--- a/src/levels.rb
+++ b/src/levels.rb
@@ -2,10 +2,21 @@ FECS::Cmp.new('CurrentLevel', level: -1)
CurrentLevel = FECS::Cmp::CurrentLevel.new
+
Levels = []
# First level
level0 = {
+ map_texture: {
+ path: './assets/mapinit.png',
+ source_rec: Rl::Rectangle.new(0,0,448,336),
+ dest_rec: Rl::Rectangle.new(0,0,448*2,336*2)
+ },
+ overhang_texture: {
+ path: './assets/mapinit-overhang.png',
+ source_rec: Rl::Rectangle.new(0,0,140,220),
+ dest_rec: Rl::Rectangle.new(0,0,140*2,220*2)
+ },
player_spawn: Rl::Vector2.new(425,325),
scissor_size: Path.new(
lambda do |time|
@@ -105,7 +116,152 @@ level0 = {
]
}
+# Second level
+level1 = {
+ map_texture: {
+ path: './assets/map2.png',
+ source_rec: Rl::Rectangle.new(0,0,480,368),
+ dest_rec: Rl::Rectangle.new(0,0,480*2,368*2)
+ },
+ overhang_texture: {
+ path: './assets/map2-overhang.png',
+ source_rec: Rl::Rectangle.new(0,0,480,368),
+ dest_rec: Rl::Rectangle.new(0,0,480*2,368*2)
+ },
+ player_spawn: Rl::Vector2.new(187,465),
+ scissor_size: Path.new(
+ lambda do |time|
+ [250,
+ 250]
+ end,
+ lambda do |time|
+ [250,
+ 250]
+ end,
+ lambda do |time|
+ [250,
+ 250]
+ end,
+ lambda do |time|
+ [250,
+ 250]
+ end,
+ lambda do |time|
+ [250+(50*(-(Math.cos(Math::PI*time)-1)/2)),
+ 250-(80*(-(Math.cos(Math::PI*time)-1)/2))]
+ end
+ ),
+ scissor_path: Path.new(
+ lambda do |time|
+ xstart = 206
+ ystart = 509
+ xstartnode = 204
+ ystartnode = 390
+ xendnode = 228
+ yendnode = 336
+ xend = 153
+ yend = 268
+ easeTime = time #1 - Math.cos((time * Math::PI) / 2)
+ [Math.bezier([xstart, xstartnode, xendnode, xend],easeTime)-(250/2),
+ Math.bezier([ystart, ystartnode, yendnode, yend],easeTime)-(250/2)]
+ end,
+ lambda do |time|
+ xstart = 153
+ ystart = 268
+ xstartnode = 78
+ ystartnode = 202
+ xendnode = 205
+ yendnode = 75
+ xend = 273
+ yend = 186
+ [Math.bezier([xstart, xstartnode, xendnode, xend],time)-(250/2),
+ Math.bezier([ystart, ystartnode, yendnode, yend],time)-(250/2)]
+ end,
+ lambda do |time|
+ xstart = 273
+ ystart = 186
+ xstartnode = 342
+ ystartnode = 298
+ xendnode = 634
+ yendnode = 153
+ xend = 691
+ yend = 209
+ [Math.bezier([xstart, xstartnode, xendnode, xend],time)-(250/2),
+ Math.bezier([ystart, ystartnode, yendnode, yend],time)-(250/2)]
+ end,
+ lambda do |time|
+ xstart = 691
+ ystart = 209
+ xstartnode = 749
+ ystartnode = 266
+ xendnode = 716
+ yendnode = 316
+ xend = 717
+ yend = 373
+ [Math.bezier([xstart, xstartnode, xendnode, xend],time)-(250/2),
+ Math.bezier([ystart, ystartnode, yendnode, yend],time)-(250/2)]
+ end,
+ lambda do |time|
+ xstart = 717
+ ystart = 373
+ xstartnode = 718
+ ystartnode = 429
+ xendnode = 720
+ yendnode = 482
+ xend = 721
+ yend = 532
+ [Math.bezier([xstart, xstartnode, xendnode, xend],time)-((250+(50*(-(Math.cos(Math::PI*time)-1)/2)))/2),
+ Math.bezier([ystart, ystartnode, yendnode, yend],time)-((250-(80*(-(Math.cos(Math::PI*time)-1)/2)))/2)]
+ end
+ ),
+ scissor_speed: [1.0/2.0, 1.0/3.5, 1.0/6.0, 1.0/4.5, 1.0/3.0],
+ timed_render: [],
+ end_goal: [352*2,240*2,16*2,16*2],
+ walls: [
+ [178, 180, 60, 56],
+ [684, 406, 72, 56],
+ [628, 406, 56, 152],
+ [618, 320, 80, 24],
+ [266, 276, 32, 34],
+ [244, 310, 312, 120],
+ [468, 430, 88, 70],
+ [262, 224, 20, 26],
+ [886, 306, 42, 226],
+ [756, 406, 56, 152],
+ [566, 596, 64, 34],
+ [808, 614, 16, 16],
+ [566, 630, 276, 40],
+ [842, 596, 66, 74],
+ [874, 532, 54, 64],
+ [76, 84, 106, 34],
+ [182, 84, 52, 24],
+ [234, 84, 76, 34],
+ [310, 84, 448, 56],
+ [758, 84, 128, 248],
+ [742, 320, 80, 24],
+ [298, 246, 386, 88],
+ [166, 516, 84, 16],
+ [298, 500, 268, 154],
+ [90, 532, 208, 58],
+ [90, 468, 28, 64],
+ [106, 310, 64, 118],
+ [50, 214, 56, 254],
+ [50, 118, 68, 96]
+ ],
+ damage_areas: [
+ #[10, 0,0, 100,100],
+ ],
+ damage_walls: [
+ [1, 612, 186, 24, 34],
+ [1, 422, 186, 24, 34],
+ [1, 708, 154, 24, 34],
+ [1, 516, 154, 24, 34],
+ [1, 324, 154, 24, 34]
+ ]
+}
+
Levels.push(level0)
+Levels.push(level1)
FECS::Sys.new('ConstructLevel') do
FECS::Sys::DestroyLevel.call
@@ -115,6 +271,14 @@ FECS::Sys.new('ConstructLevel') do
FECS::Cmp::Player.first.state_direction = 'right'
PlayerTileset.texture = OrcTextures[3]
+ MapTexture.texture = Rl::Texture.new(level[:map_texture][:path])
+ MapTexture.source_rec = level[:map_texture][:source_rec]
+ MapTexture.dest_rec = level[:map_texture][:dest_rec]
+
+ OverhangTexture.texture = Rl::Texture.new(level[:overhang_texture][:path])
+ OverhangTexture.source_rec = level[:overhang_texture][:source_rec]
+ OverhangTexture.dest_rec = level[:overhang_texture][:dest_rec]
+
level[:walls].each do |wall|
FECS::Cmp::Hitbox.new(
rec: Rl::Rectangle.new(*wall),
diff --git a/src/logic.rb b/src/logic.rb
index 2af10d8..3ed886f 100644
--- a/src/logic.rb
+++ b/src/logic.rb
@@ -77,6 +77,8 @@ FECS::Cmp.new('EndGoal', :rec)
FECS::Cmp::ScissorTime.new(time: 0)
EndGoal = FECS::Cmp::EndGoal.new
Input = FECS::Cmp::Input.new
+MapTexture = FECS::Cmp::Sprite.new
+OverhangTexture = FECS::Cmp::OverhangTexture.new
OrcTextures = [
Rl::Texture.new('./assets/orc_.png'),
@@ -126,18 +128,6 @@ end
PlayerTileset.frames = PlayerAnimations[:standing_right]
-FECS::Cmp::Sprite.new(
- texture: Rl::Texture.new('./assets/mapinit.png'),
- source_rec: Rl::Rectangle.new(0,0,448,336),
- dest_rec: Rl::Rectangle.new(0,0,448*2,336*2)
-)
-
-FECS::Cmp::OverhangTexture.new(
- texture: Rl::Texture.new('./assets/mapinit-overhang.png'),
- source_rec: Rl::Rectangle.new(0,0,140,220),
- dest_rec: Rl::Rectangle.new(0,0,140*2,220*2)
-)
-
=begin
MovingHitbox1 = FECS::Cmp::Hitbox.new(
rec: Rl::Rectangle.new(150,50,35,150),
@@ -746,7 +736,7 @@ FECS::Scn::Play.add(
end
)
-CurrentLevel.level = 0
+CurrentLevel.level = 1
FelECS::Order.sort(
FECS::Sys::PlayerInput,