depressed
This commit is contained in:
20
data/cat.py
20
data/cat.py
@@ -12,6 +12,7 @@ class Cat:
|
||||
fullness=100,
|
||||
happiness=100,
|
||||
sick=False,
|
||||
depressed=False,
|
||||
):
|
||||
self.name = name
|
||||
self.traits = traits
|
||||
@@ -21,19 +22,34 @@ class Cat:
|
||||
self.fullness = fullness # really hunger, but 100 hunger being defualt sounds like its 100% hungry so its fullness.
|
||||
self.happiness = happiness
|
||||
self.sick = sick
|
||||
self.depressed = depressed
|
||||
|
||||
def apply_decay(self): # first neat function! yayyy!
|
||||
elapsed_hours = (time.time() - self.last_login) / 3600
|
||||
if elapsed_hours <= 0:
|
||||
elapsed_hours = 0
|
||||
self.fullness -= 5 * elapsed_hours
|
||||
self.happiness -= 5 * elapsed_hours
|
||||
if self.fullness <= 0:
|
||||
self.fullness = 0
|
||||
if not self.sick:
|
||||
self.sick = True
|
||||
print(
|
||||
"Your cat didn't have enough food and got sick. There is medicine in the shop."
|
||||
"Your cat didn't have enough food and got sick while you were away. There is medicine in the shop."
|
||||
)
|
||||
else:
|
||||
print("Your cat is still sick! You can buy medicine in the shop.")
|
||||
happiness_decay = 10 if self.sick else 5
|
||||
self.happiness -= happiness_decay * elapsed_hours
|
||||
if self.happiness <= 0:
|
||||
self.happiness = 0
|
||||
if not self.depressed:
|
||||
self.depressed = True
|
||||
print(
|
||||
"Your cat didn't get happy enough and got depressed, you can buy catnip in the shop to help."
|
||||
)
|
||||
else:
|
||||
print("Your cat is still depressed! You can get catnip in the shop.")
|
||||
# TODO: do what claude said in latest summary
|
||||
|
||||
def to_dict(self):
|
||||
return vars(self)
|
||||
|
||||
@@ -33,6 +33,6 @@ CAT_PERSONALITIES = [ # TODO: start at different happiness levels based on pers
|
||||
CAT_EYE_COLORS = ["green", "yellow", "blue", "orange"]
|
||||
|
||||
|
||||
SHOP_ITEMS = {"Food": 5, "Medicine": 15}
|
||||
SHOP_ITEMS = {"Food": 5, "Medicine": 15, "Catnip": 15}
|
||||
|
||||
BYPASS_TAMPER_CHECK_MESSAGE = "I truly understand that this is cheating and that it is ONLY for development and nothing else. I understand that it is mean to mess with my cat savefile and I apologize to my cat."
|
||||
|
||||
@@ -16,6 +16,7 @@ def item_menu(cat: data.cat.Cat, item):
|
||||
"Please choose an option", [f"Give your cat the medicine", "Back"]
|
||||
):
|
||||
case "Give your cat the medicine":
|
||||
if cat.sick:
|
||||
if cat.inventory.get("Medicine", False):
|
||||
cat.sick = False
|
||||
cat.fullness = 25.0
|
||||
@@ -25,6 +26,27 @@ def item_menu(cat: data.cat.Cat, item):
|
||||
)
|
||||
else:
|
||||
print("You don't have any medicine!")
|
||||
else:
|
||||
print("Your cat isn't sick! They don't need the medicine.")
|
||||
case "Back":
|
||||
pass
|
||||
case "Catnip":
|
||||
match ui.select(
|
||||
"Please choose an option", [f"Give your cat the catnip", "Back"]
|
||||
):
|
||||
case "Give your cat the catnip":
|
||||
if cat.depressed:
|
||||
if cat.inventory.get("Catnip", False):
|
||||
cat.depressed = False
|
||||
cat.happiness = 25.0
|
||||
cat.inventory["Catnip"] -= 1
|
||||
print(
|
||||
f"{cat.name} plays with the catnip. {cat.name} is less depressed! They still are still sad though."
|
||||
)
|
||||
else:
|
||||
print("You don't have any catnip!")
|
||||
else:
|
||||
print("Your cat isn't depressed. They don't need the catnip.")
|
||||
case "Back":
|
||||
pass
|
||||
|
||||
|
||||
@@ -203,8 +203,14 @@ def storage(cat: Cat):
|
||||
|
||||
def house(cat: Cat):
|
||||
print("Welcome to your house!")
|
||||
if cat.sick:
|
||||
if cat.sick and cat.depressed:
|
||||
print(
|
||||
f"{cat.name} is sick and depressed, go to the shop for medicine and catnip."
|
||||
)
|
||||
elif cat.sick:
|
||||
print(f"{cat.name} is sick, go to the shop to get medicine!")
|
||||
elif cat.depressed:
|
||||
print(f"{cat.name} is depressed, head to the shop for catnip.")
|
||||
while True:
|
||||
match ui.select(
|
||||
"Please choose an option",
|
||||
@@ -217,22 +223,28 @@ def house(cat: Cat):
|
||||
],
|
||||
):
|
||||
case "Check on your cat":
|
||||
if not cat.sick:
|
||||
print(
|
||||
f"{cat.name} - a {cat.traits["size"]} {cat.traits["color"]} with {cat.traits["eyes"]} eyes."
|
||||
f"{cat.name} - a{" sick" if cat.sick else ""}{" and" if cat.sick and cat.depressed else ""}{" depressed" if cat.depressed else ""} {cat.traits["size"]} {cat.traits["color"]} with {cat.traits["eyes"]} eyes."
|
||||
)
|
||||
print(f"Happiness: {round(cat.happiness,1)}%")
|
||||
print(f"Fullness: {round(cat.fullness,1)}/100")
|
||||
print(f"You have ${cat.money}.")
|
||||
else:
|
||||
print(f"{cat.name} is still sick! Go to the shop to get medicine!")
|
||||
case "Pet your cat":
|
||||
if not cat.sick:
|
||||
if not cat.sick and not cat.depressed:
|
||||
pet(cat)
|
||||
else:
|
||||
if cat.depressed and cat.sick:
|
||||
print(
|
||||
f"{cat.name} is too sick and depressed for pets. Go to the shop to get medicine and catnip."
|
||||
)
|
||||
elif cat.sick:
|
||||
print(
|
||||
f"{cat.name} is too sick for pets, go to the shop for medicine!"
|
||||
)
|
||||
elif cat.depressed:
|
||||
print(
|
||||
f"{cat.name} is too depressed for pets. Go to the shop for catnip."
|
||||
)
|
||||
case "Feed your cat":
|
||||
if not cat.sick:
|
||||
feed(cat)
|
||||
|
||||
Reference in New Issue
Block a user