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

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)