Exemple #1
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
 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
 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
 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