diff options
| author | arngo <[email protected]> | 2022-01-28 01:53:46 -0500 |
|---|---|---|
| committer | arngo <[email protected]> | 2022-01-28 01:53:46 -0500 |
| commit | 9d6a026133866b229745f3a1e04108e942ced0e0 (patch) | |
| tree | 2a407b612dc6e12f28c90f36967c7d58b0b45976 | |
| parent | c75208ccd46971fcf0bc89cf80b52f28b140f582 (diff) | |
| download | orc-arena-of-time-9d6a026133866b229745f3a1e04108e942ced0e0.tar.gz orc-arena-of-time-9d6a026133866b229745f3a1e04108e942ced0e0.zip | |
implement level 2
| -rw-r--r-- | LevelDesign/tiled_files/dungeonDecoration_0.tsx | 4 | ||||
| -rw-r--r-- | LevelDesign/tiled_files/dungeonDecoration_1.tsx | 4 | ||||
| -rw-r--r-- | LevelDesign/tiled_files/dungeon_.tsx | 2 | ||||
| -rw-r--r-- | LevelDesign/tiled_files/map2.tmx | 164 | ||||
| -rw-r--r-- | LevelDesign/tiled_files/traps_.tsx | 4 | ||||
| -rw-r--r-- | LevelDesign/tiled_files/waterLavaAcid_.tsx | 4 | ||||
| -rw-r--r-- | assets/map2-overhang.png | bin | 0 -> 1221 bytes | |||
| -rw-r--r-- | assets/map2.png | bin | 0 -> 7260 bytes | |||
| -rw-r--r-- | src/levels.rb | 164 | ||||
| -rw-r--r-- | src/logic.rb | 16 |
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 Binary files differnew file mode 100644 index 0000000..a797d42 --- /dev/null +++ b/assets/map2-overhang.png diff --git a/assets/map2.png b/assets/map2.png Binary files differnew file mode 100644 index 0000000..162ac3b --- /dev/null +++ b/assets/map2.png 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, |
