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

roles.py (848B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\utility\roles.py
      2 from behaviors.const.behaviorroles import COMBAT_ROLES, ROLE_LOGISTIC
      3 from behaviors.const.blackboardchannels import ROLE_MESSAGE_CHANNEL, COMMANDER_ADDRESS
      4 
      5 def get_role_for_member(task, item_id):
      6     return task.GetMessageChannelForItemId(item_id, ROLE_MESSAGE_CHANNEL).GetLastMessageValue()
      7 
      8 
      9 def get_group_commander(task):
     10     return task.GetLastBlackboardValue(COMMANDER_ADDRESS)
     11 
     12 
     13 def is_commander(task, item_id):
     14     return item_id == get_group_commander(task)
     15 
     16 
     17 def has_combat_role(task, item_id):
     18     role = task.GetMessageChannelForItemId(item_id, ROLE_MESSAGE_CHANNEL).GetLastMessageValue()
     19     return role in COMBAT_ROLES
     20 
     21 
     22 def is_logistic_role(task, item_id):
     23     return get_role_for_member(task, item_id) == ROLE_LOGISTIC