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.
- {tuipet-0.2.332/src/tuipet.egg-info → tuipet-0.2.333}/PKG-INFO +1 -1
- {tuipet-0.2.332 → tuipet-0.2.333}/pyproject.toml +1 -1
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/pet.py +3 -2
- {tuipet-0.2.332 → tuipet-0.2.333/src/tuipet.egg-info}/PKG-INFO +1 -1
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_gift_birthday_math.py +16 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/LICENSE +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/README.md +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/setup.cfg +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/__init__.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/adventure.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/adventurescreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/anim.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/app.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/assistscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/battle.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/battlefx.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/battlescreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/cloudsync.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/attr_icons.json +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/backgrounds.json.gz +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/battle_overlays.json +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/careEffect.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/digicoreMenuConfig.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/digimon.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/dropRate.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/effects.json.gz +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/eggUnlock.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/eggs.json.gz +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/elementAffinity.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/enemies.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/evolutions.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/fieldAffinity.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/foods.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/habitats.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/hp_dummies.json +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/icons.json.gz +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/items.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/lines.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/lootTable.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/maps.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/orbs.json.gz +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/shopConsumable.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/alarm.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/angry.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/attack.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/attackHit.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/battle.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/cancel.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/champion.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/click.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/compatible.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/confirm.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/death.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/eat.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/error.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/evolve.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/happy.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/hatch.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/jogress.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/largePoop.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/lastBite.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/lose.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/menu.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/mischief.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/poop.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/refuse.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/reward.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/scroll.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/select.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/smallPoop.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/startBattle.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/strongAttack.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/strongHit.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/trainhit.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/wash.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/win.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sounds/wind.wav +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/sprites.json.gz +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/tournies.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/towns.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data/zones.csv +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/data.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/deathscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/digicorescreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/dnascreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/egg.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/eggselectscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/evolution.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/feedscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/grid.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/habitatscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/jogress.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/jogressscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/lines.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/lobbyscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/loot.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/menu.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/net.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/optionsscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/persistence.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/placeholder.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/render.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/shop.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/shopscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/sound.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/strikefx.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/theme.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/themescreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/titlescreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/tournament.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/tournamentscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/townscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/training.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/transportscreen.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/update.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet/weather.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet.egg-info/SOURCES.txt +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet.egg-info/dependency_links.txt +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet.egg-info/entry_points.txt +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet.egg-info/requires.txt +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/src/tuipet.egg-info/top_level.txt +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_adventure.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_adventure_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_adventure_scenery.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_album_dex.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_anim_canon.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_anim_timing.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_announce.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_audit_fixes.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_auto_care.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_battle.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_battle_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_bedtime.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_birthday.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_body_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_care_asleep.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_care_bonus.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_data.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_dead_gate.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_death.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_digicore.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_digimemory.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_discipline.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_effects_integrity.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_egg_economy.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_egg_unlock.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_egg_unlock_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_energy_system.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_evolution.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_evolution_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_evolution_system.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_feed.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_feeding_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_filth_system.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_fx.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_habitat.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_habitat_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_hud.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_hunger.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_item_effects.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_item_heal.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_jogress.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_jogress_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_line_curation.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_lines.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_lobby.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_lobby_screens.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_medicine.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_messages.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_mood_system.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_mortality_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_msg_strip.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_nav_quit.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_night_palette.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_obedience_system.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_options.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_panel_smoke.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_performance.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_persistence.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_persistence_audit.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_pet_effect.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_poop_model.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_poop_placement.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_protocol_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_rank_system.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_refusal.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_refusal_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_robustness.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_save_integrity.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_screen_sweep.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sfx_scroll.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_shop.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_shop_economy.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_shop_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sickness_system.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sleep.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sleep_system.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sleep_weather_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sound.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_stage_arrival.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_status_box.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_status_icons.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_sync.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_theme.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_toilet.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_tournament.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_town.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training_facing.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training_hp.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training_math.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training_strike.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_training_system.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_ui_stats.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_update.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_verx.py +0 -0
- {tuipet-0.2.332 → tuipet-0.2.333}/tests/test_weight_system.py +0 -0
- {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.
|
|
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
|
|
@@ -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
|
-
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|