Beispiel #1
0
 def start_rollback(self,
                    connection,
                    mapname,
                    start_x,
                    start_y,
                    end_x,
                    end_y,
                    ignore_indestructable=True):
     if self.rollback_in_progress:
         return S_ROLLBACK_IN_PROGRESS
     if mapname is None:
         map = self.rollback_map
     else:
         try:
             maps = check_rotation([mapname])
             if not maps:
                 return S_INVALID_MAP_NAME
             map = Map(maps[0]).data
         except MapNotFound as error:
             return error.message
     name = (connection.name if connection is not None else
             S_AUTOMATIC_ROLLBACK_PLAYER_NAME)
     message = S_ROLLBACK_COMMENCED.format(player=name)
     self.send_chat(message, irc=True)
     self.packet_generator = self.create_rollback_generator(
         self.map, map, start_x, start_y, end_x, end_y,
         ignore_indestructable)
     self.rollback_in_progress = True
     self.rollback_start_time = time.time()
     self.rollback_last_chat = self.rollback_start_time
     self.rollback_rows = 0
     self.rollback_total_rows = end_x - start_x
     self.cycle_call = LoopingCall(self.rollback_cycle)
     self.cycle_call.start(self.rollback_time_between_cycles)
Beispiel #2
0
 def get_map(self, rot_info: RotationInfo) -> Map:
     """
     Creates and returns a Map object from rotation info
     """
     return Map(rot_info, os.path.join(config.config_dir, 'maps'))
Beispiel #3
0
 def get_map(self, rot_info):
     return Map(rot_info, os.path.join(cfg.config_dir, 'maps'))