ClanGenOfficial / clangen

Warrior Cats fan game
https://clangen.io
Other
249 stars 449 forks source link

Crash upon timeskipping after two cats got pregnant #2416

Closed ZrainydayXXX closed 3 months ago

ZrainydayXXX commented 3 months ago

Type: Code

Describe the bug Two cats announced kits and upon skipping a moon, the game crashed

Grade: Game-breaking

Reproduce

  1. Timeskip until a cat expects kits
  2. Once the pregnancy is announced, skip again
  3. See the error. (Some cats did have kits without this crash so it isn't consistent. It's bad luck based)

Commit # or Game Version Number: 43448b39f91f8ed8e6c42d8418159d0437b116af

Additional context crash log:

root - CRITICAL - main.py / log_crash / 117 - Uncaught exception Traceback (most recent call last): File "c:\Users\stati\Documents\clangen\main.py", line 334, in game.all_screens[game.current_screen].on_use() File "c:\Users\stati\Documents\clangen\scripts\screens\EventsScreen.py", line 507, in on_use self.loading_screen_on_use(self.events_thread, self.timeskip_done) File "c:\Users\stati\Documents\clangen\scripts\screens\Screens.py", line 219, in loading_screen_on_use work_thread.join() File "c:\Users\stati\Documents\clangen\scripts\game_structure\propagating_thread.py", line 25, in join raise self.exc File "c:\Users\stati\Documents\clangen\scripts\game_structure\propagating_thread.py", line 18, in run self.ret = self._target(*self._args, *self._kwargs) File "c:\Users\stati\Documents\clangen\scripts\screens\Screens.py", line 191, in _work_target raise exp File "c:\Users\stati\Documents\clangen\scripts\screens\Screens.py", line 185, in _work_target target(args) File "c:\Users\stati\Documents\clangen\scripts\events.py", line 150, in one_moon self.one_moon_cat(cat) File "c:\Users\stati\Documents\clangen\scripts\events.py", line 1437, in one_moon_cat Pregnancy_Events.handle_having_kits(cat, clan=game.clan) File "c:\Users\stati\Documents\clangen\scripts\events_module\relationship\pregnancy_events.py", line 73, in handle_having_kits
Pregnancy_Events.handle_one_moon_pregnant(cat, clan) File "c:\Users\stati\Documents\clangen\scripts\events_module\relationship\pregnancy_events.py", line 307, in handle_one_moon_pregnant amount = Pregnancy_Events.get_amount_of_kits(cat) File "c:\Users\stati\Documents\clangen\scripts\events_module\relationship\pregnancy_events.py", line 932, in get_amount_of_kits
min_kit = [min_kits] game.config["pregnancy"]["one_kit_possibility"][cat.age] KeyError: 'kitten' Traceback (most recent call last): File "c:\Users\stati\Documents\clangen\main.py", line 334, in game.all_screens[game.current_screen].on_use() File "c:\Users\stati\Documents\clangen\scripts\screens\EventsScreen.py", line 507, in on_use self.loading_screen_on_use(self.events_thread, self.timeskip_done) File "c:\Users\stati\Documents\clangen\scripts\screens\Screens.py", line 219, in loading_screen_on_use work_thread.join() File "c:\Users\stati\Documents\clangen\scripts\game_structure\propagating_thread.py", line 25, in join raise self.exc File "c:\Users\stati\Documents\clangen\scripts\game_structure\propagating_thread.py", line 18, in run self.ret = self._target(self._args, *self._kwargs) File "c:\Users\stati\Documents\clangen\scripts\screens\Screens.py", line 191, in _work_target raise exp File "c:\Users\stati\Documents\clangen\scripts\screens\Screens.py", line 185, in _work_target target(args) File "c:\Users\stati\Documents\clangen\scripts\events.py", line 150, in one_moon self.one_moon_cat(cat) File "c:\Users\stati\Documents\clangen\scripts\events.py", line 1437, in one_moon_cat Pregnancy_Events.handle_having_kits(cat, clan=game.clan) File "c:\Users\stati\Documents\clangen\scripts\events_module\relationship\pregnancy_events.py", line 73, in handle_having_kits
Pregnancy_Events.handle_one_moon_pregnant(cat, clan) File "c:\Users\stati\Documents\clangen\scripts\events_module\relationship\pregnancy_events.py", line 307, in handle_one_moon_pregnant amount = Pregnancy_Events.get_amount_of_kits(cat) File "c:\Users\stati\Documents\clangen\scripts\events_module\relationship\pregnancy_events.py", line 932, in get_amount_of_kits
min_kit = [min_kits] * game.config["pregnancy"]["one_kit_possibility"][cat.age] KeyError: 'kitten'

Screenshots Cats who could've caused it:

image image

Pregnancy code:

image

j-gynn commented 3 months ago

This error seems to be implying that internally, both of these cats are a kitten. Ominous. I'll have a look.

j-gynn commented 3 months ago

Should be fixed by #2408 - let us know if it comes back!

archanyhm commented 3 months ago

See comment above. Reopen if the issue persists.