def duel_accept(self, other): if other["duel_invite"] == None or len([x for x in other["duel_invite"] if x[0] == self.id]) == 0: raise MyException(u"Игрок отменил свой вызов") if other["zone"] != self["zone"]: raise MyException(u"Игрок находится в другой локации") if other["loc"] != "default": raise MyException(u"Игрок пока не может начать дуэль") other["duel_invite"] = [di for di in other["duel_invite"] if di[0] != self.id] Fight.create([other], [self], _type="training")
def encounter_start(self): " В бой с мобцами! " try: limit = self["encounter_limit"] mobs = [mob.get(m) for m in self["encounter"]] team = [self] + self.get_encounter_helpers() for noob in team: noob.go_noupdate("default") del self["encounter"] del self["encounter_limit"] del self["encounter_help"] Fight.create(team, mobs, start_time=limit) except: del self["encounter"] del self["encounter_limit"] del self["encounter_help"] log_exception() self.go("default")
def fight(self): Fight.create([self.user], [mob.get('Thief')]) self.text = u'Вы расправились с грабителем.'