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

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}