crimsonland 0.1.0.dev7__py3-none-any.whl → 0.1.0.dev8__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.
- crimson/creatures/anim.py +1 -0
- crimson/game.py +5 -0
- crimson/gameplay.py +33 -8
- crimson/modes/base_gameplay_mode.py +75 -1
- crimson/modes/quest_mode.py +471 -44
- crimson/modes/rush_mode.py +12 -3
- crimson/modes/survival_mode.py +13 -2
- crimson/modes/tutorial_mode.py +12 -1
- crimson/modes/typo_mode.py +12 -4
- crimson/ui/hud.py +274 -51
- crimson/views/arsenal_debug.py +46 -1
- crimson/views/player.py +2 -2
- {crimsonland-0.1.0.dev7.dist-info → crimsonland-0.1.0.dev8.dist-info}/METADATA +1 -1
- {crimsonland-0.1.0.dev7.dist-info → crimsonland-0.1.0.dev8.dist-info}/RECORD +17 -17
- grim/console.py +14 -0
- {crimsonland-0.1.0.dev7.dist-info → crimsonland-0.1.0.dev8.dist-info}/WHEEL +0 -0
- {crimsonland-0.1.0.dev7.dist-info → crimsonland-0.1.0.dev8.dist-info}/entry_points.txt +0 -0
crimson/views/arsenal_debug.py
CHANGED
|
@@ -6,9 +6,11 @@ import random
|
|
|
6
6
|
import pyray as rl
|
|
7
7
|
|
|
8
8
|
from grim.audio import AudioState, shutdown_audio, update_audio
|
|
9
|
+
from grim.console import ConsoleState
|
|
9
10
|
from grim.fonts.small import SmallFontData, draw_small_text, load_small_font
|
|
10
11
|
from grim.view import View, ViewContext
|
|
11
12
|
|
|
13
|
+
from ..bonuses import BONUS_TABLE, BonusId
|
|
12
14
|
from ..creatures.spawn import SpawnId
|
|
13
15
|
from ..game_modes import GameMode
|
|
14
16
|
from ..game_world import GameWorld
|
|
@@ -36,6 +38,7 @@ UI_ERROR = rl.Color(240, 80, 80, 255)
|
|
|
36
38
|
|
|
37
39
|
ARSENAL_PLAYER_MOVE_SPEED_MULTIPLIER = 6.0
|
|
38
40
|
ARSENAL_PLAYER_INVULNERABLE_SHIELD_TIMER = 1e-3
|
|
41
|
+
ARSENAL_BONUS_RING_RADIUS = 140.0
|
|
39
42
|
|
|
40
43
|
DEFAULT_SPAWN_IDS = (
|
|
41
44
|
SpawnId.ZOMBIE_CONST_GREY_42,
|
|
@@ -192,6 +195,45 @@ class ArsenalDebugView:
|
|
|
192
195
|
rand=self._world.state.rng.rand,
|
|
193
196
|
)
|
|
194
197
|
|
|
198
|
+
def _spawn_all_bonuses(self) -> None:
|
|
199
|
+
player = self._player
|
|
200
|
+
if player is None:
|
|
201
|
+
return
|
|
202
|
+
|
|
203
|
+
bonus_pool = self._world.state.bonus_pool
|
|
204
|
+
bonus_pool.reset()
|
|
205
|
+
|
|
206
|
+
bonus_ids = [int(entry.bonus_id) for entry in BONUS_TABLE if int(entry.bonus_id) != int(BonusId.UNUSED)]
|
|
207
|
+
count = max(1, len(bonus_ids))
|
|
208
|
+
|
|
209
|
+
base_x = float(player.pos_x)
|
|
210
|
+
base_y = float(player.pos_y)
|
|
211
|
+
rng = self._world.state.rng.rand
|
|
212
|
+
current_weapon_id = int(player.weapon_id)
|
|
213
|
+
|
|
214
|
+
for idx, bonus_id in enumerate(bonus_ids):
|
|
215
|
+
angle = float(idx) / float(count) * math.tau
|
|
216
|
+
x = base_x + math.cos(angle) * float(ARSENAL_BONUS_RING_RADIUS)
|
|
217
|
+
y = base_y + math.sin(angle) * float(ARSENAL_BONUS_RING_RADIUS)
|
|
218
|
+
|
|
219
|
+
amount_override = -1
|
|
220
|
+
if bonus_id == int(BonusId.WEAPON) and self._weapon_ids:
|
|
221
|
+
weapon_id = int(current_weapon_id)
|
|
222
|
+
for _ in range(8):
|
|
223
|
+
weapon_id = int(self._weapon_ids[int(rng()) % len(self._weapon_ids)])
|
|
224
|
+
if weapon_id != current_weapon_id:
|
|
225
|
+
break
|
|
226
|
+
amount_override = int(weapon_id)
|
|
227
|
+
|
|
228
|
+
bonus_pool.spawn_at(
|
|
229
|
+
x,
|
|
230
|
+
y,
|
|
231
|
+
bonus_id,
|
|
232
|
+
duration_override=int(amount_override),
|
|
233
|
+
world_width=float(WORLD_SIZE),
|
|
234
|
+
world_height=float(WORLD_SIZE),
|
|
235
|
+
)
|
|
236
|
+
|
|
195
237
|
def _handle_debug_input(self) -> None:
|
|
196
238
|
if rl.is_key_pressed(rl.KeyboardKey.KEY_ESCAPE):
|
|
197
239
|
self.close_requested = True
|
|
@@ -209,6 +251,9 @@ class ArsenalDebugView:
|
|
|
209
251
|
if rl.is_key_pressed(rl.KeyboardKey.KEY_T):
|
|
210
252
|
self._reset_creatures()
|
|
211
253
|
|
|
254
|
+
if rl.is_key_pressed(rl.KeyboardKey.KEY_B):
|
|
255
|
+
self._spawn_all_bonuses()
|
|
256
|
+
|
|
212
257
|
if rl.is_key_pressed(rl.KeyboardKey.KEY_BACKSPACE):
|
|
213
258
|
self._reset_scene()
|
|
214
259
|
|
|
@@ -387,7 +432,7 @@ class ArsenalDebugView:
|
|
|
387
432
|
|
|
388
433
|
y += 6.0
|
|
389
434
|
self._draw_ui_text(
|
|
390
|
-
"WASD move LMB fire R reload [/] cycle weapons Space pause T respawn Backspace reset Esc quit",
|
|
435
|
+
"WASD move LMB fire R reload [/] cycle weapons Space pause T respawn B spawn all bonuses Backspace reset Esc quit",
|
|
391
436
|
x,
|
|
392
437
|
y,
|
|
393
438
|
UI_HINT,
|
crimson/views/player.py
CHANGED
|
@@ -206,7 +206,7 @@ class PlayerSandboxView:
|
|
|
206
206
|
self._player.shield_timer = 0.0
|
|
207
207
|
self._player.speed_bonus_timer = 0.0
|
|
208
208
|
self._player.fire_bullets_timer = 0.0
|
|
209
|
-
bonus_hud_update(self._state, [self._player])
|
|
209
|
+
bonus_hud_update(self._state, [self._player], dt=0.0)
|
|
210
210
|
|
|
211
211
|
def _camera_world_to_screen(self, x: float, y: float) -> tuple[float, float]:
|
|
212
212
|
return self._camera_x + x, self._camera_y + y
|
|
@@ -308,7 +308,7 @@ class PlayerSandboxView:
|
|
|
308
308
|
input_state = self._build_input()
|
|
309
309
|
player_update(self._player, input_state, dt, self._state, world_size=WORLD_SIZE)
|
|
310
310
|
|
|
311
|
-
bonus_hud_update(self._state, [self._player])
|
|
311
|
+
bonus_hud_update(self._state, [self._player], dt=dt)
|
|
312
312
|
self._update_camera(dt)
|
|
313
313
|
|
|
314
314
|
def draw(self) -> None:
|
|
@@ -7,7 +7,7 @@ crimson/camera.py,sha256=VxTNXTh0qHh5VR1OpkiXr-QcgEWPrWw0A3PFyQFqDkY,2278
|
|
|
7
7
|
crimson/cli.py,sha256=Pu4RM_bjGtUgIE_5zZs0uWFY9O8YkhJDseRcVMMPJ8k,14595
|
|
8
8
|
crimson/creatures/__init__.py,sha256=RJwwR_w98zC_kHF9CwkhzSlf0xjpiP0JU87W4awdAAM,233
|
|
9
9
|
crimson/creatures/ai.py,sha256=oCuUkDe6Kxya1dThUthEy8GIuObAUjDv8WPfe17HYV4,6353
|
|
10
|
-
crimson/creatures/anim.py,sha256=
|
|
10
|
+
crimson/creatures/anim.py,sha256=k_jEpyfwFcJSC9jY2xuhuxtQ8KvE6fSeuRSBLTTAxWo,5016
|
|
11
11
|
crimson/creatures/damage.py,sha256=pjKIX32nGDVPnFaWCce0LNZ-UZXZqJpNvwHwq-DCWbE,3211
|
|
12
12
|
crimson/creatures/runtime.py,sha256=1FagJNwGWJuOXZEv4VaWak2IktNskSof82WCYJqui-U,40733
|
|
13
13
|
crimson/creatures/spawn.py,sha256=ikgtr4sM2KdA2-eyxYdVmobcuZN6aA7xK7ceaIl7RSw,90059
|
|
@@ -28,18 +28,18 @@ crimson/frontend/panels/options.py,sha256=0oBAGs9_nnP_H_JRa2hHZ6o-NaaavnuyzTSmeQ
|
|
|
28
28
|
crimson/frontend/panels/play_game.py,sha256=_Tqw-vFVzgDUd-H1Q8txyw-sTSZKCEDf3aU0Iw9B26I,24299
|
|
29
29
|
crimson/frontend/panels/stats.py,sha256=jtIRRfffR4u_q6ayLvwCZ6u2YDdFC6Ei_ytQbxY-Bpo,12713
|
|
30
30
|
crimson/frontend/transitions.py,sha256=-sAJUDqNZ943zXlqtvJ6jCg2YH8dSi8k7qK8caAfOKI,883
|
|
31
|
-
crimson/game.py,sha256=
|
|
31
|
+
crimson/game.py,sha256=6rIXJkYO5FL_z-fDZKTdDfJrb4fkKfWSaaxphUros2c,97712
|
|
32
32
|
crimson/game_modes.py,sha256=qW7Tt97lSBmGrt0F17Ni5h8vRyngBzyS9XwWM1TFIEI,255
|
|
33
33
|
crimson/game_world.py,sha256=nfKGcm3LHChPGLHJsurDFAATrHmhRvTmgxcLzUN9m5I,25440
|
|
34
|
-
crimson/gameplay.py,sha256=
|
|
34
|
+
crimson/gameplay.py,sha256=xL1ZKQVRVn_nQ-c7Y_Qj-ggv22Je_By7gX_qbPg0VsY,90027
|
|
35
35
|
crimson/input_codes.py,sha256=PmSWFZIit8unTBWk3uwifpHWMuk0qMg1ueKX3MGC7D0,5379
|
|
36
36
|
crimson/modes/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
|
|
37
|
-
crimson/modes/base_gameplay_mode.py,sha256=
|
|
38
|
-
crimson/modes/quest_mode.py,sha256=
|
|
39
|
-
crimson/modes/rush_mode.py,sha256=
|
|
40
|
-
crimson/modes/survival_mode.py,sha256
|
|
41
|
-
crimson/modes/tutorial_mode.py,sha256=
|
|
42
|
-
crimson/modes/typo_mode.py,sha256=
|
|
37
|
+
crimson/modes/base_gameplay_mode.py,sha256=dZwKv6qO0GGVEaUP8fNXNsKdvOko1N-2sQA2U8R2fDA,10092
|
|
38
|
+
crimson/modes/quest_mode.py,sha256=OFesQwloI9pP4pJv72U7U2GoCC6WQ5eTic8aioeW4_A,37942
|
|
39
|
+
crimson/modes/rush_mode.py,sha256=nioU1SvnezINEQM7GbhOy49hYmxDjmplFD-mp78zvdw,11438
|
|
40
|
+
crimson/modes/survival_mode.py,sha256=-bLq36_UlWo9m4oFI_l4VwtrWlHH84Egkt1wnFMvD1Y,33295
|
|
41
|
+
crimson/modes/tutorial_mode.py,sha256=Sbd_xUsffoyBsx1Er7UQ-wAPEp6LIoKsntFuPBeoOs4,26991
|
|
42
|
+
crimson/modes/typo_mode.py,sha256=cz7bVcevpuQPqtygtUva3-Z5i_fWVVmFDtUmLmfDNJU,17868
|
|
43
43
|
crimson/paths.py,sha256=JCKauCxHJnP4IIy5ocgs6tvbaSMkMUByQ76Zoz2UGZM,653
|
|
44
44
|
crimson/perks.py,sha256=JHNhKPOUq2w8h23gU7jpkx-erFKTO4Z8l8aHU8vrkO0,37068
|
|
45
45
|
crimson/persistence/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
|
|
@@ -77,12 +77,12 @@ crimson/ui/__init__.py,sha256=0-of-3kMbUcm08RgaXNBkTaWHsqYtG0bk1b0ztpLyww,77
|
|
|
77
77
|
crimson/ui/cursor.py,sha256=_6EJ7tnsW_Q4kPUrqBO5FInxhpHKUGGyVpDET5EG38I,2842
|
|
78
78
|
crimson/ui/demo_trial_overlay.py,sha256=DugDImlPKx6DGe6gaXmA2s7dssjS6E9PMTi_3mOshx8,8724
|
|
79
79
|
crimson/ui/game_over.py,sha256=hXgV0v4L9peohj2xUIipOSlY1gMRsmAPCxlToo8dj08,29610
|
|
80
|
-
crimson/ui/hud.py,sha256=
|
|
80
|
+
crimson/ui/hud.py,sha256=sVJhh7iAmDISMAcB2AALw1tM0828mlddpAFUXJm8E8c,31123
|
|
81
81
|
crimson/ui/perk_menu.py,sha256=FdbwG_B7UyZmPVdvZho0nJNvkAVc0VVHM2TSrY4eTfM,12740
|
|
82
82
|
crimson/views/__init__.py,sha256=1UWCzBSsgIeOtcKxqM4Vf12JEfPHKfb9KRZgl2TB84Q,1880
|
|
83
83
|
crimson/views/aim_debug.py,sha256=2ldQ1MJO8AeG0i9x4ZJ3YLyp1X-HY_nJ0E1mY8jFF7Q,10873
|
|
84
84
|
crimson/views/animations.py,sha256=iI6uTpYS-lbjnpqz_ihETm5q09V6RqjO7YHqaGjovPc,10660
|
|
85
|
-
crimson/views/arsenal_debug.py,sha256=
|
|
85
|
+
crimson/views/arsenal_debug.py,sha256=zqwBFOCFawPeGDgSVL4OPieRWvDldEeJhExEbSZImI0,15810
|
|
86
86
|
crimson/views/audio_bootstrap.py,sha256=a2qM91biyI-LlSiIhEceJ8ptYJy-xQ2-b-YjeyXWx7w,1408
|
|
87
87
|
crimson/views/bonuses.py,sha256=dbGx0IBjMMpqrnuVjBUkscxHq6uErCxAkEAb3uDhFqQ,7454
|
|
88
88
|
crimson/views/camera_debug.py,sha256=Vi6jANGQpXMK0bpL7hX_QQI_6Rl97ykElaoAuXd06YY,14025
|
|
@@ -97,7 +97,7 @@ crimson/views/lighting_debug.py,sha256=T9ce224ZrJtztKTSFUn1G29MY0KYuHVhNdcDU7hlr
|
|
|
97
97
|
crimson/views/particles.py,sha256=z3nFPEyItv9aAY_RbByl-jDlwvH22fG30sIMWiaR1aM,10109
|
|
98
98
|
crimson/views/perk_menu_debug.py,sha256=q4rn3R4tJASlep5jeAXwrBffj5_akJ4a4veq7FIpRiU,17831
|
|
99
99
|
crimson/views/perks.py,sha256=Uac31DVvHZvjDmMrHpfvkg7LVpXw76xKL1BqwaLAsHU,15052
|
|
100
|
-
crimson/views/player.py,sha256=
|
|
100
|
+
crimson/views/player.py,sha256=TYcWqNyat5Sl1kU8cYRdCey5R65UaBJpGoct57Oc6qI,16584
|
|
101
101
|
crimson/views/player_sprite_debug.py,sha256=DDU6kl9sfhZ2nVXzBbsPSUKdIutHf5YNs2DrNQPRb2Q,11158
|
|
102
102
|
crimson/views/projectile_fx.py,sha256=pmMiXm2hJ1XeGf40VtdPk2TbVJX56aATBYTCRekYOdU,23177
|
|
103
103
|
crimson/views/projectile_render_debug.py,sha256=gogOiEGT1P_5qD5rMcuxqPac3-WrPJmbJGvg6USvoxE,14347
|
|
@@ -119,7 +119,7 @@ grim/app.py,sha256=Wae-tQcpDA0mI99GRupHXoxKnC5F6xfLGxVV8KOxcx4,2702
|
|
|
119
119
|
grim/assets.py,sha256=k2rFqNYfcUZfRjFL7r_UBGf1RlcP-urChXCUJ6GzEsI,7661
|
|
120
120
|
grim/audio.py,sha256=V_TrnfrCb_0e2jeOhN7_kGBu8uMdMsFbk-REoUeWY7Q,3189
|
|
121
121
|
grim/config.py,sha256=eQk_3ls_na9AiQr1yqbdyNRc2venM3_NS7Cqz75V08g,9644
|
|
122
|
-
grim/console.py,sha256=
|
|
122
|
+
grim/console.py,sha256=pqx-Vqq4OAdNrSV2RIl00X-rDf-tw2sASxcXdHYYwFQ,27371
|
|
123
123
|
grim/fonts/__init__.py,sha256=yd2yLa0C-LTfjzZHpBl_AglynL3-PmPHePkulMiqLh0,81
|
|
124
124
|
grim/fonts/grim_mono.py,sha256=DdTAuzGyliJF9ufI5YP039yfYYMWnJp3b6j7u9yvd8Q,3587
|
|
125
125
|
grim/fonts/small.py,sha256=8Fgqhs-iejqXLyPxo2if2jqfKy9YvM2AZRTBj91M4Rs,4495
|
|
@@ -133,7 +133,7 @@ grim/sfx.py,sha256=cpn2Mmeio7BSDgbStSft-eZchO9Ot2MrK6iXJqxlLqU,7836
|
|
|
133
133
|
grim/sfx_map.py,sha256=FM5iBzKkG30Vtu78SRavVNgXMbGK7ZFcQ8i6lgMlzVw,4697
|
|
134
134
|
grim/terrain_render.py,sha256=EZ7ySYJyTZwXcrJx1mKbY3ewZtPi7Y270XnZgGJyZG8,31509
|
|
135
135
|
grim/view.py,sha256=oF4pHZehBqOxPjKMU28TDg3qATh_amMIRJp-vMQnpn4,334
|
|
136
|
-
crimsonland-0.1.0.
|
|
137
|
-
crimsonland-0.1.0.
|
|
138
|
-
crimsonland-0.1.0.
|
|
139
|
-
crimsonland-0.1.0.
|
|
136
|
+
crimsonland-0.1.0.dev8.dist-info/WHEEL,sha256=fAguSjoiATBe7TNBkJwOjyL1Tt4wwiaQGtNtjRPNMQA,80
|
|
137
|
+
crimsonland-0.1.0.dev8.dist-info/entry_points.txt,sha256=jzzcExxiE9xpt4Iw2nbB1lwTv2Zj4H14WJTIPMkAjoE,77
|
|
138
|
+
crimsonland-0.1.0.dev8.dist-info/METADATA,sha256=6ALOUljgYCIetA5lP2ivj6868urGHIRlDoTDfMkwoCs,243
|
|
139
|
+
crimsonland-0.1.0.dev8.dist-info/RECORD,,
|
grim/console.py
CHANGED
|
@@ -651,6 +651,20 @@ def register_boot_commands(
|
|
|
651
651
|
|
|
652
652
|
|
|
653
653
|
def register_core_cvars(console: ConsoleState, width: int, height: int) -> None:
|
|
654
|
+
# Defaults match `register_core_cvars` (0x00402c00) in `crimsonland.exe`.
|
|
655
|
+
console.register_cvar("cv_silentloads", "1")
|
|
656
|
+
console.register_cvar("cv_terrainFilter", "1")
|
|
657
|
+
console.register_cvar("cv_bodiesFade", "1")
|
|
658
|
+
console.register_cvar("cv_uiTransparency", "1")
|
|
659
|
+
console.register_cvar("cv_uiPointFilterPanels", "0")
|
|
660
|
+
console.register_cvar("cv_enableMousePointAndClickMovement", "0")
|
|
661
|
+
console.register_cvar("cv_verbose", "0")
|
|
662
|
+
console.register_cvar("cv_terrainBodiesTransparency", "0")
|
|
663
|
+
console.register_cvar("cv_uiSmallIndicators", "0")
|
|
664
|
+
console.register_cvar("cv_aimEnhancementFade", "0.7")
|
|
665
|
+
console.register_cvar("cv_friendlyFire", "0")
|
|
666
|
+
console.register_cvar("cv_showFPS", "0")
|
|
667
|
+
console.register_cvar("cv_padAimDistMul", "96")
|
|
654
668
|
console.register_cvar("v_width", str(width))
|
|
655
669
|
console.register_cvar("v_height", str(height))
|
|
656
670
|
|
|
File without changes
|
|
File without changes
|