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

settings.py (10549B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\structures\settings.py
      2 CATEGORY_HULL_DEFENSE = 1003
      3 CATEGORY_HULL_DOCKING = 1004
      4 CATEGORY_MODULE_MARKET = 1008
      5 CATEGORY_HULL_CORPOFFICE = 1009
      6 CATEGORY_MODULE_REPROCESSING = 1010
      7 CATEGORY_MODULE_CLONINGBAY = 1011
      8 CATEGORY_MODULE_INDUSTRY = 1012
      9 CATEGORY_MODULE_NAVIGATION = 1013
     10 SETTING_NONE = 0
     11 SETTING_REPROCESSING_TAX = 3
     12 SETTING_MARKET_TAX = 4
     13 SETTING_DEFENSE_CAN_CONTROL_STRUCTURE = 17
     14 SETTING_HOUSING_CAN_DOCK = 19
     15 SETTING_CORP_RENT_OFFICE = 20
     16 SETTING_CLONINGBAY_TAX = 23
     17 SETTING_INDUSTRY_TAX = 24
     18 SETTING_REACTION_BIOCHEMICAL_TAX = 26
     19 SETTING_REACTION_HYBRID_TAX = 27
     20 SETTING_REACTION_COMPOSITE_TAX = 28
     21 SETTING_MANUFACTURING_TAX = 29
     22 SETTING_MANUFACTURING_CAPITAL_TAX = 30
     23 SETTING_MANUFACTURING_SUPERCAPITAL_TAX = 31
     24 SETTING_RESEARCH_TAX = 32
     25 SETTING_INVENTION_TAX = 33
     26 SETTING_JUMP_BRIDGE_ACTIVATION = 34
     27 SETTING_CYNO_BEACON = 35
     28 SETTING_AUTOMOONMINING = 36
     29 CATEGORIES_BY_NAME = {name:value for name, value in locals().items() if name.startswith('CATEGORY_')}
     30 SETTINGS_BY_NAME = {name:value for name, value in locals().items() if name.startswith('SETTING_')}
     31 SETTINGS_TYPE_NONE = 1
     32 SETTINGS_TYPE_BOOL = 2
     33 SETTINGS_TYPE_INT = 3
     34 SETTINGS_TYPE_FLOAT = 4
     35 SETTINGS_TYPE_PERCENTAGE = 5
     36 SETTINGS_TYPE_ISK = 6
     37 SETTINGS_TYPES = {value:name for name, value in locals().items() if name.startswith('SETTINGS_TYPE_')}
     38 SETTINGS_BY_CATEGORY = {CATEGORY_HULL_DEFENSE: (SETTING_DEFENSE_CAN_CONTROL_STRUCTURE,),
     39  CATEGORY_HULL_DOCKING: (SETTING_HOUSING_CAN_DOCK,),
     40  CATEGORY_HULL_CORPOFFICE: (SETTING_CORP_RENT_OFFICE,),
     41  CATEGORY_MODULE_MARKET: (SETTING_MARKET_TAX,),
     42  CATEGORY_MODULE_CLONINGBAY: (SETTING_CLONINGBAY_TAX,),
     43  CATEGORY_MODULE_REPROCESSING: (SETTING_REPROCESSING_TAX,),
     44  CATEGORY_MODULE_INDUSTRY: (SETTING_REACTION_BIOCHEMICAL_TAX,
     45                             SETTING_REACTION_HYBRID_TAX,
     46                             SETTING_REACTION_COMPOSITE_TAX,
     47                             SETTING_MANUFACTURING_TAX,
     48                             SETTING_MANUFACTURING_CAPITAL_TAX,
     49                             SETTING_MANUFACTURING_SUPERCAPITAL_TAX,
     50                             SETTING_RESEARCH_TAX,
     51                             SETTING_INVENTION_TAX,
     52                             SETTING_AUTOMOONMINING),
     53  CATEGORY_MODULE_NAVIGATION: (SETTING_JUMP_BRIDGE_ACTIVATION, SETTING_CYNO_BEACON)}
     54 CATEGORY_LABELS = {CATEGORY_HULL_DEFENSE: 'UI/StructureSettings/ServiceDefense',
     55  CATEGORY_HULL_DOCKING: 'UI/StructureSettings/ServiceDocking',
     56  CATEGORY_HULL_CORPOFFICE: 'UI/StructureSettings/ServiceCorpOffices',
     57  CATEGORY_MODULE_MARKET: 'UI/StructureSettings/ServiceMarket',
     58  CATEGORY_MODULE_CLONINGBAY: 'UI/StructureSettings/ServiceCloneBay',
     59  CATEGORY_MODULE_REPROCESSING: 'UI/StructureSettings/ServiceReprocessing',
     60  CATEGORY_MODULE_INDUSTRY: 'UI/StructureSettings/ServiceIndustry',
     61  CATEGORY_MODULE_NAVIGATION: 'UI/StructureSettings/ServiceNavigation'}
     62 CATEGORY_TEXTURES = {CATEGORY_HULL_DEFENSE: 'res:/UI/Texture/classes/ProfileSettings/defense.png',
     63  CATEGORY_HULL_DOCKING: 'res:/UI/Texture/classes/ProfileSettings/docking.png',
     64  CATEGORY_HULL_CORPOFFICE: 'res:/UI/Texture/classes/ProfileSettings/corpOffice.png',
     65  CATEGORY_MODULE_MARKET: 'res:/UI/Texture/classes/ProfileSettings/market.png',
     66  CATEGORY_MODULE_CLONINGBAY: 'res:/UI/Texture/classes/ProfileSettings/cloneBay.png',
     67  CATEGORY_MODULE_REPROCESSING: 'res:/UI/Texture/classes/ProfileSettings/reprocess.png',
     68  CATEGORY_MODULE_INDUSTRY: 'res:/UI/Texture/classes/ProfileSettings/industry.png',
     69  CATEGORY_MODULE_NAVIGATION: 'res:/UI/Texture/classes/ProfileSettings/navigation.png'}
     70 SETTINGS_TEXTURES = {SETTING_MANUFACTURING_TAX: 'res:/UI/Texture/classes/Industry/manufacturing.png',
     71  SETTING_MANUFACTURING_CAPITAL_TAX: 'res:/UI/Texture/classes/Industry/manufacturing.png',
     72  SETTING_MANUFACTURING_SUPERCAPITAL_TAX: 'res:/UI/Texture/classes/Industry/manufacturing.png',
     73  SETTING_RESEARCH_TAX: 'res:/UI/Texture/classes/Industry/copying.png',
     74  SETTING_INVENTION_TAX: 'res:/UI/Texture/classes/Industry/invention.png',
     75  SETTING_REACTION_BIOCHEMICAL_TAX: 'res:/UI/Texture/classes/Industry/reaction.png',
     76  SETTING_REACTION_HYBRID_TAX: 'res:/UI/Texture/classes/Industry/reaction.png',
     77  SETTING_REACTION_COMPOSITE_TAX: 'res:/UI/Texture/classes/Industry/reaction.png'}
     78 
     79 class StructureSettingObject(object):
     80 
     81     def __init__(self, settingID, labelPath, descLabelPath, cantAccessError, valueType, hasGroups, valueRange = None, columnLabelPath = None, decimals = None):
     82         self.settingID = settingID
     83         self.labelPath = labelPath
     84         self.descLabelPath = descLabelPath
     85         self.cantAccessError = cantAccessError
     86         self.valueType = valueType
     87         self.hasGroups = hasGroups
     88         self.valueRange = valueRange
     89         self.columnLabelPath = columnLabelPath
     90         self.decimals = decimals
     91 
     92 
     93 MAX_CLONEBAY_COST = 100000000
     94 MAX_CORPOFFICE_COST = 1000000000
     95 MAX_TAX_PERCENTAGE = 50
     96 MAX_INDUSTRY_TAX_PERCENTAGE = 10
     97 MAX_ISK_TAX_PER_LO = 2000
     98 MIN_MARKET_TAX_PERCENTAGE = 0.0
     99 MAX_MARKET_TAX_PERCENTAGE = 11.5
    100 INDUSTRY_DECIMALS = 2
    101 ALL_SETTING_OBJECTS = [StructureSettingObject(SETTING_MARKET_TAX, 'UI/StructureSettings/MarketTax', 'UI/StructureSettings/SpecifyAllowedGroupsAndRate', 'StructureMarketDenied', SETTINGS_TYPE_PERCENTAGE, hasGroups=True, valueRange=(MIN_MARKET_TAX_PERCENTAGE, MAX_MARKET_TAX_PERCENTAGE)),
    102  StructureSettingObject(SETTING_DEFENSE_CAN_CONTROL_STRUCTURE, 'UI/StructureSettings/CanControlStructure', 'UI/StructureSettings/CanControlStructureDesc', 'StructureDefenseDenied', SETTINGS_TYPE_NONE, hasGroups=True),
    103  StructureSettingObject(SETTING_HOUSING_CAN_DOCK, 'UI/StructureSettings/DockingAccess', 'UI/StructureSettings/DockingAccessDesc', 'StructureDockingDenied', SETTINGS_TYPE_NONE, hasGroups=True),
    104  StructureSettingObject(SETTING_CORP_RENT_OFFICE, 'UI/StructureSettings/CorpOffice', 'UI/StructureSettings/CorpOfficeDesc', 'StructureCorpOfficesDenied', SETTINGS_TYPE_ISK, hasGroups=True, valueRange=(0, MAX_CORPOFFICE_COST)),
    105  StructureSettingObject(SETTING_CLONINGBAY_TAX, 'UI/StructureSettings/CloneBayTax', 'UI/StructureSettings/CloneBayTaxDesc', 'StructureCloneBayDenied', SETTINGS_TYPE_ISK, hasGroups=True, valueRange=(0, MAX_CLONEBAY_COST)),
    106  StructureSettingObject(SETTING_REPROCESSING_TAX, 'UI/StructureSettings/ReprocessingTax', 'UI/StructureSettings/ReprocessingTaxDesc', 'StructureReprocessingDenied', SETTINGS_TYPE_PERCENTAGE, hasGroups=True, valueRange=(0, MAX_TAX_PERCENTAGE)),
    107  StructureSettingObject(SETTING_REACTION_BIOCHEMICAL_TAX, 'UI/StructureSettings/ReactionsBiochemical', 'UI/StructureSettings/ReactionsBiochemicalDesc', 'StructureReactionBiochemicalDenied', SETTINGS_TYPE_PERCENTAGE, hasGroups=True, valueRange=(0, MAX_INDUSTRY_TAX_PERCENTAGE), decimals=INDUSTRY_DECIMALS),
    108  StructureSettingObject(SETTING_REACTION_COMPOSITE_TAX, 'UI/StructureSettings/ReactionsComposite', 'UI/StructureSettings/ReactionsCompositeDesc', 'StructureReactionCompositeDenied', SETTINGS_TYPE_PERCENTAGE, hasGroups=True, valueRange=(0, MAX_INDUSTRY_TAX_PERCENTAGE), decimals=INDUSTRY_DECIMALS),
    109  StructureSettingObject(SETTING_REACTION_HYBRID_TAX, 'UI/StructureSettings/ReactionsHybrid', 'UI/StructureSettings/ReactionsHybridDesc', 'StructureReactionHybridDenied', SETTINGS_TYPE_PERCENTAGE, hasGroups=True, valueRange=(0, MAX_INDUSTRY_TAX_PERCENTAGE), decimals=INDUSTRY_DECIMALS),
    110  StructureSettingObject(SETTING_MANUFACTURING_TAX, 'UI/StructureSettings/ManufacturingTax', 'UI/StructureSettings/ManufacturingTaxDesc', 'StructureManufacturingDenied', SETTINGS_TYPE_PERCENTAGE, hasGroups=True, valueRange=(0, MAX_INDUSTRY_TAX_PERCENTAGE), decimals=INDUSTRY_DECIMALS),
    111  StructureSettingObject(SETTING_MANUFACTURING_CAPITAL_TAX, 'UI/StructureSettings/ManufacturingCapitalTax', 'UI/StructureSettings/ManufacturingCapitalTaxDesc', 'StructureManufacturingCapitalDenied', SETTINGS_TYPE_PERCENTAGE, hasGroups=True, valueRange=(0, MAX_INDUSTRY_TAX_PERCENTAGE), decimals=INDUSTRY_DECIMALS),
    112  StructureSettingObject(SETTING_MANUFACTURING_SUPERCAPITAL_TAX, 'UI/StructureSettings/ManufacturingSuperCapitalTax', 'UI/StructureSettings/ManufacturingSuperCapitalTaxDesc', 'StructureManufacturingSuperCapitalDenied', SETTINGS_TYPE_PERCENTAGE, hasGroups=True, valueRange=(0, MAX_INDUSTRY_TAX_PERCENTAGE), decimals=INDUSTRY_DECIMALS),
    113  StructureSettingObject(SETTING_RESEARCH_TAX, 'UI/StructureSettings/ResearchTax', 'UI/StructureSettings/ResearchTaxDesc', 'StructureResearchDenied', SETTINGS_TYPE_PERCENTAGE, hasGroups=True, valueRange=(0, MAX_INDUSTRY_TAX_PERCENTAGE), decimals=INDUSTRY_DECIMALS),
    114  StructureSettingObject(SETTING_INVENTION_TAX, 'UI/StructureSettings/InventionTax', 'UI/StructureSettings/InventionTaxDesc', 'StructureInventionDenied', SETTINGS_TYPE_PERCENTAGE, hasGroups=True, valueRange=(0, MAX_INDUSTRY_TAX_PERCENTAGE), decimals=INDUSTRY_DECIMALS),
    115  StructureSettingObject(SETTING_JUMP_BRIDGE_ACTIVATION, 'UI/StructureSettings/CanActivateJumpBridge', 'UI/StructureSettings/CanActivateJumpBridgeDesc', 'ActivateJumpBridgeDenied', SETTINGS_TYPE_NONE, hasGroups=True),
    116  StructureSettingObject(SETTING_CYNO_BEACON, 'UI/StructureSettings/CanConnectToCynoBeacon', 'UI/StructureSettings/CanConnectToCynoBeaconDesc', 'ConnectToCynoBeaconDenied', SETTINGS_TYPE_NONE, hasGroups=True),
    117  StructureSettingObject(SETTING_AUTOMOONMINING, 'UI/StructureSettings/CanAccessAutoMoonDrill', 'UI/StructureSettings/CanAccessAutoMoonDrillDesc', 'AccessToAutoMoonMinerDenied', SETTINGS_TYPE_NONE, hasGroups=True)]
    118 CATEGORIES_HULL = [ value for name, value in CATEGORIES_BY_NAME.iteritems() if name.startswith('CATEGORY_HULL_') ]
    119 CATEGORIES_MODULES = [ value for name, value in CATEGORIES_BY_NAME.iteritems() if name.startswith('CATEGORY_MODULE_') ]
    120 SETTINGS_NAMES = {value:name for name, value in SETTINGS_BY_NAME.iteritems()}
    121 SETTINGS_CATEGORY = {setting:service for service, settings in SETTINGS_BY_CATEGORY.iteritems() for setting in settings}
    122 SETTING_OBJECT_BY_SETTINGID = {s.settingID:s for s in ALL_SETTING_OBJECTS}
    123 SETTINGS_VALUE_HAS_GROUPS = {s.settingID for s in ALL_SETTING_OBJECTS if s.hasGroups}
    124 SETTINGS_VALUE_TYPE = {s.settingID:s.valueType for s in ALL_SETTING_OBJECTS}
    125 SETTINGS_LABELS = {s.settingID:s.labelPath for s in ALL_SETTING_OBJECTS}
    126 SETTINGS_LABELS_DESC = {s.settingID:s.descLabelPath for s in ALL_SETTING_OBJECTS}
    127 SETTING_ACCESS_ERRORS_BY_SETTING = {s.settingID:s.cantAccessError for s in ALL_SETTING_OBJECTS}
    128 SETTINGS = set(SETTINGS_BY_NAME.values())
    129 
    130 def GetAccessErrorLabel(settingID):
    131     return SETTING_ACCESS_ERRORS_BY_SETTING.get(settingID, 'StructureGenericSettingDenied')