repository.py (11603B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\environment\spaceObject\repository.py 2 from eve.client.script.environment.spaceObject.nonInteractableObject import NonInteractableObject, ScalableNonInteractableObject 3 from eve.client.script.environment.spaceObject.lensFlare import LensFlare 4 from eve.client.script.environment.spaceObject.stationConversionMonument import StationConversionMonument 5 from eve.client.script.environment.spaceObject.structure import Structure 6 import eve.common.lib.appConst as const 7 from eve.client.script.environment.spaceObject.spaceObject import SpaceObject 8 from eve.client.script.environment.spaceObject.asteroid import Asteroid, NonInteractableAsteroid 9 from eve.client.script.environment.spaceObject.asteroidBelt import AsteroidBelt 10 from eve.client.script.environment.spaceObject.backgroundObject import BackgroundObject 11 from eve.client.script.environment.spaceObject.basicOrbital import BasicOrbital 12 from eve.client.script.environment.spaceObject.beacon import Beacon 13 from eve.client.script.environment.spaceObject.cargo import Cargo 14 from eve.client.script.environment.spaceObject.cloud import Cloud 15 from eve.client.script.environment.spaceObject.corpse import Corpse 16 from eve.client.script.environment.spaceObject.customsOffice import CustomsOffice 17 from eve.client.script.environment.spaceObject.destructibleEffectBeacon import DestructibleEffectBeacon 18 from eve.client.script.environment.spaceObject.entityShip import EntityShip, EntitySleeper 19 from eve.client.script.environment.spaceObject.forceField import ForceField 20 from eve.client.script.environment.spaceObject.harvestableGasCloud import HarvestableGasCloud 21 from eve.client.script.environment.spaceObject.LargeCollidableObject import LargeCollidableObject 22 from eve.client.script.environment.spaceObject.LargeCollidableStructure import LargeCollidableStructure 23 from eve.client.script.environment.spaceObject.Drone import Drone 24 from eve.client.script.environment.spaceObject.missile import Bomb, Missile 25 from eve.client.script.environment.spaceObject.MobileWarpDisruptor import MobileWarpDisruptor 26 from eve.client.script.environment.spaceObject.planet import Planet 27 from eve.client.script.environment.spaceObject.playerShip import PlayerShip 28 from eve.client.script.environment.spaceObject.playerOwnedStructure import PlayerOwnedStructure 29 from eve.client.script.environment.spaceObject.scannerProbe import ScannerProbe 30 from eve.client.script.environment.spaceObject.sentryGun import SentryGun 31 from eve.client.script.environment.spaceObject.sovereigntyClaimMarker import SovereigntyClaimMarker 32 from eve.client.script.environment.spaceObject.sovereigntyHub import SovereigntyHub 33 from eve.client.script.environment.spaceObject.spewContainer import SpewContainer 34 from eve.client.script.environment.spaceObject.stargate import Stargate 35 from eve.client.script.environment.spaceObject.station import Station 36 from eve.client.script.environment.spaceObject.structureDrillingPlatform import StructureDrillingPlatform 37 from eve.client.script.environment.spaceObject.structureSentryGun import StructureSentryGun 38 from eve.client.script.environment.spaceObject.sun import Sun 39 from eve.client.script.environment.spaceObject.warpgate import WarpGate 40 from eve.client.script.environment.spaceObject.wormhole import Wormhole 41 from eve.client.script.environment.spaceObject.wreck import Wreck 42 from eve.client.script.environment.spaceObject.DeployableSpaceObject import DeployableSpaceObject 43 from eve.client.script.environment.spaceObject.fighterSquadron import FighterSquadron 44 import evetypes 45 import threadutils 46 CATEGORY_TO_SPACEOBJECT_MAPPING = {const.categoryShip: PlayerShip, 47 const.categoryDeployable: SpaceObject, 48 const.categoryStarbase: PlayerOwnedStructure, 49 const.categorySovereigntyStructure: PlayerOwnedStructure, 50 const.categoryAsteroid: Asteroid, 51 const.categoryOrbital: BasicOrbital, 52 const.categoryEntity: EntityShip, 53 const.categoryDrone: Drone, 54 const.categoryFighter: FighterSquadron, 55 const.categoryStructure: Structure} 56 GROUP_TO_SPACEOBJECT_MAPPING = {const.groupAsteroidBelt: AsteroidBelt, 57 const.groupBillboard: LargeCollidableObject, 58 const.groupBiomass: Corpse, 59 const.groupCargoContainer: Cargo, 60 const.groupWreck: Wreck, 61 const.groupCloud: Cloud, 62 const.groupLCODrone: Drone, 63 const.groupLargeCollidableObject: LargeCollidableObject, 64 const.groupLargeCollidableStructure: LargeCollidableStructure, 65 const.groupDeadspaceOverseersStructure: LargeCollidableStructure, 66 const.groupMoonChunk: LargeCollidableObject, 67 const.groupMoon: Planet, 68 const.groupPlanet: Planet, 69 const.groupRogueDrone: Drone, 70 const.groupSecureCargoContainer: Cargo, 71 const.groupAuditLogSecureContainer: Cargo, 72 const.groupDeadspaceOverseersBelongings: Cargo, 73 const.groupFreightContainer: Cargo, 74 const.groupStargate: Stargate, 75 const.groupDisruptedGate: Stargate, 76 const.groupStation: Station, 77 const.groupGoalPost: Station, 78 const.groupDestructibleStationServices: LargeCollidableObject, 79 const.groupSun: Sun, 80 const.groupSecondarySun: BackgroundObject, 81 const.groupMassiveEnvironments: BackgroundObject, 82 const.groupTemporaryCloud: Cloud, 83 const.groupMobileWarpDisruptor: MobileWarpDisruptor, 84 const.groupMobileMicroJumpDisruptor: MobileWarpDisruptor, 85 const.groupWarpGate: WarpGate, 86 const.groupForceField: ForceField, 87 const.groupDestructibleSentryGun: SentryGun, 88 const.groupDeadspaceOverseersSentry: SentryGun, 89 const.groupMobileLaserSentry: StructureSentryGun, 90 const.groupMobileHybridSentry: StructureSentryGun, 91 const.groupMobileProjectileSentry: StructureSentryGun, 92 const.groupMobileSentryGun: SentryGun, 93 const.groupProtectiveSentryGun: SentryGun, 94 const.groupSentryGun: SentryGun, 95 const.groupDeadspaceSleeperSleeplessPatroller: EntitySleeper, 96 const.groupDeadspaceSleeperSleeplessSentinel: EntitySleeper, 97 const.groupDeadspaceSleeperSleeplessDefender: EntitySleeper, 98 const.groupDeadspaceSleeperAwakenedPatroller: EntitySleeper, 99 const.groupDeadspaceSleeperAwakenedSentinel: EntitySleeper, 100 const.groupDeadspaceSleeperAwakenedDefender: EntitySleeper, 101 const.groupDeadspaceSleeperEmergentPatroller: EntitySleeper, 102 const.groupDeadspaceSleeperEmergentSentinel: EntitySleeper, 103 const.groupDeadspaceSleeperEmergentDefender: EntitySleeper, 104 const.groupBomb: Bomb, 105 const.groupBombECM: Bomb, 106 const.groupBombEnergy: Bomb, 107 const.groupHarvestableCloud: HarvestableGasCloud, 108 const.groupAsteroidRogueDroneBattleCruiser: Drone, 109 const.groupAsteroidRogueDroneBattleship: Drone, 110 const.groupAsteroidRogueDroneCruiser: Drone, 111 const.groupAsteroidRogueDroneDestroyer: Drone, 112 const.groupAsteroidRogueDroneFrigate: Drone, 113 const.groupAsteroidRogueDroneHauler: Drone, 114 const.groupAsteroidRogueDroneSwarm: Drone, 115 const.groupAsteroidRogueDroneOfficer: Drone, 116 const.groupDeadspaceRogueDroneBattleCruiser: Drone, 117 const.groupDeadspaceRogueDroneBattleship: Drone, 118 const.groupDeadspaceRogueDroneCruiser: Drone, 119 const.groupDeadspaceRogueDroneDestroyer: Drone, 120 const.groupDeadspaceRogueDroneFrigate: Drone, 121 const.groupDeadspaceRogueDroneSwarm: Drone, 122 const.groupAsteroidRogueDroneCommanderFrigate: Drone, 123 const.groupAsteroidRogueDroneCommanderDestroyer: Drone, 124 const.groupAsteroidRogueDroneCommanderCruiser: Drone, 125 const.groupAsteroidRogueDroneCommanderBattleCruiser: Drone, 126 const.groupMissionFighterDrone: Drone, 127 const.groupScannerProbe: ScannerProbe, 128 const.groupWarpDisruptionProbe: ScannerProbe, 129 const.groupBurstEffectProbe: ScannerProbe, 130 const.groupWormhole: Wormhole, 131 const.groupSovereigntyClaimMarkers: SovereigntyClaimMarker, 132 const.groupStationConversionMonuments: StationConversionMonument, 133 const.groupInfrastructureHub: SovereigntyHub, 134 const.groupBeacon: LargeCollidableObject, 135 const.groupCovertBeacon: LargeCollidableObject, 136 const.groupCynosuralBeacon: LargeCollidableObject, 137 const.groupSuperWeaponBeacon: Beacon, 138 const.groupEffectBeacon: SpaceObject, 139 const.groupManagedAsteroidBelt: LargeCollidableObject, 140 const.groupOreDeposit: LargeCollidableObject, 141 const.groupRareAsteroidField: LargeCollidableObject, 142 const.groupIceBeltBeacon: LargeCollidableObject, 143 const.groupPhasedAsteroidField: LargeCollidableObject, 144 const.groupSatellite: LargeCollidableStructure, 145 const.groupPlanetaryCustomsOffices: CustomsOffice, 146 const.groupSpewContainer: SpewContainer, 147 const.groupSpawnContainer: SpewContainer, 148 const.groupControlBunker: LargeCollidableObject, 149 const.groupAutoLooter: DeployableSpaceObject, 150 const.groupSiphonPseudoSilo: DeployableSpaceObject, 151 const.groupCynoInhibitor: DeployableSpaceObject, 152 const.groupDeployableCynoGenerator: DeployableSpaceObject, 153 const.groupMobileHomes: DeployableSpaceObject, 154 const.groupMobileScanInhibitor: DeployableSpaceObject, 155 const.groupMobileMicroJumpUnit: DeployableSpaceObject, 156 const.groupMobilePhaseAnchor: DeployableSpaceObject, 157 const.groupCosmicSignature: LargeCollidableObject, 158 const.groupMissionContainer: LargeCollidableStructure, 159 const.groupCapturePointTower: LargeCollidableObject, 160 const.groupEntosisCommandNode: LargeCollidableObject, 161 const.groupStructureDrillingPlatform: StructureDrillingPlatform, 162 const.groupAgentsinSpace: LargeCollidableObject, 163 const.groupMoonMiningBeacon: LargeCollidableObject, 164 const.groupLensFlare: LensFlare, 165 const.groupUninteractableLocalizedEffectBeacon: LargeCollidableObject, 166 const.groupNonInteractableObject: NonInteractableObject, 167 const.groupNonScalableClouds: NonInteractableObject, 168 const.groupTemporaryCollidableStructure: LargeCollidableStructure, 169 const.groupAbyssalNpc: EntityShip, 170 const.groupInteractableLocalizedEffectBeacon: LargeCollidableStructure, 171 const.groupAbyssalTraces: WarpGate, 172 const.groupAbyssalDroneNpc: Drone, 173 const.groupIrregularDrone: Drone, 174 const.groupFabricatorRogueDroneFrigate: Drone, 175 const.groupFabricatorRogueDroneDestroyer: Drone, 176 const.groupFabricatorRogueDroneCruiser: Drone, 177 const.groupFabricatorRogueDroneBattlecruiser: Drone, 178 const.groupFabricatorRogueDroneBattleship: Drone, 179 const.groupIndustrialSupportFacility: LargeCollidableObject, 180 const.groupPrecursorCache: LargeCollidableObject, 181 const.groupDestructibleEffectBeacon: DestructibleEffectBeacon, 182 const.groupInvisibleBeacon: SpaceObject, 183 const.groupCosmicAnomaly: SpaceObject, 184 const.groupExoticArtefact: LargeCollidableStructure, 185 const.groupScalableDecorativeAsteroid: Asteroid, 186 const.groupTournamentChampionMonument: StationConversionMonument, 187 const.groupEncounterSurveillanceSystem: SpaceObject, 188 const.groupIrregularUnidentified: LargeCollidableObject, 189 const.groupInterstellarShipcaster: Structure, 190 const.groupScalableNonInteractableObject: ScalableNonInteractableObject, 191 const.groupNonInteractableAsteroid: NonInteractableAsteroid, 192 const.groupPhasedAsteroids: SpaceObject, 193 const.groupTemporaryPhasedAsteroids: SpaceObject} 194 195 @threadutils.Memoize 196 def GetGroupDict(): 197 groupDict = dict() 198 dynamicMissileGroupMappings = {groupID:Missile for groupID in evetypes.IterateGroups() if evetypes.GetIsGroupFittableNonSingletonByGroup(groupID)} 199 groupDict.update(dynamicMissileGroupMappings, **GROUP_TO_SPACEOBJECT_MAPPING) 200 return groupDict 201 202 203 def GetCategoryDict(): 204 return dict(CATEGORY_TO_SPACEOBJECT_MAPPING) 205 206 207 def GetClass(groupID, categoryID): 208 groupDict = GetGroupDict() 209 soClass = None 210 if groupID is not None and groupID in groupDict: 211 soClass = groupDict[groupID] 212 elif categoryID is not None and categoryID in CATEGORY_TO_SPACEOBJECT_MAPPING: 213 soClass = CATEGORY_TO_SPACEOBJECT_MAPPING[categoryID] 214 return soClass 215 216 217 exports = {'spaceObject.GetGroupDict': GetGroupDict, 218 'spaceObject.GetCategoryDict': GetCategoryDict}