def LoadMemberHistory(self): scrolllist = [] memberHistory = sm.GetService('fleet').GetMemberHistory() for kv in memberHistory: label = localization.GetByLabel('UI/Fleet/FleetBroadcast/Event', time=kv.time, eventLabel=kv.event) data = KeyVal(charID=kv.charID, label=label, GetMenu=self.GetMemberMenu, data=kv) data.Set( 'sort_%s' % localization.GetByLabel('UI/Common/DateWords/Time'), kv.time) data.time = kv.time scrolllist.append(listentry.Get('Generic', data=data)) hint = localization.GetByLabel('UI/Fleet/FleetBroadcast/NoEventsYet') return (scrolllist, hint)
def LoadLootHistory(self): scrolllist = [] lootHistory = sm.GetService('fleet').GetLootHistory() for kv in lootHistory: label = localization.GetByLabel( 'UI/Fleet/FleetBroadcast/BroadcastEventLoot', time=kv.time, charID=kv.charID, item=kv.typeID, itemQuantity=kv.quantity) data = KeyVal(charID=kv.charID, label=label, GetMenu=self.GetLootMenu, data=kv) data.Set( 'sort_%s' % localization.GetByLabel('UI/Common/DateWords/Time'), kv.time) data.time = kv.time scrolllist.append(listentry.Get('Generic', data=data)) hint = localization.GetByLabel('UI/Fleet/FleetBroadcast/NoEventsYet') return (scrolllist, hint)
def LoadComposition(self): fleetSvc = sm.GetService('fleet') if not fleetSvc.IsCommanderOrBoss(): raise UserError('FleetNotCommanderOrBoss') scrolllist = [] composition = fleetSvc.GetFleetComposition() fleetHierarchy = fleetSvc.GetFleetHierarchy() fleetPositionText = localization.GetByLabel( 'UI/Fleet/FleetWindow/FleetPosition') for kv in composition: blue.pyos.BeNice() member = fleetSvc.GetMemberInfo(kv.characterID, fleetHierarchy) if not fleetSvc.IsMySubordinate( kv.characterID) and not fleetSvc.IsBoss(): continue data = KeyVal() charName = localization.GetByLabel('UI/Common/CharacterNameLabel', charID=kv.characterID) locationName = localization.GetByLabel('UI/Common/LocationDynamic', location=kv.solarSystemID) if kv.stationID: locationName = '%s %s' % ( locationName, localization.GetByLabel('UI/Fleet/FleetComposition/Docked') ) if kv.shipTypeID is not None: shipTypeName = evetypes.GetName(kv.shipTypeID) shipGroupName = evetypes.GetGroupName(kv.shipTypeID) else: shipTypeName = '' shipGroupName = '' if kv.skills: skillLevels = localization.GetByLabel( 'UI/Fleet/FleetComposition/SkillLevels', skillLevelA=kv.skills[2], skillLevelB=kv.skills[1], skillLevelC=kv.skills[0]) data.hint = localization.GetByLabel( 'UI/Fleet/FleetComposition/SkillsHint', skillTypeA=kv.skillIDs[2], skillLevelA=kv.skills[2], skillTypeB=kv.skillIDs[1], skillLevelB=kv.skills[1], skillTypeC=kv.skillIDs[0], skillLevelC=kv.skills[0]) else: skillLevels = '' if not member.wingName: fleetPosition = '' positionSortValue = (None, None) elif not member.squadName: fleetPosition = member.wingName positionSortValue = (fleetPosition, None) else: fleetPosition = '%s / %s ' % (member.wingName, member.squadName) positionSortValue = (member.wingName, member.squadName) data.label = '<t>'.join([ charName, locationName, shipTypeName, shipGroupName, member.roleName, skillLevels, fleetPosition ]) data.GetMenu = self.OnCompositionEntryMenu data.cfgname = charName data.retval = None data.charID = kv.characterID data.shipTypeID = kv.shipTypeID data.solarSystemID = kv.solarSystemID data.info = cfg.eveowners.Get(kv.characterID) data.Set('sort_%s' % fleetPositionText, positionSortValue) scrolllist.append(listentry.Get('FleetCompositionEntry', data=data)) self.counterLabel.text = localization.GetByLabel( 'UI/Fleet/FleetComposition/PilotsSelected', numSelected=0, numTotalPilots=len(scrolllist)) self.sr.scrollBroadcasts.sr.id = 'scrollComposition' headers = [ localization.GetByLabel('UI/Common/Name'), localization.GetByLabel('UI/Common/Location'), localization.GetByLabel('UI/Fleet/FleetComposition/ShipType'), localization.GetByLabel('UI/Fleet/FleetComposition/ShipGroup'), localization.GetByLabel('UI/Fleet/FleetComposition/FleetRole'), localization.GetByLabel('UI/Fleet/FleetComposition/FleetSkills'), fleetPositionText ] self.sr.scrollBroadcasts.Load(headers=headers, contentList=scrolllist)
def ShowDirectionalSearchResult(self, *args): self.listtype = 'location' scrolllist = [] if self.scanresult and len(self.scanresult): myball = None ballpark = sm.GetService('michelle').GetBallpark() if ballpark: myball = ballpark.GetBall(eve.session.shipid) prime = [] for result in self.scanresult: slimItem, ball, celestialRec = result if not slimItem and celestialRec: prime.append(celestialRec.id) if prime: cfg.evelocations.Prime(prime) for slimItem, ball, celestialRec in self.scanresult: if self is None or self.destroyed: return if slimItem: typeinfo = cfg.invtypes.Get(slimItem.typeID) entryname = GetSlimItemName(slimItem) itemID = slimItem.itemID typeID = slimItem.typeID if not entryname: entryname = typeinfo.Group().name elif celestialRec: typeinfo = cfg.invtypes.Get(celestialRec.typeID) if typeinfo.groupID == const.groupHarvestableCloud: entryname = GetByLabel('UI/Inventory/SlimItemNames/SlimHarvestableCloud', typeinfo.name) elif typeinfo.categoryID == const.categoryAsteroid: entryname = GetByLabel('UI/Inventory/SlimItemNames/SlimAsteroid', typeinfo.name) else: entryname = cfg.evelocations.Get(celestialRec.id).name if not entryname: entryname = typeinfo.name itemID = celestialRec.id typeID = celestialRec.typeID else: continue if ball is not None: dist = ball.surfaceDist diststr = FmtDist(dist, maxdemicals=1) else: dist = 0 diststr = '-' groupID = cfg.invtypes.Get(typeID).groupID if not eve.session.role & (service.ROLE_GML | service.ROLE_WORLDMOD): if groupID == const.groupCloud: continue data = KeyVal() data.label = '%s<t>%s<t>%s' % (entryname, typeinfo.name, diststr) data.entryName = entryname data.typeName = typeinfo.name data.Set('sort_%s' % GetByLabel('UI/Common/Distance'), dist) data.columnID = 'directionalResultGroupColumn' data.result = result data.itemID = itemID data.typeID = typeID data.GetMenu = self.DirectionalResultMenu scrolllist.append(listentry.Get('DirectionalScanResults', data=data)) blue.pyos.BeNice() if not len(scrolllist): data = KeyVal() data.label = GetByLabel('UI/Inflight/Scanner/DirectionalNoResult') data.hideLines = 1 scrolllist.append(listentry.Get('Generic', data=data)) headers = [] else: headers = [GetByLabel('UI/Common/Name'), GetByLabel('UI/Common/Type'), GetByLabel('UI/Common/Distance')] self.sr.dirscroll.Load(contentList=scrolllist, headers=headers)
def ShowMySkillHistory(self): def GetPts(lvl): return charskills.GetSPForLevelRaw(stc, lvl) self.topCont.Hide() self.scroll.sr.id = 'charsheet_skillhistory' rs = sm.GetService('skills').GetSkillHistory() scrolllist = [] actions = { const.skillEventClonePenalty: GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillClonePenalty' ), const.skillEventTrainingStarted: GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillTrainingStarted' ), const.skillEventTrainingComplete: GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillTrainingComplete' ), const.skillEventTrainingCancelled: GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillTrainingCanceled' ), const.skillEventGMGive: GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/GMGiveSkill' ), const.skillEventQueueTrainingCompleted: GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillTrainingComplete' ), const.skillEventFreeSkillPointsUsed: GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillPointsApplied' ), const.skillEventSkillExtracted: GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/SkillLevelExtracted' ) } for r in rs: skill = sm.GetService('skills').GetSkill(r.skillTypeID) if skill: stc = skill.skillRank levels = [ 0, GetPts(1), GetPts(2), GetPts(3), GetPts(4), GetPts(5) ] level = 5 for i in range(len(levels)): if levels[i] > r.absolutePoints: level = i - 1 break data = KeyVal() data.label = FmtDate(r.logDate, 'ls') + '<t>' data.label += evetypes.GetName(r.skillTypeID) + '<t>' data.label += actions.get( r.eventTypeID, GetByLabel('UI/Generic/Unknown')) + '<t>' data.label += FormatNumeric(level) data.Set('sort_%s' % GetByLabel('UI/Common/Date'), r.logDate) data.id = r.skillTypeID data.level = level data.GetMenu = self.GetItemMenu data.MenuFunction = self.GetItemMenu data.OnDblClick = (self.DblClickShowInfo, data) addItem = entries.Get('Generic', data=data) scrolllist.append(addItem) self.scroll.Load( contentList=scrolllist, headers=[ GetByLabel('UI/Common/Date'), GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/Skill'), GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/Action'), GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/Level') ], noContentHint=GetByLabel( 'UI/CharacterSheet/CharacterSheetWindow/SkillTabs/NoRecordsFound' ), reversesort=True)