]> Skullheadx's Git Forge - Pygame-Jam.git/commitdiff
added boss and skeles
authorSkullheadx <704277@pdsb.net>
Wed, 13 Jul 2022 01:59:19 +0000 (21:59 -0400)
committerSkullheadx <704277@pdsb.net>
Wed, 13 Jul 2022 01:59:19 +0000 (21:59 -0400)
24 files changed:
Assets/Music/Combat_Music.ogg
Assets/Music/Combat_Music1.ogg [new file with mode: 0644]
Assets/Music/Main_Menu_Music1.ogg [moved from Assets/Music/Main_Menu_Music.ogg with 100% similarity]
Assets/Music/Main_Menu_Music2.ogg [new file with mode: 0644]
Assets/world/blocks/KING.png [new file with mode: 0644]
Assets/world/blocks/SKELETON.png [new file with mode: 0644]
Enemy.py
Game.py
Levels/Level5 real.txt [new file with mode: 0644]
Levels/Level5.txt
Levels/test_levels/Level10.txt [moved from Levels/Level10.txt with 100% similarity]
Levels/test_levels/Level11.txt [moved from Levels/Level11.txt with 100% similarity]
Levels/test_levels/Level12.txt [moved from Levels/Level12.txt with 100% similarity]
Levels/test_levels/Level13.txt [moved from Levels/Level13.txt with 100% similarity]
Levels/test_levels/Level14.txt [moved from Levels/Level14.txt with 100% similarity]
Levels/test_levels/Level15.txt [moved from Levels/Level15.txt with 100% similarity]
Levels/test_levels/Level6.txt [moved from Levels/Level6.txt with 100% similarity]
Levels/test_levels/Level7.txt [moved from Levels/Level7.txt with 100% similarity]
Levels/test_levels/Level8.txt [moved from Levels/Level8.txt with 100% similarity]
Levels/test_levels/Level9.txt [moved from Levels/Level9.txt with 100% similarity]
MainMenu.py
PhysicsBody.py
World.py
main.py

index 21525ae25d255e17eb1a7f573c0dd5b17a3ed205..c4f666e2bfed2e250f25b1becece2aca63e2c27b 100644 (file)
Binary files a/Assets/Music/Combat_Music.ogg and b/Assets/Music/Combat_Music.ogg differ
diff --git a/Assets/Music/Combat_Music1.ogg b/Assets/Music/Combat_Music1.ogg
new file mode 100644 (file)
index 0000000..21525ae
Binary files /dev/null and b/Assets/Music/Combat_Music1.ogg differ
diff --git a/Assets/Music/Main_Menu_Music2.ogg b/Assets/Music/Main_Menu_Music2.ogg
new file mode 100644 (file)
index 0000000..fbf5679
Binary files /dev/null and b/Assets/Music/Main_Menu_Music2.ogg differ
diff --git a/Assets/world/blocks/KING.png b/Assets/world/blocks/KING.png
new file mode 100644 (file)
index 0000000..2e1a954
Binary files /dev/null and b/Assets/world/blocks/KING.png differ
diff --git a/Assets/world/blocks/SKELETON.png b/Assets/world/blocks/SKELETON.png
new file mode 100644 (file)
index 0000000..3c048f5
Binary files /dev/null and b/Assets/world/blocks/SKELETON.png differ
index b1af9a6a208bd9cc41af9859eeac47cb0df85211..6748523c9f12cbc93204e03654a1b2f74c4852af 100644 (file)
--- a/Enemy.py
+++ b/Enemy.py
@@ -108,3 +108,210 @@ class Enemy(Actor):
         #     pg.draw.rect(surf,(0,0,255),get_display_rect(b),3)
         # self.buffer.append(self.get_collision_rect())
         # pg.draw.rect(surf, (0, 255, 0), get_display_rect(self.get_collision_rect()), 2)
+
+
+class Skeleton(Actor):
+    speed = Actor.speed * 0.4
+    jump_strength = Actor.jump_strength * 1.1
+    colour = (235, 64, 52)
+    friction = 0.9
+    run_gif = Image.open("Assets/skeleton/skeleton_run.gif")
+    run_frames = []
+    for i in range(run_gif.n_frames):
+        run_frames.append(pg.transform.scale(pil_to_game(get_gif_frame(run_gif, i)), (180, 180)))
+
+    attack_gif = Image.open("Assets/skeleton/skeleton_attack.gif")
+    attack_frames = []
+    for i in range(attack_gif.n_frames):
+        attack_frames.append(pg.transform.scale(pil_to_game(get_gif_frame(attack_gif, i)), (180, 180)))
+
+    def __init__(self, pos, collision_layer, collision_mask):
+        super().__init__(pos, collision_layer, collision_mask)
+
+        self.areas = {
+            "head": Area(self.position, pg.Vector2(self.width * 1 / 3 * 1 / 2, -2), self.width * 2 / 3, 25, Player,
+                         self.knockout)}
+        self.movable = False
+
+        self.direction = -1
+        self.prev_direction = self.direction
+
+        # self.health = 0 # for debugging without getting killed
+
+        self.weapon = Sword(self.position, (0, 0), self.width, -1)
+
+
+        self.buffer = []
+
+        self.display_offsets = {"enemy":pg.Vector2(0,0)}
+
+        self.current_frame = 0
+        self.display = self.run_frames[math.floor(self.current_frame)]
+        self.state = "RUN"
+
+    def update(self, delta, target=None):
+        super().update(delta)
+        if not self.attacked and target is not None and self.stun_time == 0:
+            self.follow_target(target, follow_range=750,stop_dist=target.width/2+self.weapon.width)
+            if not target.attacked and get_display_rect(self.weapon.get_collision_rect()).colliderect(
+                    get_display_rect(target.get_collision_rect())):
+                if self.state != "ATTACK":
+                    self.state = "ATTACK"
+                    self.current_frame = 0
+                elif 4 < self.current_frame:
+                    target.attack(self, self.weapon, self.direction)
+
+        # Deals with collision and applying velocity
+        self.position, self.velocity = self.move_and_collide(self.position.copy(), self.velocity.copy(), delta)
+
+        self.prev_direction = self.direction
+        if self.velocity.x == 0:
+            self.direction = self.prev_direction
+        else:
+            self.direction = math.copysign(1, self.velocity.x)
+        self.weapon.update(delta, self.position, self.direction)
+
+        if self.state == "RUN":
+            frame = math.floor(self.current_frame)
+            if self.velocity.x > 0:
+                self.display = self.run_frames[math.floor(frame)]
+                self.display_offsets["enemy"] = pg.Vector2(-30, -35)
+            elif self.velocity.x <= 0:
+                self.display = pg.transform.flip(self.run_frames[math.floor(frame)], True, False)
+                self.display_offsets["enemy"] = pg.Vector2(-90, -35)
+            if frame % 4 == 0 and self.on_ground:
+                Dust(pg.Vector2(self.get_collision_rect().midbottom) + pg.Vector2(math.copysign(1, self.velocity.x) * -self.width/2,-15), 16, self.direction)
+            self.current_frame = (self.current_frame + 0.25) % self.run_gif.n_frames
+        elif self.state == "ATTACK":
+            frame = math.floor(self.current_frame)
+            if self.direction == 1:
+                self.display = pg.transform.flip(self.attack_frames[math.floor(frame)], False, False)
+                self.display_offsets["enemy"] = pg.Vector2(-50, -50)
+            else:
+                self.display = pg.transform.flip(self.attack_frames[math.floor(frame)], True, False)
+                self.display_offsets["enemy"] = pg.Vector2(-80, -50)
+            self.current_frame += 0.4
+            if math.floor(self.current_frame) >= self.attack_gif.n_frames-1:
+                self.state = "RUN"
+                self.current_frame = 0
+
+        # print(self.velocity)
+
+    def knockout(self, node):
+        self.stun_time = 100
+        self.modify_health(-25, None)
+        node.on_ground = False
+        node.push(math.copysign(1, node.velocity.x), 0.25, -2.25)
+        # self.crouch(1000)
+
+    def draw(self, surf):
+        # self.weapon.draw(surf)
+        # super(Enemy, self).draw(surf)
+        surf.blit(self.display, get_display_rect(self.get_collision_rect()).topleft + self.display_offsets["enemy"])
+
+        # for b in self.buffer:
+        #     pg.draw.rect(surf,(0,0,255),get_display_rect(b),3)
+        # self.buffer.append(self.get_collision_rect())
+        # pg.draw.rect(surf, (0, 255, 0), get_display_rect(self.get_collision_rect()), 2)
+class King(Actor):
+    speed = Actor.speed * 0.4
+    jump_strength = Actor.jump_strength * 1.1
+    colour = (235, 64, 52)
+    friction = 0.9
+    run_gif = Image.open("Assets/skeleton/skeleton_king_idle.gif")
+    run_frames = []
+    for i in range(run_gif.n_frames):
+        run_frames.append(pg.transform.scale(pil_to_game(get_gif_frame(run_gif, i)), (160, 240)))
+
+    attack_gif = Image.open("Assets/skeleton/skeleton_king_summon.gif")
+    attack_frames = []
+    for i in range(attack_gif.n_frames):
+        attack_frames.append(pg.transform.scale(pil_to_game(get_gif_frame(attack_gif, i)), (180, 180)))
+
+    def __init__(self, pos, collision_layer, collision_mask):
+        super().__init__(pos, collision_layer, collision_mask)
+
+        self.areas = {
+            "head": Area(self.position, pg.Vector2(self.width * 1 / 3 * 1 / 2, -2), self.width * 2 / 3, 25, Player,
+                         self.knockout)}
+        self.movable = False
+
+        self.direction = -1
+        self.prev_direction = self.direction
+
+        # self.health = 0 # for debugging without getting killed
+
+        self.weapon = Sword(self.position, (0, 0), self.width, -1)
+
+
+        self.buffer = []
+
+        self.display_offsets = {"enemy":pg.Vector2(0,0)}
+
+        self.current_frame = 0
+        self.display = self.run_frames[math.floor(self.current_frame)]
+        self.state = "RUN"
+
+    def update(self, delta, target=None):
+        super().update(delta)
+        if not self.attacked and target is not None and self.stun_time == 0:
+            self.follow_target(target, follow_range=750,stop_dist=target.width/2+self.weapon.width)
+            if not target.attacked and get_display_rect(self.weapon.get_collision_rect()).colliderect(
+                    get_display_rect(target.get_collision_rect())):
+                if self.state != "ATTACK":
+                    self.state = "ATTACK"
+                    self.current_frame = 0
+                elif 4 < self.current_frame:
+                    target.attack(self, self.weapon, self.direction)
+
+        # Deals with collision and applying velocity
+        self.position, self.velocity = self.move_and_collide(self.position.copy(), self.velocity.copy(), delta)
+
+        self.prev_direction = self.direction
+        if self.velocity.x == 0:
+            self.direction = self.prev_direction
+        else:
+            self.direction = math.copysign(1, self.velocity.x)
+        self.weapon.update(delta, self.position, self.direction)
+
+        if self.state == "RUN":
+            frame = math.floor(self.current_frame)
+            if self.velocity.x > 0:
+                self.display = self.run_frames[math.floor(frame)]
+                self.display_offsets["enemy"] = pg.Vector2(-30, -35)
+            elif self.velocity.x <= 0:
+                self.display = pg.transform.flip(self.run_frames[math.floor(frame)], True, False)
+                self.display_offsets["enemy"] = pg.Vector2(-90, -35)
+            if frame % 4 == 0 and self.on_ground:
+                Dust(pg.Vector2(self.get_collision_rect().midbottom) + pg.Vector2(math.copysign(1, self.velocity.x) * -self.width/2,-15), 16, self.direction)
+            self.current_frame = (self.current_frame + 0.25) % self.run_gif.n_frames
+        elif self.state == "ATTACK":
+            frame = math.floor(self.current_frame)
+            if self.direction == 1:
+                self.display = pg.transform.flip(self.attack_frames[math.floor(frame)], False, False)
+                self.display_offsets["enemy"] = pg.Vector2(-50, -50)
+            else:
+                self.display = pg.transform.flip(self.attack_frames[math.floor(frame)], True, False)
+                self.display_offsets["enemy"] = pg.Vector2(-80, -50)
+            self.current_frame += 0.4
+            if math.floor(self.current_frame) >= self.attack_gif.n_frames-1:
+                self.state = "RUN"
+
+        # print(self.velocity)
+
+    def knockout(self, node):
+        self.stun_time = 100
+        self.modify_health(-25, None)
+        node.on_ground = False
+        node.push(math.copysign(1, node.velocity.x), 0.25, -2.25)
+        # self.crouch(1000)
+
+    def draw(self, surf):
+        # self.weapon.draw(surf)
+        # super(Enemy, self).draw(surf)
+        surf.blit(self.display, get_display_rect(self.get_collision_rect()).topleft + self.display_offsets["enemy"])
+
+        # for b in self.buffer:
+        #     pg.draw.rect(surf,(0,0,255),get_display_rect(b),3)
+        # self.buffer.append(self.get_collision_rect())
+        # pg.draw.rect(surf, (0, 255, 0), get_display_rect(self.get_collision_rect()), 2)
diff --git a/Game.py b/Game.py
index 4bf1a9b4e49a3def12471e85011cf12fa2dc790d..2aebedc0ef4b21085b98b4904dbc882d3cb42c46 100644 (file)
--- a/Game.py
+++ b/Game.py
@@ -1,6 +1,6 @@
 import Setup
 from EndScreen import EndScreen
-from Enemy import Enemy
+from Enemy import Enemy, Skeleton, King
 from Function.Fade import fade
 from Function.Portal import Transition
 from Item import PotionItem
@@ -30,7 +30,7 @@ class Game:
 
         self.world = World(self.collision_layer)
 
-        enemy_positions, player_position, self.portal_position, heal_positions, spike_positions = self.world.load_world(
+        enemy_positions, player_position, self.portal_position, heal_positions, spike_positions, skele_positions, king_position = self.world.load_world(
             level)
 
         for i in heal_positions:
@@ -48,6 +48,16 @@ class Game:
                               [self.collision_layer["player"], self.collision_layer["world"],
                                self.collision_layer["enemy"]]) for pos in
                         enemy_positions]
+        if king_position is not None:
+            self.skeletons = [Skeleton(pos, self.collision_layer["enemy"],
+                                  [self.collision_layer["player"], self.collision_layer["world"],
+                                   self.collision_layer["enemy"]]) for pos in
+                                    skele_positions]
+            self.king = King(king_position, self.collision_layer["enemy"],
+                                  [self.collision_layer["player"], self.collision_layer["world"],
+                                   self.collision_layer["enemy"]] )
+
+
         self.scene = EndScreen()
         # self.dashMeter = DashMeter(self.player.dashCooldown)
         self.healthBar = HealthBar()
@@ -95,6 +105,7 @@ class Game:
             else:
                 pg.mixer.music.load("Assets/Music/Overworld_Music.ogg")
 
+
             pg.mixer.music.play(-1)
         except:
             pass;
@@ -122,6 +133,16 @@ class Game:
                                                   [self.collision_layer["world"], self.collision_layer["body"]])
                     self.collision_layer["enemy"].remove(enemy)
                     self.collision_layer["body"].add(self.enemies[i])
+            for i, enemy in enumerate(self.skeletons):
+                enemy.update(delta, self.player)
+                if enemy.dead:
+                    self.skeletons[i] = PhysicsBody(enemy.position, enemy.velocity, enemy.width, enemy.height,
+                                                  enemy.colour,
+                                                  self.collision_layer["body"],
+                                                  [self.collision_layer["world"], self.collision_layer["body"]], goon_skin=False)
+                    self.collision_layer["enemy"].remove(enemy)
+                    self.collision_layer["body"].add(self.skeletons[i])
+            self.king.update(delta)
 
             for particle in particles:
                 particle.update(delta)
@@ -187,7 +208,10 @@ class Game:
 
         for enemy in self.enemies:
             enemy.draw(surf)
+        for enemy in self.skeletons:
+            enemy.draw(surf)
 
+        self.king.draw(surf)
         self.player.draw(surf)
 
         # self.dialogue.draw(surf, self.player, "Next dimension, next portal...", 4, 1)
diff --git a/Levels/Level5 real.txt b/Levels/Level5 real.txt
new file mode 100644 (file)
index 0000000..a61ecdb
--- /dev/null
@@ -0,0 +1,15 @@
+none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world
+2050.0,2150.0|2100.0,2150.0|2150.0,2150.0|2700.0,2600.0|2750.0,2600.0|2850.0,2550.0|3050.0,2450.0|3150.0,2400.0|3850.0,1900.0|3850.0,1950.0|3850.0,2000.0|3850.0,2050.0|3850.0,2100.0|3850.0,2150.0|3850.0,2200.0|3850.0,2250.0|3850.0,2300.0|3900.0,2300.0|3900.0,2250.0|3900.0,2200.0|3900.0,2150.0|3900.0,2100.0|3900.0,2050.0|3900.0,2000.0|3900.0,1950.0|3900.0,1900.0|2050.0,2600.0|2100.0,2600.0|2150.0,2600.0|1600.0,2150.0|1650.0,2150.0|1700.0,2150.0|1700.0,2600.0|1650.0,2600.0|1600.0,2600.0|1650.0,2200.0|1650.0,2250.0|1650.0,2300.0|1650.0,2350.0|1650.0,2400.0|1650.0,2450.0|1650.0,2500.0|1650.0,2550.0|2100.0,2550.0|2100.0,2500.0|2100.0,2450.0|2100.0,2400.0|2100.0,2350.0|2100.0,2300.0|2100.0,2250.0|2100.0,2200.0|2750.0,2100.0|2750.0,2150.0|2750.0,2200.0|2750.0,2250.0|2750.0,2300.0|2750.0,2350.0|2750.0,2400.0|2750.0,2450.0|2750.0,2500.0|3100.0,1900.0|3100.0,1950.0|3100.0,2000.0|3100.0,2050.0|3100.0,2100.0|3100.0,2150.0|3100.0,2200.0|3100.0,2250.0|3100.0,2300.0|3450.0,1900.0|3450.0,1950.0|3450.0,2000.0|3450.0,2050.0|3450.0,2100.0|3450.0,2150.0|3450.0,2200.0|3450.0,2250.0|3450.0,2300.0|4900.0,2400.0|4950.0,2400.0|5000.0,2400.0|5050.0,2400.0|5050.0,2350.0|5100.0,2350.0|5150.0,2350.0|5200.0,2350.0|5250.0,2350.0|5300.0,2350.0|5350.0,2350.0|5400.0,2350.0|5450.0,2350.0|5500.0,2350.0|5800.0,2350.0|5750.0,2350.0|5700.0,2350.0|5650.0,2350.0|5600.0,2350.0|5550.0,2350.0|900.0,2100.0|900.0,2150.0|900.0,2200.0|900.0,2250.0|900.0,2300.0|900.0,2350.0|900.0,2400.0|900.0,2450.0|900.0,2500.0|900.0,2550.0|900.0,2600.0|900.0,2650.0|950.0,2650.0|1000.0,2650.0|1050.0,2650.0|1100.0,2650.0|1150.0,2650.0|1200.0,2650.0|1200.0,2700.0|1250.0,2700.0|1300.0,2700.0|1350.0,2700.0|1400.0,2700.0|1450.0,2700.0|1500.0,2700.0|1550.0,2700.0|1250.0,2650.0|1300.0,2650.0|1350.0,2650.0|1400.0,2650.0|1450.0,2650.0|1500.0,2650.0|1550.0,2650.0|1600.0,2650.0|1650.0,2650.0|1700.0,2650.0|1750.0,2650.0|1800.0,2650.0|1850.0,2650.0|1900.0,2650.0|1950.0,2650.0|2000.0,2650.0|2050.0,2650.0|2100.0,2650.0|2150.0,2650.0|2200.0,2650.0|2250.0,2650.0|2300.0,2650.0|2350.0,2650.0|2400.0,2650.0|2450.0,2650.0|2500.0,2650.0|2550.0,2650.0|2600.0,2650.0|2650.0,2650.0|2650.0,2600.0|2700.0,2550.0|2750.0,2550.0|2800.0,2550.0|2850.0,2500.0|2900.0,2500.0|2950.0,2500.0|2950.0,2450.0|3000.0,2450.0|3050.0,2400.0|3100.0,2400.0|3100.0,2350.0|3150.0,2350.0|3200.0,2350.0|3250.0,2350.0|3300.0,2350.0|3350.0,2350.0|3400.0,2350.0|3450.0,2350.0|3500.0,2350.0|3550.0,2350.0|3600.0,2350.0|3650.0,2350.0|3700.0,2350.0|3750.0,2350.0|3800.0,2350.0|3850.0,2350.0|3900.0,2350.0|3950.0,2350.0|4000.0,2350.0|4050.0,2350.0|4100.0,2350.0|4150.0,2350.0|4200.0,2350.0|4250.0,2350.0|4300.0,2350.0|4350.0,2350.0|4400.0,2350.0|4450.0,2350.0|4500.0,2350.0|4550.0,2350.0|4600.0,2350.0|4650.0,2350.0|4700.0,2350.0|4750.0,2350.0|4800.0,2350.0|4850.0,2350.0|4900.0,2350.0|4950.0,2350.0|5000.0,2350.0|5000.0,2300.0|5050.0,2300.0|5100.0,2300.0|5150.0,2300.0|5200.0,2300.0|5250.0,2300.0|5300.0,2300.0|5350.0,2300.0|5400.0,2300.0|5450.0,2300.0|5500.0,2300.0|5550.0,2300.0|5600.0,2300.0|5650.0,2300.0|5700.0,2300.0|5750.0,2300.0|5800.0,2250.0|5800.0,2200.0|5800.0,2150.0|5800.0,2100.0|5800.0,2050.0|5800.0,2000.0|5800.0,2300.0|5750.0,1950.0|5750.0,1900.0|5750.0,1850.0|5750.0,1800.0|5750.0,1750.0|5700.0,1750.0|5700.0,1700.0|5700.0,1650.0|5650.0,1650.0|5650.0,1600.0|5600.0,1600.0|5550.0,1550.0|5500.0,1550.0|5450.0,1500.0|5400.0,1500.0|5350.0,1500.0|5300.0,1500.0|5250.0,1500.0|5200.0,1500.0|5150.0,1500.0|5100.0,1500.0|5050.0,1500.0|5000.0,1500.0|4950.0,1500.0|4900.0,1500.0|4850.0,1500.0|4900.0,1450.0|4850.0,1450.0|4800.0,1450.0|4750.0,1450.0|4700.0,1450.0|4650.0,1450.0|4600.0,1450.0|4550.0,1450.0|4500.0,1450.0|4450.0,1450.0|4450.0,1500.0|4400.0,1500.0|4350.0,1500.0|4300.0,1500.0|4250.0,1500.0|4200.0,1500.0|4200.0,1550.0|4150.0,1550.0|4150.0,1600.0|4100.0,1600.0|4100.0,1650.0|4050.0,1650.0|4050.0,1700.0|4000.0,1700.0|4000.0,1750.0|3950.0,1750.0|3950.0,1800.0|3900.0,1800.0|3800.0,1850.0|4000.0,1850.0|3950.0,1850.0|3900.0,1850.0|3850.0,1850.0|3750.0,1850.0|3700.0,1850.0|3650.0,1850.0|3600.0,1850.0|3550.0,1850.0|3500.0,1850.0|3450.0,1850.0|3400.0,1850.0|3350.0,1850.0|3300.0,1850.0|3250.0,1850.0|3200.0,1850.0|3150.0,1850.0|3100.0,1850.0|3050.0,1850.0|3000.0,1850.0|2950.0,1850.0|3050.0,1900.0|3000.0,1900.0|2950.0,1900.0|2900.0,1900.0|2900.0,1950.0|2850.0,1950.0|2800.0,1950.0|2750.0,1950.0|2800.0,2000.0|2750.0,2000.0|2700.0,2000.0|2750.0,2050.0|2700.0,2050.0|2650.0,2050.0|2600.0,2050.0|2600.0,2100.0|2550.0,2100.0|2500.0,2100.0|2450.0,2100.0|2400.0,2100.0|2350.0,2100.0|2300.0,2100.0|2250.0,2100.0|2200.0,2100.0|2150.0,2100.0|2050.0,2100.0|2000.0,2100.0|1950.0,2100.0|2100.0,2100.0|1900.0,2100.0|1850.0,2100.0|1800.0,2100.0|1750.0,2100.0|1700.0,2100.0|1650.0,2100.0|1600.0,2100.0|1550.0,2100.0|1500.0,2100.0|1450.0,2100.0|1400.0,2100.0|1350.0,2100.0|1300.0,2100.0|1250.0,2100.0|1200.0,2100.0|1150.0,2100.0|1100.0,2100.0|1050.0,2100.0|1000.0,2100.0|950.0,2100.0|1200.0,2500.0|2200.0,2500.0|2350.0,2500.0|2500.0,2500.0|3600.0,2250.0|3750.0,2250.0|3200.0,2250.0|4400.0,2250.0|4500.0,2250.0|5650.0,2200.0
+PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLAYER|ENEMY|ENEMY|ENEMY|ENEMY|ENEMY|ENEMY|ENEMY|ENEMY|ENEMY
+
+
+
+
+
+
+
+
+
+
+
+
index a61ecdb458f2d9e75cdc9e203d174341643171aa..5de3db77ee21d7a7708715d54efd610888db7b30 100644 (file)
@@ -1,6 +1,6 @@
-none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world
-2050.0,2150.0|2100.0,2150.0|2150.0,2150.0|2700.0,2600.0|2750.0,2600.0|2850.0,2550.0|3050.0,2450.0|3150.0,2400.0|3850.0,1900.0|3850.0,1950.0|3850.0,2000.0|3850.0,2050.0|3850.0,2100.0|3850.0,2150.0|3850.0,2200.0|3850.0,2250.0|3850.0,2300.0|3900.0,2300.0|3900.0,2250.0|3900.0,2200.0|3900.0,2150.0|3900.0,2100.0|3900.0,2050.0|3900.0,2000.0|3900.0,1950.0|3900.0,1900.0|2050.0,2600.0|2100.0,2600.0|2150.0,2600.0|1600.0,2150.0|1650.0,2150.0|1700.0,2150.0|1700.0,2600.0|1650.0,2600.0|1600.0,2600.0|1650.0,2200.0|1650.0,2250.0|1650.0,2300.0|1650.0,2350.0|1650.0,2400.0|1650.0,2450.0|1650.0,2500.0|1650.0,2550.0|2100.0,2550.0|2100.0,2500.0|2100.0,2450.0|2100.0,2400.0|2100.0,2350.0|2100.0,2300.0|2100.0,2250.0|2100.0,2200.0|2750.0,2100.0|2750.0,2150.0|2750.0,2200.0|2750.0,2250.0|2750.0,2300.0|2750.0,2350.0|2750.0,2400.0|2750.0,2450.0|2750.0,2500.0|3100.0,1900.0|3100.0,1950.0|3100.0,2000.0|3100.0,2050.0|3100.0,2100.0|3100.0,2150.0|3100.0,2200.0|3100.0,2250.0|3100.0,2300.0|3450.0,1900.0|3450.0,1950.0|3450.0,2000.0|3450.0,2050.0|3450.0,2100.0|3450.0,2150.0|3450.0,2200.0|3450.0,2250.0|3450.0,2300.0|4900.0,2400.0|4950.0,2400.0|5000.0,2400.0|5050.0,2400.0|5050.0,2350.0|5100.0,2350.0|5150.0,2350.0|5200.0,2350.0|5250.0,2350.0|5300.0,2350.0|5350.0,2350.0|5400.0,2350.0|5450.0,2350.0|5500.0,2350.0|5800.0,2350.0|5750.0,2350.0|5700.0,2350.0|5650.0,2350.0|5600.0,2350.0|5550.0,2350.0|900.0,2100.0|900.0,2150.0|900.0,2200.0|900.0,2250.0|900.0,2300.0|900.0,2350.0|900.0,2400.0|900.0,2450.0|900.0,2500.0|900.0,2550.0|900.0,2600.0|900.0,2650.0|950.0,2650.0|1000.0,2650.0|1050.0,2650.0|1100.0,2650.0|1150.0,2650.0|1200.0,2650.0|1200.0,2700.0|1250.0,2700.0|1300.0,2700.0|1350.0,2700.0|1400.0,2700.0|1450.0,2700.0|1500.0,2700.0|1550.0,2700.0|1250.0,2650.0|1300.0,2650.0|1350.0,2650.0|1400.0,2650.0|1450.0,2650.0|1500.0,2650.0|1550.0,2650.0|1600.0,2650.0|1650.0,2650.0|1700.0,2650.0|1750.0,2650.0|1800.0,2650.0|1850.0,2650.0|1900.0,2650.0|1950.0,2650.0|2000.0,2650.0|2050.0,2650.0|2100.0,2650.0|2150.0,2650.0|2200.0,2650.0|2250.0,2650.0|2300.0,2650.0|2350.0,2650.0|2400.0,2650.0|2450.0,2650.0|2500.0,2650.0|2550.0,2650.0|2600.0,2650.0|2650.0,2650.0|2650.0,2600.0|2700.0,2550.0|2750.0,2550.0|2800.0,2550.0|2850.0,2500.0|2900.0,2500.0|2950.0,2500.0|2950.0,2450.0|3000.0,2450.0|3050.0,2400.0|3100.0,2400.0|3100.0,2350.0|3150.0,2350.0|3200.0,2350.0|3250.0,2350.0|3300.0,2350.0|3350.0,2350.0|3400.0,2350.0|3450.0,2350.0|3500.0,2350.0|3550.0,2350.0|3600.0,2350.0|3650.0,2350.0|3700.0,2350.0|3750.0,2350.0|3800.0,2350.0|3850.0,2350.0|3900.0,2350.0|3950.0,2350.0|4000.0,2350.0|4050.0,2350.0|4100.0,2350.0|4150.0,2350.0|4200.0,2350.0|4250.0,2350.0|4300.0,2350.0|4350.0,2350.0|4400.0,2350.0|4450.0,2350.0|4500.0,2350.0|4550.0,2350.0|4600.0,2350.0|4650.0,2350.0|4700.0,2350.0|4750.0,2350.0|4800.0,2350.0|4850.0,2350.0|4900.0,2350.0|4950.0,2350.0|5000.0,2350.0|5000.0,2300.0|5050.0,2300.0|5100.0,2300.0|5150.0,2300.0|5200.0,2300.0|5250.0,2300.0|5300.0,2300.0|5350.0,2300.0|5400.0,2300.0|5450.0,2300.0|5500.0,2300.0|5550.0,2300.0|5600.0,2300.0|5650.0,2300.0|5700.0,2300.0|5750.0,2300.0|5800.0,2250.0|5800.0,2200.0|5800.0,2150.0|5800.0,2100.0|5800.0,2050.0|5800.0,2000.0|5800.0,2300.0|5750.0,1950.0|5750.0,1900.0|5750.0,1850.0|5750.0,1800.0|5750.0,1750.0|5700.0,1750.0|5700.0,1700.0|5700.0,1650.0|5650.0,1650.0|5650.0,1600.0|5600.0,1600.0|5550.0,1550.0|5500.0,1550.0|5450.0,1500.0|5400.0,1500.0|5350.0,1500.0|5300.0,1500.0|5250.0,1500.0|5200.0,1500.0|5150.0,1500.0|5100.0,1500.0|5050.0,1500.0|5000.0,1500.0|4950.0,1500.0|4900.0,1500.0|4850.0,1500.0|4900.0,1450.0|4850.0,1450.0|4800.0,1450.0|4750.0,1450.0|4700.0,1450.0|4650.0,1450.0|4600.0,1450.0|4550.0,1450.0|4500.0,1450.0|4450.0,1450.0|4450.0,1500.0|4400.0,1500.0|4350.0,1500.0|4300.0,1500.0|4250.0,1500.0|4200.0,1500.0|4200.0,1550.0|4150.0,1550.0|4150.0,1600.0|4100.0,1600.0|4100.0,1650.0|4050.0,1650.0|4050.0,1700.0|4000.0,1700.0|4000.0,1750.0|3950.0,1750.0|3950.0,1800.0|3900.0,1800.0|3800.0,1850.0|4000.0,1850.0|3950.0,1850.0|3900.0,1850.0|3850.0,1850.0|3750.0,1850.0|3700.0,1850.0|3650.0,1850.0|3600.0,1850.0|3550.0,1850.0|3500.0,1850.0|3450.0,1850.0|3400.0,1850.0|3350.0,1850.0|3300.0,1850.0|3250.0,1850.0|3200.0,1850.0|3150.0,1850.0|3100.0,1850.0|3050.0,1850.0|3000.0,1850.0|2950.0,1850.0|3050.0,1900.0|3000.0,1900.0|2950.0,1900.0|2900.0,1900.0|2900.0,1950.0|2850.0,1950.0|2800.0,1950.0|2750.0,1950.0|2800.0,2000.0|2750.0,2000.0|2700.0,2000.0|2750.0,2050.0|2700.0,2050.0|2650.0,2050.0|2600.0,2050.0|2600.0,2100.0|2550.0,2100.0|2500.0,2100.0|2450.0,2100.0|2400.0,2100.0|2350.0,2100.0|2300.0,2100.0|2250.0,2100.0|2200.0,2100.0|2150.0,2100.0|2050.0,2100.0|2000.0,2100.0|1950.0,2100.0|2100.0,2100.0|1900.0,2100.0|1850.0,2100.0|1800.0,2100.0|1750.0,2100.0|1700.0,2100.0|1650.0,2100.0|1600.0,2100.0|1550.0,2100.0|1500.0,2100.0|1450.0,2100.0|1400.0,2100.0|1350.0,2100.0|1300.0,2100.0|1250.0,2100.0|1200.0,2100.0|1150.0,2100.0|1100.0,2100.0|1050.0,2100.0|1000.0,2100.0|950.0,2100.0|1200.0,2500.0|2200.0,2500.0|2350.0,2500.0|2500.0,2500.0|3600.0,2250.0|3750.0,2250.0|3200.0,2250.0|4400.0,2250.0|4500.0,2250.0|5650.0,2200.0
-PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLAYER|ENEMY|ENEMY|ENEMY|ENEMY|ENEMY|ENEMY|ENEMY|ENEMY|ENEMY
+world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world
+800.0,1000.0|800.0,1050.0|800.0,1100.0|800.0,1150.0|800.0,1200.0|800.0,1250.0|800.0,1300.0|800.0,1350.0|800.0,1400.0|800.0,1450.0|800.0,1500.0|800.0,1550.0|800.0,1600.0|800.0,1650.0|800.0,1700.0|800.0,1750.0|800.0,1800.0|800.0,1850.0|800.0,1900.0|850.0,1900.0|900.0,1900.0|950.0,1900.0|1000.0,1900.0|1050.0,1900.0|1100.0,1900.0|1150.0,1900.0|1200.0,1900.0|1250.0,1900.0|1300.0,1900.0|1350.0,1900.0|1400.0,1900.0|1450.0,1900.0|1500.0,1900.0|1550.0,1900.0|1600.0,1900.0|1650.0,1900.0|1700.0,1900.0|1750.0,1900.0|1800.0,1900.0|1850.0,1900.0|1900.0,1900.0|1950.0,1900.0|2000.0,1900.0|2050.0,1900.0|2100.0,1900.0|2150.0,1900.0|2200.0,1900.0|2250.0,1900.0|2300.0,1900.0|2350.0,1900.0|2400.0,1900.0|2450.0,1900.0|800.0,950.0|800.0,900.0|800.0,850.0|800.0,800.0|800.0,750.0|800.0,700.0|800.0,650.0|850.0,650.0|900.0,650.0|950.0,650.0|1000.0,650.0|1050.0,650.0|1100.0,650.0|1150.0,650.0|1200.0,650.0|1250.0,650.0|1300.0,650.0|1350.0,650.0|1400.0,650.0|1450.0,650.0|1500.0,650.0|1550.0,650.0|1600.0,650.0|1650.0,650.0|1700.0,650.0|1750.0,650.0|1800.0,650.0|1850.0,650.0|1900.0,650.0|1950.0,650.0|2000.0,650.0|2050.0,650.0|2100.0,650.0|2150.0,650.0|2200.0,650.0|2250.0,650.0|2300.0,650.0|2350.0,650.0|2400.0,650.0|2450.0,1850.0|2450.0,1800.0|2450.0,1750.0|2450.0,1700.0|2450.0,1650.0|2450.0,1600.0|2450.0,1550.0|2450.0,1500.0|2450.0,1450.0|2450.0,1400.0|2450.0,1350.0|2450.0,1300.0|2450.0,1250.0|2450.0,1200.0|2450.0,1150.0|2450.0,650.0|2450.0,700.0|2450.0,750.0|2450.0,800.0|2450.0,850.0|2450.0,900.0|2450.0,950.0|2450.0,1000.0|2450.0,1050.0|2450.0,1100.0|1650.0,1500.0|1800.0,1650.0|1750.0,1650.0|1700.0,1650.0|1650.0,1650.0|1600.0,1650.0|1550.0,1650.0|1500.0,1650.0|2400.0,1850.0|2350.0,1850.0|2300.0,1850.0|2250.0,1850.0|2200.0,1850.0|850.0,1850.0|900.0,1850.0|950.0,1850.0|1000.0,1850.0|1050.0,1850.0|950.0,1800.0|2350.0,1800.0|2400.0,1800.0|2400.0,1750.0|900.0,1800.0|850.0,1800.0|900.0,1750.0|850.0,1750.0|2350.0,1750.0|2300.0,1800.0|1800.0,1600.0|1750.0,1600.0|1700.0,1600.0|1650.0,1600.0|1600.0,1600.0|1550.0,1600.0|1500.0,1600.0|1650.0,1800.0|1900.0,1800.0
+PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLAYER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|HEALTHPOTION|HEALTHPOTION|HEALTHPOTION|HEALTHPOTION|HEALTHPOTION|HEALTHPOTION|HEALTHPOTION|HEALTHPOTION|HEALTHPOTION|HEALTHPOTION|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|KING|SKELETON
 
 
 
index 59c9039fe20f0f52be5138a2e1ac0e80ebddbd98..8892853e44c54ee4169cb0acf73528cf2200a33a 100644 (file)
@@ -10,9 +10,9 @@ class Menu:
         self.texts = []
         X = SCREEN_WIDTH
         Y = SCREEN_HEIGHT/2
-        self.texts.append(createText(X, Y, 48, white, "Bold", "Interstellar Pirate Title", "c"))
-        self.texts.append(createText(X, Y+200, 32, white, "Regular", "Start", "c"))
-        self.texts.append(createText(X, Y+350, 32, white, "Regular", "New Game", "c"))
+        self.texts.append(createText(X, Y, 48, white, "Bold", "Pirates of the Dead", "c"))
+        self.texts.append(createText(X, Y+200, 32, white, "Regular", "New Game", "c"))
+        self.texts.append(createText(X, Y+350, 32, white, "Regular", "Load Game", "c"))
         self.texts.append(createText(X, Y+500, 32, white, "Regular", "Quit", "c"))
 
         backgroundImage = pg.image.load('./Assets/mainmenu_background.png')
@@ -49,14 +49,14 @@ class Menu:
     def menuFunctions(self, num):
         match num:
             case 1:
+                self.level = 1
+            case 2:
                 try:
                     self.level = LoadGame()
                     if(self.level == 0):
                         self.level = 1
                 except:
                     self.level = self.level + 1
-            case 2:
-                self.level = 1
             case 3:
                 Setup.is_running = False # this works. who keeps changing it
                 # pg.quit(); # plz no
index c182e64e18bfa2eb7b5f3152c0a74aef867911ec..de3fa6c5e67286a0ed88d0f36242441d7e1e1355 100644 (file)
@@ -9,7 +9,7 @@ class PhysicsBody:
     friction = Actor.friction
     invincibility_time = 150
 
-    def __init__(self, pos, vel, width, height, colour, collision_layer, collision_mask):
+    def __init__(self, pos, vel, width, height, colour, collision_layer, collision_mask, goon_skin=True):
         self.position = pg.Vector2(pos)
         self.velocity = pg.Vector2(vel)
         self.width, self.height = height, width
@@ -27,6 +27,11 @@ class PhysicsBody:
         self.collision_layer = collision_layer
         self.collision_mask = collision_mask  # the layer the actor detects collisions against
 
+        if goon_skin:
+            self.display = pg.image.load("Assets/enemy/Pirate_Goon.png")
+        else:
+            self.display = pg.image.load("Assets/skeleton/SKELETON.png")
+
     def update(self, delta, test=None, test2=None):
         if self.on_ground:
             self.velocity.x *= self.friction
@@ -94,3 +99,4 @@ class PhysicsBody:
     def draw(self, surf):
         # print(self.position, self.velocity)
         pg.draw.rect(surf, self.colour, get_display_rect(self.get_collision_rect()), border_radius=8)
+        surf.blit(self.display,get_display_rect(self.get_collision_rect()))
index c69f050dfbeb9777f2349d2fd43fd7703f789210..b717ae41cfd7ae60fbd8e3c24138a0d58b6d6b52 100644 (file)
--- a/World.py
+++ b/World.py
@@ -14,7 +14,7 @@ class World:
         with open(path.join("Levels", f'Level{level}.txt'), 'r') as f:
             file_contents = f.read().split("\n")
 
-        out = [[], center, "a", [], []]
+        out = [[], center, "a", [], [], [], None]
         for i in range(0, len(file_contents) - 1, 3):
             layer = file_contents[i].split("|")
             pos = file_contents[i + 1].split("|")
@@ -30,6 +30,10 @@ class World:
                     out[1] = (x, y)
                 elif t == "ENEMY":
                     out[0].append((x, y))
+                elif t == "SKELETON":
+                    out[5].append((x, y))
+                elif t == "KING":
+                    out[6] = (x, y)
                 elif t == "PORTAL":
                     out[2] = (x, y)
                 elif t == "HEALTHPOTION":
diff --git a/main.py b/main.py
index 904407d1b96cffcf87784b661d3a9de1ceccfec1..5f4c80ea8f0e02ae7407513cc6567573775ceec9 100644 (file)
--- a/main.py
+++ b/main.py
@@ -16,7 +16,7 @@ delta = 1000//fps
 # scene = TransitionScene()
 scene = DevLevelSelect()
 old_level = 0
-level = -3
+level = 5
 next_level = 0
 
 # final_level = 6