mixin.py (1446B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\groups\mixin.py 2 from npcs.npccorporations import get_corporation_faction_id 3 4 class EntityGroupNotFound(Exception): 5 pass 6 7 8 class GroupTaskMixin(object): 9 context = None 10 11 def GetEntityGroup(self): 12 groupManager = self.context.entityLocation.GetGroupManager() 13 return groupManager.GetGroup(self.context.myEntityGroupId) 14 15 def GetMemberIdList(self): 16 entityGroup = self.GetEntityGroup() 17 return entityGroup.GetGroupMembers() 18 19 def GetMemberBubbleSet(self): 20 bubbleIdSet = set() 21 destinyBalls = self.context.ballpark.balls 22 for memberId in self.GetMemberIdList(): 23 try: 24 bubbleIdSet.add(destinyBalls[memberId].newBubbleId) 25 except KeyError: 26 pass 27 28 return bubbleIdSet 29 30 def GetGroupMessenger(self): 31 group = self.GetEntityGroup() 32 if group is None: 33 raise EntityGroupNotFound('Entity group %s was not found' % self.context.myEntityGroupId) 34 messenger = group.GetMessenger() 35 return messenger 36 37 def IsMember(self, itemId): 38 group = self.GetEntityGroup() 39 return group.HasEntity(itemId) 40 41 def GetGroupOwnerId(self): 42 return self.GetEntityGroup().GetGroupOwnerId() 43 44 def GetGroupFactionId(self): 45 return get_corporation_faction_id(self.GetGroupOwnerId())