diff --git a/commands/misc.py b/commands/misc.py index 6800807..7fa026c 100755 --- a/commands/misc.py +++ b/commands/misc.py @@ -66,7 +66,6 @@ class CmdThrow(Command): """ key = "throw" locks = "holds(stick)" - # locks = "cmd:holds()" def func(self): self.obj.do_throw(self.caller) diff --git a/typeclasses/fishing.py b/typeclasses/fishing.py index 0ba759e..c642870 100755 --- a/typeclasses/fishing.py +++ b/typeclasses/fishing.py @@ -8,6 +8,7 @@ from evennia import ( create_script, ) from evennia.prototypes.spawner import spawn +from evennia.utils import delay from enum import Enum from urllib.request import urlopen @@ -160,9 +161,9 @@ class Fish(CarriableNPC): """ A visual way to delete the fish. """ - if fisher.location == fisher.search("Lazy Dock", quiet=True): - fisher.msg(routput("You <> the fish back into the <>.")) - fisher.msg(routput("The fish says, \"Bye for now. If you want to talk again, just drop me a line!\"")) + if fisher.location.key == "Lazy Dock" or fisher.location.key == "Shore": + fisher.announce_action("$You() <<$conj(toss) ^ $conj(heave) ^ $conj(throw)>> the fish back into the <>.") + fisher.location.msg_contents("The fish says, \"Bye for now. If you want to talk again, just drop me a line!\"") else: fisher.msg(routput("You <> the fish, and an << eagle ^ hawk >> swoops << down ^ >> and snatches it. I'm sure it will carry the fish back to the sea for you.")) self.delete() @@ -196,29 +197,39 @@ class FishingPole(Object): Can produce a Fish. """ failure_msgs = [ - "You reel in an empty line.", - "You didn't catch anything.", - "Caught nothing but a bit of weeds, yeck.", - "Caught nothing, but this sure is enjoyable.", - "Did you catch a boot? Nah, it isn't even that good.", - "Anything better that sitting on the dock of the bay?", + "$You() $conj(reel) in an empty line.", + "$You() didn't catch anything.", + "$You() caught nothing but a bit of weeds, yeck.", + "$You() caught nothing, but this sure is enjoyable.", + "Did $you() catch a boot? Nah, the fishing isn't even that good.", + "While $you() didn't catch anything, could there be anything better that sitting on the dock of the bay? Watching the clouds roll away?", ] def at_object_creation(self): self.cmdset.add_default(CmdSetFishing) + def do_use(self, user, _): + if self.location != user: + user.announce_action("$You() $conj(pick) up the pole to go fishing.") + delay(6, user.announce_action, "$You() $conj(return) the pole << next to the chair ^ >>.") + if self.do_cast(user): + delay(5, self.do_reel, user) + def do_cast(self, fisher): - if fisher.location.key != "Lazy Dock": - fisher.msg("You can't do that without being near the water.") + if fisher.location.key != "Lazy Dock" and fisher.location.key != "Shore": + fisher.msg("You can't do that without being near a large body of water.") + return False elif fisher.db.fishing == Fishing.CAST: fisher.msg("You need to reel the line in first.") + return False else: fisher.db.fishing = Fishing.CAST - fisher.msg(routput(random.choice([ - "You cast out far into the <>.", - "You cast close to the <>.", - "You cast off to the <> where you <> see a dark pocket.", + fisher.announce_action(routput(random.choice([ + "$You() $conj(cast) << out ^ >> << far ^ >> into the <>.", + "$You() $conj(cast) close to the <>.", + "$You() $conj(cast) off to the <> where you <> see a dark pocket.", ]))) + return True def do_reel(self, fisher): if fisher.db.fishing != Fishing.CAST: @@ -228,7 +239,7 @@ class FishingPole(Object): if random.randint(1, 100) < 35: self.give_fish(fisher) else: - fisher.msg(random.choice(self.failure_msgs)) + fisher.announce_action(random.choice(self.failure_msgs)) def give_fish(self, fisher): fish = spawn({ @@ -238,5 +249,5 @@ class FishingPole(Object): "desc": Fish.get_desc(), })[0] fish.location = fisher - fisher.msg(f"You caught a fish!") + fisher.announce_action(f"$You() caught a fish!") fisher.score(Scores.catch_fish)