Added a strategic pygame.event.pump() in level.py. Levels 4-7 added, will probably need refining.
This commit is contained in:
		| @@ -1,7 +1,7 @@ | |||||||
| { | { | ||||||
|     "level_id": 4, |     "level_id": 4, | ||||||
|     "name": "Spider's Domain", |     "name": "The Abandoned Church", | ||||||
|     "description": "The spiders have claimed this part of the graveyard. Be careful to not disturb them. You know how spiders think, if you can't eat it, kill it!", |     "description": "The graves led you to a decrepit church. The holy ground offers no sanctuary - if anything, the undead seem stronger here.", | ||||||
|     "player_start": { |     "player_start": { | ||||||
|         "x": 0, |         "x": 0, | ||||||
|         "y": 0 |         "y": 0 | ||||||
| @@ -14,11 +14,6 @@ | |||||||
|             "collectible": true, |             "collectible": true, | ||||||
|             "static": true |             "static": true | ||||||
|         }, |         }, | ||||||
|         { |  | ||||||
|             "type": "spider_web", |  | ||||||
|             "x": 10, |  | ||||||
|             "y": 0 |  | ||||||
|         }, |  | ||||||
|         { |         { | ||||||
|             "x": 15, |             "x": 15, | ||||||
|             "y": 3, |             "y": 3, | ||||||
| @@ -26,17 +21,10 @@ | |||||||
|             "type": "coffin" |             "type": "coffin" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "x_range": [20, 23], |             "x_range": [20, 30], | ||||||
|             "y": 3, |  | ||||||
|             "sound": "coin", |  | ||||||
|             "collectible": true, |  | ||||||
|             "static": true |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [25, 35], |  | ||||||
|             "y": 0, |             "y": 0, | ||||||
|             "enemy_type": "goblin", |             "enemy_type": "goblin", | ||||||
|             "health": 4, |             "health": 3, | ||||||
|             "damage": 2, |             "damage": 2, | ||||||
|             "attack_range": 1, |             "attack_range": 1, | ||||||
|             "attack_pattern": { |             "attack_pattern": { | ||||||
| @@ -44,7 +32,15 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "x_range": [30, 45], |             "x": 35, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "grave", | ||||||
|  |             "sound": "grave", | ||||||
|  |             "static": true, | ||||||
|  |             "zombie_spawn_chance": 10 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [40, 55], | ||||||
|             "y": 12, |             "y": 12, | ||||||
|             "type": "skull_storm", |             "type": "skull_storm", | ||||||
|             "damage": 3, |             "damage": 3, | ||||||
| @@ -55,36 +51,24 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "type": "spider_web", |             "x_range": [45, 48], | ||||||
|             "x": 40, |  | ||||||
|             "y": 0 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x": 45, |  | ||||||
|             "y": 0, |  | ||||||
|             "type": "grave", |  | ||||||
|             "sound": "grave", |  | ||||||
|             "static": true, |  | ||||||
|             "zombie_spawn_chance": 0 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [50, 54], |  | ||||||
|             "y": 3, |             "y": 3, | ||||||
|             "sound": "coin", |             "sound": "coin", | ||||||
|             "collectible": true, |             "collectible": true, | ||||||
|             "static": true |             "static": true | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "x": 60, |             "x": 55, | ||||||
|             "y": 3, |             "y": 3, | ||||||
|             "sound": "coffin", |             "sound": "coffin", | ||||||
|             "type": "coffin" |             "type": "coffin", | ||||||
|  |             "item": "guts" | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "x_range": [65, 85], |             "x_range": [60, 70], | ||||||
|             "y": 0, |             "y": 0, | ||||||
|             "enemy_type": "witch", |             "enemy_type": "witch", | ||||||
|             "health": 8, |             "health": 4, | ||||||
|             "damage": 2, |             "damage": 2, | ||||||
|             "attack_range": 1, |             "attack_range": 1, | ||||||
|             "attack_pattern": { |             "attack_pattern": { | ||||||
| @@ -92,189 +76,132 @@ | |||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "type": "spider_web", |  | ||||||
|             "x": 75, |             "x": 75, | ||||||
|             "y": 0 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [80, 95], |  | ||||||
|             "y": 15, |  | ||||||
|             "type": "skull_storm", |  | ||||||
|             "damage": 4, |  | ||||||
|             "maximum_skulls": 3, |  | ||||||
|             "frequency": { |  | ||||||
|                 "min": 1, |  | ||||||
|                 "max": 3 |  | ||||||
|             } |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [90, 93], |  | ||||||
|             "y": 3, |  | ||||||
|             "sound": "coin", |  | ||||||
|             "collectible": true, |  | ||||||
|             "static": true |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x": 100, |  | ||||||
|             "y": 0, |  | ||||||
|             "type": "catapult", |  | ||||||
|             "fire_interval": 4000, |  | ||||||
|             "range": 20 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x": 110, |  | ||||||
|             "y": 0, |             "y": 0, | ||||||
|             "type": "grave", |             "type": "grave", | ||||||
|             "sound": "grave", |             "sound": "grave", | ||||||
|             "static": true, |             "static": true, | ||||||
|             "zombie_spawn_chance": 50 |             "zombie_spawn_chance": 10 | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "x_range": [115, 118], |             "x_range": [80, 83], | ||||||
|             "y": 3, |             "y": 3, | ||||||
|             "sound": "coin", |             "sound": "coin", | ||||||
|             "collectible": true, |             "collectible": true, | ||||||
|             "static": true |             "static": true | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "type": "spider_web", |             "x": 90, | ||||||
|             "x": 120, |             "y": 0, | ||||||
|             "y": 0 |             "type": "catapult", | ||||||
|  |             "fire_interval": 4500, | ||||||
|  |             "range": 20 | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "x_range": [125, 145], |             "x_range": [95, 115], | ||||||
|  |             "y": 15, | ||||||
|  |             "type": "skull_storm", | ||||||
|  |             "damage": 3, | ||||||
|  |             "maximum_skulls": 3, | ||||||
|  |             "frequency": { | ||||||
|  |                 "min": 2, | ||||||
|  |                 "max": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [100, 103], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 110, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [120, 130], | ||||||
|             "y": 0, |             "y": 0, | ||||||
|             "enemy_type": "ghoul", |             "enemy_type": "ghoul", | ||||||
|             "health": 12, |             "health": 6, | ||||||
|             "damage": 3, |             "damage": 2, | ||||||
|             "attack_range": 2, |             "attack_range": 1.5, | ||||||
|             "attack_pattern": { |             "attack_pattern": { | ||||||
|                 "type": "hunter", |                 "type": "patrol" | ||||||
|                 "turn_threshold": 4 |  | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "x": 135, |             "x": 135, | ||||||
|             "y": 3, |  | ||||||
|             "sound": "coffin", |  | ||||||
|             "type": "coffin" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [140, 160], |  | ||||||
|             "y": 15, |  | ||||||
|             "type": "skull_storm", |  | ||||||
|             "damage": 4, |  | ||||||
|             "maximum_skulls": 3, |  | ||||||
|             "frequency": { |  | ||||||
|                 "min": 1, |  | ||||||
|                 "max": 3 |  | ||||||
|             } |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [150, 153], |  | ||||||
|             "y": 3, |  | ||||||
|             "sound": "coin", |  | ||||||
|             "collectible": true, |  | ||||||
|             "static": true |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x": 165, |  | ||||||
|             "y": 0, |             "y": 0, | ||||||
|             "type": "grave", |             "type": "grave", | ||||||
|             "sound": "grave", |             "sound": "grave", | ||||||
|             "static": true, |             "static": true, | ||||||
|             "item": "guts", |             "zombie_spawn_chance": 10 | ||||||
|             "zombie_spawn_chance": 0 |  | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|             "type": "spider_web", |             "x_range": [140, 143], | ||||||
|             "x": 175, |  | ||||||
|             "y": 0 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [180, 200], |  | ||||||
|             "y": 0, |  | ||||||
|             "enemy_type": "witch", |  | ||||||
|             "health": 8, |  | ||||||
|             "damage": 2, |  | ||||||
|             "attack_range": 1, |  | ||||||
|             "attack_pattern": { |  | ||||||
|                 "type": "patrol" |  | ||||||
|             } |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [185, 188], |  | ||||||
|             "y": 3, |             "y": 3, | ||||||
|             "sound": "coin", |             "sound": "coin", | ||||||
|             "collectible": true, |             "collectible": true, | ||||||
|             "static": true |             "static": true | ||||||
|         }, |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [150, 170], | ||||||
|  |             "y": 12, | ||||||
|  |             "type": "skull_storm", | ||||||
|  |             "damage": 3, | ||||||
|  |             "maximum_skulls": 2, | ||||||
|  |             "frequency": { | ||||||
|  |                 "min": 2, | ||||||
|  |                 "max": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 165, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin", | ||||||
|  |             "item": "extra_life" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [175, 185], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "ghoul", | ||||||
|  |             "health": 8, | ||||||
|  |             "damage": 2, | ||||||
|  |             "attack_range": 1.5, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "hunter", | ||||||
|  |                 "turn_threshold": 6 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [180, 183], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 190, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "grave", | ||||||
|  |             "sound": "grave", | ||||||
|  |             "static": true, | ||||||
|  |             "zombie_spawn_chance": 10 | ||||||
|  |         }, | ||||||
|         { |         { | ||||||
|             "x": 195, |             "x": 195, | ||||||
|             "y": 3, |             "y": 3, | ||||||
|             "item": "hand_of_glory", |  | ||||||
|             "sound": "coffin", |  | ||||||
|             "type": "coffin" |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [205, 225], |  | ||||||
|             "y": 12, |  | ||||||
|             "type": "skull_storm", |  | ||||||
|             "damage": 4, |  | ||||||
|             "maximum_skulls": 3, |  | ||||||
|             "frequency": { |  | ||||||
|                 "min": 1, |  | ||||||
|                 "max": 3 |  | ||||||
|             } |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [210, 213], |  | ||||||
|             "y": 3, |  | ||||||
|             "sound": "coin", |  | ||||||
|             "collectible": true, |  | ||||||
|             "static": true |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "type": "spider_web", |  | ||||||
|             "x": 220, |  | ||||||
|             "y": 0 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x": 225, |  | ||||||
|             "y": 0, |  | ||||||
|             "type": "catapult", |  | ||||||
|             "fire_interval": 4000, |  | ||||||
|             "range": 20 |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [230, 245], |  | ||||||
|             "y": 0, |  | ||||||
|             "enemy_type": "ghoul", |  | ||||||
|             "health": 12, |  | ||||||
|             "damage": 3, |  | ||||||
|             "attack_range": 2, |  | ||||||
|             "attack_pattern": { |  | ||||||
|                 "type": "hunter", |  | ||||||
|                 "turn_threshold": 4 |  | ||||||
|             } |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x_range": [235, 238], |  | ||||||
|             "y": 3, |  | ||||||
|             "sound": "coin", |  | ||||||
|             "collectible": true, |  | ||||||
|             "static": true |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|             "x": 245, |  | ||||||
|             "y": 3, |  | ||||||
|             "sound": "coffin", |             "sound": "coffin", | ||||||
|             "type": "coffin" |             "type": "coffin" | ||||||
|         } |         } | ||||||
|     ], |     ], | ||||||
|     "boundaries": { |     "boundaries": { | ||||||
|         "left": 0, |         "left": 0, | ||||||
|         "right": 250 |         "right": 200 | ||||||
|     }, |     }, | ||||||
|     "footstep_sound": "footstep_tall_grass" |     "footstep_sound": "footstep_stone" | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										191
									
								
								levels/Wicked Quest/5.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								levels/Wicked Quest/5.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,191 @@ | |||||||
|  | { | ||||||
|  |     "level_id": 5, | ||||||
|  |     "name": "The Cursed Catacombs", | ||||||
|  |     "description": "Deep beneath the church lies an ancient network of tunnels. The air is thick with dark magic, and the walls seem to pulse with malevolent energy.", | ||||||
|  |     "player_start": { | ||||||
|  |         "x": 0, | ||||||
|  |         "y": 0 | ||||||
|  |     }, | ||||||
|  |     "objects": [ | ||||||
|  |         { | ||||||
|  |             "x_range": [5, 8], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 15, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "grave", | ||||||
|  |             "sound": "grave", | ||||||
|  |             "static": true, | ||||||
|  |             "zombie_spawn_chance": 15 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [20, 35], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "witch", | ||||||
|  |             "health": 5, | ||||||
|  |             "damage": 2, | ||||||
|  |             "attack_range": 1.5, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "hunter", | ||||||
|  |                 "turn_threshold": 5 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 30, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [40, 60], | ||||||
|  |             "y": 12, | ||||||
|  |             "type": "skull_storm", | ||||||
|  |             "damage": 4, | ||||||
|  |             "maximum_skulls": 2, | ||||||
|  |             "frequency": { | ||||||
|  |                 "min": 1, | ||||||
|  |                 "max": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [45, 48], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 55, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "catapult", | ||||||
|  |             "fire_interval": 4000, | ||||||
|  |             "range": 25 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [65, 80], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "ghoul", | ||||||
|  |             "health": 8, | ||||||
|  |             "damage": 2, | ||||||
|  |             "attack_range": 1.5, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "patrol" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 75, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin", | ||||||
|  |             "item": "hand_of_glory" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [85, 88], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 95, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "grave", | ||||||
|  |             "sound": "grave", | ||||||
|  |             "static": true, | ||||||
|  |             "zombie_spawn_chance": 15 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [100, 125], | ||||||
|  |             "y": 15, | ||||||
|  |             "type": "skull_storm", | ||||||
|  |             "damage": 4, | ||||||
|  |             "maximum_skulls": 3, | ||||||
|  |             "frequency": { | ||||||
|  |                 "min": 1, | ||||||
|  |                 "max": 3 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [110, 113], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [120, 135], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "witch", | ||||||
|  |             "health": 5, | ||||||
|  |             "damage": 2, | ||||||
|  |             "attack_range": 1.5, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "hunter", | ||||||
|  |                 "turn_threshold": 5 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 140, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 145, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "grave", | ||||||
|  |             "sound": "grave", | ||||||
|  |             "static": true, | ||||||
|  |             "zombie_spawn_chance": 15 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [150, 153], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [160, 180], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "ghoul", | ||||||
|  |             "health": 10, | ||||||
|  |             "damage": 3, | ||||||
|  |             "attack_range": 2, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "hunter", | ||||||
|  |                 "turn_threshold": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 175, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "catapult", | ||||||
|  |             "fire_interval": 4000, | ||||||
|  |             "range": 25 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [185, 188], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 195, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin", | ||||||
|  |             "item": "extra_life" | ||||||
|  |         } | ||||||
|  |     ], | ||||||
|  |     "boundaries": { | ||||||
|  |         "left": 0, | ||||||
|  |         "right": 200 | ||||||
|  |     }, | ||||||
|  |     "footstep_sound": "footstep_stone" | ||||||
|  | } | ||||||
							
								
								
									
										194
									
								
								levels/Wicked Quest/6.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										194
									
								
								levels/Wicked Quest/6.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,194 @@ | |||||||
|  | { | ||||||
|  |     "level_id": 6, | ||||||
|  |     "name": "The Webbed Crypts", | ||||||
|  |     "description": "The catacombs open into ancient crypts, their passages choked with massive cobwebs. Something skitters in the darkness above.", | ||||||
|  |     "player_start": { | ||||||
|  |         "x": 0, | ||||||
|  |         "y": 0 | ||||||
|  |     }, | ||||||
|  |     "objects": [ | ||||||
|  |         { | ||||||
|  |             "x_range": [5, 8], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "type": "spider_web", | ||||||
|  |             "x": 15, | ||||||
|  |             "y": 0 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [20, 35], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "witch", | ||||||
|  |             "health": 6, | ||||||
|  |             "damage": 2, | ||||||
|  |             "attack_range": 1.5, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "hunter", | ||||||
|  |                 "turn_threshold": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 30, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [40, 65], | ||||||
|  |             "y": 12, | ||||||
|  |             "type": "skull_storm", | ||||||
|  |             "damage": 4, | ||||||
|  |             "maximum_skulls": 3, | ||||||
|  |             "frequency": { | ||||||
|  |                 "min": 1, | ||||||
|  |                 "max": 3 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 45, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "grave", | ||||||
|  |             "sound": "grave", | ||||||
|  |             "static": true, | ||||||
|  |             "zombie_spawn_chance": 20 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [50, 53], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 60, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "catapult", | ||||||
|  |             "fire_interval": 4000, | ||||||
|  |             "range": 30 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [70, 85], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "ghoul", | ||||||
|  |             "health": 10, | ||||||
|  |             "damage": 3, | ||||||
|  |             "attack_range": 2, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "hunter", | ||||||
|  |                 "turn_threshold": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 80, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin", | ||||||
|  |             "item": "hand_of_glory" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "type": "spider_web", | ||||||
|  |             "x": 90, | ||||||
|  |             "y": 0 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [95, 98], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 105, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "grave", | ||||||
|  |             "sound": "grave", | ||||||
|  |             "static": true, | ||||||
|  |             "zombie_spawn_chance": 20 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [110, 135], | ||||||
|  |             "y": 15, | ||||||
|  |             "type": "skull_storm", | ||||||
|  |             "damage": 4, | ||||||
|  |             "maximum_skulls": 3, | ||||||
|  |             "frequency": { | ||||||
|  |                 "min": 1, | ||||||
|  |                 "max": 3 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [120, 123], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [130, 145], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "witch", | ||||||
|  |             "health": 6, | ||||||
|  |             "damage": 2, | ||||||
|  |             "attack_range": 1.5, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "hunter", | ||||||
|  |                 "turn_threshold": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 150, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [160, 180], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "ghoul", | ||||||
|  |             "health": 12, | ||||||
|  |             "damage": 3, | ||||||
|  |             "attack_range": 2, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "hunter", | ||||||
|  |                 "turn_threshold": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [165, 168], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 175, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "catapult", | ||||||
|  |             "fire_interval": 4000, | ||||||
|  |             "range": 30 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [185, 188], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 195, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin", | ||||||
|  |             "item": "extra_life" | ||||||
|  |         } | ||||||
|  |     ], | ||||||
|  |     "boundaries": { | ||||||
|  |         "left": 0, | ||||||
|  |         "right": 200 | ||||||
|  |     }, | ||||||
|  |     "footstep_sound": "footstep_tall_grass" | ||||||
|  | } | ||||||
							
								
								
									
										280
									
								
								levels/Wicked Quest/7.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										280
									
								
								levels/Wicked Quest/7.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,280 @@ | |||||||
|  | { | ||||||
|  |     "level_id": 4, | ||||||
|  |     "name": "Spider's Domain", | ||||||
|  |     "description": "The spiders have claimed this part of the graveyard. Be careful to not disturb them. You know how spiders think, if you can't eat it, kill it!", | ||||||
|  |     "player_start": { | ||||||
|  |         "x": 0, | ||||||
|  |         "y": 0 | ||||||
|  |     }, | ||||||
|  |     "objects": [ | ||||||
|  |         { | ||||||
|  |             "x_range": [5, 8], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "type": "spider_web", | ||||||
|  |             "x": 10, | ||||||
|  |             "y": 0 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 15, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [20, 23], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [25, 35], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "goblin", | ||||||
|  |             "health": 4, | ||||||
|  |             "damage": 2, | ||||||
|  |             "attack_range": 1, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "patrol" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [30, 45], | ||||||
|  |             "y": 12, | ||||||
|  |             "type": "skull_storm", | ||||||
|  |             "damage": 3, | ||||||
|  |             "maximum_skulls": 2, | ||||||
|  |             "frequency": { | ||||||
|  |                 "min": 2, | ||||||
|  |                 "max": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "type": "spider_web", | ||||||
|  |             "x": 40, | ||||||
|  |             "y": 0 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 45, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "grave", | ||||||
|  |             "sound": "grave", | ||||||
|  |             "static": true, | ||||||
|  |             "zombie_spawn_chance": 0 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [50, 54], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 60, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [65, 85], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "witch", | ||||||
|  |             "health": 8, | ||||||
|  |             "damage": 2, | ||||||
|  |             "attack_range": 1, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "patrol" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "type": "spider_web", | ||||||
|  |             "x": 75, | ||||||
|  |             "y": 0 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [80, 95], | ||||||
|  |             "y": 15, | ||||||
|  |             "type": "skull_storm", | ||||||
|  |             "damage": 4, | ||||||
|  |             "maximum_skulls": 3, | ||||||
|  |             "frequency": { | ||||||
|  |                 "min": 1, | ||||||
|  |                 "max": 3 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [90, 93], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 100, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "catapult", | ||||||
|  |             "fire_interval": 4000, | ||||||
|  |             "range": 20 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 110, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "grave", | ||||||
|  |             "sound": "grave", | ||||||
|  |             "static": true, | ||||||
|  |             "zombie_spawn_chance": 50 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [115, 118], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "type": "spider_web", | ||||||
|  |             "x": 120, | ||||||
|  |             "y": 0 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [125, 145], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "ghoul", | ||||||
|  |             "health": 12, | ||||||
|  |             "damage": 3, | ||||||
|  |             "attack_range": 2, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "hunter", | ||||||
|  |                 "turn_threshold": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 135, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [140, 160], | ||||||
|  |             "y": 15, | ||||||
|  |             "type": "skull_storm", | ||||||
|  |             "damage": 4, | ||||||
|  |             "maximum_skulls": 3, | ||||||
|  |             "frequency": { | ||||||
|  |                 "min": 1, | ||||||
|  |                 "max": 3 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [150, 153], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 165, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "grave", | ||||||
|  |             "sound": "grave", | ||||||
|  |             "static": true, | ||||||
|  |             "item": "guts", | ||||||
|  |             "zombie_spawn_chance": 0 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "type": "spider_web", | ||||||
|  |             "x": 175, | ||||||
|  |             "y": 0 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [180, 200], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "witch", | ||||||
|  |             "health": 8, | ||||||
|  |             "damage": 2, | ||||||
|  |             "attack_range": 1, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "patrol" | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [185, 188], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 195, | ||||||
|  |             "y": 3, | ||||||
|  |             "item": "hand_of_glory", | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [205, 225], | ||||||
|  |             "y": 12, | ||||||
|  |             "type": "skull_storm", | ||||||
|  |             "damage": 4, | ||||||
|  |             "maximum_skulls": 3, | ||||||
|  |             "frequency": { | ||||||
|  |                 "min": 1, | ||||||
|  |                 "max": 3 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [210, 213], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "type": "spider_web", | ||||||
|  |             "x": 220, | ||||||
|  |             "y": 0 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 225, | ||||||
|  |             "y": 0, | ||||||
|  |             "type": "catapult", | ||||||
|  |             "fire_interval": 4000, | ||||||
|  |             "range": 20 | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [230, 245], | ||||||
|  |             "y": 0, | ||||||
|  |             "enemy_type": "ghoul", | ||||||
|  |             "health": 12, | ||||||
|  |             "damage": 3, | ||||||
|  |             "attack_range": 2, | ||||||
|  |             "attack_pattern": { | ||||||
|  |                 "type": "hunter", | ||||||
|  |                 "turn_threshold": 4 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x_range": [235, 238], | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coin", | ||||||
|  |             "collectible": true, | ||||||
|  |             "static": true | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             "x": 245, | ||||||
|  |             "y": 3, | ||||||
|  |             "sound": "coffin", | ||||||
|  |             "type": "coffin" | ||||||
|  |         } | ||||||
|  |     ], | ||||||
|  |     "boundaries": { | ||||||
|  |         "left": 0, | ||||||
|  |         "right": 250 | ||||||
|  |     }, | ||||||
|  |     "footstep_sound": "footstep_tall_grass" | ||||||
|  | } | ||||||
| @@ -268,6 +268,9 @@ class Level: | |||||||
|  |  | ||||||
|     def handle_collisions(self): |     def handle_collisions(self): | ||||||
|         """Handle all collision checks and return True if level is complete.""" |         """Handle all collision checks and return True if level is complete.""" | ||||||
|  |         # Add a pump here so it gets called reasonably often. | ||||||
|  |         pygame.event.pump() | ||||||
|  |  | ||||||
|         # First check if player is dead |         # First check if player is dead | ||||||
|         if self.player.get_health() <= 0: |         if self.player.get_health() <= 0: | ||||||
|             return False |             return False | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user