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