warpSites.py (1678B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\operations\common\warpSites.py 2 from __future__ import absolute_import 3 from . import operationsSiteCache 4 from operations.common.const import SiteSpawningType 5 _operationSites = None 6 7 def GetOperationSites(): 8 global _operationSites 9 if _operationSites is None: 10 _operationSites = operationsSiteCache.OperationSiteCache() 11 return _operationSites 12 13 14 class AuthoringException(BaseException): 15 pass 16 17 18 def GetDungeonIDForSite(siteID, raceID): 19 operationSite = GetOperationSites().get_site_by_id(siteID) 20 if operationSite.raceToDungeonMap: 21 return operationSite.raceToDungeonMap[raceID] 22 23 24 def GetSiteByID(siteID): 25 return GetOperationSites().get_site_by_id(siteID) 26 27 28 def GetSiteSpawnType(siteID): 29 operationSite = GetOperationSites().get_site_by_id(siteID) 30 return operationSite.spawning 31 32 33 def CanWarpToSite(siteID, schoolID, solarSystemID): 34 site = GetOperationSites().get_site_by_id(siteID) 35 if site.spawning == SiteSpawningType.IN_SCHOOL_STARTING_SYSTEM: 36 return solarSystemID == GetSolarsystemIDFromSchool(schoolID) 37 return True 38 39 40 def ShouldSiteSpawnImmediately(siteID): 41 operationSite = GetOperationSites().get_site_by_id(siteID) 42 return operationSite.shouldSpawn 43 44 45 def GetAllSiteIDs(): 46 return GetOperationSites().get_all_operation_sites().keys() 47 48 49 def GetSolarsystemIDFromSchool(schoolID): 50 try: 51 systemID = GetOperationSites().get_solarsystem_id_from_school(schoolID) 52 return systemID 53 except KeyError: 54 raise AuthoringException('Solar system ID for school ID %d has not yet been authored', schoolID)