zombie-escape 1.12.0__py3-none-any.whl → 1.13.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zombie_escape/__about__.py +1 -1
- zombie_escape/__main__.py +7 -0
- zombie_escape/colors.py +22 -14
- zombie_escape/entities.py +756 -147
- zombie_escape/entities_constants.py +35 -14
- zombie_escape/export_images.py +296 -0
- zombie_escape/gameplay/__init__.py +2 -1
- zombie_escape/gameplay/constants.py +6 -0
- zombie_escape/gameplay/footprints.py +4 -0
- zombie_escape/gameplay/interactions.py +19 -7
- zombie_escape/gameplay/layout.py +103 -34
- zombie_escape/gameplay/movement.py +85 -5
- zombie_escape/gameplay/spawn.py +139 -90
- zombie_escape/gameplay/state.py +18 -9
- zombie_escape/gameplay/survivors.py +13 -2
- zombie_escape/gameplay/utils.py +40 -21
- zombie_escape/level_blueprints.py +256 -19
- zombie_escape/locales/ui.en.json +12 -2
- zombie_escape/locales/ui.ja.json +12 -2
- zombie_escape/models.py +14 -7
- zombie_escape/render.py +149 -37
- zombie_escape/render_assets.py +419 -124
- zombie_escape/render_constants.py +27 -0
- zombie_escape/screens/game_over.py +14 -3
- zombie_escape/screens/gameplay.py +72 -14
- zombie_escape/screens/title.py +18 -7
- zombie_escape/stage_constants.py +51 -15
- zombie_escape/zombie_escape.py +24 -1
- {zombie_escape-1.12.0.dist-info → zombie_escape-1.13.1.dist-info}/METADATA +41 -15
- zombie_escape-1.13.1.dist-info/RECORD +49 -0
- zombie_escape-1.12.0.dist-info/RECORD +0 -47
- {zombie_escape-1.12.0.dist-info → zombie_escape-1.13.1.dist-info}/WHEEL +0 -0
- {zombie_escape-1.12.0.dist-info → zombie_escape-1.13.1.dist-info}/entry_points.txt +0 -0
- {zombie_escape-1.12.0.dist-info → zombie_escape-1.13.1.dist-info}/licenses/LICENSE.txt +0 -0
zombie_escape/__about__.py
CHANGED
zombie_escape/colors.py
CHANGED
|
@@ -2,7 +2,12 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
def _clamp(value: float) -> int:
|
|
7
|
+
return max(0, min(255, int(value)))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# Basic palette.
|
|
6
11
|
WHITE: tuple[int, int, int] = (255, 255, 255)
|
|
7
12
|
BLACK: tuple[int, int, int] = (0, 0, 0)
|
|
8
13
|
RED: tuple[int, int, int] = (255, 0, 0)
|
|
@@ -13,8 +18,6 @@ LIGHT_GRAY: tuple[int, int, int] = (200, 200, 200)
|
|
|
13
18
|
YELLOW: tuple[int, int, int] = (255, 255, 0)
|
|
14
19
|
ORANGE: tuple[int, int, int] = (255, 165, 0)
|
|
15
20
|
DARK_RED: tuple[int, int, int] = (139, 0, 0)
|
|
16
|
-
TRACKER_OUTLINE_COLOR: tuple[int, int, int] = (170, 70, 220)
|
|
17
|
-
WALL_FOLLOWER_OUTLINE_COLOR: tuple[int, int, int] = (140, 140, 140)
|
|
18
21
|
|
|
19
22
|
|
|
20
23
|
@dataclass(frozen=True)
|
|
@@ -32,10 +35,6 @@ class EnvironmentPalette:
|
|
|
32
35
|
outer_wall_border: tuple[int, int, int]
|
|
33
36
|
|
|
34
37
|
|
|
35
|
-
def _clamp(value: float) -> int:
|
|
36
|
-
return max(0, min(255, int(value)))
|
|
37
|
-
|
|
38
|
-
|
|
39
38
|
def _adjust_color(
|
|
40
39
|
color: tuple[int, int, int], *, brightness: float = 1.0, saturation: float = 1.0
|
|
41
40
|
) -> tuple[int, int, int]:
|
|
@@ -56,6 +55,7 @@ DEFAULT_AMBIENT_PALETTE_KEY = "default"
|
|
|
56
55
|
NO_FLASHLIGHT_PALETTE_KEY = "no_flashlight"
|
|
57
56
|
DAWN_AMBIENT_PALETTE_KEY = "dawn"
|
|
58
57
|
|
|
58
|
+
|
|
59
59
|
# Base palette used throughout gameplay (matches the previous constants).
|
|
60
60
|
_DEFAULT_ENVIRONMENT_PALETTE = EnvironmentPalette(
|
|
61
61
|
floor_primary=(43, 57, 70),
|
|
@@ -72,10 +72,14 @@ _DEFAULT_ENVIRONMENT_PALETTE = EnvironmentPalette(
|
|
|
72
72
|
# Dark, desaturated palette that sells the "alone without a flashlight" vibe.
|
|
73
73
|
_GLOOM_ENVIRONMENT_PALETTE = EnvironmentPalette(
|
|
74
74
|
floor_primary=_adjust_color(
|
|
75
|
-
_DEFAULT_ENVIRONMENT_PALETTE.floor_primary,
|
|
75
|
+
_DEFAULT_ENVIRONMENT_PALETTE.floor_primary,
|
|
76
|
+
brightness=0.8,
|
|
77
|
+
saturation=0.75,
|
|
76
78
|
),
|
|
77
79
|
floor_secondary=_adjust_color(
|
|
78
|
-
_DEFAULT_ENVIRONMENT_PALETTE.floor_secondary,
|
|
80
|
+
_DEFAULT_ENVIRONMENT_PALETTE.floor_secondary,
|
|
81
|
+
brightness=0.8,
|
|
82
|
+
saturation=0.75,
|
|
79
83
|
),
|
|
80
84
|
fall_zone_primary=_adjust_color(
|
|
81
85
|
_DEFAULT_ENVIRONMENT_PALETTE.fall_zone_primary,
|
|
@@ -88,10 +92,14 @@ _GLOOM_ENVIRONMENT_PALETTE = EnvironmentPalette(
|
|
|
88
92
|
saturation=0.75,
|
|
89
93
|
),
|
|
90
94
|
outside=_adjust_color(
|
|
91
|
-
_DEFAULT_ENVIRONMENT_PALETTE.outside,
|
|
95
|
+
_DEFAULT_ENVIRONMENT_PALETTE.outside,
|
|
96
|
+
brightness=0.8,
|
|
97
|
+
saturation=0.75,
|
|
92
98
|
),
|
|
93
99
|
inner_wall=_adjust_color(
|
|
94
|
-
_DEFAULT_ENVIRONMENT_PALETTE.inner_wall,
|
|
100
|
+
_DEFAULT_ENVIRONMENT_PALETTE.inner_wall,
|
|
101
|
+
brightness=0.8,
|
|
102
|
+
saturation=0.75,
|
|
95
103
|
),
|
|
96
104
|
inner_wall_border=_adjust_color(
|
|
97
105
|
_DEFAULT_ENVIRONMENT_PALETTE.inner_wall_border,
|
|
@@ -99,7 +107,9 @@ _GLOOM_ENVIRONMENT_PALETTE = EnvironmentPalette(
|
|
|
99
107
|
saturation=0.75,
|
|
100
108
|
),
|
|
101
109
|
outer_wall=_adjust_color(
|
|
102
|
-
_DEFAULT_ENVIRONMENT_PALETTE.outer_wall,
|
|
110
|
+
_DEFAULT_ENVIRONMENT_PALETTE.outer_wall,
|
|
111
|
+
brightness=0.8,
|
|
112
|
+
saturation=0.75,
|
|
103
113
|
),
|
|
104
114
|
outer_wall_border=_adjust_color(
|
|
105
115
|
_DEFAULT_ENVIRONMENT_PALETTE.outer_wall_border,
|
|
@@ -181,8 +191,6 @@ __all__ = [
|
|
|
181
191
|
"YELLOW",
|
|
182
192
|
"ORANGE",
|
|
183
193
|
"DARK_RED",
|
|
184
|
-
"TRACKER_OUTLINE_COLOR",
|
|
185
|
-
"WALL_FOLLOWER_OUTLINE_COLOR",
|
|
186
194
|
"DAWN_AMBIENT_PALETTE_KEY",
|
|
187
195
|
"INTERNAL_WALL_COLOR",
|
|
188
196
|
"INTERNAL_WALL_BORDER_COLOR",
|