Beispiel #1
0
    def func(self):
        """Reads time info from current room"""
        if self.args:
            parsed = None
            to_parse = self.args.strip()
            try:
                parsed = time.strptime(to_parse, "%Y/%m/%d %H:%M")
            except ValueError:
                try:
                    parsed = time.strptime(to_parse, "%Y/%m/%d")
                except ValueError:
                    pass

            if not parsed:
                self.msg(
                    "Unable to understand that date!  It must be in the format "
                    "|wYYYY/mm/dd|n or |wYYYY/mm/dd HH:MM|n to be understood.")
                return

            parsed = time.mktime(parsed)
            game_time = gametime.realtime_to_gametime(parsed)
            if game_time is None:
                self.msg(
                    "Real date |w{}|n was before the game started!".format(
                        to_parse))
                return
            from server.utils.arx_utils import get_date

            self.msg("Real date |w{}|n was about |w{}|n in game time.".format(
                to_parse, get_date(game_time)))
            return

        location = self.caller.location
        if not location or not hasattr(location, "get_time_and_season"):
            self.msg("No location available - you are outside time.")
        else:
            season, timeslot = location.get_time_and_season()
            prep = "a"
            if season == "autumn":
                prep = "an"
            weather = weather_utils.get_last_emit()
            self.msg("It's %s %s day, in the %s.  %s" %
                     (prep, season, timeslot, weather))
            time_tuple = gametime.gametime(format=True)
            hour, minute = time_tuple[4], time_tuple[5]
            from server.utils.arx_utils import get_date

            self.msg("Today's date: %s. Current time: %s:%02d" %
                     (get_date(), hour, minute))
 def add_journal(self, msg, white=True, date=""):
     """creates a new journal message and returns it"""
     cls = lazy_import_from_str("Journal")
     if not date:
         date = get_date()
     header = self.create_date_header(date)
     j_tag = WHITE_TAG if white else BLACK_TAG
     msg = create_arx_message(self.obj, msg, receivers=self.obj.player_ob, header=header, cls=cls, tags=j_tag)
     msg = self.add_to_journals(msg, white)
     # journals made this week, for xp purposes
     self.num_journals += 1
     return msg
Beispiel #3
0
 def add_vision(self, msg, sender, vision_obj=None):
     """adds a vision sent by a god or whatever"""
     cls = msg_utils.lazy_import_from_str("Vision")
     date = get_date()
     header = "date:%s" % date
     if not vision_obj:
         vision_obj = create_arx_message(sender, msg, receivers=self.obj, header=header, cls=cls, tags=VISION_TAG)
     else:
         self.obj.receiver_object_set.add(vision_obj)
     if vision_obj not in self.visions:
         self.visions.append(vision_obj)
     return vision_obj
Beispiel #4
0
 def create_messenger(self, msg, date=""):
     """
     Here we create the msg object and return it to the command to handle.
     They'll attach the msg object to each receiver as an attribute, who
     can then call receive_messenger on the stored msg.
     """
     cls = lazy_import_from_str("Messenger")
     if not date:
         date = get_date()
     header = self.create_messenger_header(date)
     msg = create_arx_message(
         self.obj, msg, receivers=None, header=header, cls=cls, tags=MESSENGER_TAG
     )
     return msg
Beispiel #5
0
 def func(self):
     """Reads time info from current room"""
     location = self.caller.location
     if not location or not hasattr(location, "get_time_and_season"):
         self.caller.msg("No location available - you are outside time.")
     else:
         season, timeslot = location.get_time_and_season()
         prep = "a"
         if season == "autumn":
             prep = "an"
         self.caller.msg("It's %s %s day, in the %s." %
                         (prep, season.capitalize(), timeslot))
         time = gametime.gametime(format=True)
         hour, minute = time[4], time[5]
         from server.utils.arx_utils import get_date
         self.caller.msg("Today's date: %s. Current time: %s:%02d" %
                         (get_date(), hour, minute))
 def add_relationship(self, msg, targ, white=True, date=""):
     """creates a relationship and adds relationship to our journal"""
     cls = lazy_import_from_str("Journal")
     if not date:
         date = get_date()
     header = self.create_date_header(date)
     name = targ.key.lower()
     receivers = [targ, self.obj.player_ob]
     tags = (WHITE_TAG if white else BLACK_TAG, RELATIONSHIP_TAG)
     msg = create_arx_message(self.obj, msg, receivers=receivers, header=header, cls=cls, tags=tags)
     msg = self.add_to_journals(msg, white)
     rels = self.white_relationships if white else self.black_relationships
     relslist = rels.get(name, [])
     if msg not in relslist:
         relslist.insert(0, msg)
     rels[name] = relslist
     # number of relationship updates this week, for xp purposes
     self.num_rel_updates += 1
     return msg