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

const.py (7959B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\careergoals\client\const.py
      2 import characterdata.careerpathconst as cpConst
      3 from careergoals.client.errors import RewardTypeNotFound
      4 from itertoolsext.Enum import Enum
      5 from collections import OrderedDict
      6 from eveProto.generated.eve_public.career.career_pb2 import Path as CareerPath
      7 from eveProto.generated.eve_public.career.goal_pb2 import RewardLabel as RewardLabelProto
      8 
      9 @Enum
     10 
     11 class RewardType(object):
     12     TYPE_ID = 'TYPE_ID'
     13     ISK = 'ISK'
     14     SP = 'SP'
     15 
     16     @classmethod
     17     def from_proto(cls, payload):
     18         if payload.HasField('item'):
     19             return RewardType.TYPE_ID
     20         if payload.HasField('isk'):
     21             return RewardType.ISK
     22         if payload.HasField('skill_points'):
     23             return RewardType.SP
     24         raise RewardTypeNotFound
     25 
     26 
     27 @Enum
     28 
     29 class RewardLabel(object):
     30     ALPHA = 'alpha'
     31     OMEGA = 'omega'
     32     UNSPECIFIED = 'unspecified'
     33     _PROTO_TO_REWARD_LABEL = {RewardLabelProto.REWARD_LABEL_UNSPECIFIED: UNSPECIFIED,
     34      RewardLabelProto.REWARD_LABEL_ALPHA: ALPHA,
     35      RewardLabelProto.REWARD_LABEL_OMEGA: OMEGA}
     36     _REWARD_LABEL_TO_PROTO = {v:k for k, v in _PROTO_TO_REWARD_LABEL.iteritems()}
     37 
     38     @classmethod
     39     def from_proto(cls, proto_field):
     40         return cls._PROTO_TO_REWARD_LABEL.get(proto_field, RewardLabel.UNSPECIFIED)
     41 
     42     @classmethod
     43     def to_proto(cls, reward_label):
     44         return cls._REWARD_LABEL_TO_PROTO.get(reward_label, RewardLabelProto.REWARD_LABEL_UNSPECIFIED)
     45 
     46 
     47 @Enum
     48 
     49 class GoalSubType(object):
     50     CAREER_PATH_GOAL = 'CAREER_PATH_GOAL'
     51     OVERALL_GOAL = 'OVERALL_GOAL'
     52 
     53 
     54 @Enum
     55 
     56 class GoalThreat(object):
     57     THREAT_NONE = 0
     58     THREAT_LOW = 1
     59     THREAT_MEDIUM = 2
     60     THREAT_HIGH = 3
     61 
     62 
     63 def get_career_path_id_from_proto_id(proto_career_path_id):
     64     if proto_career_path_id == CareerPath.CAREER_EXPLORATION:
     65         return cpConst.career_path_explorer
     66     if proto_career_path_id == CareerPath.CAREER_INDUSTRIALIST:
     67         return cpConst.career_path_industrialist
     68     if proto_career_path_id == CareerPath.CAREER_ENFORCER:
     69         return cpConst.career_path_enforcer
     70     if proto_career_path_id == CareerPath.CAREER_SOLDIER_OF_FORTUNE:
     71         return cpConst.career_path_soldier_of_fortune
     72     return cpConst.career_path_none
     73 
     74 
     75 def get_proto_id_from_career_path_id(career_path_id):
     76     if career_path_id == cpConst.career_path_explorer:
     77         return CareerPath.CAREER_EXPLORATION
     78     if career_path_id == cpConst.career_path_industrialist:
     79         return CareerPath.CAREER_INDUSTRIALIST
     80     if career_path_id == cpConst.career_path_enforcer:
     81         return CareerPath.CAREER_ENFORCER
     82     if career_path_id == cpConst.career_path_soldier_of_fortune:
     83         return CareerPath.CAREER_SOLDIER_OF_FORTUNE
     84     return CareerPath.CAREER_UNSPECIFIED
     85 
     86 
     87 GOAL_ANNOTATION_DURATION = 'duration'
     88 GOAL_ANNOTATION_ACTIVITY_GROUP = 'group'
     89 GOAL_ANNOTATION_GOAL_SUBTYPE = 'subtype'
     90 GOAL_ANNOTATION_AURA_TEXT_ID = 'auraTextID'
     91 GOAL_ANNOTATION_AGENCY_LINK_TEXT_ID = 'agencyLinkTextID'
     92 GOAL_ANNOTATION_AGENCY_SCREEN_ID = 'agencyScreen'
     93 GOAL_ANNOTATION_ORDER = 'order'
     94 GOAL_ANNOTATION_VIDEO = 'videoID'
     95 EXPLORER_CAREERAGENTMISSIONS = 101
     96 EXPLORER_SCANNING = 102
     97 EXPLORER_HACKING = 103
     98 EXPLORER_HACKING2 = 104
     99 EXPLORER_WORMHOLES = 105
    100 EXPLORER_GASSITES = 106
    101 EXPLORER_COMBATSITES = 107
    102 EXPLORER_NAVIGATION = 108
    103 EXPLORER_NAVIGATION2 = 109
    104 EXPLORER_PROJECTDISCOVERY = 110
    105 INDUSTRIALIST_CAREERAGENTMISSIONS = 201
    106 INDUSTRIALIST_MARKET = 203
    107 INDUSTRIALIST_SALVAGE = 204
    108 INDUSTRIALIST_RESOURCEHARVESTING = 205
    109 INDUSTRIALIST_REFINING = 206
    110 INDUSTRIALIST_MANUFACTURING = 207
    111 INDUSTRIALIST_DISTRIBUTIONAGENT = 208
    112 INDUSTRIALIST_MININGAGENT = 209
    113 INDUSTRIALIST_RESEARCH = 210
    114 ENFORCER_ENFORCERCAREERAGENTMISSIONS = 301
    115 ENFORCER_SECURITYAGENT = 302
    116 ENFORCER_ABYSSALDEADSPACE = 303
    117 ENFORCER_COMBAT = 304
    118 ENFORCER_BOUNTIES = 305
    119 ENFORCER_COMBATSITES = 306
    120 ENFORCER_EPICARC = 307
    121 ENFORCER_MARKET = 308
    122 ENFORCER_STANDINGS = 309
    123 ENFORCER_LOYALTYPOINTS = 310
    124 SOLDIEROFFORTUNE_CAREERAGENTMISSIONS = 401
    125 SOLDIEROFFORTUNE_SOCIAL = 402
    126 SOLDIEROFFORTUNE_ELECTRONICWARFARE = 403
    127 SOLDIEROFFORTUNE_COMBAT1 = 404
    128 SOLDIEROFFORTUNE_PVP = 405
    129 SOLDIEROFFORTUNE_CAPACITORWARFARE = 406
    130 SOLDIEROFFORTUNE_FACTIONWARFARE = 407
    131 SOLDIEROFFORTUNE_SUPPORT = 408
    132 SOLDIEROFFORTUNE_DESTRUCTION = 409
    133 SOLDIEROFFORTUNE_DUELS = 410
    134 CAREER_PATH_GROUPS = {cpConst.career_path_explorer: OrderedDict([('CareerAgentMissions', EXPLORER_CAREERAGENTMISSIONS),
    135                                 ('Scanning', EXPLORER_SCANNING),
    136                                 ('Hacking', EXPLORER_HACKING),
    137                                 ('AdvancedHacking', EXPLORER_HACKING2),
    138                                 ('Wormholes', EXPLORER_WORMHOLES),
    139                                 ('GasSites', EXPLORER_GASSITES),
    140                                 ('CombatSites', EXPLORER_COMBATSITES),
    141                                 ('Navigation', EXPLORER_NAVIGATION),
    142                                 ('AdvancedNavigation', EXPLORER_NAVIGATION2),
    143                                 ('ProjectDiscovery', EXPLORER_PROJECTDISCOVERY)]),
    144  cpConst.career_path_industrialist: OrderedDict([('IndustrialistCareerAgentsMissions', INDUSTRIALIST_CAREERAGENTMISSIONS),
    145                                      ('Market', INDUSTRIALIST_MARKET),
    146                                      ('Salvage', INDUSTRIALIST_SALVAGE),
    147                                      ('ResourceHarvesting', INDUSTRIALIST_RESOURCEHARVESTING),
    148                                      ('Refining', INDUSTRIALIST_REFINING),
    149                                      ('Manufacturing', INDUSTRIALIST_MANUFACTURING),
    150                                      ('DistributionAgent', INDUSTRIALIST_DISTRIBUTIONAGENT),
    151                                      ('MiningAgent', INDUSTRIALIST_MININGAGENT),
    152                                      ('Research', INDUSTRIALIST_RESEARCH)]),
    153  cpConst.career_path_enforcer: OrderedDict([('CareerAgentMissions', ENFORCER_ENFORCERCAREERAGENTMISSIONS),
    154                                 ('SecurityAgent', ENFORCER_SECURITYAGENT),
    155                                 ('AbyssalDeadspace', ENFORCER_ABYSSALDEADSPACE),
    156                                 ('Combat', ENFORCER_COMBAT),
    157                                 ('Bounties', ENFORCER_BOUNTIES),
    158                                 ('CombatSites', ENFORCER_COMBATSITES),
    159                                 ('EpicArc', ENFORCER_EPICARC),
    160                                 ('Market', ENFORCER_MARKET),
    161                                 ('Standings', ENFORCER_STANDINGS),
    162                                 ('LoyaltyPoints', ENFORCER_LOYALTYPOINTS)]),
    163  cpConst.career_path_soldier_of_fortune: OrderedDict([('CareerAgentMissions', SOLDIEROFFORTUNE_CAREERAGENTMISSIONS),
    164                                           ('Social', SOLDIEROFFORTUNE_SOCIAL),
    165                                           ('ElectronicWarfare', SOLDIEROFFORTUNE_ELECTRONICWARFARE),
    166                                           ('Combat', SOLDIEROFFORTUNE_COMBAT1),
    167                                           ('PvP', SOLDIEROFFORTUNE_PVP),
    168                                           ('CapacitorWarfare', SOLDIEROFFORTUNE_CAPACITORWARFARE),
    169                                           ('FactionWarfare', SOLDIEROFFORTUNE_FACTIONWARFARE),
    170                                           ('Support', SOLDIEROFFORTUNE_SUPPORT),
    171                                           ('Destruction', SOLDIEROFFORTUNE_DESTRUCTION),
    172                                           ('Duels', SOLDIEROFFORTUNE_DUELS)])}
    173 
    174 def get_career_path_group_id(careerPathID, annotationString):
    175     careerPath = CAREER_PATH_GROUPS.get(careerPathID, None)
    176     if careerPath:
    177         return careerPath.get(annotationString, None)
    178 
    179 
    180 def get_annotation_for_career_path_group_id(career_path_id, career_group_id):
    181     career_path = CAREER_PATH_GROUPS.get(career_path_id, None)
    182     if career_path:
    183         for key, val in career_path.iteritems():
    184             if val == career_group_id:
    185                 return key