tuipet 0.2.332__tar.gz → 0.2.333__tar.gz

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.
Files changed (218) hide show
  1. {tuipet-0.2.332/src/tuipet.egg-info → tuipet-0.2.333}/PKG-INFO +1 -1
  2. {tuipet-0.2.332 → tuipet-0.2.333}/pyproject.toml +1 -1
  3. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/pet.py +3 -2
  4. {tuipet-0.2.332 → tuipet-0.2.333/src/tuipet.egg-info}/PKG-INFO +1 -1
  5. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_gift_birthday_math.py +16 -0
  6. {tuipet-0.2.332 → tuipet-0.2.333}/LICENSE +0 -0
  7. {tuipet-0.2.332 → tuipet-0.2.333}/README.md +0 -0
  8. {tuipet-0.2.332 → tuipet-0.2.333}/setup.cfg +0 -0
  9. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/__init__.py +0 -0
  10. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/adventure.py +0 -0
  11. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/adventurescreen.py +0 -0
  12. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/anim.py +0 -0
  13. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/app.py +0 -0
  14. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/assistscreen.py +0 -0
  15. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/battle.py +0 -0
  16. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/battlefx.py +0 -0
  17. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/battlescreen.py +0 -0
  18. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/cloudsync.py +0 -0
  19. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/attr_icons.json +0 -0
  20. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/backgrounds.json.gz +0 -0
  21. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/battle_overlays.json +0 -0
  22. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/careEffect.csv +0 -0
  23. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/digicoreMenuConfig.csv +0 -0
  24. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/digimon.csv +0 -0
  25. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/dropRate.csv +0 -0
  26. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/effects.json.gz +0 -0
  27. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/eggUnlock.csv +0 -0
  28. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/eggs.json.gz +0 -0
  29. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/elementAffinity.csv +0 -0
  30. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/enemies.csv +0 -0
  31. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/evolutions.csv +0 -0
  32. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/fieldAffinity.csv +0 -0
  33. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/foods.csv +0 -0
  34. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/habitats.csv +0 -0
  35. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/hp_dummies.json +0 -0
  36. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/icons.json.gz +0 -0
  37. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/items.csv +0 -0
  38. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/lines.csv +0 -0
  39. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/lootTable.csv +0 -0
  40. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/maps.csv +0 -0
  41. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/orbs.json.gz +0 -0
  42. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/shopConsumable.csv +0 -0
  43. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/alarm.wav +0 -0
  44. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/angry.wav +0 -0
  45. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/attack.wav +0 -0
  46. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/attackHit.wav +0 -0
  47. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/battle.wav +0 -0
  48. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/cancel.wav +0 -0
  49. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/champion.wav +0 -0
  50. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/click.wav +0 -0
  51. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/compatible.wav +0 -0
  52. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/confirm.wav +0 -0
  53. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/death.wav +0 -0
  54. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/eat.wav +0 -0
  55. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/error.wav +0 -0
  56. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/evolve.wav +0 -0
  57. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/happy.wav +0 -0
  58. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/hatch.wav +0 -0
  59. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/jogress.wav +0 -0
  60. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/largePoop.wav +0 -0
  61. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/lastBite.wav +0 -0
  62. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/lose.wav +0 -0
  63. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/menu.wav +0 -0
  64. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/mischief.wav +0 -0
  65. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/poop.wav +0 -0
  66. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/refuse.wav +0 -0
  67. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/reward.wav +0 -0
  68. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/scroll.wav +0 -0
  69. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/select.wav +0 -0
  70. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/smallPoop.wav +0 -0
  71. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/startBattle.wav +0 -0
  72. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/strongAttack.wav +0 -0
  73. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/strongHit.wav +0 -0
  74. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/trainhit.wav +0 -0
  75. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/wash.wav +0 -0
  76. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/win.wav +0 -0
  77. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/wind.wav +0 -0
  78. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sprites.json.gz +0 -0
  79. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/tournies.csv +0 -0
  80. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/towns.csv +0 -0
  81. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/zones.csv +0 -0
  82. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data.py +0 -0
  83. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/deathscreen.py +0 -0
  84. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/digicorescreen.py +0 -0
  85. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/dnascreen.py +0 -0
  86. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/egg.py +0 -0
  87. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/eggselectscreen.py +0 -0
  88. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/evolution.py +0 -0
  89. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/feedscreen.py +0 -0
  90. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/grid.py +0 -0
  91. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/habitatscreen.py +0 -0
  92. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/jogress.py +0 -0
  93. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/jogressscreen.py +0 -0
  94. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/lines.py +0 -0
  95. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/lobbyscreen.py +0 -0
  96. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/loot.py +0 -0
  97. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/menu.py +0 -0
  98. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/net.py +0 -0
  99. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/optionsscreen.py +0 -0
  100. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/persistence.py +0 -0
  101. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/placeholder.py +0 -0
  102. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/render.py +0 -0
  103. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/shop.py +0 -0
  104. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/shopscreen.py +0 -0
  105. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/sound.py +0 -0
  106. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/strikefx.py +0 -0
  107. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/theme.py +0 -0
  108. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/themescreen.py +0 -0
  109. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/titlescreen.py +0 -0
  110. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/tournament.py +0 -0
  111. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/tournamentscreen.py +0 -0
  112. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/townscreen.py +0 -0
  113. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/training.py +0 -0
  114. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/transportscreen.py +0 -0
  115. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/update.py +0 -0
  116. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/weather.py +0 -0
  117. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet.egg-info/SOURCES.txt +0 -0
  118. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet.egg-info/dependency_links.txt +0 -0
  119. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet.egg-info/entry_points.txt +0 -0
  120. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet.egg-info/requires.txt +0 -0
  121. {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet.egg-info/top_level.txt +0 -0
  122. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_adventure.py +0 -0
  123. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_adventure_math.py +0 -0
  124. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_adventure_scenery.py +0 -0
  125. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_album_dex.py +0 -0
  126. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_anim_canon.py +0 -0
  127. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_anim_timing.py +0 -0
  128. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_announce.py +0 -0
  129. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_audit_fixes.py +0 -0
  130. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_auto_care.py +0 -0
  131. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_battle.py +0 -0
  132. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_battle_math.py +0 -0
  133. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_bedtime.py +0 -0
  134. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_birthday.py +0 -0
  135. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_body_math.py +0 -0
  136. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_care_asleep.py +0 -0
  137. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_care_bonus.py +0 -0
  138. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_data.py +0 -0
  139. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_dead_gate.py +0 -0
  140. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_death.py +0 -0
  141. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_digicore.py +0 -0
  142. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_digimemory.py +0 -0
  143. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_discipline.py +0 -0
  144. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_effects_integrity.py +0 -0
  145. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_egg_economy.py +0 -0
  146. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_egg_unlock.py +0 -0
  147. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_egg_unlock_math.py +0 -0
  148. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_energy_system.py +0 -0
  149. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_evolution.py +0 -0
  150. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_evolution_math.py +0 -0
  151. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_evolution_system.py +0 -0
  152. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_feed.py +0 -0
  153. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_feeding_math.py +0 -0
  154. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_filth_system.py +0 -0
  155. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_fx.py +0 -0
  156. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_habitat.py +0 -0
  157. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_habitat_math.py +0 -0
  158. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_hud.py +0 -0
  159. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_hunger.py +0 -0
  160. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_item_effects.py +0 -0
  161. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_item_heal.py +0 -0
  162. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_jogress.py +0 -0
  163. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_jogress_math.py +0 -0
  164. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_line_curation.py +0 -0
  165. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_lines.py +0 -0
  166. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_lobby.py +0 -0
  167. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_lobby_screens.py +0 -0
  168. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_medicine.py +0 -0
  169. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_messages.py +0 -0
  170. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_mood_system.py +0 -0
  171. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_mortality_math.py +0 -0
  172. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_msg_strip.py +0 -0
  173. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_nav_quit.py +0 -0
  174. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_night_palette.py +0 -0
  175. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_obedience_system.py +0 -0
  176. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_options.py +0 -0
  177. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_panel_smoke.py +0 -0
  178. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_performance.py +0 -0
  179. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_persistence.py +0 -0
  180. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_persistence_audit.py +0 -0
  181. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_pet_effect.py +0 -0
  182. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_poop_model.py +0 -0
  183. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_poop_placement.py +0 -0
  184. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_protocol_math.py +0 -0
  185. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_rank_system.py +0 -0
  186. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_refusal.py +0 -0
  187. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_refusal_math.py +0 -0
  188. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_robustness.py +0 -0
  189. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_save_integrity.py +0 -0
  190. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_screen_sweep.py +0 -0
  191. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sfx_scroll.py +0 -0
  192. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_shop.py +0 -0
  193. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_shop_economy.py +0 -0
  194. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_shop_math.py +0 -0
  195. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sickness_system.py +0 -0
  196. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sleep.py +0 -0
  197. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sleep_system.py +0 -0
  198. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sleep_weather_math.py +0 -0
  199. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sound.py +0 -0
  200. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_stage_arrival.py +0 -0
  201. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_status_box.py +0 -0
  202. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_status_icons.py +0 -0
  203. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sync.py +0 -0
  204. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_theme.py +0 -0
  205. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_toilet.py +0 -0
  206. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_tournament.py +0 -0
  207. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_town.py +0 -0
  208. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training.py +0 -0
  209. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training_facing.py +0 -0
  210. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training_hp.py +0 -0
  211. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training_math.py +0 -0
  212. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training_strike.py +0 -0
  213. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training_system.py +0 -0
  214. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_ui_stats.py +0 -0
  215. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_update.py +0 -0
  216. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_verx.py +0 -0
  217. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_weight_system.py +0 -0
  218. {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_win_eggs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tuipet
3
- Version: 0.2.332
3
+ Version: 0.2.333
4
4
  Summary: A terminal virtual pet (Digimon V-Pet style) rendered with halfblock sprites, built on data extracted from DVPet.
5
5
  Author-email: Joel Taylor <joeltaylor734@gmail.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tuipet"
3
- version = "0.2.332"
3
+ version = "0.2.333"
4
4
  description = "A terminal virtual pet (Digimon V-Pet style) rendered with halfblock sprites, built on data extracted from DVPet."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -4310,8 +4310,9 @@ class Pet:
4310
4310
  return
4311
4311
  self.gift_t = 0.0
4312
4312
  if (self.gift or self.asleep or self.stage in ("Egg", "Fresh", "InTraining")
4313
- or self.current_mood() != "Happy"):
4314
- return
4313
+ or self.current_mood() != "Happy"
4314
+ or getattr(self, "away", False)): # checkGiftCall gates on _isHome:
4315
+ return # presents are found AT HOME
4315
4316
  chance = int(OBEDIENCE_REFUSAL_CAP - self.obedience
4316
4317
  + (MOOD_MAX - self.mood) * GIFT_CHANCE_MOOD_COEFF + GIFT_CHANCE_FACTOR)
4317
4318
  if chance > 0 and random.randrange(chance) == 0:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tuipet
3
- Version: 0.2.332
3
+ Version: 0.2.333
4
4
  Summary: A terminal virtual pet (Digimon V-Pet style) rendered with halfblock sprites, built on data extracted from DVPet.
5
5
  Author-email: Joel Taylor <joeltaylor734@gmail.com>
6
6
  License-Expression: MIT
@@ -112,3 +112,19 @@ def test_mood_samples_every_five_game_minutes():
112
112
  for _ in range(int(MOOD_RECORD_MIN * 60 * 3.5)):
113
113
  p.tick(1.0)
114
114
  assert sum(p.daily_mood.values()) >= 3 # ~one sample per 5 game-min
115
+
116
+
117
+ def test_gifts_are_found_at_home_only(monkeypatch):
118
+ """checkGiftCall gates on _isHome (play/gift audit 2026-07-06): on the
119
+ road there are no presents -- and the roll resumes at homecoming."""
120
+ monkeypatch.setattr(Pet, "_pick_gift", lambda self: "f:8")
121
+ monkeypatch.setattr(random, "randrange", lambda n: 0) # the roll always hits
122
+ p = _pet(mood=300, obedience=90)
123
+ p.away = True
124
+ p.gift_t = 10**9
125
+ p._check_gift_call(1.0)
126
+ assert p.gift == "" # adventuring: no visitor
127
+ p.away = False
128
+ p.gift_t = 10**9
129
+ p._check_gift_call(1.0)
130
+ assert p.gift == "f:8" # home again: the present lands
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes