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

posConst.py (3289B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\common\script\mgt\posConst.py
      2 import blue
      3 from eve.common.script.mgt.entityConst import *
      4 STRUCTURE_UNANCHORED = 0
      5 STRUCTURE_ANCHORED = 1
      6 STRUCTURE_ONLINING = 2
      7 STRUCTURE_REINFORCED = 3
      8 STRUCTURE_ONLINE = 4
      9 STRUCTURE_OPERATING = 5
     10 STRUCTURE_VULNERABLE = 6
     11 STRUCTURE_SHIELD_REINFORCE = 7
     12 STRUCTURE_ARMOR_REINFORCE = 8
     13 STRUCTURE_INVULNERABLE = 9
     14 ANCHORED_STRUCTURE_STATES = (STRUCTURE_ANCHORED,
     15  STRUCTURE_ONLINING,
     16  STRUCTURE_REINFORCED,
     17  STRUCTURE_ONLINE,
     18  STRUCTURE_OPERATING,
     19  STRUCTURE_VULNERABLE,
     20  STRUCTURE_SHIELD_REINFORCE,
     21  STRUCTURE_ARMOR_REINFORCE,
     22  STRUCTURE_INVULNERABLE)
     23 db2Entity = {STRUCTURE_UNANCHORED: [STATE_UNANCHORING, STATE_UNANCHORED],
     24  STRUCTURE_ANCHORED: [STATE_ANCHORING, STATE_ANCHORED],
     25  STRUCTURE_ONLINING: [STATE_ONLINING, STATE_ONLINING],
     26  STRUCTURE_REINFORCED: [STATE_REINFORCED],
     27  STRUCTURE_ONLINE: [STATE_IDLE],
     28  STRUCTURE_OPERATING: [STATE_OPERATING, STATE_IDLE],
     29  STRUCTURE_VULNERABLE: [STATE_VULNERABLE],
     30  STRUCTURE_SHIELD_REINFORCE: [STATE_SHIELD_REINFORCE],
     31  STRUCTURE_ARMOR_REINFORCE: [STATE_ARMOR_REINFORCE]}
     32 
     33 def GetEntityStatesForDBState(dbState):
     34     return db2Entity.get(dbState, [])
     35 
     36 
     37 def IsStructureAnchored(item, settings):
     38     if settings.state in ANCHORED_STRUCTURE_STATES:
     39         return 1
     40     if settings.state == STRUCTURE_UNANCHORED and settings.stateTimestamp is not None:
     41         diffMs = (blue.os.GetWallclockTime() - settings.stateTimestamp) / 10000
     42         return diffMs < sm.services['dogmaIM'].GetTypeAttribute2(item.typeID, const.attributeUnanchoringDelay)
     43     return 0
     44 
     45 
     46 ONLINE_STABLE_STATES = (STRUCTURE_REINFORCED,
     47  STRUCTURE_ONLINE,
     48  STRUCTURE_OPERATING,
     49  STRUCTURE_VULNERABLE,
     50  STRUCTURE_INVULNERABLE,
     51  STRUCTURE_SHIELD_REINFORCE,
     52  STRUCTURE_ARMOR_REINFORCE)
     53 
     54 def Entity2DB(activityState):
     55     if activityState in (STATE_UNANCHORING, STATE_UNANCHORED):
     56         return STRUCTURE_UNANCHORED
     57     if activityState in (STATE_ANCHORING, STATE_ANCHORED):
     58         return STRUCTURE_ANCHORED
     59     if activityState == STATE_ONLINING:
     60         return STRUCTURE_ONLINING
     61     if activityState == STATE_REINFORCED:
     62         return STRUCTURE_REINFORCED
     63     if activityState == STATE_VULNERABLE:
     64         return STRUCTURE_VULNERABLE
     65     if activityState == STATE_INVULNERABLE:
     66         return STRUCTURE_INVULNERABLE
     67     if activityState == STATE_OPERATING:
     68         return STRUCTURE_OPERATING
     69     if activityState == STATE_SHIELD_REINFORCE:
     70         return STRUCTURE_SHIELD_REINFORCE
     71     if activityState == STATE_ARMOR_REINFORCE:
     72         return STRUCTURE_ARMOR_REINFORCE
     73     if activityState >= STATE_IDLE:
     74         return STRUCTURE_ONLINE
     75 
     76 
     77 DisplayNames = {STRUCTURE_ANCHORED: 'UI/Entities/States/Anchored',
     78  STRUCTURE_UNANCHORED: 'UI/Entities/States/Unanchored',
     79  STRUCTURE_ONLINING: 'UI/Entities/States/Onlining',
     80  STRUCTURE_REINFORCED: 'UI/Entities/States/Reinforced',
     81  STRUCTURE_ONLINE: 'UI/Entities/States/Online',
     82  STRUCTURE_OPERATING: 'UI/Entities/States/Operating',
     83  STRUCTURE_VULNERABLE: 'UI/Entities/States/Vulnerable',
     84  STRUCTURE_SHIELD_REINFORCE: 'UI/Entities/States/ShieldReinforcedVerbose',
     85  STRUCTURE_ARMOR_REINFORCE: 'UI/Entities/States/ArmorReinforcedVerbose',
     86  STRUCTURE_INVULNERABLE: 'UI/Entities/States/Invulnerable'}
     87 DISPLAY_NAMES = DisplayNames