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')