tuipet 0.2.331__py3-none-any.whl → 0.2.332__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.
- tuipet/pet.py +44 -0
- {tuipet-0.2.331.dist-info → tuipet-0.2.332.dist-info}/METADATA +1 -1
- {tuipet-0.2.331.dist-info → tuipet-0.2.332.dist-info}/RECORD +7 -7
- {tuipet-0.2.331.dist-info → tuipet-0.2.332.dist-info}/WHEEL +0 -0
- {tuipet-0.2.331.dist-info → tuipet-0.2.332.dist-info}/entry_points.txt +0 -0
- {tuipet-0.2.331.dist-info → tuipet-0.2.332.dist-info}/licenses/LICENSE +0 -0
- {tuipet-0.2.331.dist-info → tuipet-0.2.332.dist-info}/top_level.txt +0 -0
tuipet/pet.py
CHANGED
|
@@ -155,6 +155,16 @@ ITEM_INTEREST_HIGH_TIMER = 80 # ItemInterestHighTimer (disposition -1)
|
|
|
155
155
|
PERSONALITY_MOOD_MATCH = 10 # ConsumablePersonalityMatchMoodChange
|
|
156
156
|
PERSONALITY_MOOD_UNMATCH = -10 # ConsumablePersonalityUnmatchMoodChange
|
|
157
157
|
EGG_MOOD = 100 # EggMood: a new egg starts warm (Evolution.egg)
|
|
158
|
+
# Evolution.java per-stage ARRIVAL setters (egg/hatch audit 2026-07-06; the
|
|
159
|
+
# shipped ranges are all min==max -> deterministic)
|
|
160
|
+
FRESH_MOOD = -10 # FreshMood: born grumpy (it's a newborn)
|
|
161
|
+
FRESH_OBEDIENCE = 75 # FreshObedienceMin/Max: born TRUSTING
|
|
162
|
+
START_NUTRITION = 6 # StartProtein/StartMineral/StartVitamin
|
|
163
|
+
IN_TRAINING_OBEDIENCE = 50 # InTrainingObedienceMin/Max: toddler rebellion cap
|
|
164
|
+
IN_TRAINING_SLEEP_LAPSE = 360 # InTrainingSleepLapse: wakes with real bedtime pressure
|
|
165
|
+
ROOKIE_OBED_GOOD = 50 # RookieGoodObedience (Happy daily majority)
|
|
166
|
+
ROOKIE_OBED_DEFAULT = 25 # RookieDefaultObedience (Neutral majority)
|
|
167
|
+
ROOKIE_OBED_BAD = 0 # RookieBadObedience (anything else, ties included)
|
|
158
168
|
# the missed-day / birthday system (setTimeToAge): each game day of AGE the pet
|
|
159
169
|
# has a birthday judged by the day's MAJOR mood and its missed-day tally
|
|
160
170
|
MOOD_RECORD_MIN = 5 # MoodRecordMin: sample the mood tier every 5 game-min
|
|
@@ -2411,6 +2421,40 @@ class Pet:
|
|
|
2411
2421
|
def evolve_to(self, num):
|
|
2412
2422
|
was_young = self.stage in ("Egg", "Fresh", "InTraining", "Rookie")
|
|
2413
2423
|
_req = self._become(num)
|
|
2424
|
+
# Evolution.java's per-stage ARRIVAL setters (egg/hatch audit
|
|
2425
|
+
# 2026-07-06 -- none of these were ported; the missing fresh()
|
|
2426
|
+
# obedience 75 was the deepest root of the misbehaving-babies era):
|
|
2427
|
+
if self.stage == "Fresh":
|
|
2428
|
+
# fresh(): born TRUSTING (obedience 75) but grumpy (-10 mood),
|
|
2429
|
+
# hungry, full of energy, with a starter nutrition base 6/6/6
|
|
2430
|
+
lo, hi = self.ideal_temp
|
|
2431
|
+
self.temp = (lo + hi) // 2
|
|
2432
|
+
self._set_mood(FRESH_MOOD)
|
|
2433
|
+
self._set_obedience(FRESH_OBEDIENCE)
|
|
2434
|
+
self.strength = 0
|
|
2435
|
+
self.hunger = 0
|
|
2436
|
+
self.energy = self.max_energy
|
|
2437
|
+
self.nutr_protein = self.nutr_mineral = self.nutr_vitamin = START_NUTRITION
|
|
2438
|
+
elif self.stage == "InTraining":
|
|
2439
|
+
# inTraining(): toddler rebellion -- obedience above 50 KNOCKS
|
|
2440
|
+
# BACK to 50; it wakes with the lights on and real bedtime
|
|
2441
|
+
# pressure (sleepLapse 360)
|
|
2442
|
+
if self.obedience > IN_TRAINING_OBEDIENCE:
|
|
2443
|
+
self._set_obedience(IN_TRAINING_OBEDIENCE)
|
|
2444
|
+
self.asleep, self.nap = False, False
|
|
2445
|
+
self.lights = True
|
|
2446
|
+
self.sleep_lapse = IN_TRAINING_SLEEP_LAPSE
|
|
2447
|
+
elif self.stage == "Rookie":
|
|
2448
|
+
# rookie(): the childhood report card SETS obedience -- a Happy
|
|
2449
|
+
# daily-mood majority earns 50, Neutral 25, anything else 0
|
|
2450
|
+
# (a TIE is Mood.None -> the switch default -> bad, canon exact)
|
|
2451
|
+
counts = self.daily_mood
|
|
2452
|
+
best = max(counts.values()) if counts else 0
|
|
2453
|
+
tops = [k for k, v in counts.items() if v == best and best > 0]
|
|
2454
|
+
major = tops[0] if len(tops) == 1 else None
|
|
2455
|
+
self._set_obedience(ROOKIE_OBED_GOOD if major == "Happy"
|
|
2456
|
+
else ROOKIE_OBED_DEFAULT if major == "Neutral"
|
|
2457
|
+
else ROOKIE_OBED_BAD)
|
|
2414
2458
|
if was_young and self.stage == "Champion":
|
|
2415
2459
|
# randOnChampion (taste/rank audit 2026-07-06): the childhood-care
|
|
2416
2460
|
# tally becomes the adult temperament
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tuipet
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.332
|
|
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
|
|
@@ -27,7 +27,7 @@ tuipet/menu.py,sha256=dXMO_KLsjgwYcjiLbzYu_8XWSswcVO2_dtJcfajsXJw,7865
|
|
|
27
27
|
tuipet/net.py,sha256=6UD8Lj2pkeS1LT9xv26T-4iBeAyZGvuYP-D_xLB_9-4,10058
|
|
28
28
|
tuipet/optionsscreen.py,sha256=M16wgcZeli7vYD5wGTiZR29_u20Jn6dRcse7NYxJ3IY,4288
|
|
29
29
|
tuipet/persistence.py,sha256=yI7I3Khl6JlJBWNLnlPodazCiMQzDPxsidLVcajg4J8,19961
|
|
30
|
-
tuipet/pet.py,sha256=
|
|
30
|
+
tuipet/pet.py,sha256=qDkL44hKBpgYXra2-RAODvOPJWhrMuXFcG4ta4yHDV8,267670
|
|
31
31
|
tuipet/placeholder.py,sha256=5SfgtVm1WJfl0Gtqu3JAIEJmCavBfuD-nU_gq_vzQPI,780
|
|
32
32
|
tuipet/render.py,sha256=16PkwRT2vAXu3mPmZAenbyBMczUo51OV9AkWKixOpEc,6413
|
|
33
33
|
tuipet/shop.py,sha256=pNzmA6wKFNUZjhgiBzpPT2E4QgnuGdXQH9g5oD0fYqQ,11688
|
|
@@ -107,9 +107,9 @@ tuipet/data/sounds/trainhit.wav,sha256=c0aDl1uS8RFNVoX_s67szAS3mIxCMSaqCIwXj6LnB
|
|
|
107
107
|
tuipet/data/sounds/wash.wav,sha256=SDrxwUV5oFfDynb66bISo-_dA_YJMKvr_UPKSdcpnDc,17684
|
|
108
108
|
tuipet/data/sounds/win.wav,sha256=ikZul5NPN3tPlEwMfcaZ-3mWad2P73tCgco6ZQ1RD7k,88284
|
|
109
109
|
tuipet/data/sounds/wind.wav,sha256=Hg0AZTRsQf6cAnfTlgWbgtPUjrrFHPDiwW1iTRmHnjw,259048
|
|
110
|
-
tuipet-0.2.
|
|
111
|
-
tuipet-0.2.
|
|
112
|
-
tuipet-0.2.
|
|
113
|
-
tuipet-0.2.
|
|
114
|
-
tuipet-0.2.
|
|
115
|
-
tuipet-0.2.
|
|
110
|
+
tuipet-0.2.332.dist-info/licenses/LICENSE,sha256=7-IPgD56OIs5ZrDQ7INEMvIc-kew73mrRbHo_gLFY8g,1499
|
|
111
|
+
tuipet-0.2.332.dist-info/METADATA,sha256=Y_DaYQVc5BnSmme5Qx3i3Angh2dyeB0UPfGnJbRC8aI,11593
|
|
112
|
+
tuipet-0.2.332.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
|
|
113
|
+
tuipet-0.2.332.dist-info/entry_points.txt,sha256=haVwv35e6nPvE7kWdvn_hVxxsLOKQ8r7uuNeq4HhtIU,43
|
|
114
|
+
tuipet-0.2.332.dist-info/top_level.txt,sha256=MlvRl-fPaq1j-L4JAHN4-XaVX_eMqQpik6cn1u1rMMk,7
|
|
115
|
+
tuipet-0.2.332.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|