NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

agent.py (4435B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\nodegraph\client\getters\agent.py
      2 from .base import GetterAtom
      3 
      4 class GetAgentMission(GetterAtom):
      5     atom_id = 392
      6 
      7     def __init__(self, agent_id = None, mission_id = None, division_id = None, level = None, faction_id = None, agent_type_id = None, career_path_id = None, accepted = None, offered = None, **kwargs):
      8         super(GetAgentMission, self).__init__(**kwargs)
      9         self.mission_id = self.get_atom_parameter_value('mission_id', mission_id)
     10         self.agent_id = self.get_atom_parameter_value('agent_id', agent_id)
     11         self.division_id = self.get_atom_parameter_value('division_id', division_id)
     12         self.faction_id = self.get_atom_parameter_value('faction_id', faction_id)
     13         self.level = self.get_atom_parameter_value('level', level)
     14         self.agent_type_id = self.get_atom_parameter_value('agent_type_id', agent_type_id)
     15         self.career_path_id = self.get_atom_parameter_value('career_path_id', career_path_id)
     16         self.accepted = self.get_atom_parameter_value('accepted', accepted)
     17         self.offered = self.get_atom_parameter_value('offered', offered)
     18 
     19     def get_values(self, **kwargs):
     20         from evemissions.client.mission_finder import find_mission
     21         mission = find_mission(self.offered, self.accepted, self.mission_id, self.agent_id, self.division_id, self.level, self.faction_id, self.agent_type_id, self.career_path_id)
     22         if mission:
     23             return {'mission_id': mission.mission_id,
     24              'agent_id': mission.agent_id,
     25              'division_id': mission.division_id,
     26              'faction_id': mission.faction_id,
     27              'agent_type_id': mission.agent_type_id,
     28              'level': mission.level,
     29              'career_path_id': mission.career_path_id}
     30         return {}
     31 
     32 
     33 class GetClosestAgent(GetterAtom):
     34     atom_id = 477
     35 
     36     def __init__(self, agent_type_id = None, division_id = None, faction_id = None, career_path_id = None, only_incomplete = None, **kwargs):
     37         super(GetClosestAgent, self).__init__(**kwargs)
     38         self.agent_type_id = self.get_atom_parameter_value('agent_type_id', agent_type_id)
     39         self.division_id = self.get_atom_parameter_value('division_id', division_id)
     40         self.faction_id = self.get_atom_parameter_value('faction_id', faction_id)
     41         self.career_path_id = self.get_atom_parameter_value('career_path_id', career_path_id)
     42         self.only_incomplete = self.get_atom_parameter_value('only_incomplete', only_incomplete)
     43 
     44     def get_values(self, **kwargs):
     45         agent_id = sm.GetService('agents').GetClosestAgent(self.agent_type_id, self.division_id, self.faction_id, self.career_path_id, self.only_incomplete)
     46         return {'agent_id': agent_id}
     47 
     48     @classmethod
     49     def get_subtitle(cls, agent_id = None, **kwargs):
     50         return ''
     51 
     52 
     53 class GetMyClosestCareerAgent(GetterAtom):
     54     atom_id = 712
     55 
     56     def __init__(self, **kwargs):
     57         super(GetMyClosestCareerAgent, self).__init__(**kwargs)
     58 
     59     def get_values(self, **kwargs):
     60         agent = sm.GetService('agents').GetMySuggestedCareerAgents()[0]
     61         return {'agent_id': agent.agentID}
     62 
     63 
     64 class GetAgentInfo(GetterAtom):
     65     atom_id = 515
     66 
     67     def __init__(self, agent_id = None, **kwargs):
     68         super(GetAgentInfo, self).__init__(**kwargs)
     69         self.agent_id = self.get_atom_parameter_value('agent_id', agent_id)
     70 
     71     def get_values(self, **kwargs):
     72         agent_service = sm.GetService('agents')
     73         agent_info = agent_service.GetAgentByID(self.agent_id)
     74         if not agent_info:
     75             return {}
     76         from characterdata.careerpath import get_career_path_internal_name
     77         from evemissions.client.const import CAREER_PATH_BY_DIVISION
     78         career_path_id = CAREER_PATH_BY_DIVISION.get(agent_info.divisionID, None)
     79         career_path_name = get_career_path_internal_name(career_path_id) if career_path_id else ''
     80         return {'location_id': agent_service.GetAgentLocation(self.agent_id),
     81          'station_id': agent_info.stationID,
     82          'solar_system_id': agent_info.solarsystemID,
     83          'agent_type_id': agent_info.agentTypeID,
     84          'division_id': agent_info.divisionID,
     85          'level': agent_info.level,
     86          'corporation_id': agent_info.corporationID,
     87          'faction_id': agent_info.factionID,
     88          'career_path': career_path_id,
     89          'career_path_name': career_path_name}