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

commit a6396056ff78074dfb18d8dde56f82d6404c31f7
parent 21ca81bfcb32145ea265d163a2da245293115f1b
Author: Gummings <wowergummings@gmail.com>
Date:   Wed, 26 Aug 2026 11:40:36 +0800

Update dump to eve-24_01_3478781

Diffstat:
AEVE_API_Analysis.md | 1166+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AEVE_API完整枚举文档.md | 28276+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AEVE_API完整枚举文档_最终版.md | 939+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AEVE_API完整枚举文档_详细版.md | 713+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AEVE_游戏自动化函数使用文档.md | 427+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AEVE内部游戏API深度分析.md | 714+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MREADME.md | 3++-
MUITree/__init__.py | 3++-
MUITree/main.py | 5+++--
Machievement_system/client/api/signal.py | 1+
Machievement_system/client/repository/message_bus/request_messenger.py | 2+-
Machievement_system/client/repository/repository.py | 6+++++-
Machievement_system/client/ui/chip/character_title.py | 6++++++
Dachievements/__init__.py | 2--
Dachievements/client/__init__.py | 2--
Dachievements/client/achievementSvc.py | 201-------------------------------------------------------------------------------
Dachievements/client/eventHandler.py | 369-------------------------------------------------------------------------------
Dachievements/common/__init__.py | 2--
Dachievements/common/achievement.py | 30------------------------------
Dachievements/common/achievementConst.py | 233-------------------------------------------------------------------------------
Dachievements/common/achievementController.py | 86-------------------------------------------------------------------------------
Dachievements/common/achievementGroup.py | 96-------------------------------------------------------------------------------
Dachievements/common/achievementGroupStore.py | 39---------------------------------------
Dachievements/common/achievementGroups.py | 99-------------------------------------------------------------------------------
Dachievements/common/achievementLoader.py | 44--------------------------------------------
Dachievements/common/eventExceptionEater.py | 10----------
Dachievements/common/eventHandlerUtil.py | 27---------------------------
Dachievements/common/opportunityTaskMap.py | 111-------------------------------------------------------------------------------
Dachievements/common/statsTracker.py | 82-------------------------------------------------------------------------------
Dachievements/common/util.py | 68--------------------------------------------------------------------
Mauraguidance/client/repository.py | 5+++--
Mavatardisplay/avatardisplay.py | 6++++--
Mbeeline/__main__.py | 4++--
Mbehaviors/actions/drones.py | 14++++++++------
Mbehaviors/monitors/combat.py | 2+-
Mbehaviors/registry/__init__.py | 13+++++++------
Mbillboards/__init__.py | 3++-
Mbluepy/__init__.py | 11++++++-----
Mbugreporter/__init__.py | 3++-
Mcampaigns/client/repository.py | 2+-
Mcarbon/client/script/graphics/resourceConstructors/gradients.py | 1+
Mcarbon/client/script/util/misc.py | 2+-
Mcarbon/client/script/util/monitor.py | 4+++-
Mcarbon/client/script/util/timeControl.py | 3++-
Mcarbon/common/script/net/ExceptionMappingGPCS.py | 7++++---
Mcarbon/common/script/net/ExceptionWrapperGPCS.py | 11++++++-----
Mcarbon/common/script/net/GPS.py | 4++--
Mcarbon/common/script/net/GPSExceptions.py | 2+-
Mcarbon/common/script/net/ObjectCallGPCS.py | 10+++++-----
Mcarbon/common/script/net/ServiceCallGPCS.py | 14+++++++-------
Mcarbon/common/script/net/SessionChangeGPCS.py | 5+++--
Mcarbon/common/script/net/cachedObject.py | 2+-
Mcarbon/common/script/net/emailSvc.py | 2+-
Mcarbon/common/script/net/httpService.py | 51++++++++++++++++++++++++++-------------------------
Mcarbon/common/script/net/machoNet.py | 126++++++++++++++++++++++++++++++++++++++++---------------------------------------
Mcarbon/common/script/net/machoNetAddress.py | 8++++----
Mcarbon/common/script/net/machoNetExceptions.py | 2+-
Mcarbon/common/script/net/machoNetPacket.py | 4++--
Mcarbon/common/script/net/machoNetTransport.py | 21+++++++++++----------
Mcarbon/common/script/net/machoRunTimeStats.py | 2+-
Mcarbon/common/script/net/machobase.py | 2+-
Mcarbon/common/script/net/metrics.py | 5+++--
Mcarbon/common/script/net/moniker.py | 4++--
Mcarbon/common/script/net/objectCaching.py | 11++++++-----
Mcarbon/common/script/net/xmlrpcClient.py | 3++-
Mcarbon/common/script/sys/alert.py | 25+++++++++++++------------
Mcarbon/common/script/sys/basesession.py | 22+++++++++++-----------
Mcarbon/common/script/sys/cfg.py | 10+++++-----
Mcarbon/common/script/sys/crowset.py | 3++-
Mcarbon/common/script/sys/debugSvc.py | 7++++---
Mcarbon/common/script/sys/row.py | 5+++--
Mcarbon/common/script/sys/sandbox.py | 7++++---
Mcarbon/common/script/sys/service.py | 28++++++++++------------------
Mcarbon/common/script/sys/serviceConst.py | 104++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mcarbon/common/script/sys/serviceManager.py | 59+++++++++++++++++++++++++++++++----------------------------
Mcarbon/common/script/sys/sessions.py | 18+++++++++---------
Mcarbon/common/script/util/datatable.py | 10+++++-----
Mcarbon/common/script/util/format.py | 19++++++++++---------
Mcarbon/common/script/util/htmlwriter.py | 16+++++++++-------
Mcarbon/common/script/util/inspect.py | 4++--
Mcarbon/common/script/util/lbw.py | 11++++++-----
Mcarbon/common/script/util/linalg.py | 17+++++++++--------
Mcarbon/common/script/util/mathUtil.py | 4++--
Mcarbon/common/script/util/numerical.py | 2+-
Mcarbon/common/script/util/prioritizedLoadManager.py | 2+-
Mcarbon/common/script/util/profiling.py | 25+++++++++++++------------
Mcarbon/common/script/util/reftree.py | 18++++++++----------
Mcarbon/common/script/util/safeThread.py | 19++++++++++---------
Mcarbon/common/script/util/traceref.py | 24+++++++++++++-----------
Mcarbon/common/script/util/ttimerutil.py | 51++++++++++++++++++++++++++-------------------------
Mcarbon/common/script/util/typeConversion.py | 3++-
Mcarbon/common/script/util/wrapper.py | 8++++----
Mcarbonui/const.py | 3++-
Mcarbonui/control/browser/browserImageSvc.py | 4++--
Mcarbonui/control/browser/browserutil.py | 9+++++----
Mcarbonui/control/dragdrop/dragdata/__init__.py | 9+++++----
Mcarbonui/control/edit.py | 9+++++----
Mcarbonui/control/editPlainText.py | 14+++++++-------
Mcarbonui/control/editutils/css.py | 2+-
Mcarbonui/control/editutils/parserbase.py | 4++--
Mcarbonui/control/link.py | 2+-
Mcarbonui/control/scroll.py | 6+++---
Mcarbonui/control/scroll_const.py | 2+-
Mcarbonui/control/scrollentries.py | 8++++----
Mcarbonui/control/tab.py | 2+-
Mcarbonui/graphs/axislabels.py | 3++-
Mcarbonui/graphs/datafortesting.py | 818++++++++++++++++++++++++++++++++++++++++----------------------------------------
Mcarbonui/graphs/donchianchannel.py | 3++-
Mcarbonui/handlers/audioHandler.py | 9+++++----
Mcarbonui/primitives/backgroundList.py | 3++-
Mcarbonui/primitives/base.py | 4++--
Mcarbonui/primitives/childrenlist.py | 3++-
Mcarbonui/primitives/layoutGrid.py | 21+++++++++++----------
Mcarbonui/services/command.py | 4++--
Mcarbonui/services/font.py | 2+-
Mcarbonui/services/ime/basehandler.py | 2+-
Mcarbonui/services/registry.py | 15++++++++-------
Mcarbonui/services/settingsSvc.py | 2+-
Mcarbonui/uilib.py | 2+-
Mcarbonui/util/settings.py | 2+-
Mcarbonui/util/stringManip.py | 2+-
Mcarbonui/util/various_unsorted.py | 4++--
Mcarbonui/util/weakrefutil.py | 8++++----
Mcarbonui/window/layout.py | 1+
Mcareergoals/client/goal_data_grouping.py | 3++-
MccpProfile/decorator.py | 11++++++-----
Mcertifi/__main__.py | 3++-
Mcertifi/core.py | 3++-
Mcharactercreator/client/animparams.py | 3++-
Mcharactercreator/client/characterDollUtilities.py | 3++-
Mcharactercreator/client/logging/stepLogger.py | 2+-
Mcharacterenergy/__init__.py | 3++-
Mcharacterenergy/characterEnergyState.py | 2+-
Mcharacterskills/client/purchase.py | 3++-
Mcharacterskills/common/purchase.py | 5+++--
Mchat/client/chat_service.py | 3++-
Mchatutil/__init__.py | 5+++--
Mchroma/mutable.py | 3++-
MclientRefreshToken/refresher.py | 10++++++++--
Mcodereload/xreload.py | 6+++---
McontextualOffers/client/offerMocks.py | 4++--
Mcontracts/contractStruct.py | 2+-
Mcorporation/common/__init__.py | 3++-
Mcorporation/voting/__init__.py | 3++-
Mcorruptionsuppression/systemEffects.py | 2+-
Mcosmetics/client/cosmeticsSvc.py | 3++-
Mcosmetics/client/iconGenerator.py | 3++-
Mcosmetics/client/liveIconRenderer.py | 3++-
Mcosmetics/client/liveIconRendererQueue.py | 3++-
Mcosmetics/common/structures/exceptions.py | 14+++++++-------
Mcrates/crateutil.py | 3++-
Mdatadog/api/users.py | 3++-
Mdatadog/dogshell/comment.py | 85++++++++++++++++++++++++++++++++++++++++---------------------------------------
Mdatadog/dogshell/downtime.py | 17+++++++++--------
Mdatadog/dogshell/event.py | 15++++++++-------
Mdatadog/dogshell/host.py | 9+++++----
Mdatadog/dogshell/monitor.py | 33+++++++++++++++++----------------
Mdatadog/dogshell/screenboard.py | 35++++++++++++++++++-----------------
Mdatadog/dogshell/search.py | 11++++++-----
Mdatadog/dogshell/service_check.py | 5+++--
Mdatadog/dogshell/tag.py | 33+++++++++++++++++----------------
Mdatadog/dogshell/timeboard.py | 37+++++++++++++++++++------------------
Mdatadog/dogshell/wrap.py | 11++++++-----
Mdbuff/common/aggregators.py | 3++-
Mdbuff/const.py | 7++++++-
Mdecometaclass/__init__.py | 3++-
Mdogma/attributes/__init__.py | 21+++++++++++----------
Mdogma/attributes/attribute.py | 31++++++++++++++++---------------
Mdogma/attributes/stackingNurfedAttribute.py | 1+
Mdogma/attributes/uiAttributeGroupUtil.py | 3++-
Mdogma/const.py | 4++++
Mdogma/effects/migration.py | 7++++---
Mdogma/effects/util.py | 5+++--
Mdogma/items/baseDogmaItem.py | 5+++--
Mdogma/items/characterDogmaItem.py | 3++-
Mdogma/items/dblessDogmaItem.py | 3++-
Mdogma/items/droneDogmaItem.py | 3++-
Mdogma/items/fittableDogmaItem.py | 3++-
Mdogma/items/locationDogmaItem.py | 3++-
Mdogma/items/moduleDogmaItem.py | 3++-
Mdogma/items/probeDogmaItem.py | 3++-
Mdogma/items/shipDogmaItem.py | 3++-
Mdogma/items/starbaseDogmaItem.py | 3++-
Mdogma/items/structureDogmaItem.py | 3++-
Mdogma/items/structureModuleDogmaItem.py | 3++-
MdotWeapons/client/dotClientUtil.py | 4++--
MdotWeapons/common/dotRegistry.py | 2+-
Mdrawingpolygon/drawingarea.py | 3++-
Mentosis/ui/entosisController.py | 2+-
Meve/client/script/dogma/clientDogmaIM.py | 3++-
Meve/client/script/dogma/clientDogmaLocation.py | 2+-
Meve/client/script/environment/effects/CameraAttachmentEffect.py | 3++-
Meve/client/script/environment/fittingSvc.py | 4++--
Meve/client/script/environment/godma.py | 12+++++++-----
Meve/client/script/environment/invCache.py | 79++++++++++++++++++++++++++++++++++++++++---------------------------------------
Meve/client/script/environment/invControllers.py | 2+-
Meve/client/script/environment/planet/clientColony.py | 12++++++------
Meve/client/script/environment/planet/clientPlanet.py | 4++--
Meve/client/script/environment/spaceObject/ExplosionManager.py | 3++-
Meve/client/script/environment/spaceObject/beacon.py | 3++-
Meve/client/script/environment/spaceObject/cosmeticsManager.py | 8+++++---
Meve/client/script/environment/spaceObject/fighterSquadron.py | 3++-
Meve/client/script/environment/spaceObject/repository.py | 6+++++-
Meve/client/script/environment/spaceObject/spaceObject.py | 25+++++++++++++++++++++++++
Meve/client/script/environment/spaceObject/structure.py | 4++--
Meve/client/script/environment/vgsService.py | 21---------------------
Meve/client/script/industry/mixins.py | 8++++----
Meve/client/script/paperDoll/SkinLightmapRenderer.py | 6++++--
Meve/client/script/paperDoll/paperDollImpl.py | 3++-
Meve/client/script/paperDoll/paperDollPortrait.py | 5+++--
Meve/client/script/paperDoll/paperDollSculpting.py | 15++++++++-------
Meve/client/script/paperDoll/renderDrivers.py | 7++++---
Meve/client/script/parklife/autopilot.py | 4++--
Meve/client/script/parklife/bracketMgr.py | 2+-
Meve/client/script/parklife/consider.py | 10+++++-----
Meve/client/script/parklife/damageSvc.py | 2+-
Meve/client/script/parklife/dungeonEditorTools.py | 8++++----
Meve/client/script/parklife/fleetSvc.py | 9+++++----
Meve/client/script/parklife/fxSequencer.py | 2+-
Meve/client/script/parklife/gameui.py | 9+++++----
Meve/client/script/parklife/overview/default/data/jotunn_default.py | 2+-
Meve/client/script/parklife/playerOwned.py | 12++++++------
Meve/client/script/parklife/recorder.py | 3++-
Meve/client/script/parklife/scenarioMgr.py | 7++++---
Meve/client/script/parklife/spaceMgr.py | 2+-
Meve/client/script/parklife/tactical.py | 13+++++++------
Meve/client/script/parklife/tacticalConst.py | 1+
Meve/client/script/parklife/targetMgr.py | 2+-
Meve/client/script/remote/michelle.py | 59++++++++++++++++++++++++++++++-----------------------------
Meve/client/script/sys/clientStatsSvc.py | 20++++++++++----------
Meve/client/script/ui/camera/baseSpaceCamera.py | 2+-
Meve/client/script/ui/camera/capitalHangarCameraController.py | 3++-
Meve/client/script/ui/camera/hangarCameraController.py | 3++-
Meve/client/script/ui/camera/modularHangarCameraController.py | 3++-
Meve/client/script/ui/camera/modularHangarCapitalCameraController.py | 3++-
Meve/client/script/ui/camera/shipOrbitCameraController.py | 3++-
Meve/client/script/ui/camera/shipPOVCameraController.py | 3++-
Meve/client/script/ui/camera/starmapCamera.py | 3++-
Meve/client/script/ui/camera/vcsConsumerCamera.py | 3++-
Meve/client/script/ui/control/colorpicker.py | 3++-
Meve/client/script/ui/control/dateSinglelineEdit.py | 2+-
Meve/client/script/ui/control/entries/kill_mail.py | 4++--
Meve/client/script/ui/control/eveIcon.py | 4++--
Meve/client/script/ui/control/skillBar/skillBar.py | 3++-
Meve/client/script/ui/control/utilMenu.py | 2+-
Meve/client/script/ui/cosmetics/ship/tradingUtil.py | 2+-
Meve/client/script/ui/crate/view/hacking.py | 2+-
Meve/client/script/ui/crimewatch/crimewatchHints.py | 2+-
Meve/client/script/ui/eveCommands.py | 5+++--
Meve/client/script/ui/inflight/bracketsAndTargets/inSpaceBracket.py | 2+-
Meve/client/script/ui/inflight/bracketsAndTargets/skyhookBracket.py | 4++--
Meve/client/script/ui/inflight/bracketsAndTargets/structureBracket.py | 4++--
Meve/client/script/ui/inflight/bracketsAndTargets/targetIconCont.py | 3++-
Meve/client/script/ui/inflight/bracketsAndTargets/targetInBar.py | 5++++-
Meve/client/script/ui/inflight/drone.py | 4++--
Meve/client/script/ui/inflight/drones/dronesWindow.py | 2+-
Meve/client/script/ui/inflight/moondefencebutton.py | 4++--
Meve/client/script/ui/inflight/moonmining.py | 18+++++++++---------
Meve/client/script/ui/inflight/overViewLabel.py | 6+++---
Meve/client/script/ui/inflight/overview/overviewScrollEntry.py | 2+-
Meve/client/script/ui/inflight/overview/overviewWindow.py | 2+-
Meve/client/script/ui/inflight/overviewSettings/overviewBracketLabelPreview.py | 8++++----
Meve/client/script/ui/inflight/overviewSettings/tabsPanel.py | 2+-
Meve/client/script/ui/inflight/scannerFiles/directionalScanUtil.py | 2+-
Meve/client/script/ui/inflight/scannerFiles/moonScanner.py | 2+-
Meve/client/script/ui/inflight/scannerListEntries.py | 2+-
Meve/client/script/ui/inflight/selectedItemWnd.py | 123+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------
Meve/client/script/ui/inflight/shipHud/buffButtons.py | 2+-
Meve/client/script/ui/inflight/shipHud/slotsContainer.py | 4++--
Meve/client/script/ui/inflight/shipModuleButton/shipmodulebutton.py | 8++++----
Meve/client/script/ui/login/antiaddiction.py | 1+
Meve/client/script/ui/login/charSelection/timeLeftCounters.py | 2+-
Meve/client/script/ui/login/charcreation/bloodlineDollLoader.py | 3++-
Meve/client/script/ui/login/charcreation/bloodlineSelector.py | 3++-
Meve/client/script/ui/login/charcreation/charCreationColorPicker.py | 7++++---
Meve/client/script/ui/login/charcreation/charCreationNavigation.py | 2+-
Meve/client/script/ui/login/charcreation_new/charCreationColorPicker.py | 7++++---
Meve/client/script/ui/moonmining/schedulingSvc.py | 2+-
Meve/client/script/ui/services/accountsvc.py | 2+-
Meve/client/script/ui/services/alliances/all_cso_alliance.py | 8++++----
Meve/client/script/ui/services/alliances/all_cso_applications.py | 2+-
Meve/client/script/ui/services/alliances/all_cso_members.py | 2+-
Meve/client/script/ui/services/alliances/all_cso_relationships.py | 6+++---
Meve/client/script/ui/services/bugReporting.py | 5+++--
Meve/client/script/ui/services/character.py | 3++-
Meve/client/script/ui/services/corporation/base_corporation.py | 2+-
Meve/client/script/ui/services/corporation/bco_alliance.py | 2+-
Meve/client/script/ui/services/corporation/bco_corporations.py | 14+++++++-------
Meve/client/script/ui/services/corporation/bco_members.py | 2+-
Meve/client/script/ui/services/corporation/bco_shares.py | 6+++---
Meve/client/script/ui/services/corporation/bco_titles.py | 4++--
Meve/client/script/ui/services/corporation/corp_util.py | 2+-
Meve/client/script/ui/services/encodedItemsWindow.py | 2+-
Meve/client/script/ui/services/evePhotosvc.py | 10++++++----
Meve/client/script/ui/services/marketsvc.py | 2+-
Meve/client/script/ui/services/medals.py | 2+-
Meve/client/script/ui/services/menuAction.py | 2+-
Meve/client/script/ui/services/menuSvcExtras/menuFunctions.py | 2+-
Meve/client/script/ui/services/menusvc.py | 8++++----
Meve/client/script/ui/services/sessionChangeWindowOpener.py | 4++--
Meve/client/script/ui/services/skillsvc.py | 2+-
Meve/client/script/ui/services/surveySvc.py | 2+-
Meve/client/script/ui/services/wars/war_cso.py | 4++--
Meve/client/script/ui/shared/agencyNew/ui/common/helpPanel.py | 3++-
Meve/client/script/ui/shared/agencyNew/ui/contentGroupCards/verticalContentGroupCard.py | 3++-
Meve/client/script/ui/shared/agencyNew/ui/contentPages/contentPageSeasons.py | 4++--
Meve/client/script/ui/shared/assets/assetSafetyEntry.py | 2+-
Meve/client/script/ui/shared/dynamicResource/__init__.py | 3++-
Meve/client/script/ui/shared/epicArcs/epicArcController.py | 3++-
Meve/client/script/ui/shared/eveCalendar.py | 2+-
Meve/client/script/ui/shared/factionalWarfare/enlistmentFlow/backgroundDeco.py | 3++-
Meve/client/script/ui/shared/fitting/cleanShipButton.py | 3++-
Meve/client/script/ui/shared/fitting/shipSceneContainer.py | 2+-
Meve/client/script/ui/shared/fittingScreen/fittingPanels/minihangar.py | 2+-
Meve/client/script/ui/shared/fittingScreen/ghostFittingSvc.py | 3++-
Meve/client/script/ui/shared/fittingScreen/priceLabel.py | 4++--
Meve/client/script/ui/shared/fittingScreen/pythonEffects.py | 2+-
Meve/client/script/ui/shared/fittingScreen/tryFit.py | 2+-
Meve/client/script/ui/shared/fleet/fleetWatchList.py | 3++-
Meve/client/script/ui/shared/fleet/fleetbroadcast.py | 2+-
Meve/client/script/ui/shared/industry/browserBlueprints.py | 3++-
Meve/client/script/ui/shared/industry/industryWnd.py | 2+-
Meve/client/script/ui/shared/industry/tests/test_jump.py | 2+-
Meve/client/script/ui/shared/info/infoContentBase.py | 6+++---
Meve/client/script/ui/shared/info/infosvc.py | 2+-
Meve/client/script/ui/shared/inventory/test/test_neocomInventoryBadging.py | 92++++++++++++++++++++++++++++++++++++++++----------------------------------------
Meve/client/script/ui/shared/item.py | 6+++---
Meve/client/script/ui/shared/logOffWnd.py | 2+-
Meve/client/script/ui/shared/loginRewards/loginRewardsWnd.py | 2+-
Meve/client/script/ui/shared/loginRewards/rewardToggleButtonGroupButton.py | 2+-
Meve/client/script/ui/shared/mapView/analytics/mapViewLogger.py | 3++-
Meve/client/script/ui/shared/mapView/categories/category_setting_listener.py | 3++-
Meve/client/script/ui/shared/mapView/categories/const.py | 3+--
Meve/client/script/ui/shared/mapView/colorModeSettingsButton.py | 8++++----
Meve/client/script/ui/shared/mapView/dockPanelSubFrame.py | 3++-
Meve/client/script/ui/shared/mapView/filters/filtersByID.py | 1-
Meve/client/script/ui/shared/mapView/hexagonal/hexCell.py | 3++-
Meve/client/script/ui/shared/mapView/hexagonal/hexMap.py | 11++++++-----
Meve/client/script/ui/shared/mapView/hexagonal/hexMapUtil.py | 25+++++++++++++------------
Meve/client/script/ui/shared/mapView/hexagonal/hexUtil.py | 5+++--
Meve/client/script/ui/shared/mapView/layout/mapLayoutHandler.py | 2+-
Meve/client/script/ui/shared/mapView/mapDebugContainer.py | 2+-
Meve/client/script/ui/shared/mapView/mapViewFiltered.py | 5+++--
Meve/client/script/ui/shared/mapView/mapViewLineOpacity.py | 3++-
Meve/client/script/ui/shared/mapView/mapViewProbeHandlerStandalone.py | 3++-
Meve/client/script/ui/shared/mapView/mapViewWorld.py | 3++-
Meve/client/script/ui/shared/mapView/mapViewWorldNavigation.py | 2+-
Meve/client/script/ui/shared/mapView/markers/mapMarkerBase.py | 2+-
Meve/client/script/ui/shared/mapView/markers/mapMarkerSolarSystem.py | 2+-
Meve/client/script/ui/shared/mapView/markers/mapMarkerSovHub.py | 3++-
Meve/client/script/ui/shared/maps/mapcommon.py | 1-
Meve/client/script/ui/shared/maps/navigation.py | 2+-
Meve/client/script/ui/shared/maps/starMapSvc.py | 2+-
Meve/client/script/ui/shared/maps/starModeHandler.py | 2+-
Meve/client/script/ui/shared/market/buyThisTypeWindow.py | 2+-
Meve/client/script/ui/shared/market/marketbase.py | 8++++----
Meve/client/script/ui/shared/market/orders.py | 2+-
Meve/client/script/ui/shared/medalribbonranks.py | 6+++---
Meve/client/script/ui/shared/neocom/Alliances/all_ui_applications.py | 2+-
Meve/client/script/ui/shared/neocom/Alliances/all_ui_systems.py | 2+-
Meve/client/script/ui/shared/neocom/attributes.py | 4++--
Meve/client/script/ui/shared/neocom/charsheet/charSheetUtil.py | 2+-
Meve/client/script/ui/shared/neocom/charsheet/decorationsPanel.py | 2+-
Meve/client/script/ui/shared/neocom/contracts/contractentry.py | 2+-
Meve/client/script/ui/shared/neocom/corporation/corp_dlg_edit_member.py | 2+-
Meve/client/script/ui/shared/neocom/corporation/corp_ui_accounts.py | 8++++----
Meve/client/script/ui/shared/neocom/corporation/corp_ui_home.py | 4++--
Meve/client/script/ui/shared/neocom/corporation/corp_ui_member_decorations.py | 4++--
Meve/client/script/ui/shared/neocom/corporation/corp_ui_member_find.py | 10+++++-----
Meve/client/script/ui/shared/neocom/corporation/corp_ui_member_listentry.py | 12++++++------
Meve/client/script/ui/shared/neocom/corporation/corp_ui_member_titles.py | 8++++----
Meve/client/script/ui/shared/neocom/corporation/corp_ui_member_view_role_mgt.py | 2+-
Meve/client/script/ui/shared/neocom/corporation/corp_ui_member_view_task_mgt.py | 10+++++-----
Meve/client/script/ui/shared/neocom/corporation/corp_ui_sanctionableactions.py | 4++--
Meve/client/script/ui/shared/neocom/corporation/corp_ui_votes.py | 2+-
Meve/client/script/ui/shared/neocom/corporation/war/warKillEntry.py | 2+-
Meve/client/script/ui/shared/neocom/evemail.py | 2+-
Meve/client/script/ui/shared/neocom/neocom/btnData/btnDataAchievements.py | 74+++++++++++++++++++++++++++++++++++++++++++++-----------------------------
Meve/client/script/ui/shared/neocom/neocom/neocomPanelEntries.py | 6++++--
Meve/client/script/ui/shared/neocom/neocom/neocomPanels.py | 3++-
Meve/client/script/ui/shared/neocom/neocom/neocomSvc.py | 37+++++++++++++++++++++++++++++++++++--
Meve/client/script/ui/shared/neocom/notepad.py | 10+++++-----
Meve/client/script/ui/shared/neocom/ownerSearch.py | 2+-
Meve/client/script/ui/shared/neocom/petition.py | 2+-
Meve/client/script/ui/shared/neocom/petitionWindow.py | 2+-
Meve/client/script/ui/shared/planet/colonyTemplateLoading.py | 2+-
Meve/client/script/ui/shared/planet/colonyTemplateWindow.py | 2+-
Meve/client/script/ui/shared/planet/pinContainers/ecuContainer.py | 6+++---
Meve/client/script/ui/shared/planet/planetUtil.py | 2+-
Meve/client/script/ui/shared/planet/templatePreviewWindow.py | 5+++--
Meve/client/script/ui/shared/pointerTool/entry.py | 2+-
Meve/client/script/ui/shared/pointerTool/helpPointerSvc.py | 2+-
Meve/client/script/ui/shared/pointerTool/pointerOverlay.py | 2+-
Meve/client/script/ui/shared/pointerTool/pointerWnd.py | 7++++---
Meve/client/script/ui/shared/pointerTool/textContainerWithSubIcon.py | 2+-
Meve/client/script/ui/shared/preview.py | 1+
Meve/client/script/ui/shared/progressWnd.py | 2+-
Meve/client/script/ui/shared/radialMenu/radialMenu.py | 11++++++-----
Meve/client/script/ui/shared/shipTree/infoBubble.py | 2+-
Meve/client/script/ui/shared/shipTree/shipTreeLayer.py | 3++-
Meve/client/script/ui/shared/shipTree/shipTreeShipGroup.py | 5+++--
Meve/client/script/ui/shared/shipTree/shipTreeShipIcon.py | 3++-
Meve/client/script/ui/shared/shortcuts.py | 5+++--
Meve/client/script/ui/shared/skins/skinPanel.py | 3++-
Meve/client/script/ui/shared/skyhook/fakeData.py | 5+++--
Meve/client/script/ui/shared/skyhook/skyhookWnd.py | 2+-
Meve/client/script/ui/shared/sov/threadedLoader.py | 2+-
Meve/client/script/ui/shared/systemMenu/systemmenu.py | 2+-
Meve/client/script/ui/shared/theatersOfWar/dashboard/dashboard.py | 11++++++++---
Meve/client/script/ui/shared/theatersOfWar/dashboard/windowController.py | 3++-
Meve/client/script/ui/shared/uilog.py | 2+-
Meve/client/script/ui/shared/underConstruction/util.py | 2+-
Meve/client/script/ui/skillPlan/browser/skillPlanEntry.py | 2+-
Meve/client/script/ui/skillPlan/milestone/milestoneProgressIndicator.py | 3++-
Meve/client/script/ui/skillPlan/selectedPlan/selectedSkillPlanContainer.py | 2+-
Meve/client/script/ui/skillPlan/skillPlanEditor/skillPlanEditorOverview.py | 3++-
Meve/client/script/ui/skillPlan/skillQueuePanel/skillQueueSkillEntry.py | 2+-
Meve/client/script/ui/skillTree/skillTreeNode.py | 5+++--
Meve/client/script/ui/station/insurance/base_insurance.py | 2+-
Meve/client/script/ui/station/missions/missionentry.py | 2+-
Meve/client/script/ui/structure/dropbox/dropboxWnd.py | 2+-
Meve/client/script/ui/util/form.py | 30+++++++++++++++---------------
Meve/client/script/ui/util/gradientEdit.py | 4++--
Meve/client/script/ui/util/uix.py | 9+++++----
Meve/client/script/ui/view/hangarBehaviours/baseHangarBehaviours.py | 9++++++++-
Meve/client/script/ui/view/hangarBehaviours/defaultHangarBehaviours.py | 3++-
Meve/client/script/ui/view/hangarBehaviours/modularHangarBehaviours.py | 11+++++++----
Meve/client/script/ui/view/hangarBehaviours/modularHangarCapitalBehaviours.py | 6++++--
Meve/client/script/ui/view/hangarRegistry.py | 5+++--
Meve/client/script/ui/view/hangarView.py | 3++-
Meve/client/script/util/contractutils.py | 10+++++-----
Meve/client/script/util/eveMisc.py | 6+++---
Meve/client/script/util/godmarowset.py | 5+++--
Meve/client/script/util/profiling.py | 9+++++----
Meve/client/script/util/webtools.py | 3++-
Meve/common/script/dogma/baseDogmaLocation.py | 6+++---
Meve/common/script/dogma/baseDogmaStaticSvc.py | 4++--
Meve/common/script/dogma/online.py | 2+-
Meve/common/script/mgt/buffBarConst.py | 8++++++--
Meve/common/script/net/eveMachoNet.py | 8++++----
Meve/common/script/paperDoll/paperDollDataManagement.py | 3++-
Meve/common/script/paperDoll/paperDollTestUtils.py | 9+++++----
Meve/common/script/sys/eveCfg.py | 2+-
Meve/common/script/sys/eveSessions.py | 4++--
Meve/common/script/sys/rowset.py | 6+++---
Meve/common/script/sys/strangeStrings.py | 3++-
Meve/common/script/util/contractscommon.py | 2+-
Meve/common/script/util/esiUtils.py | 3++-
Meve/common/script/util/notificationUtil.py | 3++-
Meve/common/script/util/test/test_retry.py | 3++-
Meve/devtools/script/amdFidelityFx.py | 3++-
Meve/devtools/script/campaignDebugger.py | 2+-
Meve/devtools/script/dna.py | 16++++++++--------
Meve/devtools/script/dogmaTimeWnd.py | 4++--
Meve/devtools/script/insider.py | 9+++++----
Meve/devtools/script/itools.py | 7++++---
Meve/devtools/script/mapEditor/mapEditorWnd.py | 8+++++---
Meve/devtools/script/menu_charge.py | 1+
Meve/devtools/script/networkdatamonitor.py | 1+
Meve/devtools/script/param.py | 4++--
Meve/devtools/script/pythonobjects.py | 3++-
Meve/devtools/script/renderjobprofiler.py | 3++-
Meve/devtools/script/slashError.py | 2+-
Meve/devtools/script/spiffy.py | 17+++++++++--------
Meve/devtools/script/svc_copycat2.py | 16+++++++++-------
Meve/devtools/script/svc_dgmattr.py | 8+++++++-
Meve/devtools/script/svc_invtools.py | 25+++++++++++++------------
Meve/devtools/script/svc_modtest.py | 5+++--
Meve/devtools/script/svc_poser.py | 2+-
Meve/devtools/script/svc_simulator.py | 6+++---
Meve/devtools/script/svc_slash.py | 9+++++----
Meve/devtools/script/telemetrypanel.py | 7++++---
Meve/devtools/script/tournamentRefereeTools.py | 2+-
Meve/devtools/script/uiControlCatalog/__init__.py | 9+++++----
Meve/devtools/script/uiControlCatalog/sample.py | 2+-
Meve/devtools/script/uiEventListener.py | 2+-
Meve/devtools/script/uiPerformanceTestWnd.py | 3++-
Meve/devtools/script/warpVector.py | 17+++++++++--------
Meve/devtools/script/windowManager.py | 2+-
MeveProto/__init__.py | 6++++--
AeveProto/generated/eve/academy/__init__.py | 2++
AeveProto/generated/eve/academy/ships/__init__.py | 2++
AeveProto/generated/eve/academy/ships/events_pb2.py | 38++++++++++++++++++++++++++++++++++++++
MeveProto/generated/eve/achievement/api/admin/requests_pb2.py | 57++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
MeveProto/generated/eve/achievement/reward/api/requests_pb2.py | 20+++++++++++++-------
MeveProto/generated/eve/assetholding/entitlement/entitlement_pb2.py | 20+++++++++++---------
MeveProto/generated/eve/career/admin/admin_pb2.py | 26+++++++++++++++++---------
MeveProto/generated/eve/career/goal/api/admin/events_pb2.py | 8+++++---
MeveProto/generated/eve/career/goal/api/admin/requests_pb2.py | 18+++++++++++-------
MeveProto/generated/eve/career/goal/api/events_pb2.py | 8+++++---
MeveProto/generated/eve/career/goal/api/requests_pb2.py | 10++++++----
MeveProto/generated/eve/career/goal_pb2.py | 26++++++++++++++++----------
MeveProto/generated/eve/career/path_pb2.py | 5+++--
AeveProto/generated/eve/character/api/events_pb2.py | 95+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DeveProto/generated/eve/character/api_pb2.py | 32--------------------------------
DeveProto/generated/eve/character/location/presence/__init__.py | 2--
DeveProto/generated/eve/character/location/presence/api/__init__.py | 2--
DeveProto/generated/eve/character/location/presence/api/events_pb2.py | 65-----------------------------------------------------------------
DeveProto/generated/eve/character/location/presence/api/requests_pb2.py | 25-------------------------
DeveProto/generated/eve/character/location/presence_pb2.py | 97-------------------------------------------------------------------------------
MeveProto/generated/eve/character/logonstatus_pb2.py | 5+++--
AeveProto/generated/eve/corporation/logo/__init__.py | 2++
AeveProto/generated/eve/corporation/logo/api/__init__.py | 2++
AeveProto/generated/eve/corporation/logo/api/requests_pb2.py | 23+++++++++++++++++++++++
MeveProto/generated/eve/cosmetic/market/component/listing/api/events_pb2.py | 10++++++++--
MeveProto/generated/eve/cosmetic/market/skin/listing/api/admin/requests_pb2.py | 8+++++---
MeveProto/generated/eve/cosmetic/market/skin/listing/api/events_pb2.py | 29++++++++++++++++++-----------
MeveProto/generated/eve/cosmetic/market/skin/listing/api/request_pb2.py | 14+++++++++++++-
MeveProto/generated/eve/cosmetic/ship/skin/thirdparty/component/license/finite/api/events_pb2.py | 6++++--
MeveProto/generated/eve/cosmetic/ship/skin/thirdparty/component/license/infinite/api/events_pb2.py | 6++++--
MeveProto/generated/eve/deadspace/abyssal/event_pb2.py | 20++++++++++++++++----
AeveProto/generated/eve/inventory/meta_group_pb2.py | 14++++++++++++++
MeveProto/generated/eve/pvp/ship/api_pb2.py | 15+++++++++++----
MeveProto/generated/eve/tag/tag_pb2.py | 5+++--
MeveProto/generated/eve/tournament/ruleset/ruleset_pb2.py | 189+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
AeveProto/generated/eve/user/tag/__init__.py | 2++
AeveProto/generated/eve/user/tag/api/__init__.py | 2++
AeveProto/generated/eve/user/tag/api/requests_pb2.py | 36++++++++++++++++++++++++++++++++++++
MeveProto/generated/eve/user/tag_pb2.py | 15++++++++-------
AeveProto/generated/eve_public/academy/__init__.py | 2++
AeveProto/generated/eve_public/academy/ships/__init__.py | 2++
AeveProto/generated/eve_public/academy/ships/events_pb2.py | 20++++++++++++++++++++
AeveProto/generated/eve_public/achievement/category/api/admin/__init__.py | 2++
AeveProto/generated/eve_public/achievement/category/api/admin/requests_pb2.py | 21+++++++++++++++++++++
MeveProto/generated/eve_public/achievement/reward/api/requests_pb2.py | 28+++++++++++++++++-----------
MeveProto/generated/eve_public/app/launcher/personality_quiz/api/events_pb2.py | 5+++--
MeveProto/generated/eve_public/career/career_pb2.py | 5+++--
MeveProto/generated/eve_public/career/goal/api/admin/requests_pb2.py | 14+++++++++-----
MeveProto/generated/eve_public/career/goal/api/notices_pb2.py | 8+++++---
MeveProto/generated/eve_public/career/goal/api/requests_pb2.py | 26++++++++++++++++----------
MeveProto/generated/eve_public/career/goal_pb2.py | 22++++++++++++++--------
DeveProto/generated/eve_public/character/location/presence_pb2.py | 24------------------------
MeveProto/monolith_converters/__init__.py | 11++++++-----
MeveSpaceObject/__init__.py | 8++++++--
MeveSpaceObject/moonDrillComponent.py | 3++-
Meveaudio/const.py | 3++-
Meveaudio/trinity_utils.py | 3++-
Mevebannerads/banner_ad_service.py | 2+-
Meveclientqatools/assetlab.py | 5+++--
Meveclientqatools/gfxpreviewer.py | 3++-
Meveclientqatools/impactVisualizationController.py | 13+++++++------
Meveclientqatools/sofpreviewer.py | 9+++++----
Meveclientqatools/sofpreviewer/highslotselection/viewcontroller.py | 5+++--
Meveclientqatools/sofpreviewer/materialselection/viewcontroller.py | 5+++--
Meveclientqatools/sofpreviewer/model.py | 3++-
Meveclientqatools/sofpreviewer/sofselection/viewcontroller.py | 8+++++---
Meveclientqatools/sofpreviewer/viewcontroller.py | 9+++++----
Meveclientqatools/sofpreviewer/viewhelper.py | 3++-
Meveclientqatools/sofpreviewer/visualization/viewcontroller.py | 10++++++----
Meveclientqatools/tablereports.py | 1+
Mevedungeons/client/data.py | 16++++++++++++++++
Meveexceptions/__init__.py | 14+++++++-------
Meveexceptions/exceptionEater.py | 2+-
Mevefleet/error.py | 2+-
Mevegraphics/controllers/expressiontree.py | 3++-
Mevegraphics/environments/environmentAudio.py | 3++-
Mevegraphics/environments/staticParticleField.py | 3++-
Mevegraphics/validation/__init__.py | 3++-
Mevegraphics/validation/validators/decalValidation.py | 5+++--
Mevegraphics/validation/validators/locatorValidation.py | 3++-
Mevegraphics/validation/validators/meshValidation.py | 3++-
Mevegraphics/validation/validators/particleSystemValidation.py | 3++-
Mevelink/client/handlers/local_service/parse.py | 3++-
Mevelink/client/handlers/web.py | 22+++++-----------------
Mevelink/client/registry.py | 6+++---
Mevemap/map2d/fakeData/fakeDataUtil.py | 3++-
Mevemap/map2d/overriddenCoordinates.py | 5+++--
Meveprefs/__init__.py | 3++-
Meveprefs/iniformat.py | 3++-
Meveui/data_display/table/table.py | 5+++--
Meveui/decorators.py | 6+++---
MexpertSystems/client/ui/skill_list.py | 2+-
Mfsd/common/pathSpecifiers.py | 2+-
Mfsd/diffMergeTool/toolUI.py | 5+++--
Mfsd/mapReduce/__init__.py | 3++-
Mfsd/mapReduce/operations.py | 3++-
Mfsd/schemas/benchmarks/benchmarkDictOffsetDataLookup.py | 5+++--
Mfsd/schemas/benchmarks/benchmark_indexes.py | 7++++---
Mfsd/schemas/binaryLoader.py | 15+++++++--------
Mfsd/schemas/binaryRepresenter.py | 9+++++----
Mfsd/schemas/schemaOptimizer.py | 10++++++----
Mfsd/schemas/validator.py | 3++-
Mfsd/simpleSearch/dataSearch.py | 3++-
MfsdBuiltData/common/base.py | 3++-
MfsdUtilities/loaders.py | 5+++--
Mfsdlite/storage.py | 3++-
Mfsdlite/util.py | 8++++----
Mfunctoolsext/__init__.py | 2+-
Mfuture/builtins/newsuper.py | 2+-
Mfwwarzone/client/dashboard/fwMapStar.py | 2+-
Mfwwarzone/client/dashboard/mapData.py | 2+-
Mfwwarzone/client/dashboard/warzoneInfoSideCont.py | 2+-
Mfwwarzone/client/dashboard/warzoneMapPanel.py | 2++
Mgametime/__init__.py | 2+-
Mhttplib2/__init__.py | 88++++++++++++++++++++++++++++++++++++++++---------------------------------------
Miconrendering2/icongenerator.py | 11++++++-----
Miconrendering2/metadata.py | 3++-
Miconrendering2/renderers/renderer_apparel.py | 15++++++++-------
Miconrendering2/renderers/renderer_fromfile.py | 5+++--
Miconrendering2/renderers/renderer_hologram.py | 5+++--
Miconrendering2/renderers/renderer_planetary_pin.py | 7++++---
Miconrendering2/renderers/renderer_spaceobject.py | 9+++++----
Miconrendering2/renderers/renderer_sun.py | 7++++---
Miconrendering2/renderers/utils_scene.py | 12+++++++++---
Mindustry/activities/invention.py | 1+
Mindustry/activity.py | 1+
Minfobubbles/converter.py | 3++-
Minventorycommon/const.py | 7++++++-
Mjobboard/client/features/campaigns/job.py | 6+++---
Mjobboard/client/job_provider.py | 2+-
Mjobboard/client/ui/pages/home_page.py | 5+++++
Mlocalization/__init__.py | 5+++--
Mlocalization/localizationBase.py | 10++++++----
Mlocalization/parser.py | 29+++++++++++++++--------------
Mlocalization/propertyHandlers/basePropertyHandler.py | 16+++++++++-------
Mlocalization/uiutil.py | 2+-
Mlocks/__init__.py | 81++++++++++++++++++++++++++++++++++++++++---------------------------------------
Mlogmodule/__init__.py | 65+++++++++++++++++++++++++++++++++--------------------------------
MlpOffers/exceptions.py | 6+++---
Mmachonet_tracing/__init__.py | 2+-
Mmachonethelpers/argchecker.py | 4++--
Mmarketutil/__init__.py | 3++-
Mmenucheckers/celestialCheckers.py | 6+++---
Mmissions/client/missionObjectivesTracker.py | 4++--
Mmonolithdisconnectlogger/__init__.py | 5+++--
Mmonolithdisconnectlogger/logger.py | 3++-
Mmonolithhoneycomb_events/__init__.py | 5+++--
Mmonolithhoneycomb_events/event_sample_rates.py | 3++-
Mmonolithmetrics/_both.py | 5+++--
Mmonolithmetrics/_prometheus.py | 5+++--
Mmonolithmetrics/_statsd.py | 3++-
Mmonolithmetrics/tags.py | 3++-
Mmultiprocessing/pool.pyc | 0
Mnodegraph/client/actions/inventory.py | 2+-
Mnodegraph/client/custom_graph.py | 17+++++++++--------
Mnodegraph/client/ui/controller.py | 7++++---
Mnodegraph/client/ui/controllers/graph_controller.py | 15++++++++-------
Mnodegraph/common/shell_tools.py | 11++++++-----
Mnotifications/client/controls/treeViewSettingsItem.py | 3++-
Mnotifications/client/development/notificationDevUI.py | 5+++--
Mnotifications/client/generator/notificationGenerator.py | 5+++--
Mnotifications/client/notificationUI.py | 5+++--
Mnotifications/common/formatters/ccpDevNews.py | 3++-
Mnotifications/common/formatters/ccpGameNews.py | 3++-
Mnotifications/common/formatters/ccpOutOfGameNews.py | 3++-
Mnotifications/common/formatters/ccpServerNews.py | 3++-
Mnotifications/common/formatters/contextualOffers.py | 3++-
Mnotifications/common/formatters/sovIHubBillAboutToExpire.py | 2+-
Mnotifications/common/formatters/sovStationEnteredFreeport.py | 2+-
Mnotifications/common/formatters/sovStructureReinforced.py | 2+-
Mnotifications/common/formatters/ticketReply.py | 3++-
Mnotifications/common/formatters/war.py | 6+++---
Mobjectives/client/objective_task/destroy_counter.py | 2+-
Mobjectives/client/objective_task/inventory.py | 16++++++++++++++--
Mobjectives/client/objective_task/target.py | 2+-
Moperations/common/warpSites.py | 3++-
Mosutils/outofprockiller.py | 3++-
Mosutils/subst.py | 9+++++----
Mosutils/win32api/waitables.py | 8++++----
Mpaints/data/dataLoader.py | 2+-
Mpirateinsurgency/client/dashboard/map.py | 3++-
Mplatformtools/__init__.py | 4++--
Mprobescanning/const.py | 7++++++-
Mprobescanning/scanBonusController.py | 1+
Mprobescanning/scanHandler.py | 3++-
Mprojectdiscovery/client/projects/exoplanets/graphs/exoplanetsgraph.py | 3++-
Mprojectdiscovery/client/projects/subcellular/resultwindow.py | 5+++--
Mprojectdiscovery/client/projects/subcellular/subcellularatlas.py | 5+++--
Mprojectdiscovery/client/projects/subcellular/tutorial.py | 13+++++++------
MpublicGateway/grpc/spanManager.py | 3++-
Mpympler/asizeof.py | 7++++---
Mpympler/mprofile.py | 3++-
Mpympler/muppy.py | 3++-
Mpympler/refbrowser.py | 3++-
Mpympler/summary.py | 3++-
Mpympler/tracker.py | 3++-
Mpytelemetry/dumpmanager.py | 7++++---
Mremotefilecache/__init__.py | 3++-
Mreprocessing/ui/reprocessingWnd.py | 9++++++---
Mrequests/certs.py | 3++-
Mrsa/key.py | 7++++---
Mrsa/pkcs1.py | 7++++---
Mrsa/prime.py | 7++++---
Mscriber/filters.py | 1+
Mscriber/htmlutils.py | 46++++++++++++++++++++++++----------------------
Mscriber/httputils.py | 17+++++++++--------
Mscriber/widgets/__init__.py | 3++-
Mseasons/client/vanguardnemesis/communityprogressbar.py | 3+--
Msensorsuite/overlay/bookmarkvisibilitymanager.py | 2+-
Ashipcaster/client/shipcasterUtil.py | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dshipcaster/shipcasterUtil.py | 65-----------------------------------------------------------------
Mshipfitting/fittingDogmaLocationUtil.py | 2+-
Mshipfitting/fittingWarnings.py | 6+++---
Mshipfitting/fittingWarningsStackingPenalty.py | 9+++++----
Mshipprogression/boarding_moment/qa.py | 39+++++++++++++++++----------------------
Mskills/skillplan/__init__.py | 3++-
Mskills/skillplan/errors.py | 2+-
Mskills/skillplan/grpc/personalSkillPlanRequest.py | 3++-
Mskills/skillplan/milestone/milestoneService.py | 3++-
MsofDnaLibrary/query.py | 7++++---
Msolarsysteminterference/__init__.py | 3++-
Msolarsysteminterference/solarsystemInterferenceState.py | 2+-
Msovereignty/fuel/client/external_messenger.py | 3++-
Msovereignty/mercenaryden/client/mocks/request_messenger_mock.py | 2+-
Msovereignty/upgrades/client/external_messenger.py | 5+++--
Msovereignty/workforce/client/workforceController.py | 3++-
Mspacecomponents/client/components/sovHub.py | 3++-
Mspacecomponents/client/components/underConstruction.py | 2+-
Mspacecomponents/client/ui/shipcaster/launcherCont.py | 2+-
Mspacecomponents/common/componentregistry.py | 3++-
Mspacecomponents/common/helper.py | 3++-
Mstackless_response_router/__init__.py | 3++-
Mstackless_tracing/__init__.py | 11++++++-----
Mstackless_tracing/clonable_tracer.py | 3++-
Mstackless_tracing/tasklet_tracer.py | 3++-
Mstatscapture/performancemeasurements.py | 3++-
Mstatscapture/vm_metrics_reporter.py | 9+++++----
Mstdlogutils/__init__.py | 2+-
Msurveys/client/__init__.py | 5+++--
MtacticalNavigation/actionDisplay.py | 3++-
Mtaleclient/tale_service.py | 2+-
Mtrinity/GraphManager.py | 11++++++-----
Mtrinity/__init__.py | 3++-
Mtrinity/gpuprofiler.py | 2+-
Mtrinutils/particlebounds.py | 3++-
Mtrinutils/wip.py | 5+++--
Muihighlighting/uniqueNameChains.py | 5+++--
Aurl_utils/__init__.py | 2++
Aurl_utils/client/__init__.py | 2++
Aurl_utils/client/canonical.py | 43+++++++++++++++++++++++++++++++++++++++++++
Muthread/__init__.py | 26++++++++++++++------------
Muthread2/bluepyimpl.py | 2+-
Muthread2_plugins/__init__.py | 3++-
Mutillib/__init__.py | 2+-
Mweakness/__init__.py | 10+++++-----
Mxmpp/chatterbox.py | 7++++---
Mxmpp/xmppConnection.py | 2+-
Mxmpp/xmpphandler.py | 3++-
Mxmppchatclient/xmppchatsvc.py | 8++++----
Mxmppchatclient/xmppchatwindow.py | 6+++---
740 files changed, 36174 insertions(+), 4461 deletions(-)

diff --git a/EVE_API_Analysis.md b/EVE_API_Analysis.md @@ -0,0 +1,1165 @@ +# EVE Online Internal API Analysis + +## Character System + +### Module: Character +**File**: eveProto/generated/eve_public/character/character_pb2.py +**Package**: eve_public.character + +#### Message Types + +#### Identifier +- sequential: uint32 + +#### ActivationNotice +- character: Identifier +- corporation: Identifier (eve_public.corporation.Identifier) +- corporation_roles: Collection (eve_public.corporation.role.Collection) + +#### DeactivationNotice +- character: Identifier + +#### GetNamesByUserRequest +- (no fields) + +#### GetNamesByUserResponse +- characters: CharacterName[] + +#### GetNamesByUserResponse.CharacterName +- identifier: Identifier +- name: string + +--- + +### Module: Character Location Presence +**File**: eveProto/generated/eve_public/character/location/presence_pb2.py +**Package**: eve_public.character.location.presence + +#### Message Types + +#### SolarSystemEnteredNotice +- solar_system: Identifier (eve_public.solarsystem.Identifier) + +#### SolarSystemExitedNotice +- solar_system: Identifier (eve_public.solarsystem.Identifier) + +--- + +### Module: Character Location Presence API +**File**: eveProto/generated/eve_public/character/location/presence/api/notice_pb2.py +**Package**: eve_public.character.location.presence.api + +#### Message Types + +#### SolarSystemEnteredNotice +- solar_system: Identifier (eve_public.solarsystem.Identifier) + +#### SolarSystemExitedNotice +- solar_system: Identifier (eve_public.solarsystem.Identifier) + +#### BubbleEnteredNotice +- bubble: Identifier (eve_public.bubble.Identifier) + +#### BubbleExitedNotice +- bubble: Identifier (eve_public.bubble.Identifier) + +--- + +### Module: Character Skill Plan +**File**: eveProto/generated/eve_public/character/skill/plan/plan_pb2.py +**Package**: eve_public.character.skill.plan + +#### Message Types + +#### GetAllRequest +- (no fields) + +#### GetAllResponse +- skill_plans: Identifier[] (eve_public.skill.plan.Identifier) + +#### GetRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) + +#### GetResponse +- skill_plan: Attributes (eve_public.skill.plan.Attributes) + +#### GetSharedRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) + +#### GetSharedResponse +- skill_plan: Attributes (eve_public.skill.plan.Attributes) + +#### CreateRequest +- skill_plan: Attributes (eve_public.skill.plan.Attributes) + +#### CreateResponse +- skill_plan: Identifier (eve_public.skill.plan.Identifier) + +#### SetSkillRequirementsRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) +- requirements: SkillRequirement[] (eve_public.skill.plan.SkillRequirement) + +#### SetSkillRequirementsResponse +- (no fields) + +#### SetNameRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) +- name: string + +#### SetNameResponse +- (no fields) + +#### SetDescriptionRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) +- description: string + +#### SetDescriptionResponse +- (no fields) + +#### DeleteRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) + +#### DeleteResponse +- (no fields) + +#### GetActiveRequest +- (no fields) + +#### GetActiveResponse +- skill_plan: Identifier (eve_public.skill.plan.Identifier) +- skill_plan_info: Attributes (eve_public.skill.plan.Attributes) + +#### SetActiveRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) + +#### SetActiveResponse +- (no fields) + +--- + +### Module: Character Skill Plan Milestone +**File**: eveProto/generated/eve_public/character/skill/plan/milestone_pb2.py +**Package**: eve_public.character.skill.plan.milestone + +#### Message Types + +#### GetAllRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) + +#### GetAllResponse +- milestones: Milestone[] + +#### GetAllResponse.Milestone +- identifier: Identifier (eve_public.skill.plan.milestone.Identifier) +- data: Attributes (eve_public.skill.plan.milestone.Attributes) + +#### CreateRequest +- milestone: Attributes (eve_public.skill.plan.milestone.Attributes) + +#### CreateResponse +- milestone: Identifier (eve_public.skill.plan.milestone.Identifier) + +#### DeleteRequest +- milestone: Identifier (eve_public.skill.plan.milestone.Identifier) + +#### DeleteResponse +- (no fields) + +#### SetDescriptionRequest +- identifier: Identifier (eve_public.skill.plan.milestone.Identifier) +- description: string + +#### SetDescriptionResponse +- (no fields) + +--- + +## Ship System + +### Module: Ship +**File**: eveProto/generated/eve_public/ship/ship_pb2.py +**Package**: eve_public.ship + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Ship Type +**File**: eveProto/generated/eve_public/ship/ship_type_pb2.py +**Package**: eve_public.shiptype + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Ship Classification +**File**: eveProto/generated/eve_public/ship/classification_pb2.py +**Package**: eve_public.ship.classification + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Ship Unlock API +**File**: eveProto/generated/eve_public/ship/unlock/requests_pb2.py +**Package**: eve_public.ship.unlock + +#### Message Types + +#### UnlockRequest +- ship_type: Identifier (eve_public.shiptype.Identifier) + +#### UnlockResponse +- (no fields) + +--- + +### Module: Ship Unlock Notices +**File**: eveProto/generated/eve_public/ship/unlock/notices_pb2.py +**Package**: eve_public.ship.unlock + +#### Message Types + +#### ShipUnlockedNotice +- ship_type: Identifier (eve_public.shiptype.Identifier) +- character: Identifier (eve_public.character.Identifier) + +#### ShipLockRemovedNotice +- ship_type: Identifier (eve_public.shiptype.Identifier) +- character: Identifier (eve_public.character.Identifier) + +--- + +## Fleet System + +### Module: Fleet +**File**: eveProto/generated/eve_public/app/eveonline/fleet/fleet_pb2.py +**Package**: eve_public.app.eveonline.fleet + +#### Message Types + +#### Identifier +- generated: uint32 + +--- + +### Module: Fleet Analytics +**File**: eveProto/generated/eve_public/app/eveonline/fleet/analytics_pb2.py +**Package**: eve_public.app.eveonline.fleet.analytics + +#### Message Types + +#### JoinEvent +- fleet: Identifier (eve_public.app.eveonline.fleet.Identifier) +- character: Identifier (eve_public.character.Identifier) + +#### LeaveEvent +- fleet: Identifier (eve_public.app.eveonline.fleet.Identifier) +- character: Identifier (eve_public.character.Identifier) + +--- + +## Skill System + +### Module: Skill Type +**File**: eveProto/generated/eve_public/skill/skilltype_pb2.py +**Package**: eve_public.skilltype + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Skill Plan +**File**: eveProto/generated/eve_public/skill/plan/plan_pb2.py +**Package**: eve_public.skill.plan + +#### Message Types + +#### Identifier +- uuid: bytes + +#### Attributes +- name: string +- skill_requirements: SkillRequirement[] +- description: string + +#### SkillRequirement +- skill_type: Identifier (eve_public.skilltype.Identifier) +- level: int32 + +#### GetAllRequest +- (no fields) + +#### GetAllResponse +- skill_plans: Identifier[] + +#### GetRequest +- skill_plan: Identifier + +#### GetResponse +- skill_plan: Attributes + +#### CreateRequest +- skill_plan: Attributes + +#### CreateResponse +- skill_plan: Identifier + +#### SetSkillRequirementsRequest +- skill_plan: Identifier +- requirements: SkillRequirement[] + +#### SetSkillRequirementsResponse +- (no fields) + +#### SetNameRequest +- skill_plan: Identifier +- name: string + +#### SetNameResponse +- (no fields) + +#### SetDescriptionRequest +- skill_plan: Identifier +- description: string + +#### SetDescriptionResponse +- (no fields) + +#### DeleteRequest +- skill_plan: Identifier + +#### DeleteResponse +- (no fields) + +#### GetActiveRequest +- (no fields) + +#### GetActiveResponse +- skill_plan: Identifier +- skill_plan_info: Attributes + +#### SetActiveRequest +- skill_plan: Identifier + +#### SetActiveResponse +- (no fields) + +--- + +### Module: Skill Plan Milestone +**File**: eveProto/generated/eve_public/skill/plan/milestone_pb2.py +**Package**: eve_public.skill.plan.milestone + +#### Message Types + +#### Identifier +- uuid: bytes + +#### Attributes +- skill_plan: Identifier (eve_public.skill.plan.Identifier) +- train_to_type: Identifier (eve_public.inventory.genericitemtype.Identifier) [oneof: milestone] +- skill: SkillRequirement (eve_public.skill.plan.SkillRequirement) [oneof: milestone] +- description: string + +--- + +### Module: Skill Plan Certified +**File**: eveProto/generated/eve_public/skill/plan/certified_pb2.py +**Package**: eve_public.skill.plan.certified + +#### Message Types + +#### GetAllRequest +- (no fields) + +#### GetAllResponse +- skill_plans: CertifiedSkillPlan[] + +#### CertifiedSkillPlan +- identifier: Identifier (eve_public.skill.plan.Identifier) +- data: Attributes (eve_public.skill.plan.Attributes) + +--- + +## Corporation System + +### Module: Corporation +**File**: eveProto/generated/eve_public/corporation/corporation_pb2.py +**Package**: eve_public.corporation + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Corporation Role +**File**: eveProto/generated/eve_public/corporation/role_pb2.py +**Package**: eve_public.corporation.role + +#### Message Types + +#### Collection +- bitmask: uint32 + +--- + +### Module: Corporation Office +**File**: eveProto/generated/eve_public/corporation/office_pb2.py +**Package**: eve_public.corporation.office + +#### Message Types + +#### Identifier +- sequential: uint32 + +#### Location +- station: Identifier (eve_public.station.Identifier) + +--- + +### Module: Corporation Loyalty +**File**: eveProto/generated/eve_public/corporation/loyalty_pb2.py +**Package**: eve_public.corporation.loyalty + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Corporation Skill Plan +**File**: eveProto/generated/eve_public/corporation/skill/plan/plan_pb2.py +**Package**: eve_public.corporation.skill.plan + +#### Message Types + +#### GetAllRequest +- (no fields) + +#### GetAllResponse +- skill_plans: Identifier[] (eve_public.skill.plan.Identifier) + +#### GetRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) + +#### GetResponse +- skill_plan: Attributes (eve_public.skill.plan.Attributes) + +#### CreateRequest +- skill_plan: Attributes (eve_public.skill.plan.Attributes) + +#### CreateResponse +- skill_plan: Identifier (eve_public.skill.plan.Identifier) + +#### SetSkillRequirementsRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) +- requirements: SkillRequirement[] (eve_public.skill.plan.SkillRequirement) + +#### SetSkillRequirementsResponse +- (no fields) + +#### SetNameRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) +- name: string + +#### SetNameResponse +- (no fields) + +#### SetDescriptionRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) +- description: string + +#### SetDescriptionResponse +- (no fields) + +#### DeleteRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) + +#### DeleteResponse +- (no fields) + +--- + +### Module: Corporation Skill Plan Milestone +**File**: eveProto/generated/eve_public/corporation/skill/plan/milestone_pb2.py +**Package**: eve_public.corporation.skill.plan.milestone + +#### Message Types + +#### GetAllRequest +- skill_plan: Identifier (eve_public.skill.plan.Identifier) + +#### GetAllResponse +- milestones: Milestone[] + +#### Milestone +- identifier: Identifier (eve_public.skill.plan.milestone.Identifier) +- data: Attributes (eve_public.skill.plan.milestone.Attributes) + +#### CreateRequest +- milestone: Attributes (eve_public.skill.plan.milestone.Attributes) + +#### CreateResponse +- milestone: Identifier (eve_public.skill.plan.milestone.Identifier) + +#### DeleteRequest +- milestone: Identifier (eve_public.skill.plan.milestone.Identifier) + +#### DeleteResponse +- (no fields) + +#### SetDescriptionRequest +- identifier: Identifier (eve_public.skill.plan.milestone.Identifier) +- description: string + +#### SetDescriptionResponse +- (no fields) + +--- + +### Module: Corporation Skill Plan Category +**File**: eveProto/generated/eve_public/corporation/skill/plan/category_pb2.py +**Package**: eve_public.corporation.skill.plan.category + +#### Message Types + +#### GetAllRequest +- (no fields) + +#### GetAllResponse +- skill_plans: Identifier[] + +#### CreateRequest +- name: string + +#### CreateResponse +- identifier: Identifier + +#### RenameRequest +- identifier: Identifier +- name: string + +#### RenameResponse +- (no fields) + +#### DeleteRequest +- identifier: Identifier + +#### DeleteResponse +- (no fields) + +--- + +## Structure System + +### Module: Structure +**File**: eveProto/generated/eve_public/structure/structure_pb2.py +**Package**: eve_public.structure + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Structure Type +**File**: eveProto/generated/eve_public/structure/structure_type_pb2.py +**Package**: eve_public.structuretype + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Structure Group +**File**: eveProto/generated/eve_public/structure/group_pb2.py +**Package**: eve_public.structure.group + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +## Sovereignty System + +### Module: Sovereignty Skyhook API +**File**: eveProto/generated/eve_public/sovereignty/skyhook/api/requests_pb2.py +**Package**: eve_public.sovereignty.skyhook.api + +#### Message Types + +#### GetRequest +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) + +#### GetResponse +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) +- reagent_simulations: ReagentSimulation[] +- active: bool +- reagent_definitions: ReagentDefinition[] +- theft_vulnerability: TheftVulnerability (eve_public.sovereignty.skyhook.TheftVulnerability) [oneof: vulnerability] +- unknown: bool [oneof: vulnerability] +- workforce: Workforce (eve_public.sovereignty.skyhook.Workforce) +- planet_resources_definitions_version: Specification (eve_public.semanticversion.Specification) + +#### GetResponse.ReagentSimulation +- reagent: Identifier (eve_public.inventory.genericitemtype.Identifier) +- reagent_type: Identifier (eve_public.sovereignty.resource.planet.reagent.itemtype.Identifier) +- maturation: MaturationSimulation (eve_public.sovereignty.resource.planet.reagent.MaturationSimulation) +- harvest: HarvestSimulation (eve_public.sovereignty.resource.planet.reagent.HarvestSimulation) +- simulation: Simulation (eve_public.sovereignty.resource.planet.reagent.Simulation) + +#### GetResponse.ReagentDefinition +- reagent: Identifier (eve_public.inventory.genericitemtype.Identifier) +- reagent_type: Identifier (eve_public.sovereignty.resource.planet.reagent.itemtype.Identifier) +- definition: Definition (eve_public.sovereignty.resource.planet.reagent.Definition) + +#### GetAllByCorporationRequest +- corporation: Identifier (eve_public.corporation.Identifier) + +#### GetAllByCorporationResponse +- skyhooks: Skyhook[] + +#### GetAllByCorporationResponse.Skyhook +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) +- reagent_simulations: ReagentSimulation[] +- active: bool +- reagent_definitions: ReagentDefinition[] +- theft_vulnerability: TheftVulnerability (eve_public.sovereignty.skyhook.TheftVulnerability) [oneof: vulnerability] +- unknown: bool [oneof: vulnerability] +- workforce: Workforce (eve_public.sovereignty.skyhook.Workforce) +- planet_resources_definitions_version: Specification (eve_public.semanticversion.Specification) + +#### GetAllLocalRequest +- (no fields) + +#### GetAllLocalResponse +- solar_system: Identifier (eve_public.solarsystem.Identifier) +- skyhooks: Skyhook[] + +#### GetAllLocalResponse.Skyhook +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) +- reagent_simulations: ReagentSimulation[] +- active: bool +- reagent_definitions: ReagentDefinition[] +- theft_vulnerability: TheftVulnerability (eve_public.sovereignty.skyhook.TheftVulnerability) [oneof: vulnerability] +- unknown: bool [oneof: vulnerability] +- workforce: Workforce (eve_public.sovereignty.skyhook.Workforce) +- planet_resources_definitions_version: Specification (eve_public.semanticversion.Specification) + +#### ActivateRequest +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) + +#### ActivateResponse +- (no fields) + +#### DeactivateRequest +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) + +#### DeactivateResponse +- (no fields) + +#### GetSolarSystemsWithTheftVulnerableSkyhooksRequest +- (no fields) + +#### GetSolarSystemsWithTheftVulnerableSkyhooksResponse +- solar_systems: Identifier[] (eve_public.solarsystem.Identifier) + +#### GetTheftVulnerableSkyhooksInSolarSystemRequest +- solar_system: Identifier (eve_public.solarsystem.Identifier) + +#### GetTheftVulnerableSkyhooksInSolarSystemResponse +- skyhooks: VulnerableSkyhook[] + +#### GetTheftVulnerableSkyhooksInSolarSystemResponse.VulnerableSkyhook +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) +- planet: Identifier (eve_public.planet.Identifier) +- expiry: Timestamp (google.protobuf.Timestamp) +- start: Timestamp (google.protobuf.Timestamp) + +--- + +### Module: Sovereignty Skyhook Admin API +**File**: eveProto/generated/eve_public/sovereignty/skyhook/api/admin/admin_pb2.py +**Package**: eve_public.sovereignty.skyhook.api.admin + +#### Message Types + +#### CreateRequest +- solar_system: Identifier (eve_public.solarsystem.Identifier) +- planet: Identifier (eve_public.planet.Identifier) +- corporation: Identifier (eve_public.corporation.Identifier) + +#### CreateResponse +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) + +#### DeleteRequest +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) + +#### DeleteResponse +- (no fields) + +--- + +### Module: Sovereignty Skyhook Notices +**File**: eveProto/generated/eve_public/sovereignty/skyhook/api/notices_pb2.py +**Package**: eve_public.sovereignty.skyhook.api + +#### Message Types + +#### ActivatedNotice +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) + +#### DeactivatedNotice +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) + +#### TheftVulnerabilityUpdatedNotice +- skyhook: Identifier (eve_public.planet.skyhook.Identifier) +- theft_vulnerability: TheftVulnerability (eve_public.sovereignty.skyhook.TheftVulnerability) + +--- + +### Module: Sovereignty Hub API +**File**: eveProto/generated/eve_public/sovereignty/hub/api/requests_pb2.py +**Package**: eve_public.sovereignty.hub.api + +#### Message Types + +#### GetRequest +- hub: Identifier (eve_public.sovereignty.hub.Identifier) + +#### GetResponse +- hub: Identifier (eve_public.sovereignty.hub.Identifier) +- structures: Identifier[] (eve_public.structure.Identifier) +- upgrade_level: int32 +- upgrade_end_time: Timestamp (google.protobuf.Timestamp) + +#### GetAllRequest +- (no fields) + +#### GetAllResponse +- hubs: Hub[] + +#### Hub +- hub: Identifier (eve_public.sovereignty.hub.Identifier) +- structures: Identifier[] (eve_public.structure.Identifier) +- upgrade_level: int32 +- upgrade_end_time: Timestamp (google.protobuf.Timestamp) + +--- + +### Module: Sovereignty Hub Notices +**File**: eveProto/generated/eve_public/sovereignty/hub/api/notices_pb2.py +**Package**: eve_public.sovereignty.hub.api + +#### Message Types + +#### UpgradedNotice +- hub: Identifier (eve_public.sovereignty.hub.Identifier) +- upgrade_level: int32 + +--- + +### Module: Sovereignty Hub Upgrade API +**File**: eveProto/generated/eve_public/sovereignty/hub/upgrade/api/requests_pb2.py +**Package**: eve_public.sovereignty.hub.upgrade.api + +#### Message Types + +#### GetRequest +- hub: Identifier (eve_public.sovereignty.hub.Identifier) + +#### GetResponse +- hub: Identifier (eve_public.sovereignty.hub.Identifier) +- upgrade: Upgrade (eve_public.sovereignty.hub.upgrade.Upgrade) + +#### StartUpgradeRequest +- hub: Identifier (eve_public.sovereignty.hub.Identifier) +- upgrade: Identifier (eve_public.sovereignty.hub.upgrade.Identifier) + +#### StartUpgradeResponse +- (no fields) + +#### CancelUpgradeRequest +- hub: Identifier (eve_public.sovereignty.hub.Identifier) + +#### CancelUpgradeResponse +- (no fields) + +--- + +### Module: Sovereignty Hub Upgrade Notices +**File**: eveProto/generated/eve_public/sovereignty/hub/upgrade/api/notices_pb2.py +**Package**: eve_public.sovereignty.hub.upgrade.api + +#### Message Types + +#### UpgradeStartedNotice +- hub: Identifier (eve_public.sovereignty.hub.Identifier) +- upgrade: Identifier (eve_public.sovereignty.hub.upgrade.Identifier) +- end_time: Timestamp (google.protobuf.Timestamp) + +#### UpgradeCompletedNotice +- hub: Identifier (eve_public.sovereignty.hub.Identifier) +- upgrade: Identifier (eve_public.sovereignty.hub.upgrade.Identifier) + +#### UpgradeCancelledNotice +- hub: Identifier (eve_public.sovereignty.hub.Identifier) + +--- + +### Module: Sovereignty Hub Workforce API +**File**: eveProto/generated/eve_public/sovereignty/hub/workforce/api/requests_pb2.py +**Package**: eve_public.sovereignty.hub.workforce.api + +#### Message Types + +#### GetRequest +- hub: Identifier (eve_public.sovereignty.hub.Identifier) + +#### GetResponse +- hub: Identifier (eve_public.sovereignty.hub.Identifier) +- workforce: Workforce (eve_public.sovereignty.hub.workforce.Workforce) + +#### SetWorkforceRequest +- hub: Identifier (eve_public.sovereignty.hub.Identifier) +- workforce: Workforce (eve_public.sovereignty.hub.workforce.Workforce) + +#### SetWorkforceResponse +- (no fields) + +--- + +### Module: Sovereignty Hub Workforce Notices +**File**: eveProto/generated/eve_public/sovereignty/hub/workforce/api/notices_pb2.py +**Package**: eve_public.sovereignty.hub.workforce.api + +#### Message Types + +#### WorkforceUpdatedNotice +- hub: Identifier (eve_public.sovereignty.hub.Identifier) +- workforce: Workforce (eve_public.sovereignty.hub.workforce.Workforce) + +--- + +### Module: Sovereignty Mercenary Den API +**File**: eveProto/generated/eve_public/sovereignty/mercenaryden/api/requests_pb2.py +**Package**: eve_public.sovereignty.mercenaryden.api + +#### Message Types + +#### GetRequest +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) + +#### GetResponse +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) +- structure: Identifier (eve_public.structure.Identifier) +- mercenary_den_type: Identifier (eve_public.sovereignty.mercenaryden.Identifier) +- active: bool +- evolution: Evolution (eve_public.sovereignty.mercenaryden.Evolution) + +#### GetAllByCorporationRequest +- corporation: Identifier (eve_public.corporation.Identifier) + +#### GetAllByCorporationResponse +- dens: DenInfo[] + +#### DenInfo +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) +- structure: Identifier (eve_public.structure.Identifier) +- mercenary_den_type: Identifier (eve_public.sovereignty.mercenaryden.Identifier) +- active: bool +- evolution: Evolution (eve_public.sovereignty.mercenaryden.Evolution) + +#### GetAllLocalRequest +- (no fields) + +#### GetAllLocalResponse +- solar_system: Identifier (eve_public.solarsystem.Identifier) +- dens: DenInfo[] + +#### ActivateRequest +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) + +#### ActivateResponse +- (no fields) + +#### DeactivateRequest +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) + +#### DeactivateResponse +- (no fields) + +--- + +### Module: Sovereignty Mercenary Den Notices +**File**: eveProto/generated/eve_public/sovereignty/mercenaryden/api/notices_pb2.py +**Package**: eve_public.sovereignty.mercenaryden.api + +#### Message Types + +#### ActivatedNotice +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) + +#### DeactivatedNotice +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) + +#### EvolutionUpdatedNotice +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) +- evolution: Evolution (eve_public.sovereignty.mercenaryden.Evolution) + +--- + +### Module: Sovereignty Mercenary Den Activity API +**File**: eveProto/generated/eve_public/sovereignty/mercenaryden/activity/api/requests_pb2.py +**Package**: eve_public.sovereignty.mercenaryden.activity.api + +#### Message Types + +#### GetRequest +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) + +#### GetResponse +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) +- activity: Activity (eve_public.sovereignty.mercenaryden.activity.Activity) + +#### StartActivityRequest +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) +- activity: Identifier (eve_public.sovereignty.mercenaryden.activity.Identifier) + +#### StartActivityResponse +- (no fields) + +#### CancelActivityRequest +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) + +#### CancelActivityResponse +- (no fields) + +--- + +### Module: Sovereignty Mercenary Den Activity Notices +**File**: eveProto/generated/eve_public/sovereignty/mercenaryden/activity/api/notices_pb2.py +**Package**: eve_public.sovereignty.mercenaryden.activity.api + +#### Message Types + +#### ActivityStartedNotice +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) +- activity: Identifier (eve_public.sovereignty.mercenaryden.activity.Identifier) +- end_time: Timestamp (google.protobuf.Timestamp) + +#### ActivityCompletedNotice +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) +- activity: Identifier (eve_public.sovereignty.mercenaryden.activity.Identifier) + +#### ActivityCancelledNotice +- den: Identifier (eve_public.sovereignty.mercenaryden.Identifier) + +--- + +### Module: Sovereignty Planet Resource API +**File**: eveProto/generated/eve_public/sovereignty/resource/planet/api/requests_pb2.py +**Package**: eve_public.sovereignty.resource.planet.api + +#### Message Types + +#### GetRequest +- planet: Identifier (eve_public.planet.Identifier) + +#### GetResponse +- planet: Identifier (eve_public.planet.Identifier) +- reagents: ReagentInfo[] + +#### ReagentInfo +- reagent_type: Identifier (eve_public.sovereignty.resource.planet.reagent.itemtype.Identifier) +- reagent: Identifier (eve_public.inventory.genericitemtype.Identifier) +- definition: Definition (eve_public.sovereignty.resource.planet.reagent.Definition) + +--- + +### Module: Sovereignty Star Resource API +**File**: eveProto/generated/eve_public/sovereignty/resource/star/api/requests_pb2.py +**Package**: eve_public.sovereignty.resource.star.api + +#### Message Types + +#### GetRequest +- star: Identifier (eve_public.star.Identifier) + +#### GetResponse +- star: Identifier (eve_public.star.Identifier) +- luminosity: int32 + +--- + +## Achievement System + +### Module: Achievement Definition +**File**: eveProto/generated/eve_public/achievement/definition/achievement_pb2.py +**Package**: eve_public.achievement.definition + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Achievement Milestone Definition +**File**: eveProto/generated/eve_public/achievement/milestone/definition/milestone_pb2.py +**Package**: eve_public.achievement.milestone.definition + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Achievement Category Definition +**File**: eveProto/generated/eve_public/achievement/category/definition/category_pb2.py +**Package**: eve_public.achievement.category.definition + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +### Module: Achievement Category API +**File**: eveProto/generated/eve_public/achievement/category/api/requests_pb2.py +**Package**: eve_public.achievement.category.api + +#### Message Types + +#### GetAllRequest +- (no fields) + +#### GetAllResponse +- categories: Category[] + +#### Category +- identifier: Identifier (eve_public.achievement.category.definition.Identifier) +- data: Data + +#### Data +- name: string +- description: string +- sort_order: int32 + +--- + +### Module: Achievement Milestone API +**File**: eveProto/generated/eve_public/achievement/milestone/api/notices_pb2.py +**Package**: eve_public.achievement.milestone.api + +#### Message Types + +#### AchievementProgressNotice +- achievement: Identifier (eve_public.achievement.definition.Identifier) +- progress: int32 + +#### AchievementCompletedNotice +- achievement: Identifier (eve_public.achievement.definition.Identifier) + +--- + +## Space System + +### Module: Space API +**File**: eveProto/generated/eve_public/space/api/cdn/requests_pb2.py +**Package**: eve_public.space.api.cdn + +#### Message Types + +#### GetRequest +- path: string + +#### GetResponse +- data: bytes + +--- + +## Standing System + +### Module: Standing +**File**: eveProto/generated/eve_public/standing/standing_pb2.py +**Package**: eve_public.standing + +#### Message Types + +#### Identifier +- sequential: uint32 + +--- + +## Summary of Module Dependencies + +### Character System Dependencies: +- eve_public.corporation +- eve_public.corporation.role +- eve_public.solarsystem +- eve_public.bubble + +### Ship System Dependencies: +- eve_public.shiptype +- eve_public.character + +### Fleet System Dependencies: +- eve_public.character + +### Skill System Dependencies: +- eve_public.skilltype +- eve_public.inventory.genericitemtype + +### Corporation System Dependencies: +- eve_public.skill.plan +- eve_public.station + +### Structure System Dependencies: +- No external dependencies identified + +### Sovereignty System Dependencies: +- eve_public.corporation +- eve_public.inventory.genericitemtype +- eve_public.planet +- eve_public.planet.skyhook +- eve_public.semanticversion +- eve_public.solarsystem +- eve_public.structure +- eve_public.sovereignty.resource.planet +- eve_public.sovereignty.resource.planet.reagent +- eve_public.sovereignty.skyhook +- google.protobuf.timestamp + +### Achievement System Dependencies: +- Minimal external dependencies +- Uses internal achievement sub-packages + +### Space System Dependencies: +- Minimal dependencies (CDN-focused) + +### Standing System Dependencies: +- Minimal dependencies +\ No newline at end of file diff --git a/EVE_API完整枚举文档.md b/EVE_API完整枚举文档.md @@ -0,0 +1,28276 @@ +# EVE Online 内部游戏API完整枚举文档 + +## 📊 总体统计 + +- **API文件总数**: 316 +- **消息类型总数**: 1552 +- **字段定义总数**: 7246 + +- **模块数量**: 1 + +--- + +## 📦 OTHER 模块 + +**API文件数量**: 316 + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.loyaltypoints.wallet` (as `wallet`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### wallet + +- **完整名称**: `eve.loyaltypoints.evermarks.wallet.api.BalanceAdded.wallet` +- **内部变量名**: `BALANCEADDED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `wallet` | `api.BalanceAdded.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 2 | `increase` | `api.BalanceAdded.increase` | uint64 (cpp: uint64) | optional (required in proto3) | +| 3 | `new_balance` | `api.BalanceAdded.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `wallet` | `api.BalanceRemoved.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 5 | `decrease` | `api.BalanceRemoved.decrease` | uint64 (cpp: uint64) | optional (required in proto3) | +| 6 | `new_balance` | `api.BalanceRemoved.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### wallet + +- **完整名称**: `eve.loyaltypoints.evermarks.wallet.api.BalanceRemoved.wallet` +- **内部变量名**: `BALANCEREMOVED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `wallet` | `api.BalanceAdded.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 2 | `increase` | `api.BalanceAdded.increase` | uint64 (cpp: uint64) | optional (required in proto3) | +| 3 | `new_balance` | `api.BalanceAdded.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `wallet` | `api.BalanceRemoved.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 5 | `decrease` | `api.BalanceRemoved.decrease` | uint64 (cpp: uint64) | optional (required in proto3) | +| 6 | `new_balance` | `api.BalanceRemoved.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding` (as `context`) +- `eve.loyaltypoints.wallet.assetholding.operation` (as `operation`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### id + +- **完整名称**: `eve.loyaltypoints.assetholding.operation.api.WithdrawRequest.id` +- **内部变量名**: `WITHDRAWREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### WithdrawResponse + +- **完整名称**: `eve.loyaltypoints.assetholding.operation.api.WithdrawResponse` +- **内部变量名**: `WITHDRAWRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.loyaltypoints.assetholding.operation.api.DepositRequest.identifier` +- **内部变量名**: `DEPOSITREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### DepositResponse + +- **完整名称**: `eve.loyaltypoints.assetholding.operation.api.DepositResponse` +- **内部变量名**: `DEPOSITRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding` (as `context`) +- `eve.loyaltypoints.wallet.assetholding.operation` (as `operation`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### identifier + +- **完整名称**: `eve.loyaltypoints.assetholding.operation.api.Withdrawn.identifier` +- **内部变量名**: `WITHDRAWN` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.loyaltypoints.assetholding.operation.api.Deposited.identifier` +- **内部变量名**: `DEPOSITED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### operation + +- **完整名称**: `eve.loyaltypoints.assetholding.operation.api.Ended.operation` +- **内部变量名**: `ENDED` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `identifier` | `api.Withdrawn.identifier` | message (cpp: message) → `evedotloyaltypointsdotwalletdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 2 | `operation` | `api.Withdrawn.operation` | message (cpp: message) → `evedotloyaltypointsdotwalletdotassetholdingdotoperationdotoperationpb2.attributes` | optional (required in proto3) | +| 3 | `context` | `api.Withdrawn.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 4 | `identifier` | `api.Deposited.identifier` | message (cpp: message) → `evedotloyaltypointsdotwalletdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 5 | `operation` | `api.Deposited.operation` | message (cpp: message) → `evedotloyaltypointsdotwalletdotassetholdingdotoperationdotoperationpb2.attributes` | optional (required in proto3) | +| 6 | `context` | `api.Deposited.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 7 | `operation` | `api.Ended.operation` | message (cpp: message) → `evedotloyaltypointsdotwalletdotassetholdingdotoperationdotoperationpb2.attributes` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.loyaltypoints.wallet` (as `wallet`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### wallet + +- **完整名称**: `eve.loyaltypoints.wallet.api.BalanceAdded.wallet` +- **内部变量名**: `BALANCEADDED` +- **字段数量**: 15 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `wallet` | `api.BalanceAdded.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 2 | `increase` | `api.BalanceAdded.increase` | uint64 (cpp: uint64) | optional (required in proto3) | +| 3 | `new_balance` | `api.BalanceAdded.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `taxed_amount` | `api.BalanceAdded.taxed_amount` | uint64 (cpp: uint64) | optional (required in proto3) | +| 5 | `wallet` | `api.BalanceRemoved.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 6 | `decrease` | `api.BalanceRemoved.decrease` | uint64 (cpp: uint64) | optional (required in proto3) | +| 7 | `new_balance` | `api.BalanceRemoved.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 8 | `wallet` | `api.BalanceSetByAdmin.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 9 | `new_balance` | `api.BalanceSetByAdmin.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 10 | `admin` | `api.BalanceSetByAdmin.admin` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `source` | `api.BalanceTransferred.source` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 12 | `destination` | `api.BalanceTransferred.destination` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 13 | `amount` | `api.BalanceTransferred.amount` | uint64 (cpp: uint64) | optional (required in proto3) | +| 14 | `source_new_balance` | `api.BalanceTransferred.source_new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `destination_new_balance` | `api.BalanceTransferred.destination_new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### wallet + +- **完整名称**: `eve.loyaltypoints.wallet.api.BalanceRemoved.wallet` +- **内部变量名**: `BALANCEREMOVED` +- **字段数量**: 15 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `wallet` | `api.BalanceAdded.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 2 | `increase` | `api.BalanceAdded.increase` | uint64 (cpp: uint64) | optional (required in proto3) | +| 3 | `new_balance` | `api.BalanceAdded.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `taxed_amount` | `api.BalanceAdded.taxed_amount` | uint64 (cpp: uint64) | optional (required in proto3) | +| 5 | `wallet` | `api.BalanceRemoved.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 6 | `decrease` | `api.BalanceRemoved.decrease` | uint64 (cpp: uint64) | optional (required in proto3) | +| 7 | `new_balance` | `api.BalanceRemoved.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 8 | `wallet` | `api.BalanceSetByAdmin.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 9 | `new_balance` | `api.BalanceSetByAdmin.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 10 | `admin` | `api.BalanceSetByAdmin.admin` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `source` | `api.BalanceTransferred.source` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 12 | `destination` | `api.BalanceTransferred.destination` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 13 | `amount` | `api.BalanceTransferred.amount` | uint64 (cpp: uint64) | optional (required in proto3) | +| 14 | `source_new_balance` | `api.BalanceTransferred.source_new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `destination_new_balance` | `api.BalanceTransferred.destination_new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### wallet + +- **完整名称**: `eve.loyaltypoints.wallet.api.BalanceSetByAdmin.wallet` +- **内部变量名**: `BALANCESETBYADMIN` +- **字段数量**: 15 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `wallet` | `api.BalanceAdded.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 2 | `increase` | `api.BalanceAdded.increase` | uint64 (cpp: uint64) | optional (required in proto3) | +| 3 | `new_balance` | `api.BalanceAdded.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `taxed_amount` | `api.BalanceAdded.taxed_amount` | uint64 (cpp: uint64) | optional (required in proto3) | +| 5 | `wallet` | `api.BalanceRemoved.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 6 | `decrease` | `api.BalanceRemoved.decrease` | uint64 (cpp: uint64) | optional (required in proto3) | +| 7 | `new_balance` | `api.BalanceRemoved.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 8 | `wallet` | `api.BalanceSetByAdmin.wallet` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 9 | `new_balance` | `api.BalanceSetByAdmin.new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 10 | `admin` | `api.BalanceSetByAdmin.admin` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `source` | `api.BalanceTransferred.source` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 12 | `destination` | `api.BalanceTransferred.destination` | message (cpp: message) → `evedotloyaltypointsdotwalletdotwalletpb2.identifier` | optional (required in proto3) | +| 13 | `amount` | `api.BalanceTransferred.amount` | uint64 (cpp: uint64) | optional (required in proto3) | +| 14 | `source_new_balance` | `api.BalanceTransferred.source_new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `destination_new_balance` | `api.BalanceTransferred.destination_new_balance` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### source + +- **完整名称**: `eve.loyaltypoints.wallet.api.BalanceTransferred.source` +- **内部变量名**: `BALANCETRANSFERRED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.loyaltypoints` (as `loyaltypoints`) +- `eve.loyaltypoints.wallet` (as `wallet`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### destination + +- **完整名称**: `eve.loyaltypoints.api.GrantCommanded.destination` +- **内部变量名**: `GRANTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.factionwarfare.warzone` (as `warzone`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### GetAllRequest + +- **完整名称**: `eve.factionwarfare.warzone.api.GetAllRequest` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### warzones + +- **完整名称**: `eve.factionwarfare.warzone.api.GetAllResponse.warzones` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### warzone + +- **完整名称**: `eve.factionwarfare.warzone.api.GetParticipantsRequest.warzone` +- **内部变量名**: `GETPARTICIPANTSREQUEST` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `warzones` | `api.GetAllResponse.warzones` | message (cpp: message) → `evedotfactionwarfaredotwarzonedotwarzonepb2.identifier` | repeated | +| 2 | `warzone` | `api.GetParticipantsRequest.warzone` | message (cpp: message) → `evedotfactionwarfaredotwarzonedotwarzonepb2.identifier` | optional (required in proto3) | +| 3 | `participants` | `api.GetParticipantsResponse.participants` | message (cpp: message) → `evedotfactionwarfaredotwarzonedotwarzonepb2.participants` | optional (required in proto3) | + +--- + +##### participants + +- **完整名称**: `eve.factionwarfare.warzone.api.GetParticipantsResponse.participants` +- **内部变量名**: `GETPARTICIPANTSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.faction` (as `faction`) +- `eve.inventory` (as `generic_item_type`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.standing` (as `standing`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### attacker + +- **完整名称**: `eve.factionwarfare.combat.api.IllegalFriendlyAttackPunished.attacker` +- **内部变量名**: `ILLEGALFRIENDLYATTACKPUNISHED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.alliance` (as `alliance`) +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.faction` (as `faction`) +- `eve.standing` (as `standing`) + +#### 📝 消息类型定义 + +**消息类型数量**: 26 + +##### character + +- **完整名称**: `eve.factionwarfare.membership.api.CharacterKickWarningIssued.character` +- **内部变量名**: `CHARACTERKICKWARNINGISSUED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.factionwarfare.membership.api.CharacterKickWarningWithdrawn.character` +- **内部变量名**: `CHARACTERKICKWARNINGWITHDRAWN` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.factionwarfare.membership.api.CharacterKickedFromCorp.character` +- **内部变量名**: `CHARACTERKICKEDFROMCORP` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.factionwarfare.membership.api.CorporationEnrollmentStarted.corporation` +- **内部变量名**: `CORPORATIONENROLLMENTSTARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### average_standing + +- **完整名称**: `eve.factionwarfare.membership.api.CorporationEnrollmentWarningIssued.MemberAverageStandingTooLow.average_standing` +- **内部变量名**: `CORPORATIONENROLLMENTWARNINGISSUED_MEMBERAVERAGESTANDINGTOOLOW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ceo + +- **完整名称**: `eve.factionwarfare.membership.api.CorporationEnrollmentWarningIssued.CEOStandingTooLow.ceo` +- **内部变量名**: `CORPORATIONENROLLMENTWARNINGISSUED_CEOSTANDINGTOOLOW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.factionwarfare.membership.api.CorporationEnrollmentWarningIssued.corporation` +- **内部变量名**: `CORPORATIONENROLLMENTWARNINGISSUED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.factionwarfare.membership.api.CorporationEnrollmentWarningWithdrawn.corporation` +- **内部变量名**: `CORPORATIONENROLLMENTWARNINGWITHDRAWN` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### average_standing + +- **完整名称**: `eve.factionwarfare.membership.api.CorporationEnrollmentEnded.AverageStandingTooLow.average_standing` +- **内部变量名**: `CORPORATIONENROLLMENTENDED_AVERAGESTANDINGTOOLOW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ceo + +- **完整名称**: `eve.factionwarfare.membership.api.CorporationEnrollmentEnded.CEOStandingTooLow.ceo` +- **内部变量名**: `CORPORATIONENROLLMENTENDED_CEOSTANDINGTOOLOW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### LeadershipAction + +- **完整名称**: `eve.factionwarfare.membership.api.CorporationEnrollmentEnded.LeadershipAction` +- **内部变量名**: `CORPORATIONENROLLMENTENDED_LEADERSHIPACTION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.factionwarfare.membership.api.CorporationEnrollmentEnded.corporation` +- **内部变量名**: `CORPORATIONENROLLMENTENDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### alliance + +- **完整名称**: `eve.factionwarfare.membership.api.AllianceEnrollmentStarted.alliance` +- **内部变量名**: `ALLIANCEENROLLMENTSTARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.factionwarfare.membership.api.AllianceEnrollmentWarningIssued.CorpAverageStandingTooLow.corporation` +- **内部变量名**: `ALLIANCEENROLLMENTWARNINGISSUED_CORPAVERAGESTANDINGTOOLOW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.factionwarfare.membership.api.AllianceEnrollmentWarningIssued.CEOStandingTooLow.corporation` +- **内部变量名**: `ALLIANCEENROLLMENTWARNINGISSUED_CEOSTANDINGTOOLOW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### alliance + +- **完整名称**: `eve.factionwarfare.membership.api.AllianceEnrollmentWarningIssued.alliance` +- **内部变量名**: `ALLIANCEENROLLMENTWARNINGISSUED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### alliance + +- **完整名称**: `eve.factionwarfare.membership.api.AllianceEnrollmentWarningWithdrawn.alliance` +- **内部变量名**: `ALLIANCEENROLLMENTWARNINGWITHDRAWN` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.factionwarfare.membership.api.AllianceEnrollmentEnded.CorpAverageStandingTooLow.corporation` +- **内部变量名**: `ALLIANCEENROLLMENTENDED_CORPAVERAGESTANDINGTOOLOW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.factionwarfare.membership.api.AllianceEnrollmentEnded.CEOStandingTooLow.corporation` +- **内部变量名**: `ALLIANCEENROLLMENTENDED_CEOSTANDINGTOOLOW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### LeadershipAction + +- **完整名称**: `eve.factionwarfare.membership.api.AllianceEnrollmentEnded.LeadershipAction` +- **内部变量名**: `ALLIANCEENROLLMENTENDED_LEADERSHIPACTION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### alliance + +- **完整名称**: `eve.factionwarfare.membership.api.AllianceEnrollmentEnded.alliance` +- **内部变量名**: `ALLIANCEENROLLMENTENDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.factionwarfare.membership.api.CharacterDirectEnlistmentStarted.character` +- **内部变量名**: `CHARACTERDIRECTENLISTMENTSTARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CharacterChoice + +- **完整名称**: `eve.factionwarfare.membership.api.CharacterDirectEnlistmentEnded.CharacterChoice` +- **内部变量名**: `CHARACTERDIRECTENLISTMENTENDED_CHARACTERCHOICE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### current_standing + +- **完整名称**: `eve.factionwarfare.membership.api.CharacterDirectEnlistmentEnded.LowStanding.current_standing` +- **内部变量名**: `CHARACTERDIRECTENLISTMENTENDED_LOWSTANDING` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.factionwarfare.membership.api.CharacterDirectEnlistmentEnded.CorpBlacklist.corporation` +- **内部变量名**: `CHARACTERDIRECTENLISTMENTENDED_CORPBLACKLIST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.factionwarfare.membership.api.CharacterDirectEnlistmentEnded.character` +- **内部变量名**: `CHARACTERDIRECTENLISTMENTENDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.constellation` (as `constellation`) +- `eve.isk` (as `isk`) +- `eve.killmail` (as `killmail`) +- `eve.pvp` (as `pvp`) +- `eve.region` (as `region`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### id + +- **完整名称**: `eve.killmail.api.ShipLossReport.id` +- **内部变量名**: `SHIPLOSSREPORT` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.career` (as `goal`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### GetDefinitionsRequest + +- **完整名称**: `eve.career.goal.api.GetDefinitionsRequest` +- **内部变量名**: `GETDEFINITIONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.career.goal.api.GetDefinitionsResponse.Goal.goal` +- **内部变量名**: `GETDEFINITIONSRESPONSE_GOAL` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `goal` | `api.GetDefinitionsResponse.Goal.goal` | message (cpp: message) → `evedotcareerdotgoalpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.GetDefinitionsResponse.Goal.attributes` | message (cpp: message) → `evedotcareerdotgoalpb2.attributes` | optional (required in proto3) | +| 3 | `goals` | `api.GetDefinitionsResponse.goals` | message (cpp: message) → `getdefinitionsresponsegoal` | repeated | + +--- + +##### goals + +- **完整名称**: `eve.career.goal.api.GetDefinitionsResponse.goals` +- **内部变量名**: `GETDEFINITIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.career` (as `goal`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.career.goal.api.Completed.character` +- **内部变量名**: `COMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.career.goal.api.RewardsClaimed.character` +- **内部变量名**: `REWARDSCLAIMED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.career` (as `goal`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### character + +- **完整名称**: `eve.career.goal.api.admin.GetAllByCharacterRequest.character` +- **内部变量名**: `GETALLBYCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### label + +- **完整名称**: `eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.label` +- **内部变量名**: `GETALLBYCHARACTERRESPONSE_GOAL_REWARDLABELSTATE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.goal` +- **内部变量名**: `GETALLBYCHARACTERRESPONSE_GOAL` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.admin.GetAllByCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `label` | `api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.label` | enum (cpp: bool) | optional (required in proto3) | +| 3 | `claimed_time` | `api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.claimed_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `not_claimed` | `api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.not_claimed` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `goal` | `api.admin.GetAllByCharacterResponse.Goal.goal` | message (cpp: message) → `evedotcareerdotgoalpb2.identifier` | optional (required in proto3) | +| 6 | `progress` | `api.admin.GetAllByCharacterResponse.Goal.progress` | uint32 (cpp: int64) | optional (required in proto3) | +| 7 | `not_completed` | `api.admin.GetAllByCharacterResponse.Goal.not_completed` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `completed_time` | `api.admin.GetAllByCharacterResponse.Goal.completed_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 9 | `reward_label_states` | `api.admin.GetAllByCharacterResponse.Goal.reward_label_states` | message (cpp: message) → `getallbycharacterresponsegoalrewardlabelstate` | repeated | +| 10 | `goals` | `api.admin.GetAllByCharacterResponse.goals` | message (cpp: message) → `getallbycharacterresponsegoal` | repeated | +| 11 | `goal` | `api.admin.CompleteRequest.goal` | message (cpp: message) → `evedotcareerdotgoalpb2.identifier` | optional (required in proto3) | +| 12 | `character` | `api.admin.CompleteRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### goals + +- **完整名称**: `eve.career.goal.api.admin.GetAllByCharacterResponse.goals` +- **内部变量名**: `GETALLBYCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.career.goal.api.admin.CompleteRequest.goal` +- **内部变量名**: `COMPLETEREQUEST` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.admin.GetAllByCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `label` | `api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.label` | enum (cpp: bool) | optional (required in proto3) | +| 3 | `claimed_time` | `api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.claimed_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `not_claimed` | `api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.not_claimed` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `goal` | `api.admin.GetAllByCharacterResponse.Goal.goal` | message (cpp: message) → `evedotcareerdotgoalpb2.identifier` | optional (required in proto3) | +| 6 | `progress` | `api.admin.GetAllByCharacterResponse.Goal.progress` | uint32 (cpp: int64) | optional (required in proto3) | +| 7 | `not_completed` | `api.admin.GetAllByCharacterResponse.Goal.not_completed` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `completed_time` | `api.admin.GetAllByCharacterResponse.Goal.completed_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 9 | `reward_label_states` | `api.admin.GetAllByCharacterResponse.Goal.reward_label_states` | message (cpp: message) → `getallbycharacterresponsegoalrewardlabelstate` | repeated | +| 10 | `goals` | `api.admin.GetAllByCharacterResponse.goals` | message (cpp: message) → `getallbycharacterresponsegoal` | repeated | +| 11 | `goal` | `api.admin.CompleteRequest.goal` | message (cpp: message) → `evedotcareerdotgoalpb2.identifier` | optional (required in proto3) | +| 12 | `character` | `api.admin.CompleteRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### CompleteResponse + +- **完整名称**: `eve.career.goal.api.admin.CompleteResponse` +- **内部变量名**: `COMPLETERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.career.goal.api.admin.MigrateCharacterCommanded.character` +- **内部变量名**: `MIGRATECHARACTERCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### MigrateToDynamoDBCommanded + +- **完整名称**: `eve.career.goal.api.admin.MigrateToDynamoDBCommanded` +- **内部变量名**: `MIGRATETODYNAMODBCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.ship` (as `ship`) +- `eve.ship` (as `ship_type`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.spacecomponent.deploy` (as `deploy`) +- `eve.spacecomponent.deploy` (as `deploy_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### deployable + +- **完整名称**: `eve.spacecomponent.deploy.api.Deployed.deployable` +- **内部变量名**: `DEPLOYED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.solarsystem` (as `solarsystem`) +- `eve.spacecomponent.phaseable` (as `phaseable`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### phaseable + +- **完整名称**: `eve.spacecomponent.phaseable.api.PhasedOut.phaseable` +- **内部变量名**: `PHASEDOUT` +- **字段数量**: 10 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `phaseable` | `api.PhasedOut.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.PhasedOut.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `phaseable` | `api.PhasingInStarted.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.PhasingInStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `phaseable` | `api.PhasedIn.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 6 | `solar_system` | `api.PhasedIn.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 7 | `duration` | `api.PhasedIn.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 8 | `phaseable` | `api.PhasingOutStarted.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.PhasingOutStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `duration` | `api.PhasingOutStarted.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | + +--- + +##### phaseable + +- **完整名称**: `eve.spacecomponent.phaseable.api.PhasingInStarted.phaseable` +- **内部变量名**: `PHASINGINSTARTED` +- **字段数量**: 10 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `phaseable` | `api.PhasedOut.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.PhasedOut.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `phaseable` | `api.PhasingInStarted.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.PhasingInStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `phaseable` | `api.PhasedIn.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 6 | `solar_system` | `api.PhasedIn.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 7 | `duration` | `api.PhasedIn.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 8 | `phaseable` | `api.PhasingOutStarted.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.PhasingOutStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `duration` | `api.PhasingOutStarted.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | + +--- + +##### phaseable + +- **完整名称**: `eve.spacecomponent.phaseable.api.PhasedIn.phaseable` +- **内部变量名**: `PHASEDIN` +- **字段数量**: 10 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `phaseable` | `api.PhasedOut.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.PhasedOut.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `phaseable` | `api.PhasingInStarted.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.PhasingInStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `phaseable` | `api.PhasedIn.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 6 | `solar_system` | `api.PhasedIn.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 7 | `duration` | `api.PhasedIn.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 8 | `phaseable` | `api.PhasingOutStarted.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.PhasingOutStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `duration` | `api.PhasingOutStarted.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | + +--- + +##### phaseable + +- **完整名称**: `eve.spacecomponent.phaseable.api.PhasingOutStarted.phaseable` +- **内部变量名**: `PHASINGOUTSTARTED` +- **字段数量**: 10 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `phaseable` | `api.PhasedOut.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.PhasedOut.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `phaseable` | `api.PhasingInStarted.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.PhasingInStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `phaseable` | `api.PhasedIn.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 6 | `solar_system` | `api.PhasedIn.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 7 | `duration` | `api.PhasedIn.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 8 | `phaseable` | `api.PhasingOutStarted.phaseable` | message (cpp: message) → `evedotspacecomponentdotphaseabledotphaseablepb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.PhasingOutStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `duration` | `api.PhasingOutStarted.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.ship` (as `ship`) +- `eve.ship` (as `ship_type`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.spacecomponent.phaseable` (as `phaseable`) +- `eve.spacecomponent.phaseable` (as `phaseable_type`) +- `eve.spacecomponent.phasestabilizer` (as `phasestabilizer`) +- `eve.spacecomponent.phasestabilizer` (as `phasestabilizer_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 9 + +##### phase_stabilizer + +- **完整名称**: `eve.spacecomponent.phasestabilizer.api.Deployed.phase_stabilizer` +- **内部变量名**: `DEPLOYED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### phase_stabilizer + +- **完整名称**: `eve.spacecomponent.phasestabilizer.api.ShipConnected.phase_stabilizer` +- **内部变量名**: `SHIPCONNECTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### phase_stabilizer + +- **完整名称**: `eve.spacecomponent.phasestabilizer.api.ShipDisconnected.phase_stabilizer` +- **内部变量名**: `SHIPDISCONNECTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ship + +- **完整名称**: `eve.spacecomponent.phasestabilizer.api.StabilizationStarted.ConnectedShip.ship` +- **内部变量名**: `STABILIZATIONSTARTED_CONNECTEDSHIP` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### phase_stabilizer + +- **完整名称**: `eve.spacecomponent.phasestabilizer.api.StabilizationStarted.phase_stabilizer` +- **内部变量名**: `STABILIZATIONSTARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### phase_stabilizer + +- **完整名称**: `eve.spacecomponent.phasestabilizer.api.StabilizationFailed.phase_stabilizer` +- **内部变量名**: `STABILIZATIONFAILED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ship + +- **完整名称**: `eve.spacecomponent.phasestabilizer.api.StabilizationCompleted.ConnectedShip.ship` +- **内部变量名**: `STABILIZATIONCOMPLETED_CONNECTEDSHIP` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### phase_stabilizer + +- **完整名称**: `eve.spacecomponent.phasestabilizer.api.StabilizationCompleted.phase_stabilizer` +- **内部变量名**: `STABILIZATIONCOMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### phase_stabilizer + +- **完整名称**: `eve.spacecomponent.phasestabilizer.api.ChargesDepleted.phase_stabilizer` +- **内部变量名**: `CHARGESDEPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### ingenico_payment_id + +- **完整名称**: `eve.vendors.ingenico.api.PaymentStatusReceived.ingenico_payment_id` +- **内部变量名**: `PAYMENTSTATUSRECEIVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### threed_secure_authenticated + +- **完整名称**: `eve.vendors.ingenico.api.Attributes.threed_secure_authenticated` +- **内部变量名**: `ATTRIBUTES` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) +- `eve.vendors.fusionauth` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### user + +- **完整名称**: `eve.vendors.fusionauth.api.UserEmailVerified.user` +- **内部变量名**: `USEREMAILVERIFIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.vendors.fusionauth.api.UserLinked.user` +- **内部变量名**: `USERLINKED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) +- `eve.vendors.fusionauth` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### user + +- **完整名称**: `eve.vendors.fusionauth.api.LinkUserRequest.user` +- **内部变量名**: `LINKUSERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.vendors.fusionauth.api.LinkUserResponse.user` +- **内部变量名**: `LINKUSERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.fulfillment.offer` (as `offer`) +- `eve.user` (as `user`) +- `eve.vendors.twitch.entitlement` (as `entitlement`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### entitlement + +- **完整名称**: `eve.vendors.twitch.entitlement.api.DropEventReceived.entitlement` +- **内部变量名**: `DROPEVENTRECEIVED` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `entitlement` | `api.DropEventReceived.entitlement` | message (cpp: message) → `evedotvendorsdottwitchdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 2 | `user` | `api.DropEventReceived.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 3 | `offer` | `api.DropEventReceived.offer` | message (cpp: message) → `evedotfulfillmentdotofferdotofferpb2.identifier` | optional (required in proto3) | +| 4 | `entitlement` | `api.DropRewardDelivered.entitlement` | message (cpp: message) → `evedotvendorsdottwitchdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 5 | `user` | `api.DropRewardDelivered.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 6 | `offer` | `api.DropRewardDelivered.offer` | message (cpp: message) → `evedotfulfillmentdotofferdotofferpb2.identifier` | optional (required in proto3) | +| 7 | `entitlements` | `api.DropReceived.entitlements` | message (cpp: message) → `evedotvendorsdottwitchdotentitlementdotentitlementpb2.identifier` | repeated | +| 8 | `user` | `api.DropReceived.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### entitlement + +- **完整名称**: `eve.vendors.twitch.entitlement.api.DropRewardDelivered.entitlement` +- **内部变量名**: `DROPREWARDDELIVERED` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `entitlement` | `api.DropEventReceived.entitlement` | message (cpp: message) → `evedotvendorsdottwitchdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 2 | `user` | `api.DropEventReceived.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 3 | `offer` | `api.DropEventReceived.offer` | message (cpp: message) → `evedotfulfillmentdotofferdotofferpb2.identifier` | optional (required in proto3) | +| 4 | `entitlement` | `api.DropRewardDelivered.entitlement` | message (cpp: message) → `evedotvendorsdottwitchdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 5 | `user` | `api.DropRewardDelivered.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 6 | `offer` | `api.DropRewardDelivered.offer` | message (cpp: message) → `evedotfulfillmentdotofferdotofferpb2.identifier` | optional (required in proto3) | +| 7 | `entitlements` | `api.DropReceived.entitlements` | message (cpp: message) → `evedotvendorsdottwitchdotentitlementdotentitlementpb2.identifier` | repeated | +| 8 | `user` | `api.DropReceived.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### entitlements + +- **完整名称**: `eve.vendors.twitch.entitlement.api.DropReceived.entitlements` +- **内部变量名**: `DROPRECEIVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.corporation` (as `corporation`) +- `eve.planet.skyhook` (as `skyhook`) +- `eve.quasar.admin` (as `admin`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### context + +- **完整名称**: `eve.planet.skyhook.admin.api.ChangeOwnerRequest.context` +- **内部变量名**: `CHANGEOWNERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ChangeOwnerResponse + +- **完整名称**: `eve.planet.skyhook.admin.api.ChangeOwnerResponse` +- **内部变量名**: `CHANGEOWNERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.planet.skyhook` (as `skyhook`) +- `eve.planet.skyhook` (as `state`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### skyhook + +- **完整名称**: `eve.planet.skyhook.api.GetReinforcementExitHourRequest.skyhook` +- **内部变量名**: `GETREINFORCEMENTEXITHOURREQUEST` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skyhook` | `api.GetReinforcementExitHourRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.GetReinforcementExitHourRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `reinforcement_exit_hour` | `api.GetReinforcementExitHourResponse.reinforcement_exit_hour` | uint32 (cpp: int64) | optional (required in proto3) | +| 4 | `skyhook` | `api.GetStateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 5 | `state` | `api.GetStateResponse.state` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `no_timer` | `api.GetStateResponse.no_timer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `timer_end` | `api.GetStateResponse.timer_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### reinforcement_exit_hour + +- **完整名称**: `eve.planet.skyhook.api.GetReinforcementExitHourResponse.reinforcement_exit_hour` +- **内部变量名**: `GETREINFORCEMENTEXITHOURRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.planet.skyhook.api.GetStateRequest.skyhook` +- **内部变量名**: `GETSTATEREQUEST` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skyhook` | `api.GetReinforcementExitHourRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.GetReinforcementExitHourRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `reinforcement_exit_hour` | `api.GetReinforcementExitHourResponse.reinforcement_exit_hour` | uint32 (cpp: int64) | optional (required in proto3) | +| 4 | `skyhook` | `api.GetStateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 5 | `state` | `api.GetStateResponse.state` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `no_timer` | `api.GetStateResponse.no_timer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `timer_end` | `api.GetStateResponse.timer_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### state + +- **完整名称**: `eve.planet.skyhook.api.GetStateResponse.state` +- **内部变量名**: `GETSTATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.corporation` (as `corporation`) +- `eve.inventory.container` (as `container`) +- `eve.planet` (as `planet`) +- `eve.planet.skyhook` (as `skyhook`) +- `eve.planet.skyhook` (as `state`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### planet + +- **完整名称**: `eve.planet.skyhook.api.Constructed.planet` +- **内部变量名**: `CONSTRUCTED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `skyhook.api.Constructed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `skyhook.api.Constructed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `skyhook` | `skyhook.api.Constructed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `skyhook.api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `skyhook.api.Onlined.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `planet` | `skyhook.api.Destroyed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 7 | `skyhook` | `skyhook.api.Destroyed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `skyhook.api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `no_loot_destination` | `skyhook.api.Destroyed.no_loot_destination` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `corporation` | `skyhook.api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 11 | `planet` | `skyhook.api.OwnerChanged.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 12 | `skyhook` | `skyhook.api.OwnerChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 13 | `corporation` | `skyhook.api.OwnerChanged.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `old_corporation` | `skyhook.api.OwnerChanged.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `planet` | `skyhook.api.ReinforcementEntered.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 16 | `skyhook` | `skyhook.api.ReinforcementEntered.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `corporation` | `skyhook.api.ReinforcementEntered.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 18 | `planet` | `skyhook.api.ReinforcementExited.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 19 | `skyhook` | `skyhook.api.ReinforcementExited.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `skyhook.api.ReinforcementExited.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhook` | `skyhook.api.StateChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 22 | `previous_state` | `skyhook.api.StateChanged.previous_state` | enum (cpp: bool) | optional (required in proto3) | +| 23 | `current_state` | `skyhook.api.StateChanged.current_state` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `no_timer` | `skyhook.api.StateChanged.no_timer` | bool (cpp: uint32) | optional (required in proto3) | +| 25 | `timer_end` | `skyhook.api.StateChanged.timer_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### skyhook + +- **完整名称**: `eve.planet.skyhook.api.Onlined.skyhook` +- **内部变量名**: `ONLINED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `api.Constructed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `api.Constructed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `skyhook` | `api.Constructed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `api.Onlined.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `planet` | `api.Destroyed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 7 | `skyhook` | `api.Destroyed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `no_loot_destination` | `api.Destroyed.no_loot_destination` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `corporation` | `api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 11 | `planet` | `api.OwnerChanged.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 12 | `skyhook` | `api.OwnerChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 13 | `corporation` | `api.OwnerChanged.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `old_corporation` | `api.OwnerChanged.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `planet` | `api.ReinforcementEntered.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 16 | `skyhook` | `api.ReinforcementEntered.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `corporation` | `api.ReinforcementEntered.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 18 | `planet` | `api.ReinforcementExited.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 19 | `skyhook` | `api.ReinforcementExited.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `api.ReinforcementExited.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhook` | `api.StateChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 22 | `previous_state` | `api.StateChanged.previous_state` | enum (cpp: bool) | optional (required in proto3) | +| 23 | `current_state` | `api.StateChanged.current_state` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `no_timer` | `api.StateChanged.no_timer` | bool (cpp: uint32) | optional (required in proto3) | +| 25 | `timer_end` | `api.StateChanged.timer_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### planet + +- **完整名称**: `eve.planet.skyhook.api.Destroyed.planet` +- **内部变量名**: `DESTROYED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `skyhook.api.Constructed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `skyhook.api.Constructed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `skyhook` | `skyhook.api.Constructed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `skyhook.api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `skyhook.api.Onlined.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `planet` | `skyhook.api.Destroyed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 7 | `skyhook` | `skyhook.api.Destroyed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `skyhook.api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `no_loot_destination` | `skyhook.api.Destroyed.no_loot_destination` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `corporation` | `skyhook.api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 11 | `planet` | `skyhook.api.OwnerChanged.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 12 | `skyhook` | `skyhook.api.OwnerChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 13 | `corporation` | `skyhook.api.OwnerChanged.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `old_corporation` | `skyhook.api.OwnerChanged.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `planet` | `skyhook.api.ReinforcementEntered.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 16 | `skyhook` | `skyhook.api.ReinforcementEntered.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `corporation` | `skyhook.api.ReinforcementEntered.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 18 | `planet` | `skyhook.api.ReinforcementExited.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 19 | `skyhook` | `skyhook.api.ReinforcementExited.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `skyhook.api.ReinforcementExited.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhook` | `skyhook.api.StateChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 22 | `previous_state` | `skyhook.api.StateChanged.previous_state` | enum (cpp: bool) | optional (required in proto3) | +| 23 | `current_state` | `skyhook.api.StateChanged.current_state` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `no_timer` | `skyhook.api.StateChanged.no_timer` | bool (cpp: uint32) | optional (required in proto3) | +| 25 | `timer_end` | `skyhook.api.StateChanged.timer_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### planet + +- **完整名称**: `eve.planet.skyhook.api.OwnerChanged.planet` +- **内部变量名**: `OWNERCHANGED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `skyhook.api.Constructed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `skyhook.api.Constructed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `skyhook` | `skyhook.api.Constructed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `skyhook.api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `skyhook.api.Onlined.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `planet` | `skyhook.api.Destroyed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 7 | `skyhook` | `skyhook.api.Destroyed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `skyhook.api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `no_loot_destination` | `skyhook.api.Destroyed.no_loot_destination` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `corporation` | `skyhook.api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 11 | `planet` | `skyhook.api.OwnerChanged.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 12 | `skyhook` | `skyhook.api.OwnerChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 13 | `corporation` | `skyhook.api.OwnerChanged.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `old_corporation` | `skyhook.api.OwnerChanged.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `planet` | `skyhook.api.ReinforcementEntered.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 16 | `skyhook` | `skyhook.api.ReinforcementEntered.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `corporation` | `skyhook.api.ReinforcementEntered.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 18 | `planet` | `skyhook.api.ReinforcementExited.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 19 | `skyhook` | `skyhook.api.ReinforcementExited.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `skyhook.api.ReinforcementExited.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhook` | `skyhook.api.StateChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 22 | `previous_state` | `skyhook.api.StateChanged.previous_state` | enum (cpp: bool) | optional (required in proto3) | +| 23 | `current_state` | `skyhook.api.StateChanged.current_state` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `no_timer` | `skyhook.api.StateChanged.no_timer` | bool (cpp: uint32) | optional (required in proto3) | +| 25 | `timer_end` | `skyhook.api.StateChanged.timer_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### planet + +- **完整名称**: `eve.planet.skyhook.api.ReinforcementEntered.planet` +- **内部变量名**: `REINFORCEMENTENTERED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `skyhook.api.Constructed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `skyhook.api.Constructed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `skyhook` | `skyhook.api.Constructed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `skyhook.api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `skyhook.api.Onlined.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `planet` | `skyhook.api.Destroyed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 7 | `skyhook` | `skyhook.api.Destroyed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `skyhook.api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `no_loot_destination` | `skyhook.api.Destroyed.no_loot_destination` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `corporation` | `skyhook.api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 11 | `planet` | `skyhook.api.OwnerChanged.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 12 | `skyhook` | `skyhook.api.OwnerChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 13 | `corporation` | `skyhook.api.OwnerChanged.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `old_corporation` | `skyhook.api.OwnerChanged.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `planet` | `skyhook.api.ReinforcementEntered.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 16 | `skyhook` | `skyhook.api.ReinforcementEntered.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `corporation` | `skyhook.api.ReinforcementEntered.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 18 | `planet` | `skyhook.api.ReinforcementExited.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 19 | `skyhook` | `skyhook.api.ReinforcementExited.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `skyhook.api.ReinforcementExited.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhook` | `skyhook.api.StateChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 22 | `previous_state` | `skyhook.api.StateChanged.previous_state` | enum (cpp: bool) | optional (required in proto3) | +| 23 | `current_state` | `skyhook.api.StateChanged.current_state` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `no_timer` | `skyhook.api.StateChanged.no_timer` | bool (cpp: uint32) | optional (required in proto3) | +| 25 | `timer_end` | `skyhook.api.StateChanged.timer_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### planet + +- **完整名称**: `eve.planet.skyhook.api.ReinforcementExited.planet` +- **内部变量名**: `REINFORCEMENTEXITED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `skyhook.api.Constructed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `skyhook.api.Constructed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `skyhook` | `skyhook.api.Constructed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `skyhook.api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `skyhook.api.Onlined.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `planet` | `skyhook.api.Destroyed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 7 | `skyhook` | `skyhook.api.Destroyed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `skyhook.api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `no_loot_destination` | `skyhook.api.Destroyed.no_loot_destination` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `corporation` | `skyhook.api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 11 | `planet` | `skyhook.api.OwnerChanged.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 12 | `skyhook` | `skyhook.api.OwnerChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 13 | `corporation` | `skyhook.api.OwnerChanged.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `old_corporation` | `skyhook.api.OwnerChanged.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `planet` | `skyhook.api.ReinforcementEntered.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 16 | `skyhook` | `skyhook.api.ReinforcementEntered.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `corporation` | `skyhook.api.ReinforcementEntered.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 18 | `planet` | `skyhook.api.ReinforcementExited.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 19 | `skyhook` | `skyhook.api.ReinforcementExited.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `skyhook.api.ReinforcementExited.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhook` | `skyhook.api.StateChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 22 | `previous_state` | `skyhook.api.StateChanged.previous_state` | enum (cpp: bool) | optional (required in proto3) | +| 23 | `current_state` | `skyhook.api.StateChanged.current_state` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `no_timer` | `skyhook.api.StateChanged.no_timer` | bool (cpp: uint32) | optional (required in proto3) | +| 25 | `timer_end` | `skyhook.api.StateChanged.timer_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### skyhook + +- **完整名称**: `eve.planet.skyhook.api.StateChanged.skyhook` +- **内部变量名**: `STATECHANGED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `api.Constructed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `api.Constructed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `skyhook` | `api.Constructed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `api.Onlined.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `planet` | `api.Destroyed.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 7 | `skyhook` | `api.Destroyed.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `no_loot_destination` | `api.Destroyed.no_loot_destination` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `corporation` | `api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 11 | `planet` | `api.OwnerChanged.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 12 | `skyhook` | `api.OwnerChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 13 | `corporation` | `api.OwnerChanged.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `old_corporation` | `api.OwnerChanged.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `planet` | `api.ReinforcementEntered.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 16 | `skyhook` | `api.ReinforcementEntered.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `corporation` | `api.ReinforcementEntered.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 18 | `planet` | `api.ReinforcementExited.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 19 | `skyhook` | `api.ReinforcementExited.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `api.ReinforcementExited.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhook` | `api.StateChanged.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 22 | `previous_state` | `api.StateChanged.previous_state` | enum (cpp: bool) | optional (required in proto3) | +| 23 | `current_state` | `api.StateChanged.current_state` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `no_timer` | `api.StateChanged.no_timer` | bool (cpp: uint32) | optional (required in proto3) | +| 25 | `timer_end` | `api.StateChanged.timer_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### Completed + +- **完整名称**: `eve.vanguard.contract.api.Completed` +- **内部变量名**: `COMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CorruptionContractCompleted + +- **完整名称**: `eve.vanguard.contract.api.CorruptionContractCompleted` +- **内部变量名**: `CORRUPTIONCONTRACTCOMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SuppressionContractCompleted + +- **完整名称**: `eve.vanguard.contract.api.SuppressionContractCompleted` +- **内部变量名**: `SUPPRESSIONCONTRACTCOMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) +- `eve.vanguard.commission.assignment` (as `assignment`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### user + +- **完整名称**: `eve.vanguard.commission.assignment.admin.api.TriggerCompletedEventRequest.user` +- **内部变量名**: `TRIGGERCOMPLETEDEVENTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### TriggerCompletedEventResponse + +- **完整名称**: `eve.vanguard.commission.assignment.admin.api.TriggerCompletedEventResponse` +- **内部变量名**: `TRIGGERCOMPLETEDEVENTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) +- `eve.vanguard.commission.assignment` (as `assignment`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### user + +- **完整名称**: `eve.vanguard.commission.assignment.api.Completed.user` +- **内部变量名**: `COMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.pirate.insurgency` (as `campaign`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### campaign + +- **完整名称**: `eve.vanguard.insurgency.api.SkirmishCompleted.campaign` +- **内部变量名**: `SKIRMISHCOMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.achievement.category.definition` (as `category`) +- `eve.achievement.category.milestone.definition` (as `milestone`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### character + +- **完整名称**: `eve.achievement.category.milestone.api.Reached.character` +- **内部变量名**: `REACHED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.achievement.category.definition` (as `category`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.achievement.category.api.GetRequest.character` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### score + +- **完整名称**: `eve.achievement.category.api.GetResponse.score` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.achievement.category.definition` (as `category`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### character + +- **完整名称**: `eve.achievement.category.api.Progressed.character` +- **内部变量名**: `PROGRESSED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.achievement.definition` (as `achievement`) +- `eve.achievement.milestone.definition` (as `milestone`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### character + +- **完整名称**: `eve.achievement.milestone.api.Reached.character` +- **内部变量名**: `REACHED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 9 + +##### ListRequest + +- **完整名称**: `eve.achievement.definition.version.api.ListRequest` +- **内部变量名**: `LISTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### versions + +- **完整名称**: `eve.achievement.definition.version.api.ListResponse.versions` +- **内部变量名**: `LISTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetScheduledRequest + +- **完整名称**: `eve.achievement.definition.version.api.GetScheduledRequest` +- **内部变量名**: `GETSCHEDULEDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.achievement.definition.version.api.GetScheduledResponse.Scheduled.version` +- **内部变量名**: `GETSCHEDULEDRESPONSE_SCHEDULED` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `versions` | `api.ListResponse.versions` | message (cpp: message) → `evedotsemanticversionpb2.specification` | repeated | +| 2 | `version` | `api.GetScheduledResponse.Scheduled.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `release_timestamp` | `api.GetScheduledResponse.Scheduled.release_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `scheduled_version` | `api.GetScheduledResponse.scheduled_version` | message (cpp: message) → `getscheduledresponsescheduled` | optional (required in proto3) | +| 5 | `no_scheduled_version` | `api.GetScheduledResponse.no_scheduled_version` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `version` | `api.GetDefaultVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `version` | `api.GetTenantVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | + +--- + +##### scheduled_version + +- **完整名称**: `eve.achievement.definition.version.api.GetScheduledResponse.scheduled_version` +- **内部变量名**: `GETSCHEDULEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetDefaultVersionRequest + +- **完整名称**: `eve.achievement.definition.version.api.GetDefaultVersionRequest` +- **内部变量名**: `GETDEFAULTVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.achievement.definition.version.api.GetDefaultVersionResponse.version` +- **内部变量名**: `GETDEFAULTVERSIONRESPONSE` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `versions` | `api.ListResponse.versions` | message (cpp: message) → `evedotsemanticversionpb2.specification` | repeated | +| 2 | `version` | `api.GetScheduledResponse.Scheduled.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `release_timestamp` | `api.GetScheduledResponse.Scheduled.release_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `scheduled_version` | `api.GetScheduledResponse.scheduled_version` | message (cpp: message) → `getscheduledresponsescheduled` | optional (required in proto3) | +| 5 | `no_scheduled_version` | `api.GetScheduledResponse.no_scheduled_version` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `version` | `api.GetDefaultVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `version` | `api.GetTenantVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | + +--- + +##### GetTenantVersionRequest + +- **完整名称**: `eve.achievement.definition.version.api.GetTenantVersionRequest` +- **内部变量名**: `GETTENANTVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.achievement.definition.version.api.GetTenantVersionResponse.version` +- **内部变量名**: `GETTENANTVERSIONRESPONSE` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `versions` | `api.ListResponse.versions` | message (cpp: message) → `evedotsemanticversionpb2.specification` | repeated | +| 2 | `version` | `api.GetScheduledResponse.Scheduled.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `release_timestamp` | `api.GetScheduledResponse.Scheduled.release_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `scheduled_version` | `api.GetScheduledResponse.scheduled_version` | message (cpp: message) → `getscheduledresponsescheduled` | optional (required in proto3) | +| 5 | `no_scheduled_version` | `api.GetScheduledResponse.no_scheduled_version` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `version` | `api.GetDefaultVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `version` | `api.GetTenantVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### update_uuid + +- **完整名称**: `eve.achievement.definition.version.api.SetDefaultVersionCommanded.update_uuid` +- **内部变量名**: `SETDEFAULTVERSIONCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### previous_version + +- **完整名称**: `eve.achievement.definition.version.api.Deployed.previous_version` +- **内部变量名**: `DEPLOYED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### context + +- **完整名称**: `eve.achievement.definition.version.api.admin.SetDefaultVersionRequest.context` +- **内部变量名**: `SETDEFAULTVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetDefaultVersionResponse + +- **完整名称**: `eve.achievement.definition.version.api.admin.SetDefaultVersionResponse` +- **内部变量名**: `SETDEFAULTVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.achievement.definition.version.api.admin.OverrideVersionForTenantRequest.context` +- **内部变量名**: `OVERRIDEVERSIONFORTENANTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OverrideVersionForTenantResponse + +- **完整名称**: `eve.achievement.definition.version.api.admin.OverrideVersionForTenantResponse` +- **内部变量名**: `OVERRIDEVERSIONFORTENANTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.achievement.definition.version.api.admin.CancelScheduledRequest.context` +- **内部变量名**: `CANCELSCHEDULEDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CancelScheduledResponse + +- **完整名称**: `eve.achievement.definition.version.api.admin.CancelScheduledResponse` +- **内部变量名**: `CANCELSCHEDULEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cdn` (as `cdn`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### GetLatestRequest + +- **完整名称**: `eve.achievement.definition.api.GetLatestRequest` +- **内部变量名**: `GETLATESTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### checkpoint + +- **完整名称**: `eve.achievement.definition.api.GetLatestResponse.checkpoint` +- **内部变量名**: `GETLATESTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.achievement.category.definition` (as `category`) +- `eve.achievement.category.milestone.definition` (as `milestone`) +- `eve.achievement.definition` (as `achievement`) +- `eve.achievement.milestone.definition` (as `milestone`) +- `eve.achievement.reward.definition` (as `reward`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### owner + +- **完整名称**: `eve.achievement.reward.api.GetUnclaimedRequest.owner` +- **内部变量名**: `GETUNCLAIMEDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### achievement + +- **完整名称**: `eve.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource.achievement` +- **内部变量名**: `GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE` +- **字段数量**: 11 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `owner` | `reward.api.GetUnclaimedRequest.owner` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `page` | `reward.api.GetUnclaimedRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 3 | `achievement` | `reward.api.GetUnclaimedResponse.Reward.AchievementSource.achievement` | message (cpp: message) → `evedotachievementdotdefinitiondotachievementpb2.identifier` | optional (required in proto3) | +| 4 | `milestone` | `reward.api.GetUnclaimedResponse.Reward.AchievementSource.milestone` | message (cpp: message) → `evedotachievementdotmilestonedotdefinitiondotmilestonepb2.identifier` | optional (required in proto3) | +| 5 | `category` | `reward.api.GetUnclaimedResponse.Reward.CategorySource.category` | message (cpp: message) → `evedotachievementdotcategorydotdefinitiondotcategorypb2.identifier` | optional (required in proto3) | +| 6 | `milestone` | `reward.api.GetUnclaimedResponse.Reward.CategorySource.milestone` | message (cpp: message) → `evedotachievementdotmilestonedotdefinitiondotmilestonepb2.identifier` | optional (required in proto3) | +| 7 | `achievement_source` | `reward.api.GetUnclaimedResponse.Reward.achievement_source` | message (cpp: message) → `getunclaimedresponserewardachievementsource` | optional (required in proto3) | +| 8 | `category_source` | `reward.api.GetUnclaimedResponse.Reward.category_source` | message (cpp: message) → `getunclaimedresponserewardcategorysource` | optional (required in proto3) | +| 9 | `unclaimed_rewards` | `reward.api.GetUnclaimedResponse.Reward.unclaimed_rewards` | message (cpp: message) → `evedotachievementdotrewarddotdefinitiondotrewardpb2.identifier` | repeated | +| 10 | `rewards` | `reward.api.GetUnclaimedResponse.rewards` | message (cpp: message) → `getunclaimedresponsereward` | repeated | +| 11 | `next_page` | `reward.api.GetUnclaimedResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### category + +- **完整名称**: `eve.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource.category` +- **内部变量名**: `GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### achievement_source + +- **完整名称**: `eve.achievement.reward.api.GetUnclaimedResponse.Reward.achievement_source` +- **内部变量名**: `GETUNCLAIMEDRESPONSE_REWARD` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### rewards + +- **完整名称**: `eve.achievement.reward.api.GetUnclaimedResponse.rewards` +- **内部变量名**: `GETUNCLAIMEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.achievement.category.definition` (as `category`) +- `eve.achievement.category.milestone.definition` (as `milestone`) +- `eve.achievement.definition` (as `achievement`) +- `eve.achievement.milestone.definition` (as `milestone`) +- `eve.assetholding.entitlement` (as `entitlement`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### achievement + +- **完整名称**: `eve.achievement.reward.api.Granted.GrantedAchievement.achievement` +- **内部变量名**: `GRANTED_GRANTEDACHIEVEMENT` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `achievement` | `reward.api.Granted.GrantedAchievement.achievement` | message (cpp: message) → `evedotachievementdotdefinitiondotachievementpb2.identifier` | optional (required in proto3) | +| 2 | `milestone` | `reward.api.Granted.GrantedAchievement.milestone` | message (cpp: message) → `evedotachievementdotmilestonedotdefinitiondotmilestonepb2.identifier` | optional (required in proto3) | +| 3 | `category` | `reward.api.Granted.GrantedCategory.category` | message (cpp: message) → `evedotachievementdotcategorydotdefinitiondotcategorypb2.identifier` | optional (required in proto3) | +| 4 | `milestone` | `reward.api.Granted.GrantedCategory.milestone` | message (cpp: message) → `evedotachievementdotmilestonedotdefinitiondotmilestonepb2.identifier` | optional (required in proto3) | +| 5 | `character` | `reward.api.Granted.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `achievement` | `reward.api.Granted.achievement` | message (cpp: message) → `evedotachievementdotdefinitiondotachievementpb2.identifier` | optional (required in proto3) | +| 7 | `category` | `reward.api.Granted.category` | message (cpp: message) → `evedotachievementdotcategorydotdefinitiondotcategorypb2.identifier` | optional (required in proto3) | +| 8 | `entitlement` | `reward.api.Granted.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | + +--- + +##### category + +- **完整名称**: `eve.achievement.reward.api.Granted.GrantedCategory.category` +- **内部变量名**: `GRANTED_GRANTEDCATEGORY` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.achievement.reward.api.Granted.character` +- **内部变量名**: `GRANTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.achievement.contribution` (as `contribution`) +- `eve.achievement.definition` (as `achievement`) +- `eve.achievement.milestone.definition` (as `milestone`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### character + +- **完整名称**: `eve.achievement.api.GetRequest.character` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### milestone + +- **完整名称**: `eve.achievement.api.GetResponse.ReachedMilestone.milestone` +- **内部变量名**: `GETRESPONSE_REACHEDMILESTONE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### completed_date + +- **完整名称**: `eve.achievement.api.GetResponse.completed_date` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.achievement.contribution` (as `contribution`) +- `eve.achievement.definition` (as `achievement`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.achievement.api.Completed.character` +- **内部变量名**: `COMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### previous_value + +- **完整名称**: `eve.achievement.api.Progressed.CumulativeProgress.previous_value` +- **内部变量名**: `PROGRESSED_CUMULATIVEPROGRESS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### previous_items + +- **完整名称**: `eve.achievement.api.Progressed.ChecklistProgress.previous_items` +- **内部变量名**: `PROGRESSED_CHECKLISTPROGRESS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.achievement.api.Progressed.character` +- **内部变量名**: `PROGRESSED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.achievement.contribution` (as `contribution`) +- `eve.achievement.definition` (as `achievement`) +- `eve.character` (as `character`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.achievement.api.admin.AddProgressRequest.character` +- **内部变量名**: `ADDPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### AddProgressResponse + +- **完整名称**: `eve.achievement.api.admin.AddProgressResponse` +- **内部变量名**: `ADDPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.achievement.api.admin.ResetRequest.character` +- **内部变量名**: `RESETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ResetResponse + +- **完整名称**: `eve.achievement.api.admin.ResetResponse` +- **内部变量名**: `RESETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.achievement.showcase.api.GetCharacterScoreRequest.character` +- **内部变量名**: `GETCHARACTERSCOREREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### score + +- **完整名称**: `eve.achievement.showcase.api.GetCharacterScoreResponse.score` +- **内部变量名**: `GETCHARACTERSCORERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### character + +- **完整名称**: `eve.achievement.showcase.api.ScoreProgressed.character` +- **内部变量名**: `SCOREPROGRESSED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.math` (as `fraction`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### system + +- **完整名称**: `eve.pirate.suppression.api.GetSystemStageRequest.system` +- **内部变量名**: `GETSYSTEMSTAGEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### current_stage + +- **完整名称**: `eve.pirate.suppression.api.GetSystemStageResponse.current_stage` +- **内部变量名**: `GETSYSTEMSTAGERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.suppression.api.GetSystemProgressRequest.system` +- **内部变量名**: `GETSYSTEMPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### progress + +- **完整名称**: `eve.pirate.suppression.api.GetSystemProgressResponse.progress` +- **内部变量名**: `GETSYSTEMPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetStageThresholdsRequest + +- **完整名称**: `eve.pirate.suppression.api.GetStageThresholdsRequest` +- **内部变量名**: `GETSTAGETHRESHOLDSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### thresholds + +- **完整名称**: `eve.pirate.suppression.api.GetStageThresholdsResponse.thresholds` +- **内部变量名**: `GETSTAGETHRESHOLDSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetMaximumRequest + +- **完整名称**: `eve.pirate.suppression.api.GetMaximumRequest` +- **内部变量名**: `GETMAXIMUMREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### maximum + +- **完整名称**: `eve.pirate.suppression.api.GetMaximumResponse.maximum` +- **内部变量名**: `GETMAXIMUMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.math` (as `fraction`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### list + +- **完整名称**: `eve.pirate.suppression.api.Increased.Characters.list` +- **内部变量名**: `INCREASED_CHARACTERS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### unknown + +- **完整名称**: `eve.pirate.suppression.api.Increased.unknown` +- **内部变量名**: `INCREASED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.suppression.api.Set.system` +- **内部变量名**: `SET` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.suppression.api.Reset.system` +- **内部变量名**: `RESET` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.suppression.api.StageTransitioned.system` +- **内部变量名**: `STAGETRANSITIONED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.suppression.api.FinalStageReached.system` +- **内部变量名**: `FINALSTAGEREACHED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.math` (as `fraction`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 12 + +##### system + +- **完整名称**: `eve.pirate.suppression.api.admin.SetSystemProgressRequest.system` +- **内部变量名**: `SETSYSTEMPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetSystemProgressResponse + +- **完整名称**: `eve.pirate.suppression.api.admin.SetSystemProgressResponse` +- **内部变量名**: `SETSYSTEMPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### thresholds + +- **完整名称**: `eve.pirate.suppression.api.admin.SetStageThresholdsRequest.thresholds` +- **内部变量名**: `SETSTAGETHRESHOLDSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetStageThresholdsResponse + +- **完整名称**: `eve.pirate.suppression.api.admin.SetStageThresholdsResponse` +- **内部变量名**: `SETSTAGETHRESHOLDSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.suppression.api.admin.GetSystemInitialProgressRequest.system` +- **内部变量名**: `GETSYSTEMINITIALPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### progress + +- **完整名称**: `eve.pirate.suppression.api.admin.GetSystemInitialProgressResponse.progress` +- **内部变量名**: `GETSYSTEMINITIALPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.suppression.api.admin.SetSystemInitialProgressRequest.system` +- **内部变量名**: `SETSYSTEMINITIALPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetSystemInitialProgressResponse + +- **完整名称**: `eve.pirate.suppression.api.admin.SetSystemInitialProgressResponse` +- **内部变量名**: `SETSYSTEMINITIALPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### maximum + +- **完整名称**: `eve.pirate.suppression.api.admin.SetMaximumRequest.maximum` +- **内部变量名**: `SETMAXIMUMREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetMaximumResponse + +- **完整名称**: `eve.pirate.suppression.api.admin.SetMaximumResponse` +- **内部变量名**: `SETMAXIMUMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### old_thresholds + +- **完整名称**: `eve.pirate.suppression.api.admin.StageThresholdsSet.old_thresholds` +- **内部变量名**: `STAGETHRESHOLDSSET` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### old_maximum + +- **完整名称**: `eve.pirate.suppression.api.admin.MaximumSet.old_maximum` +- **内部变量名**: `MAXIMUMSET` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.math` (as `fraction`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### system + +- **完整名称**: `eve.pirate.corruption.api.GetSystemStageRequest.system` +- **内部变量名**: `GETSYSTEMSTAGEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### current_stage + +- **完整名称**: `eve.pirate.corruption.api.GetSystemStageResponse.current_stage` +- **内部变量名**: `GETSYSTEMSTAGERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.corruption.api.GetSystemProgressRequest.system` +- **内部变量名**: `GETSYSTEMPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### total_corruption + +- **完整名称**: `eve.pirate.corruption.api.GetSystemProgressResponse.total_corruption` +- **内部变量名**: `GETSYSTEMPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetStageThresholdsRequest + +- **完整名称**: `eve.pirate.corruption.api.GetStageThresholdsRequest` +- **内部变量名**: `GETSTAGETHRESHOLDSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### thresholds + +- **完整名称**: `eve.pirate.corruption.api.GetStageThresholdsResponse.thresholds` +- **内部变量名**: `GETSTAGETHRESHOLDSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetMaximumRequest + +- **完整名称**: `eve.pirate.corruption.api.GetMaximumRequest` +- **内部变量名**: `GETMAXIMUMREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### maximum + +- **完整名称**: `eve.pirate.corruption.api.GetMaximumResponse.maximum` +- **内部变量名**: `GETMAXIMUMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.math` (as `fraction`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### list + +- **完整名称**: `eve.pirate.corruption.api.Increased.Characters.list` +- **内部变量名**: `INCREASED_CHARACTERS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### unknown + +- **完整名称**: `eve.pirate.corruption.api.Increased.unknown` +- **内部变量名**: `INCREASED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.corruption.api.Set.system` +- **内部变量名**: `SET` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.corruption.api.Reset.system` +- **内部变量名**: `RESET` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.corruption.api.StageTransitioned.system` +- **内部变量名**: `STAGETRANSITIONED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.corruption.api.FinalStageReached.system` +- **内部变量名**: `FINALSTAGEREACHED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.math` (as `fraction`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 12 + +##### system + +- **完整名称**: `eve.pirate.corruption.api.admin.SetSystemProgressRequest.system` +- **内部变量名**: `SETSYSTEMPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetSystemProgressResponse + +- **完整名称**: `eve.pirate.corruption.api.admin.SetSystemProgressResponse` +- **内部变量名**: `SETSYSTEMPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### thresholds + +- **完整名称**: `eve.pirate.corruption.api.admin.SetStageThresholdsRequest.thresholds` +- **内部变量名**: `SETSTAGETHRESHOLDSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetStageThresholdsResponse + +- **完整名称**: `eve.pirate.corruption.api.admin.SetStageThresholdsResponse` +- **内部变量名**: `SETSTAGETHRESHOLDSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.corruption.api.admin.GetSystemInitialProgressRequest.system` +- **内部变量名**: `GETSYSTEMINITIALPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### progress + +- **完整名称**: `eve.pirate.corruption.api.admin.GetSystemInitialProgressResponse.progress` +- **内部变量名**: `GETSYSTEMINITIALPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.corruption.api.admin.SetSystemInitialProgressRequest.system` +- **内部变量名**: `SETSYSTEMINITIALPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetSystemInitialProgressResponse + +- **完整名称**: `eve.pirate.corruption.api.admin.SetSystemInitialProgressResponse` +- **内部变量名**: `SETSYSTEMINITIALPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### maximum + +- **完整名称**: `eve.pirate.corruption.api.admin.SetMaximumRequest.maximum` +- **内部变量名**: `SETMAXIMUMREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetMaximumResponse + +- **完整名称**: `eve.pirate.corruption.api.admin.SetMaximumResponse` +- **内部变量名**: `SETMAXIMUMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### old_thresholds + +- **完整名称**: `eve.pirate.corruption.api.admin.StageThresholdsSet.old_thresholds` +- **内部变量名**: `STAGETHRESHOLDSSET` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### old_maximum + +- **完整名称**: `eve.pirate.corruption.api.admin.MaximumSet.old_maximum` +- **内部变量名**: `MAXIMUMSET` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.factionwarfare.warzone` (as `warzone`) +- `eve.pirate.insurgency` (as `campaign`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### campaign + +- **完整名称**: `eve.pirate.insurgency.api.GetRequest.campaign` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### warzone + +- **完整名称**: `eve.pirate.insurgency.api.GetResponse.warzone` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetCurrentRequest + +- **完整名称**: `eve.pirate.insurgency.api.GetCurrentRequest` +- **内部变量名**: `GETCURRENTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaigns + +- **完整名称**: `eve.pirate.insurgency.api.GetCurrentResponse.campaigns` +- **内部变量名**: `GETCURRENTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### warzone + +- **完整名称**: `eve.pirate.insurgency.api.GetForWarzoneRequest.warzone` +- **内部变量名**: `GETFORWARZONEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### no_campaign + +- **完整名称**: `eve.pirate.insurgency.api.GetForWarzoneResponse.no_campaign` +- **内部变量名**: `GETFORWARZONERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.pirate.insurgency.api.GetSystemsRequest.campaign` +- **内部变量名**: `GETSYSTEMSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### systems + +- **完整名称**: `eve.pirate.insurgency.api.GetSystemsResponse.systems` +- **内部变量名**: `GETSYSTEMSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.factionwarfare.warzone` (as `warzone`) +- `eve.pirate.insurgency` (as `campaign`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### campaign + +- **完整名称**: `eve.pirate.insurgency.api.Started.campaign` +- **内部变量名**: `STARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.pirate.insurgency.api.Spread.campaign` +- **内部变量名**: `SPREAD` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.pirate.insurgency.api.Completed.campaign` +- **内部变量名**: `COMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.pirate.insurgency.api.StateTransitioned.campaign` +- **内部变量名**: `STATETRANSITIONED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.insurgency.api.VanguardCorrupted.system` +- **内部变量名**: `VANGUARDCORRUPTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.pirate.insurgency.api.VanguardSuppressed.system` +- **内部变量名**: `VANGUARDSUPPRESSED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### solar_system + +- **完整名称**: `eve.monolith.api.SolarSystemLoaded.solar_system` +- **内部变量名**: `SOLARSYSTEMLOADED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.skill.expertsystems` (as `expertsystems_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### id + +- **完整名称**: `eve.skill.expertsystems.api.Activated.id` +- **内部变量名**: `ACTIVATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.skill.expertsystems.api.Removed.id` +- **内部变量名**: `REMOVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.skill.expertsystems.api.Updated.id` +- **内部变量名**: `UPDATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.skill.expertsystems.api.Expired.id` +- **内部变量名**: `EXPIRED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.skill` (as `skill_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.skill.character.api.GetLevelRequest.character` +- **内部变量名**: `GETLEVELREQUEST` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.GetLevelRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `skill` | `api.GetLevelRequest.skill` | message (cpp: message) → `evedotskilldotskilltypepb2.identifier` | optional (required in proto3) | +| 3 | `level` | `api.GetLevelResponse.level` | uint32 (cpp: int64) | optional (required in proto3) | + +--- + +##### level + +- **完整名称**: `eve.skill.character.api.GetLevelResponse.level` +- **内部变量名**: `GETLEVELRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.skill.points` (as `transaction`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### character + +- **完整名称**: `eve.skill.points.api.GrantCommanded.character` +- **内部变量名**: `GRANTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.chat.local` (as `local`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### solar_system + +- **完整名称**: `eve.chat.local.api.GetModeRequest.solar_system` +- **内部变量名**: `GETMODEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mode + +- **完整名称**: `eve.chat.local.api.GetModeResponse.mode` +- **内部变量名**: `GETMODERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.chat.local.api.GetClassificationRequest.character` +- **内部变量名**: `GETCLASSIFICATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### classification + +- **完整名称**: `eve.chat.local.api.GetClassificationResponse.classification` +- **内部变量名**: `GETCLASSIFICATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.chat.local` (as `local`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### character + +- **完整名称**: `eve.chat.local.api.Muted.character` +- **内部变量名**: `MUTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.chat.local.api.ClassificationEdited.character` +- **内部变量名**: `CLASSIFICATIONEDITED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.chat.local.api.SolarSystemChatModeSet.solar_system` +- **内部变量名**: `SOLARSYSTEMCHATMODESET` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.chat.local` (as `local`) +- `eve.quasar.admin` (as `admin`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.chat.local.api.admin.MuteRequest.character` +- **内部变量名**: `MUTEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### MuteResponse + +- **完整名称**: `eve.chat.local.api.admin.MuteResponse` +- **内部变量名**: `MUTERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.chat.local.api.admin.SetModeRequest.solar_system` +- **内部变量名**: `SETMODEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetModeResponse + +- **完整名称**: `eve.chat.local.api.admin.SetModeResponse` +- **内部变量名**: `SETMODERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### timestamp + +- **完整名称**: `eve.thirdpartyapi.RequestReceived.timestamp` +- **内部变量名**: `REQUESTRECEIVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.communitytrack.instance` (as `instance`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### instance + +- **完整名称**: `eve.communitytrack.admin.api.SetProgressRequest.instance` +- **内部变量名**: `SETPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetProgressResponse + +- **完整名称**: `eve.communitytrack.admin.api.SetProgressResponse` +- **内部变量名**: `SETPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.communitytrack.definition` (as `definition`) +- `eve.communitytrack.instance` (as `instance`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### definition + +- **完整名称**: `eve.communitytrack.api.StartRequest.definition` +- **内部变量名**: `STARTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### StartResponse + +- **完整名称**: `eve.communitytrack.api.StartResponse` +- **内部变量名**: `STARTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### instance + +- **完整名称**: `eve.communitytrack.api.StopRequest.instance` +- **内部变量名**: `STOPREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### StopResponse + +- **完整名称**: `eve.communitytrack.api.StopResponse` +- **内部变量名**: `STOPRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### instance + +- **完整名称**: `eve.communitytrack.api.AddProgressRequest.instance` +- **内部变量名**: `ADDPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### AddProgressResponse + +- **完整名称**: `eve.communitytrack.api.AddProgressResponse` +- **内部变量名**: `ADDPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### instance + +- **完整名称**: `eve.communitytrack.api.GetRequest.instance` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.communitytrack.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.communitytrack.instance` (as `instance`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### id + +- **完整名称**: `eve.communitytrack.api.Started.id` +- **内部变量名**: `STARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.communitytrack.api.Stopped.id` +- **内部变量名**: `STOPPED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.communitytrack.api.Completed.id` +- **内部变量名**: `COMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.communitytrack.api.Progressed.id` +- **内部变量名**: `PROGRESSED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.stargate` (as `stargate`) + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### character + +- **完整名称**: `eve.stargate.lock.api.GetRequest.character` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### gate + +- **完整名称**: `eve.stargate.lock.api.GetResponse.gate` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetRestrictedSystemsRequest + +- **完整名称**: `eve.stargate.lock.api.GetRestrictedSystemsRequest` +- **内部变量名**: `GETRESTRICTEDSYSTEMSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solarsystems + +- **完整名称**: `eve.stargate.lock.api.GetRestrictedSystemsResponse.solarsystems` +- **内部变量名**: `GETRESTRICTEDSYSTEMSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.stargate.lock.api.ValidateJumpRequest.character` +- **内部变量名**: `VALIDATEJUMPREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### gate + +- **完整名称**: `eve.stargate.lock.api.ValidateJumpResponse.Lock.gate` +- **内部变量名**: `VALIDATEJUMPRESPONSE_LOCK` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### allowed + +- **完整名称**: `eve.stargate.lock.api.ValidateJumpResponse.allowed` +- **内部变量名**: `VALIDATEJUMPRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.stargate.lock` (as `lock`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### lock + +- **完整名称**: `eve.stargate.lock.api.DeleteCommanded.lock` +- **内部变量名**: `DELETECOMMANDED` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `lock` | `api.DeleteCommanded.lock` | message (cpp: message) → `evedotstargatedotlockdotlockpb2.identifier` | optional (required in proto3) | +| 2 | `character` | `api.DeleteCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `solarsystem` | `api.DeleteCommanded.solarsystem` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.stargate` (as `stargate`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.stargate.lock.api.Applied.character` +- **内部变量名**: `APPLIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.stargate.lock.api.Expired.character` +- **内部变量名**: `EXPIRED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.stargate.lock.api.Deleted.character` +- **内部变量名**: `DELETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.stargate.lock.api.JumpDenied.character` +- **内部变量名**: `JUMPDENIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.quasar.admin` (as `admin`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.stargate` (as `stargate`) + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### character + +- **完整名称**: `eve.stargate.lock.api.admin.GetAllRequest.character` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solarsystem + +- **完整名称**: `eve.stargate.lock.api.admin.GetAllResponse.LockDetail.solarsystem` +- **内部变量名**: `GETALLRESPONSE_LOCKDETAIL` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### locks + +- **完整名称**: `eve.stargate.lock.api.admin.GetAllResponse.locks` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.stargate.lock.api.admin.ApplyRequest.character` +- **内部变量名**: `APPLYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ApplyResponse + +- **完整名称**: `eve.stargate.lock.api.admin.ApplyResponse` +- **内部变量名**: `APPLYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.stargate.lock.api.admin.DeleteRequest.character` +- **内部变量名**: `DELETEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### DeleteResponse + +- **完整名称**: `eve.stargate.lock.api.admin.DeleteResponse` +- **内部变量名**: `DELETERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.goal` (as `goal`) + +#### 📝 消息类型定义 + +**消息类型数量**: 10 + +##### corporation + +- **完整名称**: `eve.corporationgoal.api.GetAllRequest.corporation` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goals + +- **完整名称**: `eve.corporationgoal.api.GetAllResponse.goals` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.corporationgoal.api.GetRequest.goal` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.corporationgoal.api.GetResponse.goal` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.corporationgoal.api.GetAllForCorporationRequest.corporation` +- **内部变量名**: `GETALLFORCORPORATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goals + +- **完整名称**: `eve.corporationgoal.api.GetAllForCorporationResponse.goals` +- **内部变量名**: `GETALLFORCORPORATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.corporationgoal.api.GetForCorporationRequest.goal` +- **内部变量名**: `GETFORCORPORATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.corporationgoal.api.GetForCorporationResponse.goal` +- **内部变量名**: `GETFORCORPORATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.corporationgoal.api.GetCapacityRequest.corporation` +- **内部变量名**: `GETCAPACITYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### count + +- **完整名称**: `eve.corporationgoal.api.GetCapacityResponse.count` +- **内部变量名**: `GETCAPACITYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.goal` (as `goal`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### goal + +- **完整名称**: `eve.corporationgoal.api.Expired.goal` +- **内部变量名**: `EXPIRED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.corporationgoal.api.ExpireCommanded.goal` +- **内部变量名**: `EXPIRECOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.corporationgoal.api.ParticipationLimitReached.goal` +- **内部变量名**: `PARTICIPATIONLIMITREACHED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.corporation` (as `corporation`) +- `eve.goal` (as `goal`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### goal + +- **完整名称**: `eve.corporationgoal.api.admin.CloseRequest.goal` +- **内部变量名**: `CLOSEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CloseResponse + +- **完整名称**: `eve.corporationgoal.api.admin.CloseResponse` +- **内部变量名**: `CLOSERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.corporationgoal.api.admin.SetNameRequest.goal` +- **内部变量名**: `SETNAMEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetNameResponse + +- **完整名称**: `eve.corporationgoal.api.admin.SetNameResponse` +- **内部变量名**: `SETNAMERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.corporationgoal.api.admin.SetDescriptionRequest.goal` +- **内部变量名**: `SETDESCRIPTIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetDescriptionResponse + +- **完整名称**: `eve.corporationgoal.api.admin.SetDescriptionResponse` +- **内部变量名**: `SETDESCRIPTIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporationgoal.contribution` (as `summary`) +- `eve.goal` (as `goal`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### goal + +- **完整名称**: `eve.corporationgoal.contribution.api.GetContributorSummaryForGoalRequest.goal` +- **内部变量名**: `GETCONTRIBUTORSUMMARYFORGOALREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### summary + +- **完整名称**: `eve.corporationgoal.contribution.api.GetContributorSummaryForGoalResponse.summary` +- **内部变量名**: `GETCONTRIBUTORSUMMARYFORGOALRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.corporationgoal.contribution.api.GetAllContributorSummariesForGoalRequest.goal` +- **内部变量名**: `GETALLCONTRIBUTORSUMMARIESFORGOALREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### summaries + +- **完整名称**: `eve.corporationgoal.contribution.api.GetAllContributorSummariesForGoalResponse.summaries` +- **内部变量名**: `GETALLCONTRIBUTORSUMMARIESFORGOALRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### contributor + +- **完整名称**: `eve.corporationgoal.contribution.api.GetAllContributorSummariesForCharacterRequest.contributor` +- **内部变量名**: `GETALLCONTRIBUTORSUMMARIESFORCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### summaries + +- **完整名称**: `eve.corporationgoal.contribution.api.GetAllContributorSummariesForCharacterResponse.summaries` +- **内部变量名**: `GETALLCONTRIBUTORSUMMARIESFORCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### user + +- **完整名称**: `eve.auth.api.TwoFactorEnabled.user` +- **内部变量名**: `TWOFACTORENABLED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.auth.api.TwoFactorDisabled.user` +- **内部变量名**: `TWOFACTORDISABLED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.dogma.modifier` (as `dbuff`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### identifier + +- **完整名称**: `eve.dogma.modifier.system_wide.api.Applied.identifier` +- **内部变量名**: `APPLIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.dogma.modifier.system_wide.api.Removed.identifier` +- **内部变量名**: `REMOVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.starterspace.api.CanJumpShipCasterRequest.character` +- **内部变量名**: `CANJUMPSHIPCASTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### can_jump + +- **完整名称**: `eve.starterspace.api.CanJumpShipCasterResponse.can_jump` +- **内部变量名**: `CANJUMPSHIPCASTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### gate + +- **完整名称**: `eve.starterspace.api.ShipCasterJumped.gate` +- **内部变量名**: `SHIPCASTERJUMPED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.skill` (as `skill_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.character.skill.api.Injected.character` +- **内部变量名**: `INJECTED` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `skill.api.Injected.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `skill` | `skill.api.Injected.skill` | message (cpp: message) → `evedotskilldotskilltypepb2.identifier` | optional (required in proto3) | +| 3 | `character` | `skill.api.MultiCharactersTrainingExpired.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.character.skill.api.MultiCharactersTrainingExpired.character` +- **内部变量名**: `MULTICHARACTERSTRAININGEXPIRED` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `skill.api.Injected.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `skill` | `skill.api.Injected.skill` | message (cpp: message) → `evedotskilldotskilltypepb2.identifier` | optional (required in proto3) | +| 3 | `character` | `skill.api.MultiCharactersTrainingExpired.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.character.location` (as `presence`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.character.location.presence.api.GetStateRequest.character` +- **内部变量名**: `GETSTATEREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `location.presence.api.GetStateRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `state` | `location.presence.api.GetStateResponse.state` | message (cpp: message) → `evedotcharacterdotlocationdotpresencepb2.state` | optional (required in proto3) | + +--- + +##### state + +- **完整名称**: `eve.character.location.presence.api.GetStateResponse.state` +- **内部变量名**: `GETSTATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.alliance` (as `alliance`) +- `eve.bubble.presence` (as `presence`) +- `eve.character` (as `character`) +- `eve.character.location` (as `presence`) +- `eve.corporation` (as `corporation`) +- `eve.faction` (as `faction`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### character + +- **完整名称**: `eve.character.location.presence.api.SolarSystemEntered.character` +- **内部变量名**: `SOLARSYSTEMENTERED` +- **字段数量**: 13 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `location.presence.api.SolarSystemEntered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `location.presence.api.SolarSystemEntered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `corporation` | `location.presence.api.SolarSystemEntered.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 4 | `no_alliance` | `location.presence.api.SolarSystemEntered.no_alliance` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `alliance` | `location.presence.api.SolarSystemEntered.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `no_faction` | `location.presence.api.SolarSystemEntered.no_faction` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `faction` | `location.presence.api.SolarSystemEntered.faction` | message (cpp: message) → `evedotfactiondotfactionpb2.identifier` | optional (required in proto3) | +| 8 | `character` | `location.presence.api.SolarSystemExited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `location.presence.api.SolarSystemExited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `character` | `location.presence.api.Transitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 11 | `previous` | `location.presence.api.Transitioned.previous` | message (cpp: message) → `evedotcharacterdotlocationdotpresencepb2.state` | optional (required in proto3) | +| 12 | `current` | `location.presence.api.Transitioned.current` | message (cpp: message) → `evedotcharacterdotlocationdotpresencepb2.state` | optional (required in proto3) | +| 13 | `current_bubble_members` | `location.presence.api.Transitioned.current_bubble_members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | + +--- + +##### character + +- **完整名称**: `eve.character.location.presence.api.SolarSystemExited.character` +- **内部变量名**: `SOLARSYSTEMEXITED` +- **字段数量**: 13 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `location.presence.api.SolarSystemEntered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `location.presence.api.SolarSystemEntered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `corporation` | `location.presence.api.SolarSystemEntered.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 4 | `no_alliance` | `location.presence.api.SolarSystemEntered.no_alliance` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `alliance` | `location.presence.api.SolarSystemEntered.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `no_faction` | `location.presence.api.SolarSystemEntered.no_faction` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `faction` | `location.presence.api.SolarSystemEntered.faction` | message (cpp: message) → `evedotfactiondotfactionpb2.identifier` | optional (required in proto3) | +| 8 | `character` | `location.presence.api.SolarSystemExited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `location.presence.api.SolarSystemExited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `character` | `location.presence.api.Transitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 11 | `previous` | `location.presence.api.Transitioned.previous` | message (cpp: message) → `evedotcharacterdotlocationdotpresencepb2.state` | optional (required in proto3) | +| 12 | `current` | `location.presence.api.Transitioned.current` | message (cpp: message) → `evedotcharacterdotlocationdotpresencepb2.state` | optional (required in proto3) | +| 13 | `current_bubble_members` | `location.presence.api.Transitioned.current_bubble_members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | + +--- + +##### character + +- **完整名称**: `eve.character.location.presence.api.Transitioned.character` +- **内部变量名**: `TRANSITIONED` +- **字段数量**: 13 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `location.presence.api.SolarSystemEntered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `location.presence.api.SolarSystemEntered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `corporation` | `location.presence.api.SolarSystemEntered.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 4 | `no_alliance` | `location.presence.api.SolarSystemEntered.no_alliance` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `alliance` | `location.presence.api.SolarSystemEntered.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `no_faction` | `location.presence.api.SolarSystemEntered.no_faction` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `faction` | `location.presence.api.SolarSystemEntered.faction` | message (cpp: message) → `evedotfactiondotfactionpb2.identifier` | optional (required in proto3) | +| 8 | `character` | `location.presence.api.SolarSystemExited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `location.presence.api.SolarSystemExited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `character` | `location.presence.api.Transitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 11 | `previous` | `location.presence.api.Transitioned.previous` | message (cpp: message) → `evedotcharacterdotlocationdotpresencepb2.state` | optional (required in proto3) | +| 12 | `current` | `location.presence.api.Transitioned.current` | message (cpp: message) → `evedotcharacterdotlocationdotpresencepb2.state` | optional (required in proto3) | +| 13 | `current_bubble_members` | `location.presence.api.Transitioned.current_bubble_members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.bubble` (as `bubble`) +- `eve.character` (as `character`) +- `eve.ship` (as `ship`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### bubble + +- **完整名称**: `eve.character.location.api.BubbleTransitioned.Bubble.bubble` +- **内部变量名**: `BUBBLETRANSITIONED_BUBBLE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.character.location.api.BubbleTransitioned.character` +- **内部变量名**: `BUBBLETRANSITIONED` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `bubble` | `location.api.BubbleTransitioned.Bubble.bubble` | message (cpp: message) → `evedotbubbledotbubblepb2.identifier` | optional (required in proto3) | +| 2 | `outside_bubble` | `location.api.BubbleTransitioned.Bubble.outside_bubble` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `character` | `location.api.BubbleTransitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `ship` | `location.api.BubbleTransitioned.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 5 | `cloaked` | `location.api.BubbleTransitioned.cloaked` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `previous_location` | `location.api.BubbleTransitioned.previous_location` | message (cpp: message) → `bubbletransitionedbubble` | optional (required in proto3) | +| 7 | `current_location` | `location.api.BubbleTransitioned.current_location` | message (cpp: message) → `bubbletransitionedbubble` | optional (required in proto3) | +| 8 | `solar_system` | `location.api.BubbleTransitioned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.character.presence` (as `presence`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.character.presence.api.GetRequest.character` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `presence.api.GetRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `online` | `presence.api.GetResponse.online` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `solarsystem` | `presence.api.GetResponse.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 4 | `boardable` | `presence.api.GetResponse.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 5 | `bubble` | `presence.api.GetResponse.bubble` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.bubble` | optional (required in proto3) | + +--- + +##### online + +- **完整名称**: `eve.character.presence.api.GetResponse.online` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.bubble.presence` (as `presence`) +- `eve.character` (as `character`) +- `eve.character.presence` (as `presence`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### online + +- **完整名称**: `eve.character.presence.api.Transitioned.Presence.online` +- **内部变量名**: `TRANSITIONED_PRESENCE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.character.presence.api.Transitioned.character` +- **内部变量名**: `TRANSITIONED` +- **字段数量**: 20 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `online` | `presence.api.Transitioned.Presence.online` | bool (cpp: uint32) | optional (required in proto3) | +| 2 | `solarsystem` | `presence.api.Transitioned.Presence.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 3 | `boardable` | `presence.api.Transitioned.Presence.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 4 | `bubble` | `presence.api.Transitioned.Presence.bubble` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.bubble` | optional (required in proto3) | +| 5 | `character` | `presence.api.Transitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `previous` | `presence.api.Transitioned.previous` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 7 | `current` | `presence.api.Transitioned.current` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 8 | `current_bubble_members` | `presence.api.Transitioned.current_bubble_members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | +| 9 | `online` | `presence.api.CoreTransitioned.Presence.online` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `solarsystem` | `presence.api.CoreTransitioned.Presence.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 11 | `boardable` | `presence.api.CoreTransitioned.Presence.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 12 | `character` | `presence.api.CoreTransitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 13 | `previous` | `presence.api.CoreTransitioned.previous` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 14 | `current` | `presence.api.CoreTransitioned.current` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 15 | `character` | `presence.api.SolarSystemEntered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `solar_system` | `presence.api.SolarSystemEntered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 17 | `character` | `presence.api.SolarSystemExited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `presence.api.SolarSystemExited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `character` | `presence.api.OfflinedOnTenantShutdown.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 20 | `shutdown_time` | `presence.api.OfflinedOnTenantShutdown.shutdown_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### online + +- **完整名称**: `eve.character.presence.api.CoreTransitioned.Presence.online` +- **内部变量名**: `CORETRANSITIONED_PRESENCE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.character.presence.api.CoreTransitioned.character` +- **内部变量名**: `CORETRANSITIONED` +- **字段数量**: 20 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `online` | `presence.api.Transitioned.Presence.online` | bool (cpp: uint32) | optional (required in proto3) | +| 2 | `solarsystem` | `presence.api.Transitioned.Presence.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 3 | `boardable` | `presence.api.Transitioned.Presence.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 4 | `bubble` | `presence.api.Transitioned.Presence.bubble` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.bubble` | optional (required in proto3) | +| 5 | `character` | `presence.api.Transitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `previous` | `presence.api.Transitioned.previous` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 7 | `current` | `presence.api.Transitioned.current` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 8 | `current_bubble_members` | `presence.api.Transitioned.current_bubble_members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | +| 9 | `online` | `presence.api.CoreTransitioned.Presence.online` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `solarsystem` | `presence.api.CoreTransitioned.Presence.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 11 | `boardable` | `presence.api.CoreTransitioned.Presence.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 12 | `character` | `presence.api.CoreTransitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 13 | `previous` | `presence.api.CoreTransitioned.previous` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 14 | `current` | `presence.api.CoreTransitioned.current` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 15 | `character` | `presence.api.SolarSystemEntered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `solar_system` | `presence.api.SolarSystemEntered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 17 | `character` | `presence.api.SolarSystemExited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `presence.api.SolarSystemExited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `character` | `presence.api.OfflinedOnTenantShutdown.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 20 | `shutdown_time` | `presence.api.OfflinedOnTenantShutdown.shutdown_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.character.presence.api.SolarSystemEntered.character` +- **内部变量名**: `SOLARSYSTEMENTERED` +- **字段数量**: 20 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `online` | `presence.api.Transitioned.Presence.online` | bool (cpp: uint32) | optional (required in proto3) | +| 2 | `solarsystem` | `presence.api.Transitioned.Presence.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 3 | `boardable` | `presence.api.Transitioned.Presence.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 4 | `bubble` | `presence.api.Transitioned.Presence.bubble` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.bubble` | optional (required in proto3) | +| 5 | `character` | `presence.api.Transitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `previous` | `presence.api.Transitioned.previous` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 7 | `current` | `presence.api.Transitioned.current` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 8 | `current_bubble_members` | `presence.api.Transitioned.current_bubble_members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | +| 9 | `online` | `presence.api.CoreTransitioned.Presence.online` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `solarsystem` | `presence.api.CoreTransitioned.Presence.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 11 | `boardable` | `presence.api.CoreTransitioned.Presence.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 12 | `character` | `presence.api.CoreTransitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 13 | `previous` | `presence.api.CoreTransitioned.previous` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 14 | `current` | `presence.api.CoreTransitioned.current` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 15 | `character` | `presence.api.SolarSystemEntered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `solar_system` | `presence.api.SolarSystemEntered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 17 | `character` | `presence.api.SolarSystemExited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `presence.api.SolarSystemExited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `character` | `presence.api.OfflinedOnTenantShutdown.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 20 | `shutdown_time` | `presence.api.OfflinedOnTenantShutdown.shutdown_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.character.presence.api.SolarSystemExited.character` +- **内部变量名**: `SOLARSYSTEMEXITED` +- **字段数量**: 20 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `online` | `presence.api.Transitioned.Presence.online` | bool (cpp: uint32) | optional (required in proto3) | +| 2 | `solarsystem` | `presence.api.Transitioned.Presence.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 3 | `boardable` | `presence.api.Transitioned.Presence.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 4 | `bubble` | `presence.api.Transitioned.Presence.bubble` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.bubble` | optional (required in proto3) | +| 5 | `character` | `presence.api.Transitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `previous` | `presence.api.Transitioned.previous` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 7 | `current` | `presence.api.Transitioned.current` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 8 | `current_bubble_members` | `presence.api.Transitioned.current_bubble_members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | +| 9 | `online` | `presence.api.CoreTransitioned.Presence.online` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `solarsystem` | `presence.api.CoreTransitioned.Presence.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 11 | `boardable` | `presence.api.CoreTransitioned.Presence.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 12 | `character` | `presence.api.CoreTransitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 13 | `previous` | `presence.api.CoreTransitioned.previous` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 14 | `current` | `presence.api.CoreTransitioned.current` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 15 | `character` | `presence.api.SolarSystemEntered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `solar_system` | `presence.api.SolarSystemEntered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 17 | `character` | `presence.api.SolarSystemExited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `presence.api.SolarSystemExited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `character` | `presence.api.OfflinedOnTenantShutdown.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 20 | `shutdown_time` | `presence.api.OfflinedOnTenantShutdown.shutdown_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.character.presence.api.OfflinedOnTenantShutdown.character` +- **内部变量名**: `OFFLINEDONTENANTSHUTDOWN` +- **字段数量**: 20 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `online` | `presence.api.Transitioned.Presence.online` | bool (cpp: uint32) | optional (required in proto3) | +| 2 | `solarsystem` | `presence.api.Transitioned.Presence.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 3 | `boardable` | `presence.api.Transitioned.Presence.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 4 | `bubble` | `presence.api.Transitioned.Presence.bubble` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.bubble` | optional (required in proto3) | +| 5 | `character` | `presence.api.Transitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `previous` | `presence.api.Transitioned.previous` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 7 | `current` | `presence.api.Transitioned.current` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 8 | `current_bubble_members` | `presence.api.Transitioned.current_bubble_members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | +| 9 | `online` | `presence.api.CoreTransitioned.Presence.online` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `solarsystem` | `presence.api.CoreTransitioned.Presence.solarsystem` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.solarsystem` | optional (required in proto3) | +| 11 | `boardable` | `presence.api.CoreTransitioned.Presence.boardable` | message (cpp: message) → `evedotcharacterdotpresencedotpresencepb2.boardable` | optional (required in proto3) | +| 12 | `character` | `presence.api.CoreTransitioned.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 13 | `previous` | `presence.api.CoreTransitioned.previous` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 14 | `current` | `presence.api.CoreTransitioned.current` | message (cpp: message) → `transitionedpresence` | optional (required in proto3) | +| 15 | `character` | `presence.api.SolarSystemEntered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `solar_system` | `presence.api.SolarSystemEntered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 17 | `character` | `presence.api.SolarSystemExited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `presence.api.SolarSystemExited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `character` | `presence.api.OfflinedOnTenantShutdown.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 20 | `shutdown_time` | `presence.api.OfflinedOnTenantShutdown.shutdown_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.character.api.GetDeletionInfoRequest.character` +- **内部变量名**: `GETDELETIONINFOREQUEST` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.GetDeletionInfoRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `not_prepared` | `api.GetDeletionInfoResponse.not_prepared` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `prepare_date` | `api.GetDeletionInfoResponse.prepare_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `not_deleted` | `api.GetDeletionInfoResponse.not_deleted` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `delete_date` | `api.GetDeletionInfoResponse.delete_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `api.GetDeletionInfoResponse.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### not_prepared + +- **完整名称**: `eve.character.api.GetDeletionInfoResponse.not_prepared` +- **内部变量名**: `GETDELETIONINFORESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.character.membership` (as `membership`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### character + +- **完整名称**: `eve.character.membership.api.GetRequest.character` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `membership.api.GetRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `membership` | `membership.api.GetResponse.membership` | message (cpp: message) → `evedotcharacterdotmembershipdotmembershippb2.attributes` | optional (required in proto3) | +| 3 | `characters` | `membership.api.GetManyRequest.characters` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 4 | `character` | `membership.api.GetManyResponse.Member.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `membership` | `membership.api.GetManyResponse.Member.membership` | message (cpp: message) → `evedotcharacterdotmembershipdotmembershippb2.attributes` | optional (required in proto3) | +| 6 | `members` | `membership.api.GetManyResponse.members` | message (cpp: message) → `getmanyresponsemember` | repeated | + +--- + +##### membership + +- **完整名称**: `eve.character.membership.api.GetResponse.membership` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.GetRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `membership` | `api.GetResponse.membership` | message (cpp: message) → `evedotcharacterdotmembershipdotmembershippb2.attributes` | optional (required in proto3) | +| 3 | `characters` | `api.GetManyRequest.characters` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 4 | `character` | `api.GetManyResponse.Member.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `membership` | `api.GetManyResponse.Member.membership` | message (cpp: message) → `evedotcharacterdotmembershipdotmembershippb2.attributes` | optional (required in proto3) | +| 6 | `members` | `api.GetManyResponse.members` | message (cpp: message) → `getmanyresponsemember` | repeated | + +--- + +##### characters + +- **完整名称**: `eve.character.membership.api.GetManyRequest.characters` +- **内部变量名**: `GETMANYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.character.membership.api.GetManyResponse.Member.character` +- **内部变量名**: `GETMANYRESPONSE_MEMBER` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `membership.api.GetRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `membership` | `membership.api.GetResponse.membership` | message (cpp: message) → `evedotcharacterdotmembershipdotmembershippb2.attributes` | optional (required in proto3) | +| 3 | `characters` | `membership.api.GetManyRequest.characters` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 4 | `character` | `membership.api.GetManyResponse.Member.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `membership` | `membership.api.GetManyResponse.Member.membership` | message (cpp: message) → `evedotcharacterdotmembershipdotmembershippb2.attributes` | optional (required in proto3) | +| 6 | `members` | `membership.api.GetManyResponse.members` | message (cpp: message) → `getmanyresponsemember` | repeated | + +--- + +##### members + +- **完整名称**: `eve.character.membership.api.GetManyResponse.members` +- **内部变量名**: `GETMANYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.character.membership` (as `membership`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### character + +- **完整名称**: `eve.character.membership.api.Revised.character` +- **内部变量名**: `REVISED` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `membership.api.Revised.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `membership.api.Revised.attributes` | message (cpp: message) → `evedotcharacterdotmembershipdotmembershippb2.attributes` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.payment.customer` (as `customer`) +- `eve.payment.merchant` (as `merchant`) +- `eve.quasar.admin` (as `admin`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### merchant + +- **完整名称**: `eve.payment.admin.api.ProcessPaymentFilesRequest.merchant` +- **内部变量名**: `PROCESSPAYMENTFILESREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ProcessPaymentFilesResponse + +- **完整名称**: `eve.payment.admin.api.ProcessPaymentFilesResponse` +- **内部变量名**: `PROCESSPAYMENTFILESRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.payment.admin.api.GetPersonalDataRequest.user` +- **内部变量名**: `GETPERSONALDATAREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### full_name + +- **完整名称**: `eve.payment.admin.api.GetPersonalDataResponse.TaxInfo.full_name` +- **内部变量名**: `GETPERSONALDATARESPONSE_TAXINFO` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### full_name + +- **完整名称**: `eve.payment.admin.api.GetPersonalDataResponse.BillingInfo.full_name` +- **内部变量名**: `GETPERSONALDATARESPONSE_BILLINGINFO` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### customer + +- **完整名称**: `eve.payment.admin.api.GetPersonalDataResponse.customer` +- **内部变量名**: `GETPERSONALDATARESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.tenant.operation` (as `deployment`) + +#### 📝 消息类型定义 + +**消息类型数量**: 16 + +##### GetDeploymentsRequest + +- **完整名称**: `eve.quasar.tenant.operation.api.GetDeploymentsRequest` +- **内部变量名**: `GETDEPLOYMENTSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ids + +- **完整名称**: `eve.quasar.tenant.operation.api.GetDeploymentsResponse.ids` +- **内部变量名**: `GETDEPLOYMENTSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.quasar.tenant.operation.api.GetDeploymentRequest.id` +- **内部变量名**: `GETDEPLOYMENTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.quasar.tenant.operation.api.GetDeploymentResponse.attributes` +- **内部变量名**: `GETDEPLOYMENTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.quasar.tenant.operation.api.CreateDeploymentRequest.attributes` +- **内部变量名**: `CREATEDEPLOYMENTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.quasar.tenant.operation.api.CreateDeploymentResponse.id` +- **内部变量名**: `CREATEDEPLOYMENTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.quasar.tenant.operation.api.DeleteDeploymentRequest.id` +- **内部变量名**: `DELETEDEPLOYMENTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### DeleteDeploymentResponse + +- **完整名称**: `eve.quasar.tenant.operation.api.DeleteDeploymentResponse` +- **内部变量名**: `DELETEDEPLOYMENTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mode + +- **完整名称**: `eve.quasar.tenant.operation.api.ShutdownRequest.mode` +- **内部变量名**: `SHUTDOWNREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ShutdownResponse + +- **完整名称**: `eve.quasar.tenant.operation.api.ShutdownResponse` +- **内部变量名**: `SHUTDOWNRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### vip_on + +- **完整名称**: `eve.quasar.tenant.operation.api.StartupRequest.vip_on` +- **内部变量名**: `STARTUPREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### StartupResponse + +- **完整名称**: `eve.quasar.tenant.operation.api.StartupResponse` +- **内部变量名**: `STARTUPRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetLockRequest + +- **完整名称**: `eve.quasar.tenant.operation.api.GetLockRequest` +- **内部变量名**: `GETLOCKREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### locked + +- **完整名称**: `eve.quasar.tenant.operation.api.GetLockResponse.locked` +- **内部变量名**: `GETLOCKRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### FreeLockRequest + +- **完整名称**: `eve.quasar.tenant.operation.api.FreeLockRequest` +- **内部变量名**: `FREELOCKREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### FreeLockResponse + +- **完整名称**: `eve.quasar.tenant.operation.api.FreeLockResponse` +- **内部变量名**: `FREELOCKRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.tenant.operation` (as `deployment`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### id + +- **完整名称**: `eve.quasar.tenant.operation.api.StageCommanded.id` +- **内部变量名**: `STAGECOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.quasar.tenant.operation.api.DeployCommanded.id` +- **内部变量名**: `DEPLOYCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RebootCommanded + +- **完整名称**: `eve.quasar.tenant.operation.api.RebootCommanded` +- **内部变量名**: `REBOOTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### GetAdvertisedRequest + +- **完整名称**: `eve.quasar.tenant.api.GetAdvertisedRequest` +- **内部变量名**: `GETADVERTISEDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### tenants + +- **完整名称**: `eve.quasar.tenant.api.GetAdvertisedResponse.tenants` +- **内部变量名**: `GETADVERTISEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.config` (as `config`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### id + +- **完整名称**: `eve.quasar.config.api.GetRequest.id` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.quasar.config.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.quasar.config.api.SyncRequest.Config.id` +- **内部变量名**: `SYNCREQUEST_CONFIG` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### configs + +- **完整名称**: `eve.quasar.config.api.SyncRequest.configs` +- **内部变量名**: `SYNCREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.quasar.config.api.SyncResponse.Config.id` +- **内部变量名**: `SYNCRESPONSE_CONFIG` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### configs + +- **完整名称**: `eve.quasar.config.api.SyncResponse.configs` +- **内部变量名**: `SYNCRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.config` (as `config`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### id + +- **完整名称**: `eve.quasar.config.api.Changed.id` +- **内部变量名**: `CHANGED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.scheduler` (as `schedule`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### expression + +- **完整名称**: `eve.quasar.scheduler.api.CreateRequest.expression` +- **内部变量名**: `CREATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.quasar.scheduler.api.CreateResponse.id` +- **内部变量名**: `CREATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.quasar.scheduler.api.GetRequest.id` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.quasar.scheduler.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.quasar.scheduler.api.DeleteRequest.id` +- **内部变量名**: `DELETEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.quasar.scheduler.api.DeleteResponse.attributes` +- **内部变量名**: `DELETERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.quasar.scheduler.api.UpdateRequest.id` +- **内部变量名**: `UPDATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.quasar.scheduler.api.UpdateResponse.attributes` +- **内部变量名**: `UPDATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.alliance` (as `alliance`) +- `eve.corporation` (as `corporation`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### alliance + +- **完整名称**: `eve.alliance.api.Created.alliance` +- **内部变量名**: `CREATED` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `alliance` | `api.Created.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 2 | `alliance` | `api.Disbanded.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 3 | `corporations` | `api.Disbanded.corporations` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | repeated | + +--- + +##### alliance + +- **完整名称**: `eve.alliance.api.Disbanded.alliance` +- **内部变量名**: `DISBANDED` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `alliance` | `api.Created.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 2 | `alliance` | `api.Disbanded.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 3 | `corporations` | `api.Disbanded.corporations` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | repeated | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.tournament.ruleset` (as `ruleset`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### ruleset + +- **完整名称**: `eve.tournament.ruleset.api.GetRequest.ruleset` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `ruleset` | `api.GetRequest.ruleset` | message (cpp: message) → `evedottournamentdotrulesetdotrulesetpb2.identifier` | optional (required in proto3) | +| 2 | `ruleset` | `api.GetResponse.ruleset` | message (cpp: message) → `evedottournamentdotrulesetdotrulesetpb2.identifier` | optional (required in proto3) | +| 3 | `rulesets` | `api.GetAllResponse.rulesets` | message (cpp: message) → `evedottournamentdotrulesetdotrulesetpb2.identifier` | repeated | +| 4 | `search` | `api.SearchRequest.search` | message (cpp: message) → `evedotsearchpb2.searchquery` | optional (required in proto3) | +| 5 | `rulesets` | `api.SearchResponse.rulesets` | message (cpp: message) → `evedottournamentdotrulesetdotrulesetpb2.identifier` | repeated | + +--- + +##### ruleset + +- **完整名称**: `eve.tournament.ruleset.api.GetResponse.ruleset` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `ruleset` | `api.GetRequest.ruleset` | message (cpp: message) → `evedottournamentdotrulesetdotrulesetpb2.identifier` | optional (required in proto3) | +| 2 | `ruleset` | `api.GetResponse.ruleset` | message (cpp: message) → `evedottournamentdotrulesetdotrulesetpb2.identifier` | optional (required in proto3) | +| 3 | `rulesets` | `api.GetAllResponse.rulesets` | message (cpp: message) → `evedottournamentdotrulesetdotrulesetpb2.identifier` | repeated | +| 4 | `search` | `api.SearchRequest.search` | message (cpp: message) → `evedotsearchpb2.searchquery` | optional (required in proto3) | +| 5 | `rulesets` | `api.SearchResponse.rulesets` | message (cpp: message) → `evedottournamentdotrulesetdotrulesetpb2.identifier` | repeated | + +--- + +##### GetAllRequest + +- **完整名称**: `eve.tournament.ruleset.api.GetAllRequest` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### rulesets + +- **完整名称**: `eve.tournament.ruleset.api.GetAllResponse.rulesets` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### search + +- **完整名称**: `eve.tournament.ruleset.api.SearchRequest.search` +- **内部变量名**: `SEARCHREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### rulesets + +- **完整名称**: `eve.tournament.ruleset.api.SearchResponse.rulesets` +- **内部变量名**: `SEARCHRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.faction.activity` (as `activity`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### GetAllSolarSystemScoresRequest + +- **完整名称**: `eve.faction.activity.api.GetAllSolarSystemScoresRequest` +- **内部变量名**: `GETALLSOLARSYSTEMSCORESREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.faction.activity.api.GetAllSolarSystemScoresResponse.SolarSystemScores.solar_system` +- **内部变量名**: `GETALLSOLARSYSTEMSCORESRESPONSE_SOLARSYSTEMSCORES` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system_scores + +- **完整名称**: `eve.faction.activity.api.GetAllSolarSystemScoresResponse.solar_system_scores` +- **内部变量名**: `GETALLSOLARSYSTEMSCORESRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.faction.activity` (as `activity`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### solar_system + +- **完整名称**: `eve.faction.activity.api.SolarSystemScoresHeartbeat.SolarSystemScores.solar_system` +- **内部变量名**: `SOLARSYSTEMSCORESHEARTBEAT_SOLARSYSTEMSCORES` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system_scores + +- **完整名称**: `eve.faction.activity.api.SolarSystemScoresHeartbeat.solar_system_scores` +- **内部变量名**: `SOLARSYSTEMSCORESHEARTBEAT` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.faction` (as `faction`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### faction + +- **完整名称**: `eve.faction.api.GetRequest.faction` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `faction` | `api.GetRequest.faction` | message (cpp: message) → `evedotfactiondotfactionpb2.identifier` | optional (required in proto3) | +| 2 | `faction` | `api.GetResponse.faction` | message (cpp: message) → `evedotfactiondotfactionpb2.identifier` | optional (required in proto3) | + +--- + +##### faction + +- **完整名称**: `eve.faction.api.GetResponse.faction` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `faction` | `api.GetRequest.faction` | message (cpp: message) → `evedotfactiondotfactionpb2.identifier` | optional (required in proto3) | +| 2 | `faction` | `api.GetResponse.faction` | message (cpp: message) → `evedotfactiondotfactionpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.dungeon.constraint` (as `constraint`) +- `eve.dungeon` (as `dungeon`) +- `eve.dungeon` (as `instance`) +- `eve.dungeon.property` (as `property`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### dungeon + +- **完整名称**: `eve.dungeon.api.InstallCommanded.dungeon` +- **内部变量名**: `INSTALLCOMMANDED` +- **字段数量**: 10 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `dungeon` | `api.InstallCommanded.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 2 | `instance` | `api.InstallCommanded.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 3 | `solar_system` | `api.InstallCommanded.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 4 | `no_positional_constraints` | `api.InstallCommanded.no_positional_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `positional_constraints` | `api.InstallCommanded.positional_constraints` | message (cpp: message) → `evedotdungeondotconstraintdotconstraintpb2.positional` | optional (required in proto3) | +| 6 | `site_type` | `api.InstallCommanded.site_type` | enum (cpp: bool) | optional (required in proto3) | +| 7 | `not_scannable` | `api.InstallCommanded.not_scannable` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `scan_properties` | `api.InstallCommanded.scan_properties` | message (cpp: message) → `evedotdungeondotpropertydotpropertypb2.scan` | optional (required in proto3) | +| 9 | `instance` | `api.UninstallCommanded.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 10 | `solar_system` | `api.UninstallCommanded.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | + +--- + +##### instance + +- **完整名称**: `eve.dungeon.api.UninstallCommanded.instance` +- **内部变量名**: `UNINSTALLCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.deadspace` (as `archetype`) +- `eve.dungeon` (as `dungeon`) +- `eve.dungeon` (as `instance`) +- `eve.dungeon` (as `room`) +- `eve.isk` (as `isk`) +- `eve.math` (as `vector`) +- `eve.ship` (as `ship`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 9 + +##### dungeon + +- **完整名称**: `eve.dungeon.api.Installed.dungeon` +- **内部变量名**: `INSTALLED` +- **字段数量**: 54 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `dungeon` | `api.Installed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 2 | `no_instance` | `api.Installed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `instance` | `api.Installed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 4 | `archetype` | `api.Installed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 5 | `solar_system` | `api.Installed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 6 | `dungeon` | `api.InstallationFailed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 7 | `no_instance` | `api.InstallationFailed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `instance` | `api.InstallationFailed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 9 | `archetype` | `api.InstallationFailed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 10 | `solar_system` | `api.InstallationFailed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 11 | `unknown_error` | `api.InstallationFailed.unknown_error` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `unsatisfiable_constraints` | `api.InstallationFailed.unsatisfiable_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `dungeon` | `api.Uninstalled.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 14 | `no_instance` | `api.Uninstalled.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 15 | `instance` | `api.Uninstalled.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 16 | `archetype` | `api.Uninstalled.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.Uninstalled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `character` | `api.Entered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `dungeon` | `api.Entered.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 20 | `no_instance` | `api.Entered.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 21 | `instance` | `api.Entered.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 22 | `archetype` | `api.Entered.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 23 | `solar_system` | `api.Entered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.Entered.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `room` | `api.Entered.room` | message (cpp: message) → `evedotdungeondotroompb2.identifier` | optional (required in proto3) | +| 26 | `character` | `api.Exited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `dungeon` | `api.Exited.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 28 | `no_instance` | `api.Exited.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `instance` | `api.Exited.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 30 | `archetype` | `api.Exited.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 31 | `solar_system` | `api.Exited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 32 | `ship` | `api.Exited.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 33 | `room` | `api.Exited.room` | message (cpp: message) → `evedotdungeondotroompb2.identifier` | optional (required in proto3) | +| 34 | `characters` | `api.Completed.characters` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 35 | `dungeon` | `api.Completed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 36 | `no_instance` | `api.Completed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `instance` | `api.Completed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 38 | `archetype` | `api.Completed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 39 | `solar_system` | `api.Completed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `dungeon` | `api.Spawned.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 41 | `no_instance` | `api.Spawned.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 42 | `instance` | `api.Spawned.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 43 | `archetype` | `api.Spawned.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 44 | `solar_system` | `api.Spawned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 45 | `entry_position` | `api.Spawned.entry_position` | message (cpp: message) → `evedotmathdotvectorpb2.vector3` | optional (required in proto3) | +| 46 | `dungeon` | `api.Despawned.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 47 | `no_instance` | `api.Despawned.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 48 | `instance` | `api.Despawned.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 49 | `archetype` | `api.Despawned.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 50 | `solar_system` | `api.Despawned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 51 | `character` | `api.IskGroupRewardGranted.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 52 | `dungeon` | `api.IskGroupRewardGranted.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 53 | `solar_system` | `api.IskGroupRewardGranted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 54 | `isk` | `api.IskGroupRewardGranted.isk` | message (cpp: message) → `evedotiskdotiskpb2.currency` | optional (required in proto3) | + +--- + +##### dungeon + +- **完整名称**: `eve.dungeon.api.InstallationFailed.dungeon` +- **内部变量名**: `INSTALLATIONFAILED` +- **字段数量**: 54 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `dungeon` | `api.Installed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 2 | `no_instance` | `api.Installed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `instance` | `api.Installed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 4 | `archetype` | `api.Installed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 5 | `solar_system` | `api.Installed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 6 | `dungeon` | `api.InstallationFailed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 7 | `no_instance` | `api.InstallationFailed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `instance` | `api.InstallationFailed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 9 | `archetype` | `api.InstallationFailed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 10 | `solar_system` | `api.InstallationFailed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 11 | `unknown_error` | `api.InstallationFailed.unknown_error` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `unsatisfiable_constraints` | `api.InstallationFailed.unsatisfiable_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `dungeon` | `api.Uninstalled.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 14 | `no_instance` | `api.Uninstalled.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 15 | `instance` | `api.Uninstalled.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 16 | `archetype` | `api.Uninstalled.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.Uninstalled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `character` | `api.Entered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `dungeon` | `api.Entered.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 20 | `no_instance` | `api.Entered.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 21 | `instance` | `api.Entered.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 22 | `archetype` | `api.Entered.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 23 | `solar_system` | `api.Entered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.Entered.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `room` | `api.Entered.room` | message (cpp: message) → `evedotdungeondotroompb2.identifier` | optional (required in proto3) | +| 26 | `character` | `api.Exited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `dungeon` | `api.Exited.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 28 | `no_instance` | `api.Exited.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `instance` | `api.Exited.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 30 | `archetype` | `api.Exited.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 31 | `solar_system` | `api.Exited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 32 | `ship` | `api.Exited.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 33 | `room` | `api.Exited.room` | message (cpp: message) → `evedotdungeondotroompb2.identifier` | optional (required in proto3) | +| 34 | `characters` | `api.Completed.characters` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 35 | `dungeon` | `api.Completed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 36 | `no_instance` | `api.Completed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `instance` | `api.Completed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 38 | `archetype` | `api.Completed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 39 | `solar_system` | `api.Completed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `dungeon` | `api.Spawned.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 41 | `no_instance` | `api.Spawned.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 42 | `instance` | `api.Spawned.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 43 | `archetype` | `api.Spawned.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 44 | `solar_system` | `api.Spawned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 45 | `entry_position` | `api.Spawned.entry_position` | message (cpp: message) → `evedotmathdotvectorpb2.vector3` | optional (required in proto3) | +| 46 | `dungeon` | `api.Despawned.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 47 | `no_instance` | `api.Despawned.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 48 | `instance` | `api.Despawned.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 49 | `archetype` | `api.Despawned.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 50 | `solar_system` | `api.Despawned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 51 | `character` | `api.IskGroupRewardGranted.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 52 | `dungeon` | `api.IskGroupRewardGranted.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 53 | `solar_system` | `api.IskGroupRewardGranted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 54 | `isk` | `api.IskGroupRewardGranted.isk` | message (cpp: message) → `evedotiskdotiskpb2.currency` | optional (required in proto3) | + +--- + +##### dungeon + +- **完整名称**: `eve.dungeon.api.Uninstalled.dungeon` +- **内部变量名**: `UNINSTALLED` +- **字段数量**: 54 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `dungeon` | `api.Installed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 2 | `no_instance` | `api.Installed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `instance` | `api.Installed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 4 | `archetype` | `api.Installed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 5 | `solar_system` | `api.Installed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 6 | `dungeon` | `api.InstallationFailed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 7 | `no_instance` | `api.InstallationFailed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `instance` | `api.InstallationFailed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 9 | `archetype` | `api.InstallationFailed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 10 | `solar_system` | `api.InstallationFailed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 11 | `unknown_error` | `api.InstallationFailed.unknown_error` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `unsatisfiable_constraints` | `api.InstallationFailed.unsatisfiable_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `dungeon` | `api.Uninstalled.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 14 | `no_instance` | `api.Uninstalled.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 15 | `instance` | `api.Uninstalled.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 16 | `archetype` | `api.Uninstalled.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.Uninstalled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `character` | `api.Entered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `dungeon` | `api.Entered.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 20 | `no_instance` | `api.Entered.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 21 | `instance` | `api.Entered.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 22 | `archetype` | `api.Entered.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 23 | `solar_system` | `api.Entered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.Entered.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `room` | `api.Entered.room` | message (cpp: message) → `evedotdungeondotroompb2.identifier` | optional (required in proto3) | +| 26 | `character` | `api.Exited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `dungeon` | `api.Exited.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 28 | `no_instance` | `api.Exited.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `instance` | `api.Exited.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 30 | `archetype` | `api.Exited.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 31 | `solar_system` | `api.Exited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 32 | `ship` | `api.Exited.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 33 | `room` | `api.Exited.room` | message (cpp: message) → `evedotdungeondotroompb2.identifier` | optional (required in proto3) | +| 34 | `characters` | `api.Completed.characters` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 35 | `dungeon` | `api.Completed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 36 | `no_instance` | `api.Completed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `instance` | `api.Completed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 38 | `archetype` | `api.Completed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 39 | `solar_system` | `api.Completed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `dungeon` | `api.Spawned.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 41 | `no_instance` | `api.Spawned.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 42 | `instance` | `api.Spawned.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 43 | `archetype` | `api.Spawned.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 44 | `solar_system` | `api.Spawned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 45 | `entry_position` | `api.Spawned.entry_position` | message (cpp: message) → `evedotmathdotvectorpb2.vector3` | optional (required in proto3) | +| 46 | `dungeon` | `api.Despawned.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 47 | `no_instance` | `api.Despawned.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 48 | `instance` | `api.Despawned.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 49 | `archetype` | `api.Despawned.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 50 | `solar_system` | `api.Despawned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 51 | `character` | `api.IskGroupRewardGranted.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 52 | `dungeon` | `api.IskGroupRewardGranted.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 53 | `solar_system` | `api.IskGroupRewardGranted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 54 | `isk` | `api.IskGroupRewardGranted.isk` | message (cpp: message) → `evedotiskdotiskpb2.currency` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.dungeon.api.Entered.character` +- **内部变量名**: `ENTERED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.dungeon.api.Exited.character` +- **内部变量名**: `EXITED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### characters + +- **完整名称**: `eve.dungeon.api.Completed.characters` +- **内部变量名**: `COMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### dungeon + +- **完整名称**: `eve.dungeon.api.Spawned.dungeon` +- **内部变量名**: `SPAWNED` +- **字段数量**: 54 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `dungeon` | `api.Installed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 2 | `no_instance` | `api.Installed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `instance` | `api.Installed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 4 | `archetype` | `api.Installed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 5 | `solar_system` | `api.Installed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 6 | `dungeon` | `api.InstallationFailed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 7 | `no_instance` | `api.InstallationFailed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `instance` | `api.InstallationFailed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 9 | `archetype` | `api.InstallationFailed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 10 | `solar_system` | `api.InstallationFailed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 11 | `unknown_error` | `api.InstallationFailed.unknown_error` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `unsatisfiable_constraints` | `api.InstallationFailed.unsatisfiable_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `dungeon` | `api.Uninstalled.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 14 | `no_instance` | `api.Uninstalled.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 15 | `instance` | `api.Uninstalled.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 16 | `archetype` | `api.Uninstalled.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.Uninstalled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `character` | `api.Entered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `dungeon` | `api.Entered.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 20 | `no_instance` | `api.Entered.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 21 | `instance` | `api.Entered.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 22 | `archetype` | `api.Entered.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 23 | `solar_system` | `api.Entered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.Entered.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `room` | `api.Entered.room` | message (cpp: message) → `evedotdungeondotroompb2.identifier` | optional (required in proto3) | +| 26 | `character` | `api.Exited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `dungeon` | `api.Exited.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 28 | `no_instance` | `api.Exited.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `instance` | `api.Exited.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 30 | `archetype` | `api.Exited.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 31 | `solar_system` | `api.Exited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 32 | `ship` | `api.Exited.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 33 | `room` | `api.Exited.room` | message (cpp: message) → `evedotdungeondotroompb2.identifier` | optional (required in proto3) | +| 34 | `characters` | `api.Completed.characters` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 35 | `dungeon` | `api.Completed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 36 | `no_instance` | `api.Completed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `instance` | `api.Completed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 38 | `archetype` | `api.Completed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 39 | `solar_system` | `api.Completed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `dungeon` | `api.Spawned.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 41 | `no_instance` | `api.Spawned.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 42 | `instance` | `api.Spawned.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 43 | `archetype` | `api.Spawned.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 44 | `solar_system` | `api.Spawned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 45 | `entry_position` | `api.Spawned.entry_position` | message (cpp: message) → `evedotmathdotvectorpb2.vector3` | optional (required in proto3) | +| 46 | `dungeon` | `api.Despawned.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 47 | `no_instance` | `api.Despawned.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 48 | `instance` | `api.Despawned.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 49 | `archetype` | `api.Despawned.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 50 | `solar_system` | `api.Despawned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 51 | `character` | `api.IskGroupRewardGranted.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 52 | `dungeon` | `api.IskGroupRewardGranted.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 53 | `solar_system` | `api.IskGroupRewardGranted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 54 | `isk` | `api.IskGroupRewardGranted.isk` | message (cpp: message) → `evedotiskdotiskpb2.currency` | optional (required in proto3) | + +--- + +##### dungeon + +- **完整名称**: `eve.dungeon.api.Despawned.dungeon` +- **内部变量名**: `DESPAWNED` +- **字段数量**: 54 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `dungeon` | `api.Installed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 2 | `no_instance` | `api.Installed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `instance` | `api.Installed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 4 | `archetype` | `api.Installed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 5 | `solar_system` | `api.Installed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 6 | `dungeon` | `api.InstallationFailed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 7 | `no_instance` | `api.InstallationFailed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `instance` | `api.InstallationFailed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 9 | `archetype` | `api.InstallationFailed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 10 | `solar_system` | `api.InstallationFailed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 11 | `unknown_error` | `api.InstallationFailed.unknown_error` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `unsatisfiable_constraints` | `api.InstallationFailed.unsatisfiable_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `dungeon` | `api.Uninstalled.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 14 | `no_instance` | `api.Uninstalled.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 15 | `instance` | `api.Uninstalled.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 16 | `archetype` | `api.Uninstalled.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.Uninstalled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `character` | `api.Entered.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `dungeon` | `api.Entered.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 20 | `no_instance` | `api.Entered.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 21 | `instance` | `api.Entered.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 22 | `archetype` | `api.Entered.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 23 | `solar_system` | `api.Entered.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.Entered.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `room` | `api.Entered.room` | message (cpp: message) → `evedotdungeondotroompb2.identifier` | optional (required in proto3) | +| 26 | `character` | `api.Exited.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `dungeon` | `api.Exited.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 28 | `no_instance` | `api.Exited.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `instance` | `api.Exited.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 30 | `archetype` | `api.Exited.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 31 | `solar_system` | `api.Exited.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 32 | `ship` | `api.Exited.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 33 | `room` | `api.Exited.room` | message (cpp: message) → `evedotdungeondotroompb2.identifier` | optional (required in proto3) | +| 34 | `characters` | `api.Completed.characters` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 35 | `dungeon` | `api.Completed.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 36 | `no_instance` | `api.Completed.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `instance` | `api.Completed.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 38 | `archetype` | `api.Completed.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 39 | `solar_system` | `api.Completed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `dungeon` | `api.Spawned.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 41 | `no_instance` | `api.Spawned.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 42 | `instance` | `api.Spawned.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 43 | `archetype` | `api.Spawned.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 44 | `solar_system` | `api.Spawned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 45 | `entry_position` | `api.Spawned.entry_position` | message (cpp: message) → `evedotmathdotvectorpb2.vector3` | optional (required in proto3) | +| 46 | `dungeon` | `api.Despawned.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 47 | `no_instance` | `api.Despawned.no_instance` | bool (cpp: uint32) | optional (required in proto3) | +| 48 | `instance` | `api.Despawned.instance` | message (cpp: message) → `evedotdungeondotinstancepb2.identifier` | optional (required in proto3) | +| 49 | `archetype` | `api.Despawned.archetype` | message (cpp: message) → `evedotdeadspacedotarchetypepb2.identifier` | optional (required in proto3) | +| 50 | `solar_system` | `api.Despawned.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 51 | `character` | `api.IskGroupRewardGranted.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 52 | `dungeon` | `api.IskGroupRewardGranted.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 53 | `solar_system` | `api.IskGroupRewardGranted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 54 | `isk` | `api.IskGroupRewardGranted.isk` | message (cpp: message) → `evedotiskdotiskpb2.currency` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.dungeon.api.IskGroupRewardGranted.character` +- **内部变量名**: `ISKGROUPREWARDGRANTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.dungeon` (as `instance`) +- `eve.dungeon` (as `trigger`) +- `eve.faction` (as `faction`) +- `eve.inventory` (as `generic_item`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### trigger + +- **完整名称**: `eve.dungeon.api.TriggerInputReceived.trigger` +- **内部变量名**: `TRIGGERINPUTRECEIVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### trigger_event + +- **完整名称**: `eve.dungeon.api.TriggerEventActivated.trigger_event` +- **内部变量名**: `TRIGGEREVENTACTIVATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.dungeon` (as `dungeon`) +- `eve.dungeon.sovereignty` (as `instance`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### solar_system + +- **完整名称**: `eve.dungeon.sovereignty.api.GetInstancesRequest.solar_system` +- **内部变量名**: `GETINSTANCESREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### dungeon + +- **完整名称**: `eve.dungeon.sovereignty.api.GetInstancesResponse.Dungeon.dungeon` +- **内部变量名**: `GETINSTANCESRESPONSE_DUNGEON` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `solar_system` | `sovereignty.api.GetInstancesRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 2 | `dungeon` | `sovereignty.api.GetInstancesResponse.Dungeon.dungeon` | message (cpp: message) → `evedotdungeondotdungeonpb2.identifier` | optional (required in proto3) | +| 3 | `instance` | `sovereignty.api.GetInstancesResponse.Dungeon.instance` | message (cpp: message) → `evedotdungeondotsovereigntydotinstancepb2.identifier` | optional (required in proto3) | +| 4 | `dungeons` | `sovereignty.api.GetInstancesResponse.dungeons` | message (cpp: message) → `getinstancesresponsedungeon` | repeated | + +--- + +##### dungeons + +- **完整名称**: `eve.dungeon.sovereignty.api.GetInstancesResponse.dungeons` +- **内部变量名**: `GETINSTANCESRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.dungeon` (as `dungeon`) +- `eve.dungeon.sovereignty` (as `instance`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### instance + +- **完整名称**: `eve.dungeon.sovereignty.api.SpawnCommanded.instance` +- **内部变量名**: `SPAWNCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### instance + +- **完整名称**: `eve.dungeon.sovereignty.api.UnspawnCommanded.instance` +- **内部变量名**: `UNSPAWNCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.inventory` (as `generic_item`) +- `eve.inventory` (as `generic_item_type`) +- `eve.math` (as `vector`) +- `eve.owner` (as `generic`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character_id + +- **完整名称**: `eve.narrative.api.EncryptedItemDecrypted.character_id` +- **内部变量名**: `ENCRYPTEDITEMDECRYPTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character_id + +- **完整名称**: `eve.narrative.api.WarpVectorItemActivated.character_id` +- **内部变量名**: `WARPVECTORITEMACTIVATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character_id + +- **完整名称**: `eve.narrative.api.WarpVectorItemSpawned.character_id` +- **内部变量名**: `WARPVECTORITEMSPAWNED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character_id + +- **完整名称**: `eve.narrative.api.ProximityNotifierPerimeterEntered.character_id` +- **内部变量名**: `PROXIMITYNOTIFIERPERIMETERENTERED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### version + +- **完整名称**: `eve.content.orchestrator.admin.api.SetDefaultTenantVersionRequest.version` +- **内部变量名**: `SETDEFAULTTENANTVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetDefaultTenantVersionResponse + +- **完整名称**: `eve.content.orchestrator.admin.api.SetDefaultTenantVersionResponse` +- **内部变量名**: `SETDEFAULTTENANTVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### default_tenant_version + +- **完整名称**: `eve.content.orchestrator.admin.api.SetTenantVersionRequest.default_tenant_version` +- **内部变量名**: `SETTENANTVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetTenantVersionResponse + +- **完整名称**: `eve.content.orchestrator.admin.api.SetTenantVersionResponse` +- **内部变量名**: `SETTENANTVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.content.orchestrator.deployment.contenttype` (as `contenttype`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### id + +- **完整名称**: `eve.content.orchestrator.deployment.contenttype.api.GetRequest.id` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.content.orchestrator.deployment.contenttype.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.content.orchestrator.deployment.instance` (as `instance`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### instance + +- **完整名称**: `eve.content.orchestrator.deployment.instance.admin.api.RemoveRequest.instance` +- **内部变量名**: `REMOVEREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `instance` | `admin.api.RemoveRequest.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 2 | `context` | `admin.api.RemoveRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### RemoveResponse + +- **完整名称**: `eve.content.orchestrator.deployment.instance.admin.api.RemoveResponse` +- **内部变量名**: `REMOVERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.content.orchestrator.deployment` (as `deployment`) +- `eve.content.orchestrator.deployment.instance` (as `instance`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### deployment + +- **完整名称**: `eve.content.orchestrator.deployment.instance.api.ListRequest.deployment` +- **内部变量名**: `LISTREQUEST` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `deployment` | `instance.api.ListRequest.deployment` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotdeploymentpb2.identifier` | optional (required in proto3) | +| 2 | `instances` | `instance.api.ListResponse.instances` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | repeated | +| 3 | `instance` | `instance.api.GetRequest.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `instance.api.GetResponse.attributes` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.attributes` | optional (required in proto3) | + +--- + +##### instances + +- **完整名称**: `eve.content.orchestrator.deployment.instance.api.ListResponse.instances` +- **内部变量名**: `LISTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### instance + +- **完整名称**: `eve.content.orchestrator.deployment.instance.api.GetRequest.instance` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `deployment` | `api.ListRequest.deployment` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotdeploymentpb2.identifier` | optional (required in proto3) | +| 2 | `instances` | `api.ListResponse.instances` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | repeated | +| 3 | `instance` | `api.GetRequest.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.attributes` | optional (required in proto3) | + +--- + +##### attributes + +- **完整名称**: `eve.content.orchestrator.deployment.instance.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.content.orchestrator.deployment.instance` (as `instance`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### instance + +- **完整名称**: `eve.content.orchestrator.deployment.instance.api.DeleteInstanceAfterCooldownCommanded.instance` +- **内部变量名**: `DELETEINSTANCEAFTERCOOLDOWNCOMMANDED` +- **字段数量**: 1 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `instance` | `api.DeleteInstanceAfterCooldownCommanded.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.content.orchestrator.deployment` (as `deployment`) +- `eve.content.orchestrator.deployment.instance` (as `instance`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### deployment + +- **完整名称**: `eve.content.orchestrator.deployment.instance.api.Installed.deployment` +- **内部变量名**: `INSTALLED` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `deployment` | `instance.api.Installed.deployment` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotdeploymentpb2.identifier` | optional (required in proto3) | +| 2 | `instance` | `instance.api.Installed.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `instance.api.Installed.attributes` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.attributes` | optional (required in proto3) | +| 4 | `instance` | `instance.api.StateChanged.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 5 | `state` | `instance.api.StateChanged.state` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `instance` | `instance.api.Uninstalled.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 7 | `deployment` | `instance.api.Uninstalled.deployment` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotdeploymentpb2.identifier` | optional (required in proto3) | + +--- + +##### instance + +- **完整名称**: `eve.content.orchestrator.deployment.instance.api.StateChanged.instance` +- **内部变量名**: `STATECHANGED` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `deployment` | `api.Installed.deployment` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotdeploymentpb2.identifier` | optional (required in proto3) | +| 2 | `instance` | `api.Installed.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `api.Installed.attributes` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.attributes` | optional (required in proto3) | +| 4 | `instance` | `api.StateChanged.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 5 | `state` | `api.StateChanged.state` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `instance` | `api.Uninstalled.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 7 | `deployment` | `api.Uninstalled.deployment` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotdeploymentpb2.identifier` | optional (required in proto3) | + +--- + +##### instance + +- **完整名称**: `eve.content.orchestrator.deployment.instance.api.Uninstalled.instance` +- **内部变量名**: `UNINSTALLED` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `deployment` | `api.Installed.deployment` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotdeploymentpb2.identifier` | optional (required in proto3) | +| 2 | `instance` | `api.Installed.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `api.Installed.attributes` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.attributes` | optional (required in proto3) | +| 4 | `instance` | `api.StateChanged.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 5 | `state` | `api.StateChanged.state` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `instance` | `api.Uninstalled.instance` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotinstancedotinstancepb2.identifier` | optional (required in proto3) | +| 7 | `deployment` | `api.Uninstalled.deployment` | message (cpp: message) → `evedotcontentdotorchestratordotdeploymentdotdeploymentpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.content.orchestrator.deployment.contentgroup` (as `contentgroup`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### id + +- **完整名称**: `eve.content.orchestrator.deployment.contentgroup.api.GetRequest.id` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.content.orchestrator.deployment.contentgroup.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.content.orchestrator.deployment` (as `deployment`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### ListRequest + +- **完整名称**: `eve.content.orchestrator.deployment.api.ListRequest` +- **内部变量名**: `LISTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.content.orchestrator.deployment.api.ListResponse.Deployment.id` +- **内部变量名**: `LISTRESPONSE_DEPLOYMENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### deployments + +- **完整名称**: `eve.content.orchestrator.deployment.api.ListResponse.deployments` +- **内部变量名**: `LISTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.content.orchestrator.deployment.api.GetRequest.id` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.content.orchestrator.deployment.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.content.orchestrator.deployment` (as `deployment`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### id + +- **完整名称**: `eve.content.orchestrator.deployment.api.DeploymentExhaustedPrimaryCandidates.id` +- **内部变量名**: `DEPLOYMENTEXHAUSTEDPRIMARYCANDIDATES` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.content.orchestrator.deployment.api.DeploymentFailed.id` +- **内部变量名**: `DEPLOYMENTFAILED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.content.orchestrator.deployment.api.Evaluated.id` +- **内部变量名**: `EVALUATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.content.orchestrator.deployment` (as `deployment`) +- `eve.space.location` (as `location`) +- `eve.tag` (as `tag`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### GetDefaultTenantVersionRequest + +- **完整名称**: `eve.content.orchestrator.api.GetDefaultTenantVersionRequest` +- **内部变量名**: `GETDEFAULTTENANTVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.content.orchestrator.api.GetDefaultTenantVersionResponse.version` +- **内部变量名**: `GETDEFAULTTENANTVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetTenantVersionRequest + +- **完整名称**: `eve.content.orchestrator.api.GetTenantVersionRequest` +- **内部变量名**: `GETTENANTVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.content.orchestrator.api.GetTenantVersionResponse.version` +- **内部变量名**: `GETTENANTVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ruleset + +- **完整名称**: `eve.content.orchestrator.api.DryRunRulesetRequest.ruleset` +- **内部变量名**: `DRYRUNRULESETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### tag + +- **完整名称**: `eve.content.orchestrator.api.DryRunRulesetResponse.LocationsForTag.tag` +- **内部变量名**: `DRYRUNRULESETRESPONSE_LOCATIONSFORTAG` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### location + +- **完整名称**: `eve.content.orchestrator.api.DryRunRulesetResponse.TagsForLocation.location` +- **内部变量名**: `DRYRUNRULESETRESPONSE_TAGSFORLOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### evaluation_result + +- **完整名称**: `eve.content.orchestrator.api.DryRunRulesetResponse.evaluation_result` +- **内部变量名**: `DRYRUNRULESETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### shard_id + +- **完整名称**: `eve.content.orchestrator.api.CleanupExpiredInstancesCommanded.shard_id` +- **内部变量名**: `CLEANUPEXPIREDINSTANCESCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.payment` (as `payment`) +- `eve.user.license.grant` (as `grant`) +- `eve.user.license` (as `license`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### license + +- **完整名称**: `eve.user.license.api.GrantRequest.license` +- **内部变量名**: `GRANTREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `api.GrantRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `expiry_date` | `api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 3 | `add_duration` | `api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 4 | `payment_method` | `api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 5 | `grant` | `api.GrantRequest.grant` | message (cpp: message) → `evedotuserdotlicensedotgrantdotgrantpb2.identifier` | optional (required in proto3) | +| 6 | `license` | `api.SetExpiryDateRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 7 | `expiry_date` | `api.SetExpiryDateRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `add_duration` | `api.SetExpiryDateRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 9 | `description` | `api.SetExpiryDateRequest.description` | string (cpp: string) | optional (required in proto3) | +| 10 | `license` | `api.SetExpiryDateResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 11 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `licenses` | `api.GetAllForUserResponse.licenses` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | repeated | +| 13 | `license` | `api.GetRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 14 | `license` | `api.GetResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | + +--- + +##### GrantResponse + +- **完整名称**: `eve.user.license.api.GrantResponse` +- **内部变量名**: `GRANTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### license + +- **完整名称**: `eve.user.license.api.SetExpiryDateRequest.license` +- **内部变量名**: `SETEXPIRYDATEREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `api.GrantRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `expiry_date` | `api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 3 | `add_duration` | `api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 4 | `payment_method` | `api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 5 | `grant` | `api.GrantRequest.grant` | message (cpp: message) → `evedotuserdotlicensedotgrantdotgrantpb2.identifier` | optional (required in proto3) | +| 6 | `license` | `api.SetExpiryDateRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 7 | `expiry_date` | `api.SetExpiryDateRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `add_duration` | `api.SetExpiryDateRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 9 | `description` | `api.SetExpiryDateRequest.description` | string (cpp: string) | optional (required in proto3) | +| 10 | `license` | `api.SetExpiryDateResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 11 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `licenses` | `api.GetAllForUserResponse.licenses` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | repeated | +| 13 | `license` | `api.GetRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 14 | `license` | `api.GetResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | + +--- + +##### license + +- **完整名称**: `eve.user.license.api.SetExpiryDateResponse.license` +- **内部变量名**: `SETEXPIRYDATERESPONSE` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `api.GrantRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `expiry_date` | `api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 3 | `add_duration` | `api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 4 | `payment_method` | `api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 5 | `grant` | `api.GrantRequest.grant` | message (cpp: message) → `evedotuserdotlicensedotgrantdotgrantpb2.identifier` | optional (required in proto3) | +| 6 | `license` | `api.SetExpiryDateRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 7 | `expiry_date` | `api.SetExpiryDateRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `add_duration` | `api.SetExpiryDateRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 9 | `description` | `api.SetExpiryDateRequest.description` | string (cpp: string) | optional (required in proto3) | +| 10 | `license` | `api.SetExpiryDateResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 11 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `licenses` | `api.GetAllForUserResponse.licenses` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | repeated | +| 13 | `license` | `api.GetRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 14 | `license` | `api.GetResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.license.api.GetAllForUserRequest.user` +- **内部变量名**: `GETALLFORUSERREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `license.api.GrantRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `expiry_date` | `license.api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 3 | `add_duration` | `license.api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 4 | `payment_method` | `license.api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 5 | `grant` | `license.api.GrantRequest.grant` | message (cpp: message) → `evedotuserdotlicensedotgrantdotgrantpb2.identifier` | optional (required in proto3) | +| 6 | `license` | `license.api.SetExpiryDateRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 7 | `expiry_date` | `license.api.SetExpiryDateRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `add_duration` | `license.api.SetExpiryDateRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 9 | `description` | `license.api.SetExpiryDateRequest.description` | string (cpp: string) | optional (required in proto3) | +| 10 | `license` | `license.api.SetExpiryDateResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 11 | `user` | `license.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `licenses` | `license.api.GetAllForUserResponse.licenses` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | repeated | +| 13 | `license` | `license.api.GetRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 14 | `license` | `license.api.GetResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | + +--- + +##### licenses + +- **完整名称**: `eve.user.license.api.GetAllForUserResponse.licenses` +- **内部变量名**: `GETALLFORUSERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### license + +- **完整名称**: `eve.user.license.api.GetRequest.license` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `api.GrantRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `expiry_date` | `api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 3 | `add_duration` | `api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 4 | `payment_method` | `api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 5 | `grant` | `api.GrantRequest.grant` | message (cpp: message) → `evedotuserdotlicensedotgrantdotgrantpb2.identifier` | optional (required in proto3) | +| 6 | `license` | `api.SetExpiryDateRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 7 | `expiry_date` | `api.SetExpiryDateRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `add_duration` | `api.SetExpiryDateRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 9 | `description` | `api.SetExpiryDateRequest.description` | string (cpp: string) | optional (required in proto3) | +| 10 | `license` | `api.SetExpiryDateResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 11 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `licenses` | `api.GetAllForUserResponse.licenses` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | repeated | +| 13 | `license` | `api.GetRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 14 | `license` | `api.GetResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | + +--- + +##### license + +- **完整名称**: `eve.user.license.api.GetResponse.license` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `api.GrantRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `expiry_date` | `api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 3 | `add_duration` | `api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 4 | `payment_method` | `api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 5 | `grant` | `api.GrantRequest.grant` | message (cpp: message) → `evedotuserdotlicensedotgrantdotgrantpb2.identifier` | optional (required in proto3) | +| 6 | `license` | `api.SetExpiryDateRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 7 | `expiry_date` | `api.SetExpiryDateRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `add_duration` | `api.SetExpiryDateRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 9 | `description` | `api.SetExpiryDateRequest.description` | string (cpp: string) | optional (required in proto3) | +| 10 | `license` | `api.SetExpiryDateResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 11 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `licenses` | `api.GetAllForUserResponse.licenses` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | repeated | +| 13 | `license` | `api.GetRequest.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 14 | `license` | `api.GetResponse.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user.license` (as `license`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### license + +- **完整名称**: `eve.user.license.api.VerifyCommanded.license` +- **内部变量名**: `VERIFYCOMMANDED` +- **字段数量**: 1 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `api.VerifyCommanded.license` | message (cpp: message) → `evedotuserdotlicensedotlicensepb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user.license` (as `license`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### identifier + +- **完整名称**: `eve.user.license.api.Created.identifier` +- **内部变量名**: `CREATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.user.license.api.Activated.identifier` +- **内部变量名**: `ACTIVATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.user.license.api.ExpiryDateExtended.identifier` +- **内部变量名**: `EXPIRYDATEEXTENDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.user.license.api.ExpiryDateReduced.identifier` +- **内部变量名**: `EXPIRYDATEREDUCED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.user.license.api.Expired.identifier` +- **内部变量名**: `EXPIRED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### user + +- **完整名称**: `eve.user.twofactor.api.GetAuthenticatorEnabledRequest.user` +- **内部变量名**: `GETAUTHENTICATORENABLEDREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `twofactor.api.GetAuthenticatorEnabledRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `enabled` | `twofactor.api.GetAuthenticatorEnabledResponse.enabled` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +##### enabled + +- **完整名称**: `eve.user.twofactor.api.GetAuthenticatorEnabledResponse.enabled` +- **内部变量名**: `GETAUTHENTICATORENABLEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### user + +- **完整名称**: `eve.user.twofactor.api.admin.DisableAuthenticatorRequest.user` +- **内部变量名**: `DISABLEAUTHENTICATORREQUEST` +- **字段数量**: 1 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `twofactor.api.admin.DisableAuthenticatorRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### DisableAuthenticatorResponse + +- **完整名称**: `eve.user.twofactor.api.admin.DisableAuthenticatorResponse` +- **内部变量名**: `DISABLEAUTHENTICATORRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user.recruitment` (as `recruitment`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 16 + +##### friend + +- **完整名称**: `eve.user.recruitment.api.AcceptInviteRequest.friend` +- **内部变量名**: `ACCEPTINVITEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### AcceptInviteResponse + +- **完整名称**: `eve.user.recruitment.api.AcceptInviteResponse` +- **内部变量名**: `ACCEPTINVITERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### recruiter + +- **完整名称**: `eve.user.recruitment.api.CreateInviteRequest.recruiter` +- **内部变量名**: `CREATEINVITEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### invite_token + +- **完整名称**: `eve.user.recruitment.api.CreateInviteResponse.invite_token` +- **内部变量名**: `CREATEINVITERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### recruiter + +- **完整名称**: `eve.user.recruitment.api.GetTokenRequest.recruiter` +- **内部变量名**: `GETTOKENREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### invite_token + +- **完整名称**: `eve.user.recruitment.api.GetTokenResponse.invite_token` +- **内部变量名**: `GETTOKENRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### invite_token + +- **完整名称**: `eve.user.recruitment.api.GetRecruiterByTokenRequest.invite_token` +- **内部变量名**: `GETRECRUITERBYTOKENREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### recruiter + +- **完整名称**: `eve.user.recruitment.api.GetRecruiterByTokenResponse.recruiter` +- **内部变量名**: `GETRECRUITERBYTOKENRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### friend + +- **完整名称**: `eve.user.recruitment.api.GetRecruiterByFriendRequest.friend` +- **内部变量名**: `GETRECRUITERBYFRIENDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### recruiter + +- **完整名称**: `eve.user.recruitment.api.GetRecruiterByFriendResponse.recruiter` +- **内部变量名**: `GETRECRUITERBYFRIENDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### recruiter + +- **完整名称**: `eve.user.recruitment.api.GetFriendsRequest.recruiter` +- **内部变量名**: `GETFRIENDSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### friend + +- **完整名称**: `eve.user.recruitment.api.GetFriendsResponse.Friend.friend` +- **内部变量名**: `GETFRIENDSRESPONSE_FRIEND` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### friends + +- **完整名称**: `eve.user.recruitment.api.GetFriendsResponse.friends` +- **内部变量名**: `GETFRIENDSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### recruiter + +- **完整名称**: `eve.user.recruitment.api.GetMilestoneRewardsRequest.recruiter` +- **内部变量名**: `GETMILESTONEREWARDSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### reward + +- **完整名称**: `eve.user.recruitment.api.GetMilestoneRewardsResponse.MilestoneReward.reward` +- **内部变量名**: `GETMILESTONEREWARDSRESPONSE_MILESTONEREWARD` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### rewards + +- **完整名称**: `eve.user.recruitment.api.GetMilestoneRewardsResponse.rewards` +- **内部变量名**: `GETMILESTONEREWARDSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.fulfillment.offer` (as `offer`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### recruit + +- **完整名称**: `eve.user.recruitment.api.Recruited.recruit` +- **内部变量名**: `RECRUITED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.user.recruitment.api.RewardEarned.user` +- **内部变量名**: `REWARDEARNED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `recruit` | `recruitment.api.Recruited.recruit` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `recruiter` | `recruitment.api.Recruited.recruiter` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 3 | `invite_token` | `recruitment.api.Recruited.invite_token` | string (cpp: string) | optional (required in proto3) | +| 4 | `user` | `recruitment.api.RewardEarned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 5 | `offer` | `recruitment.api.RewardEarned.offer` | message (cpp: message) → `evedotfulfillmentdotofferdotofferpb2.identifier` | optional (required in proto3) | +| 6 | `reference` | `recruitment.api.RewardEarned.reference` | string (cpp: string) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.payment` (as `payment`) +- `eve.user.subscription` (as `log`) +- `eve.user.subscription` (as `subscription`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 18 + +##### user + +- **完整名称**: `eve.user.subscription.api.GetStateRequest.user` +- **内部变量名**: `GETSTATEREQUEST` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `subscription.api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `subscription.api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `subscription.api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `subscription.api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `subscription.api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `subscription.api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `subscription.api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `subscription.api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `subscription.api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `subscription.api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `subscription.api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `subscription.api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `subscription.api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `subscription.api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `subscription.api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `subscription.api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `subscription.api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `subscription.api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `subscription.api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `subscription.api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `subscription.api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `subscription.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `subscription.api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `subscription.api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `subscription.api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `subscription.api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `subscription.api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `subscription.api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `subscription.api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `subscription.api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `subscription.api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### omega + +- **完整名称**: `eve.user.subscription.api.GetStateResponse.omega` +- **内部变量名**: `GETSTATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.user.subscription.api.GetActiveRequest.user` +- **内部变量名**: `GETACTIVEREQUEST` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `subscription.api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `subscription.api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `subscription.api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `subscription.api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `subscription.api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `subscription.api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `subscription.api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `subscription.api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `subscription.api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `subscription.api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `subscription.api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `subscription.api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `subscription.api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `subscription.api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `subscription.api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `subscription.api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `subscription.api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `subscription.api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `subscription.api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `subscription.api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `subscription.api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `subscription.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `subscription.api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `subscription.api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `subscription.api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `subscription.api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `subscription.api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `subscription.api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `subscription.api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `subscription.api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `subscription.api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### omega + +- **完整名称**: `eve.user.subscription.api.GetActiveResponse.omega` +- **内部变量名**: `GETACTIVERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.user.subscription.api.SubscriptionStarted.user` +- **内部变量名**: `SUBSCRIPTIONSTARTED` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `subscription.api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `subscription.api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `subscription.api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `subscription.api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `subscription.api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `subscription.api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `subscription.api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `subscription.api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `subscription.api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `subscription.api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `subscription.api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `subscription.api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `subscription.api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `subscription.api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `subscription.api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `subscription.api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `subscription.api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `subscription.api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `subscription.api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `subscription.api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `subscription.api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `subscription.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `subscription.api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `subscription.api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `subscription.api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `subscription.api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `subscription.api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `subscription.api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `subscription.api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `subscription.api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `subscription.api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.subscription.api.SubscriptionEnded.user` +- **内部变量名**: `SUBSCRIPTIONENDED` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `subscription.api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `subscription.api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `subscription.api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `subscription.api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `subscription.api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `subscription.api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `subscription.api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `subscription.api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `subscription.api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `subscription.api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `subscription.api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `subscription.api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `subscription.api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `subscription.api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `subscription.api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `subscription.api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `subscription.api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `subscription.api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `subscription.api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `subscription.api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `subscription.api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `subscription.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `subscription.api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `subscription.api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `subscription.api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `subscription.api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `subscription.api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `subscription.api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `subscription.api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `subscription.api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `subscription.api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.subscription.api.SubscriptionExtended.user` +- **内部变量名**: `SUBSCRIPTIONEXTENDED` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `subscription.api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `subscription.api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `subscription.api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `subscription.api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `subscription.api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `subscription.api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `subscription.api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `subscription.api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `subscription.api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `subscription.api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `subscription.api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `subscription.api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `subscription.api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `subscription.api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `subscription.api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `subscription.api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `subscription.api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `subscription.api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `subscription.api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `subscription.api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `subscription.api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `subscription.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `subscription.api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `subscription.api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `subscription.api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `subscription.api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `subscription.api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `subscription.api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `subscription.api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `subscription.api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `subscription.api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.subscription.api.SubscriptionRevokeRequest.user` +- **内部变量名**: `SUBSCRIPTIONREVOKEREQUEST` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `subscription.api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `subscription.api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `subscription.api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `subscription.api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `subscription.api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `subscription.api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `subscription.api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `subscription.api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `subscription.api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `subscription.api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `subscription.api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `subscription.api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `subscription.api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `subscription.api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `subscription.api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `subscription.api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `subscription.api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `subscription.api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `subscription.api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `subscription.api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `subscription.api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `subscription.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `subscription.api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `subscription.api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `subscription.api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `subscription.api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `subscription.api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `subscription.api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `subscription.api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `subscription.api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `subscription.api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### SubscriptionRevokeResponse + +- **完整名称**: `eve.user.subscription.api.SubscriptionRevokeResponse` +- **内部变量名**: `SUBSCRIPTIONREVOKERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### subscription + +- **完整名称**: `eve.user.subscription.api.GetRequest.subscription` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### subscription + +- **完整名称**: `eve.user.subscription.api.GetResponse.subscription` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.subscription.api.GetAllForUserRequest.user` +- **内部变量名**: `GETALLFORUSERREQUEST` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `subscription.api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `subscription.api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `subscription.api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `subscription.api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `subscription.api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `subscription.api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `subscription.api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `subscription.api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `subscription.api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `subscription.api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `subscription.api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `subscription.api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `subscription.api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `subscription.api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `subscription.api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `subscription.api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `subscription.api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `subscription.api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `subscription.api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `subscription.api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `subscription.api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `subscription.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `subscription.api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `subscription.api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `subscription.api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `subscription.api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `subscription.api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `subscription.api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `subscription.api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `subscription.api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `subscription.api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### subscription + +- **完整名称**: `eve.user.subscription.api.GetAllForUserResponse.subscription` +- **内部变量名**: `GETALLFORUSERRESPONSE` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### log + +- **完整名称**: `eve.user.subscription.api.GetLogRequest.log` +- **内部变量名**: `GETLOGREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### log + +- **完整名称**: `eve.user.subscription.api.GetLogResponse.log` +- **内部变量名**: `GETLOGRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### subscription + +- **完整名称**: `eve.user.subscription.api.GetAllLogsRequest.subscription` +- **内部变量名**: `GETALLLOGSREQUEST` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.GetStateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `omega` | `api.GetStateResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `user` | `api.GetActiveRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `omega` | `api.GetActiveResponse.omega` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `current_expiry_date` | `api.GetActiveResponse.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `user` | `api.SubscriptionStarted.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `current_expiry_date` | `api.SubscriptionStarted.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `payment_method` | `api.SubscriptionStarted.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 9 | `reference` | `api.SubscriptionStarted.reference` | string (cpp: string) | optional (required in proto3) | +| 10 | `user` | `api.SubscriptionEnded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 11 | `user` | `api.SubscriptionExtended.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `previous_expiry_date` | `api.SubscriptionExtended.previous_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 13 | `current_expiry_date` | `api.SubscriptionExtended.current_expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `payment_method` | `api.SubscriptionExtended.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 15 | `reference` | `api.SubscriptionExtended.reference` | string (cpp: string) | optional (required in proto3) | +| 16 | `user` | `api.SubscriptionRevokeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 17 | `expiry_date` | `api.SubscriptionRevokeRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `description` | `api.SubscriptionRevokeRequest.description` | string (cpp: string) | optional (required in proto3) | +| 19 | `reference` | `api.SubscriptionRevokeRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 20 | `subscription` | `api.GetRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 21 | `subscription` | `api.GetResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 22 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 23 | `subscription` | `api.GetAllForUserResponse.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | repeated | +| 24 | `log` | `api.GetLogRequest.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 25 | `log` | `api.GetLogResponse.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 26 | `subscription` | `api.GetAllLogsRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 27 | `page` | `api.GetAllLogsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 28 | `log` | `api.GetAllLogsResponse.LogRow.log` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `api.GetAllLogsResponse.LogRow.attributes` | message (cpp: message) → `evedotuserdotsubscriptiondotlogpb2.attributes` | optional (required in proto3) | +| 30 | `logs` | `api.GetAllLogsResponse.logs` | message (cpp: message) → `getalllogsresponselogrow` | repeated | +| 31 | `next_page` | `api.GetAllLogsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### log + +- **完整名称**: `eve.user.subscription.api.GetAllLogsResponse.LogRow.log` +- **内部变量名**: `GETALLLOGSRESPONSE_LOGROW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### logs + +- **完整名称**: `eve.user.subscription.api.GetAllLogsResponse.logs` +- **内部变量名**: `GETALLLOGSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) +- `eve.user.subscription` (as `subscription`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### user + +- **完整名称**: `eve.user.subscription.api.admin.CancelRequest.user` +- **内部变量名**: `CANCELREQUEST` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `subscription.api.admin.CancelRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `subscription` | `subscription.api.admin.CancelRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 3 | `context` | `subscription.api.admin.CancelRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 4 | `subscription` | `subscription.api.admin.RescheduleRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 5 | `context` | `subscription.api.admin.RescheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### CancelResponse + +- **完整名称**: `eve.user.subscription.api.admin.CancelResponse` +- **内部变量名**: `CANCELRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### subscription + +- **完整名称**: `eve.user.subscription.api.admin.RescheduleRequest.subscription` +- **内部变量名**: `RESCHEDULEREQUEST` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.admin.CancelRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `subscription` | `api.admin.CancelRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 3 | `context` | `api.admin.CancelRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 4 | `subscription` | `api.admin.RescheduleRequest.subscription` | message (cpp: message) → `evedotuserdotsubscriptiondotsubscriptionpb2.identifier` | optional (required in proto3) | +| 5 | `context` | `api.admin.RescheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### RescheduleResponse + +- **完整名称**: `eve.user.subscription.api.admin.RescheduleResponse` +- **内部变量名**: `RESCHEDULERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### user + +- **完整名称**: `eve.user.api.DeletePersonalDataRequest.user` +- **内部变量名**: `DELETEPERSONALDATAREQUEST` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.DeletePersonalDataRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `email_address` | `api.CreateRequest.email_address` | string (cpp: string) | optional (required in proto3) | +| 3 | `country_code` | `api.CreateRequest.country_code` | string (cpp: string) | optional (required in proto3) | +| 4 | `ip_address` | `api.CreateRequest.ip_address` | message (cpp: message) → `evedotipaddresspb2.ipaddress` | optional (required in proto3) | +| 5 | `agreed_eula` | `api.CreateRequest.agreed_eula` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `user` | `api.CreateResponse.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `email` | `api.GetAllByEmailRequest.email` | string (cpp: string) | optional (required in proto3) | +| 8 | `users` | `api.GetAllByEmailResponse.users` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | repeated | + +--- + +##### DeletePersonalDataResponse + +- **完整名称**: `eve.user.api.DeletePersonalDataResponse` +- **内部变量名**: `DELETEPERSONALDATARESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### email_address + +- **完整名称**: `eve.user.api.CreateRequest.email_address` +- **内部变量名**: `CREATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.user.api.CreateResponse.user` +- **内部变量名**: `CREATERESPONSE` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.DeletePersonalDataRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `email_address` | `api.CreateRequest.email_address` | string (cpp: string) | optional (required in proto3) | +| 3 | `country_code` | `api.CreateRequest.country_code` | string (cpp: string) | optional (required in proto3) | +| 4 | `ip_address` | `api.CreateRequest.ip_address` | message (cpp: message) → `evedotipaddresspb2.ipaddress` | optional (required in proto3) | +| 5 | `agreed_eula` | `api.CreateRequest.agreed_eula` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `user` | `api.CreateResponse.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `email` | `api.GetAllByEmailRequest.email` | string (cpp: string) | optional (required in proto3) | +| 8 | `users` | `api.GetAllByEmailResponse.users` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | repeated | + +--- + +##### email + +- **完整名称**: `eve.user.api.GetAllByEmailRequest.email` +- **内部变量名**: `GETALLBYEMAILREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### users + +- **完整名称**: `eve.user.api.GetAllByEmailResponse.users` +- **内部变量名**: `GETALLBYEMAILRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### user + +- **完整名称**: `eve.user.api.EmailVerificationStatusChangeCommanded.user` +- **内部变量名**: `EMAILVERIFICATIONSTATUSCHANGECOMMANDED` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.EmailVerificationStatusChangeCommanded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `email_verified` | `api.EmailVerificationStatusChangeCommanded.email_verified` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `ban`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 13 + +##### user + +- **完整名称**: `eve.user.api.Created.user` +- **内部变量名**: `CREATED` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.api.EmailAddressChanged.user` +- **内部变量名**: `EMAILADDRESSCHANGED` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.api.EmailAddressVerified.user` +- **内部变量名**: `EMAILADDRESSVERIFIED` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.api.UserPasswordInvalidated.user` +- **内部变量名**: `USERPASSWORDINVALIDATED` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.api.UserPasswordChanged.user` +- **内部变量名**: `USERPASSWORDCHANGED` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.api.UserPasswordReset.user` +- **内部变量名**: `USERPASSWORDRESET` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.api.GetContactDetailsRequest.user` +- **内部变量名**: `GETCONTACTDETAILSREQUEST` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +##### full_name + +- **完整名称**: `eve.user.api.GetContactDetailsResponse.full_name` +- **内部变量名**: `GETCONTACTDETAILSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.user.api.BanRequest.user` +- **内部变量名**: `BANREQUEST` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +##### BanResponse + +- **完整名称**: `eve.user.api.BanResponse` +- **内部变量名**: `BANRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.user.api.PersonalDataDeletionRequested.user` +- **内部变量名**: `PERSONALDATADELETIONREQUESTED` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.api.Banned.user` +- **内部变量名**: `BANNED` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.user.api.Unbanned.user` +- **内部变量名**: `UNBANNED` +- **字段数量**: 37 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.Created.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotuserdotuserpb2.attributes` | optional (required in proto3) | +| 3 | `email` | `api.Created.email` | string (cpp: string) | optional (required in proto3) | +| 4 | `steam_account` | `api.Created.steam_account` | string (cpp: string) | optional (required in proto3) | +| 5 | `epic_account` | `api.Created.epic_account` | string (cpp: string) | optional (required in proto3) | +| 6 | `user` | `api.EmailAddressChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 7 | `old_email_address` | `api.EmailAddressChanged.old_email_address` | string (cpp: string) | optional (required in proto3) | +| 8 | `new_email_address` | `api.EmailAddressChanged.new_email_address` | string (cpp: string) | optional (required in proto3) | +| 9 | `ipv4_address` | `api.EmailAddressChanged.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 10 | `language` | `api.EmailAddressChanged.language` | string (cpp: string) | optional (required in proto3) | +| 11 | `user` | `api.EmailAddressVerified.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 12 | `is_email_address_change` | `api.EmailAddressVerified.is_email_address_change` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `ipv4_address` | `api.EmailAddressVerified.ipv4_address` | string (cpp: string) | optional (required in proto3) | +| 14 | `email_address` | `api.EmailAddressVerified.email_address` | string (cpp: string) | optional (required in proto3) | +| 15 | `country_code` | `api.EmailAddressVerified.country_code` | string (cpp: string) | optional (required in proto3) | +| 16 | `country_unknown` | `api.EmailAddressVerified.country_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 17 | `user` | `api.UserPasswordInvalidated.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 18 | `user` | `api.UserPasswordChanged.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 19 | `user` | `api.UserPasswordReset.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 20 | `user` | `api.GetContactDetailsRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 21 | `full_name` | `api.GetContactDetailsResponse.full_name` | string (cpp: string) | optional (required in proto3) | +| 22 | `email_address` | `api.GetContactDetailsResponse.email_address` | string (cpp: string) | optional (required in proto3) | +| 23 | `language` | `api.GetContactDetailsResponse.language` | string (cpp: string) | optional (required in proto3) | +| 24 | `user_name` | `api.GetContactDetailsResponse.user_name` | string (cpp: string) | optional (required in proto3) | +| 25 | `creation_date` | `api.GetContactDetailsResponse.creation_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 26 | `email_verified` | `api.GetContactDetailsResponse.email_verified` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `email_change_underway` | `api.GetContactDetailsResponse.email_change_underway` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `user` | `api.BanRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 29 | `ban_reason` | `api.BanRequest.ban_reason` | string (cpp: string) | optional (required in proto3) | +| 30 | `user` | `api.PersonalDataDeletionRequested.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 31 | `user` | `api.Banned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 32 | `ban_type` | `api.Banned.ban_type` | message (cpp: message) → `evedotuserdotbanpb2.bantype` | optional (required in proto3) | +| 33 | `ban_id` | `api.Banned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | +| 34 | `expiry` | `api.Banned.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `permanent` | `api.Banned.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 36 | `user` | `api.Unbanned.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 37 | `ban_id` | `api.Unbanned.ban_id` | message (cpp: message) → `evedotuserdotbanpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.fulfillment.sale` (as `sale`) +- `eve.payment` (as `payment`) +- `eve.user.entitlement` (as `entitlement`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### user + +- **完整名称**: `eve.user.entitlement.api.GetAllForUserRequest.user` +- **内部变量名**: `GETALLFORUSERREQUEST` +- **字段数量**: 11 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `entitlement.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `entitlements` | `entitlement.api.GetAllForUserResponse.entitlements` | message (cpp: message) → `evedotuserdotentitlementdotentitlementpb2.entitlement` | repeated | +| 3 | `user` | `entitlement.api.GrantRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `name` | `entitlement.api.GrantRequest.name` | string (cpp: string) | optional (required in proto3) | +| 5 | `expiry_date` | `entitlement.api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `add_duration` | `entitlement.api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 7 | `payment_method` | `entitlement.api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 8 | `sale` | `entitlement.api.GrantRequest.sale` | message (cpp: message) → `evedotfulfillmentdotsaledotsalepb2.identifier` | optional (required in proto3) | +| 9 | `user` | `entitlement.api.AddOmegatimeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 10 | `duration` | `entitlement.api.AddOmegatimeRequest.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 11 | `description` | `entitlement.api.AddOmegatimeRequest.description` | string (cpp: string) | optional (required in proto3) | + +--- + +##### entitlements + +- **完整名称**: `eve.user.entitlement.api.GetAllForUserResponse.entitlements` +- **内部变量名**: `GETALLFORUSERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.user.entitlement.api.GrantRequest.user` +- **内部变量名**: `GRANTREQUEST` +- **字段数量**: 11 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `entitlement.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `entitlements` | `entitlement.api.GetAllForUserResponse.entitlements` | message (cpp: message) → `evedotuserdotentitlementdotentitlementpb2.entitlement` | repeated | +| 3 | `user` | `entitlement.api.GrantRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `name` | `entitlement.api.GrantRequest.name` | string (cpp: string) | optional (required in proto3) | +| 5 | `expiry_date` | `entitlement.api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `add_duration` | `entitlement.api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 7 | `payment_method` | `entitlement.api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 8 | `sale` | `entitlement.api.GrantRequest.sale` | message (cpp: message) → `evedotfulfillmentdotsaledotsalepb2.identifier` | optional (required in proto3) | +| 9 | `user` | `entitlement.api.AddOmegatimeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 10 | `duration` | `entitlement.api.AddOmegatimeRequest.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 11 | `description` | `entitlement.api.AddOmegatimeRequest.description` | string (cpp: string) | optional (required in proto3) | + +--- + +##### GrantResponse + +- **完整名称**: `eve.user.entitlement.api.GrantResponse` +- **内部变量名**: `GRANTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.user.entitlement.api.AddOmegatimeRequest.user` +- **内部变量名**: `ADDOMEGATIMEREQUEST` +- **字段数量**: 11 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `entitlement.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `entitlements` | `entitlement.api.GetAllForUserResponse.entitlements` | message (cpp: message) → `evedotuserdotentitlementdotentitlementpb2.entitlement` | repeated | +| 3 | `user` | `entitlement.api.GrantRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `name` | `entitlement.api.GrantRequest.name` | string (cpp: string) | optional (required in proto3) | +| 5 | `expiry_date` | `entitlement.api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `add_duration` | `entitlement.api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 7 | `payment_method` | `entitlement.api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 8 | `sale` | `entitlement.api.GrantRequest.sale` | message (cpp: message) → `evedotfulfillmentdotsaledotsalepb2.identifier` | optional (required in proto3) | +| 9 | `user` | `entitlement.api.AddOmegatimeRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 10 | `duration` | `entitlement.api.AddOmegatimeRequest.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 11 | `description` | `entitlement.api.AddOmegatimeRequest.description` | string (cpp: string) | optional (required in proto3) | + +--- + +##### AddOmegatimeResponse + +- **完整名称**: `eve.user.entitlement.api.AddOmegatimeResponse` +- **内部变量名**: `ADDOMEGATIMERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.payment` (as `payment`) +- `eve.store.sale` (as `sale`) +- `eve.user.licence` (as `licence`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### user + +- **完整名称**: `eve.user.licence.api.GrantRequest.user` +- **内部变量名**: `GRANTREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `licence.api.GrantRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `licence_type` | `licence.api.GrantRequest.licence_type` | string (cpp: string) | optional (required in proto3) | +| 3 | `expiry_date` | `licence.api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `add_duration` | `licence.api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 5 | `payment_method` | `licence.api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `sale` | `licence.api.GrantRequest.sale` | message (cpp: message) → `evedotstoredotsaledotsalepb2.identifier` | optional (required in proto3) | +| 7 | `user` | `licence.api.SetRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 8 | `licence_type` | `licence.api.SetRequest.licence_type` | string (cpp: string) | optional (required in proto3) | +| 9 | `expiry_date` | `licence.api.SetRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 10 | `add_duration` | `licence.api.SetRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 11 | `description` | `licence.api.SetRequest.description` | string (cpp: string) | optional (required in proto3) | +| 12 | `licence` | `licence.api.SetResponse.licence` | message (cpp: message) → `evedotuserdotlicencedotlicencepb2.attributes` | optional (required in proto3) | +| 13 | `user` | `licence.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 14 | `licences` | `licence.api.GetAllForUserResponse.licences` | message (cpp: message) → `evedotuserdotlicencedotlicencepb2.attributes` | repeated | + +--- + +##### GrantResponse + +- **完整名称**: `eve.user.licence.api.GrantResponse` +- **内部变量名**: `GRANTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.user.licence.api.SetRequest.user` +- **内部变量名**: `SETREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `licence.api.GrantRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `licence_type` | `licence.api.GrantRequest.licence_type` | string (cpp: string) | optional (required in proto3) | +| 3 | `expiry_date` | `licence.api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `add_duration` | `licence.api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 5 | `payment_method` | `licence.api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `sale` | `licence.api.GrantRequest.sale` | message (cpp: message) → `evedotstoredotsaledotsalepb2.identifier` | optional (required in proto3) | +| 7 | `user` | `licence.api.SetRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 8 | `licence_type` | `licence.api.SetRequest.licence_type` | string (cpp: string) | optional (required in proto3) | +| 9 | `expiry_date` | `licence.api.SetRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 10 | `add_duration` | `licence.api.SetRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 11 | `description` | `licence.api.SetRequest.description` | string (cpp: string) | optional (required in proto3) | +| 12 | `licence` | `licence.api.SetResponse.licence` | message (cpp: message) → `evedotuserdotlicencedotlicencepb2.attributes` | optional (required in proto3) | +| 13 | `user` | `licence.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 14 | `licences` | `licence.api.GetAllForUserResponse.licences` | message (cpp: message) → `evedotuserdotlicencedotlicencepb2.attributes` | repeated | + +--- + +##### licence + +- **完整名称**: `eve.user.licence.api.SetResponse.licence` +- **内部变量名**: `SETRESPONSE` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.GrantRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `licence_type` | `api.GrantRequest.licence_type` | string (cpp: string) | optional (required in proto3) | +| 3 | `expiry_date` | `api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `add_duration` | `api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 5 | `payment_method` | `api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `sale` | `api.GrantRequest.sale` | message (cpp: message) → `evedotstoredotsaledotsalepb2.identifier` | optional (required in proto3) | +| 7 | `user` | `api.SetRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 8 | `licence_type` | `api.SetRequest.licence_type` | string (cpp: string) | optional (required in proto3) | +| 9 | `expiry_date` | `api.SetRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 10 | `add_duration` | `api.SetRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 11 | `description` | `api.SetRequest.description` | string (cpp: string) | optional (required in proto3) | +| 12 | `licence` | `api.SetResponse.licence` | message (cpp: message) → `evedotuserdotlicencedotlicencepb2.attributes` | optional (required in proto3) | +| 13 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 14 | `licences` | `api.GetAllForUserResponse.licences` | message (cpp: message) → `evedotuserdotlicencedotlicencepb2.attributes` | repeated | + +--- + +##### user + +- **完整名称**: `eve.user.licence.api.GetAllForUserRequest.user` +- **内部变量名**: `GETALLFORUSERREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `licence.api.GrantRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `licence_type` | `licence.api.GrantRequest.licence_type` | string (cpp: string) | optional (required in proto3) | +| 3 | `expiry_date` | `licence.api.GrantRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `add_duration` | `licence.api.GrantRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 5 | `payment_method` | `licence.api.GrantRequest.payment_method` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `sale` | `licence.api.GrantRequest.sale` | message (cpp: message) → `evedotstoredotsaledotsalepb2.identifier` | optional (required in proto3) | +| 7 | `user` | `licence.api.SetRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 8 | `licence_type` | `licence.api.SetRequest.licence_type` | string (cpp: string) | optional (required in proto3) | +| 9 | `expiry_date` | `licence.api.SetRequest.expiry_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 10 | `add_duration` | `licence.api.SetRequest.add_duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 11 | `description` | `licence.api.SetRequest.description` | string (cpp: string) | optional (required in proto3) | +| 12 | `licence` | `licence.api.SetResponse.licence` | message (cpp: message) → `evedotuserdotlicencedotlicencepb2.attributes` | optional (required in proto3) | +| 13 | `user` | `licence.api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 14 | `licences` | `licence.api.GetAllForUserResponse.licences` | message (cpp: message) → `evedotuserdotlicencedotlicencepb2.attributes` | repeated | + +--- + +##### licences + +- **完整名称**: `eve.user.licence.api.GetAllForUserResponse.licences` +- **内部变量名**: `GETALLFORUSERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.bubble` (as `bubble`) +- `eve.bubble.presence` (as `presence`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### bubble + +- **完整名称**: `eve.bubble.presence.api.GetInBubbleRequest.bubble` +- **内部变量名**: `GETINBUBBLEREQUEST` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `bubble` | `presence.api.GetInBubbleRequest.bubble` | message (cpp: message) → `evedotbubbledotbubblepb2.identifier` | optional (required in proto3) | +| 2 | `members` | `presence.api.GetInBubbleResponse.members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | +| 3 | `character` | `presence.api.GetInBubbleByCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `bubble` | `presence.api.GetInBubbleByCharacterResponse.bubble` | message (cpp: message) → `evedotbubbledotbubblepb2.identifier` | optional (required in proto3) | +| 5 | `members` | `presence.api.GetInBubbleByCharacterResponse.members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | + +--- + +##### members + +- **完整名称**: `eve.bubble.presence.api.GetInBubbleResponse.members` +- **内部变量名**: `GETINBUBBLERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.bubble.presence.api.GetInBubbleByCharacterRequest.character` +- **内部变量名**: `GETINBUBBLEBYCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### bubble + +- **完整名称**: `eve.bubble.presence.api.GetInBubbleByCharacterResponse.bubble` +- **内部变量名**: `GETINBUBBLEBYCHARACTERRESPONSE` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `bubble` | `presence.api.GetInBubbleRequest.bubble` | message (cpp: message) → `evedotbubbledotbubblepb2.identifier` | optional (required in proto3) | +| 2 | `members` | `presence.api.GetInBubbleResponse.members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | +| 3 | `character` | `presence.api.GetInBubbleByCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `bubble` | `presence.api.GetInBubbleByCharacterResponse.bubble` | message (cpp: message) → `evedotbubbledotbubblepb2.identifier` | optional (required in proto3) | +| 5 | `members` | `presence.api.GetInBubbleByCharacterResponse.members` | message (cpp: message) → `evedotbubbledotpresencedotpresencepb2.member` | repeated | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.star` (as `star`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### star + +- **完整名称**: `eve.star.resources.api.GetPowerProductionRequest.star` +- **内部变量名**: `GETPOWERPRODUCTIONREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `star` | `resources.api.GetPowerProductionRequest.star` | message (cpp: message) → `evedotstardotstarpb2.identifier` | optional (required in proto3) | +| 2 | `amount` | `resources.api.GetPowerProductionResponse.amount` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### amount + +- **完整名称**: `eve.star.resources.api.GetPowerProductionResponse.amount` +- **内部变量名**: `GETPOWERPRODUCTIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### url + +- **完整名称**: `eve.cdn.api.SignURLRequest.url` +- **内部变量名**: `SIGNURLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### signed_url + +- **完整名称**: `eve.cdn.api.SignURLResponse.signed_url` +- **内部变量名**: `SIGNURLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetActiveURLSigningKeyRequest + +- **完整名称**: `eve.cdn.api.GetActiveURLSigningKeyRequest` +- **内部变量名**: `GETACTIVEURLSIGNINGKEYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### key_id + +- **完整名称**: `eve.cdn.api.GetActiveURLSigningKeyResponse.key_id` +- **内部变量名**: `GETACTIVEURLSIGNINGKEYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### key_id + +- **完整名称**: `eve.cdn.api.ActiveURLSigningKeyUpdated.key_id` +- **内部变量名**: `ACTIVEURLSIGNINGKEYUPDATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.localization.cerberus` (as `cerberus`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### user + +- **完整名称**: `eve.ai.assistant.chat.api.Queried.user` +- **内部变量名**: `QUERIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding` (as `context`) +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.inventory.assetholding.container` (as `container`) +- `eve.inventory.assetholding.operation` (as `operation`) +- `eve.inventory` (as `generic_item`) +- `eve.inventory` (as `generic_item_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 23 + +##### item + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsRequest.ItemDefinition.item` +- **内部变量名**: `HOLDITEMSREQUEST_ITEMDEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OwnerCurrentLocation + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsRequest.SourceLocation.OwnerCurrentLocation` +- **内部变量名**: `HOLDITEMSREQUEST_SOURCELOCATION_OWNERCURRENTLOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OwnerHomeStation + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsRequest.SourceLocation.OwnerHomeStation` +- **内部变量名**: `HOLDITEMSREQUEST_SOURCELOCATION_OWNERHOMESTATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### location_item + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsRequest.SourceLocation.location_item` +- **内部变量名**: `HOLDITEMSREQUEST_SOURCELOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsRequest.Owner.character` +- **内部变量名**: `HOLDITEMSREQUEST_OWNER` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsRequest.id` +- **内部变量名**: `HOLDITEMSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### item_type + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsResponse.ItemDefinition.item_type` +- **内部变量名**: `HOLDITEMSRESPONSE_ITEMDEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### container + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsResponse.container` +- **内部变量名**: `HOLDITEMSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### item_type + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsOfTypeRequest.ItemDefinition.item_type` +- **内部变量名**: `HOLDITEMSOFTYPEREQUEST_ITEMDEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OwnerCurrentLocation + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsOfTypeRequest.SourceLocation.OwnerCurrentLocation` +- **内部变量名**: `HOLDITEMSOFTYPEREQUEST_SOURCELOCATION_OWNERCURRENTLOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OwnerHomeStation + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsOfTypeRequest.SourceLocation.OwnerHomeStation` +- **内部变量名**: `HOLDITEMSOFTYPEREQUEST_SOURCELOCATION_OWNERHOMESTATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### location_item + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsOfTypeRequest.SourceLocation.location_item` +- **内部变量名**: `HOLDITEMSOFTYPEREQUEST_SOURCELOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsOfTypeRequest.Owner.character` +- **内部变量名**: `HOLDITEMSOFTYPEREQUEST_OWNER` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsOfTypeRequest.id` +- **内部变量名**: `HOLDITEMSOFTYPEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### container + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsOfTypeResponse.container` +- **内部变量名**: `HOLDITEMSOFTYPERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### item_type + +- **完整名称**: `eve.inventory.assetholding.operation.api.SpawnItemsOfTypeRequest.ItemDefinition.item_type` +- **内部变量名**: `SPAWNITEMSOFTYPEREQUEST_ITEMDEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OwnerCurrentLocation + +- **完整名称**: `eve.inventory.assetholding.operation.api.SpawnItemsOfTypeRequest.DestinationLocation.OwnerCurrentLocation` +- **内部变量名**: `SPAWNITEMSOFTYPEREQUEST_DESTINATIONLOCATION_OWNERCURRENTLOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OwnerHomeStation + +- **完整名称**: `eve.inventory.assetholding.operation.api.SpawnItemsOfTypeRequest.DestinationLocation.OwnerHomeStation` +- **内部变量名**: `SPAWNITEMSOFTYPEREQUEST_DESTINATIONLOCATION_OWNERHOMESTATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### location_item + +- **完整名称**: `eve.inventory.assetholding.operation.api.SpawnItemsOfTypeRequest.DestinationLocation.location_item` +- **内部变量名**: `SPAWNITEMSOFTYPEREQUEST_DESTINATIONLOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### LocationOwner + +- **完整名称**: `eve.inventory.assetholding.operation.api.SpawnItemsOfTypeRequest.Owner.LocationOwner` +- **内部变量名**: `SPAWNITEMSOFTYPEREQUEST_OWNER_LOCATIONOWNER` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.inventory.assetholding.operation.api.SpawnItemsOfTypeRequest.Owner.character` +- **内部变量名**: `SPAWNITEMSOFTYPEREQUEST_OWNER` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.inventory.assetholding.operation.api.SpawnItemsOfTypeRequest.id` +- **内部变量名**: `SPAWNITEMSOFTYPEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### items + +- **完整名称**: `eve.inventory.assetholding.operation.api.SpawnItemsOfTypeResponse.items` +- **内部变量名**: `SPAWNITEMSOFTYPERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.inventory.assetholding.container` (as `container`) +- `eve.inventory.assetholding.operation` (as `operation`) +- `eve.inventory` (as `generic_item`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### SourceLocation + +- **完整名称**: `eve.inventory.assetholding.operation.api.ReleaseHeldItemsCommanded.DestinationLocation.SourceLocation` +- **内部变量名**: `RELEASEHELDITEMSCOMMANDED_DESTINATIONLOCATION_SOURCELOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OwnerCurrentLocation + +- **完整名称**: `eve.inventory.assetholding.operation.api.ReleaseHeldItemsCommanded.DestinationLocation.OwnerCurrentLocation` +- **内部变量名**: `RELEASEHELDITEMSCOMMANDED_DESTINATIONLOCATION_OWNERCURRENTLOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OwnerHomeStation + +- **完整名称**: `eve.inventory.assetholding.operation.api.ReleaseHeldItemsCommanded.DestinationLocation.OwnerHomeStation` +- **内部变量名**: `RELEASEHELDITEMSCOMMANDED_DESTINATIONLOCATION_OWNERHOMESTATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### item + +- **完整名称**: `eve.inventory.assetholding.operation.api.ReleaseHeldItemsCommanded.DestinationLocation.item` +- **内部变量名**: `RELEASEHELDITEMSCOMMANDED_DESTINATIONLOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.inventory.assetholding.operation.api.ReleaseHeldItemsCommanded.id` +- **内部变量名**: `RELEASEHELDITEMSCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.inventory.assetholding.operation.api.ConsumeHeldItemsCommanded.id` +- **内部变量名**: `CONSUMEHELDITEMSCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding` (as `context`) +- `eve.inventory.assetholding.container` (as `container`) +- `eve.inventory.assetholding.operation` (as `operation`) +- `eve.inventory` (as `generic_item`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### id + +- **完整名称**: `eve.inventory.assetholding.operation.api.HoldItemsSucceeded.id` +- **内部变量名**: `HOLDITEMSSUCCEEDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.inventory.assetholding.operation.api.HeldItemsReleased.id` +- **内部变量名**: `HELDITEMSRELEASED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.inventory.assetholding.operation.api.HeldItemsReleaseFailed.id` +- **内部变量名**: `HELDITEMSRELEASEFAILED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.inventory.assetholding.operation.api.HeldItemsConsumed.id` +- **内部变量名**: `HELDITEMSCONSUMED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.inventory.assetholding.operation.api.ItemsSpawned.id` +- **内部变量名**: `ITEMSSPAWNED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.accounting` (as `transaction`) +- `eve.assetholding.asset` (as `asset`) +- `eve.assetholding` (as `context`) +- `eve.assetholding.cosmetic.character.title` (as `title`) +- `eve.assetholding.cosmetic.ship.skin.license` (as `license`) +- `eve.assetholding.inventory.itemstack` (as `itemstack`) +- `eve.assetholding.inventory.itemtype` (as `itemtype`) +- `eve.assetholding.isk` (as `isk`) +- `eve.assetholding.loyaltypoints` (as `loyaltypoints`) +- `eve.assetholding.plex` (as `plex`) +- `eve.assetholding.skillpoints` (as `skillpoints`) +- `eve.character` (as `character`) +- `eve.idempotency` (as `idempotency`) + +#### 📝 消息类型定义 + +**消息类型数量**: 10 + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.GetRequest.asset` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 49 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.GetRequest.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `asset` | `api.GetResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 3 | `action` | `api.HoldRequest.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 4 | `external_reference` | `api.HoldRequest.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 5 | `source` | `api.HoldRequest.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 6 | `destination` | `api.HoldRequest.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 7 | `system` | `api.HoldRequest.system` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `creator` | `api.HoldRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `benefactor` | `api.HoldRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 10 | `context` | `api.HoldRequest.context` | message (cpp: message) → `holdrequestcontext` | optional (required in proto3) | +| 11 | `release_time` | `api.HoldRequest.release_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 12 | `no_auto_release` | `api.HoldRequest.no_auto_release` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `itemstack` | `api.HoldRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.holdparameters` | optional (required in proto3) | +| 14 | `itemtype` | `api.HoldRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.holdparameters` | optional (required in proto3) | +| 15 | `isk` | `api.HoldRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.holdparameters` | optional (required in proto3) | +| 16 | `plex` | `api.HoldRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.holdparameters` | optional (required in proto3) | +| 17 | `ship_skin_license` | `api.HoldRequest.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.holdparameters` | optional (required in proto3) | +| 18 | `loyalty_points` | `api.HoldRequest.loyalty_points` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.holdparameters` | optional (required in proto3) | +| 19 | `journey` | `api.HoldRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 20 | `idempotency_token` | `api.HoldRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 21 | `asset` | `api.HoldResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.HoldResponse.attributes` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 23 | `action` | `api.SpawnRequest.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `external_reference` | `api.SpawnRequest.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 25 | `source` | `api.SpawnRequest.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 26 | `destination` | `api.SpawnRequest.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 27 | `benefactor` | `api.SpawnRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 28 | `internal_name` | `api.SpawnRequest.internal_name` | string (cpp: string) | optional (required in proto3) | +| 29 | `internal_description` | `api.SpawnRequest.internal_description` | string (cpp: string) | optional (required in proto3) | +| 30 | `context` | `api.SpawnRequest.context` | message (cpp: message) → `holdrequestcontext` | optional (required in proto3) | +| 31 | `itemtype` | `api.SpawnRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.holdparameters` | optional (required in proto3) | +| 32 | `itemstack` | `api.SpawnRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.holdparameters` | optional (required in proto3) | +| 33 | `isk` | `api.SpawnRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.holdparameters` | optional (required in proto3) | +| 34 | `plex` | `api.SpawnRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.holdparameters` | optional (required in proto3) | +| 35 | `loyaltypoints` | `api.SpawnRequest.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.spawnparameters` | optional (required in proto3) | +| 36 | `skillpoints` | `api.SpawnRequest.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.spawnparameters` | optional (required in proto3) | +| 37 | `character_title` | `api.SpawnRequest.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.spawnparameters` | optional (required in proto3) | +| 38 | `journey` | `api.SpawnRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 39 | `idempotency_token` | `api.SpawnRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 40 | `asset` | `api.SpawnResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 41 | `attributes` | `api.SpawnResponse.attributes` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 42 | `system` | `api.CreateRequest.system` | bool (cpp: uint32) | optional (required in proto3) | +| 43 | `creator` | `api.CreateRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 44 | `benefactor` | `api.CreateRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 45 | `unit` | `api.CreateRequest.unit` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.unit` | optional (required in proto3) | +| 46 | `infinite` | `api.CreateRequest.infinite` | bool (cpp: uint32) | optional (required in proto3) | +| 47 | `finite` | `api.CreateRequest.finite` | uint64 (cpp: uint64) | optional (required in proto3) | +| 48 | `reference` | `api.CreateRequest.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 49 | `asset` | `api.CreateResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.GetResponse.asset` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 49 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.GetRequest.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `asset` | `api.GetResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 3 | `action` | `api.HoldRequest.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 4 | `external_reference` | `api.HoldRequest.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 5 | `source` | `api.HoldRequest.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 6 | `destination` | `api.HoldRequest.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 7 | `system` | `api.HoldRequest.system` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `creator` | `api.HoldRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `benefactor` | `api.HoldRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 10 | `context` | `api.HoldRequest.context` | message (cpp: message) → `holdrequestcontext` | optional (required in proto3) | +| 11 | `release_time` | `api.HoldRequest.release_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 12 | `no_auto_release` | `api.HoldRequest.no_auto_release` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `itemstack` | `api.HoldRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.holdparameters` | optional (required in proto3) | +| 14 | `itemtype` | `api.HoldRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.holdparameters` | optional (required in proto3) | +| 15 | `isk` | `api.HoldRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.holdparameters` | optional (required in proto3) | +| 16 | `plex` | `api.HoldRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.holdparameters` | optional (required in proto3) | +| 17 | `ship_skin_license` | `api.HoldRequest.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.holdparameters` | optional (required in proto3) | +| 18 | `loyalty_points` | `api.HoldRequest.loyalty_points` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.holdparameters` | optional (required in proto3) | +| 19 | `journey` | `api.HoldRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 20 | `idempotency_token` | `api.HoldRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 21 | `asset` | `api.HoldResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.HoldResponse.attributes` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 23 | `action` | `api.SpawnRequest.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `external_reference` | `api.SpawnRequest.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 25 | `source` | `api.SpawnRequest.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 26 | `destination` | `api.SpawnRequest.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 27 | `benefactor` | `api.SpawnRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 28 | `internal_name` | `api.SpawnRequest.internal_name` | string (cpp: string) | optional (required in proto3) | +| 29 | `internal_description` | `api.SpawnRequest.internal_description` | string (cpp: string) | optional (required in proto3) | +| 30 | `context` | `api.SpawnRequest.context` | message (cpp: message) → `holdrequestcontext` | optional (required in proto3) | +| 31 | `itemtype` | `api.SpawnRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.holdparameters` | optional (required in proto3) | +| 32 | `itemstack` | `api.SpawnRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.holdparameters` | optional (required in proto3) | +| 33 | `isk` | `api.SpawnRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.holdparameters` | optional (required in proto3) | +| 34 | `plex` | `api.SpawnRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.holdparameters` | optional (required in proto3) | +| 35 | `loyaltypoints` | `api.SpawnRequest.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.spawnparameters` | optional (required in proto3) | +| 36 | `skillpoints` | `api.SpawnRequest.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.spawnparameters` | optional (required in proto3) | +| 37 | `character_title` | `api.SpawnRequest.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.spawnparameters` | optional (required in proto3) | +| 38 | `journey` | `api.SpawnRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 39 | `idempotency_token` | `api.SpawnRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 40 | `asset` | `api.SpawnResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 41 | `attributes` | `api.SpawnResponse.attributes` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 42 | `system` | `api.CreateRequest.system` | bool (cpp: uint32) | optional (required in proto3) | +| 43 | `creator` | `api.CreateRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 44 | `benefactor` | `api.CreateRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 45 | `unit` | `api.CreateRequest.unit` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.unit` | optional (required in proto3) | +| 46 | `infinite` | `api.CreateRequest.infinite` | bool (cpp: uint32) | optional (required in proto3) | +| 47 | `finite` | `api.CreateRequest.finite` | uint64 (cpp: uint64) | optional (required in proto3) | +| 48 | `reference` | `api.CreateRequest.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 49 | `asset` | `api.CreateResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +##### action + +- **完整名称**: `eve.assetholding.asset.api.HoldRequest.Context.action` +- **内部变量名**: `HOLDREQUEST_CONTEXT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### system + +- **完整名称**: `eve.assetholding.asset.api.HoldRequest.system` +- **内部变量名**: `HOLDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.HoldResponse.asset` +- **内部变量名**: `HOLDRESPONSE` +- **字段数量**: 49 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.GetRequest.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `asset` | `api.GetResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 3 | `action` | `api.HoldRequest.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 4 | `external_reference` | `api.HoldRequest.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 5 | `source` | `api.HoldRequest.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 6 | `destination` | `api.HoldRequest.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 7 | `system` | `api.HoldRequest.system` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `creator` | `api.HoldRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `benefactor` | `api.HoldRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 10 | `context` | `api.HoldRequest.context` | message (cpp: message) → `holdrequestcontext` | optional (required in proto3) | +| 11 | `release_time` | `api.HoldRequest.release_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 12 | `no_auto_release` | `api.HoldRequest.no_auto_release` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `itemstack` | `api.HoldRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.holdparameters` | optional (required in proto3) | +| 14 | `itemtype` | `api.HoldRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.holdparameters` | optional (required in proto3) | +| 15 | `isk` | `api.HoldRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.holdparameters` | optional (required in proto3) | +| 16 | `plex` | `api.HoldRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.holdparameters` | optional (required in proto3) | +| 17 | `ship_skin_license` | `api.HoldRequest.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.holdparameters` | optional (required in proto3) | +| 18 | `loyalty_points` | `api.HoldRequest.loyalty_points` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.holdparameters` | optional (required in proto3) | +| 19 | `journey` | `api.HoldRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 20 | `idempotency_token` | `api.HoldRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 21 | `asset` | `api.HoldResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.HoldResponse.attributes` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 23 | `action` | `api.SpawnRequest.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `external_reference` | `api.SpawnRequest.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 25 | `source` | `api.SpawnRequest.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 26 | `destination` | `api.SpawnRequest.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 27 | `benefactor` | `api.SpawnRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 28 | `internal_name` | `api.SpawnRequest.internal_name` | string (cpp: string) | optional (required in proto3) | +| 29 | `internal_description` | `api.SpawnRequest.internal_description` | string (cpp: string) | optional (required in proto3) | +| 30 | `context` | `api.SpawnRequest.context` | message (cpp: message) → `holdrequestcontext` | optional (required in proto3) | +| 31 | `itemtype` | `api.SpawnRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.holdparameters` | optional (required in proto3) | +| 32 | `itemstack` | `api.SpawnRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.holdparameters` | optional (required in proto3) | +| 33 | `isk` | `api.SpawnRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.holdparameters` | optional (required in proto3) | +| 34 | `plex` | `api.SpawnRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.holdparameters` | optional (required in proto3) | +| 35 | `loyaltypoints` | `api.SpawnRequest.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.spawnparameters` | optional (required in proto3) | +| 36 | `skillpoints` | `api.SpawnRequest.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.spawnparameters` | optional (required in proto3) | +| 37 | `character_title` | `api.SpawnRequest.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.spawnparameters` | optional (required in proto3) | +| 38 | `journey` | `api.SpawnRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 39 | `idempotency_token` | `api.SpawnRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 40 | `asset` | `api.SpawnResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 41 | `attributes` | `api.SpawnResponse.attributes` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 42 | `system` | `api.CreateRequest.system` | bool (cpp: uint32) | optional (required in proto3) | +| 43 | `creator` | `api.CreateRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 44 | `benefactor` | `api.CreateRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 45 | `unit` | `api.CreateRequest.unit` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.unit` | optional (required in proto3) | +| 46 | `infinite` | `api.CreateRequest.infinite` | bool (cpp: uint32) | optional (required in proto3) | +| 47 | `finite` | `api.CreateRequest.finite` | uint64 (cpp: uint64) | optional (required in proto3) | +| 48 | `reference` | `api.CreateRequest.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 49 | `asset` | `api.CreateResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +##### action + +- **完整名称**: `eve.assetholding.asset.api.SpawnRequest.Context.action` +- **内部变量名**: `SPAWNREQUEST_CONTEXT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### benefactor + +- **完整名称**: `eve.assetholding.asset.api.SpawnRequest.benefactor` +- **内部变量名**: `SPAWNREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.SpawnResponse.asset` +- **内部变量名**: `SPAWNRESPONSE` +- **字段数量**: 49 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.GetRequest.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `asset` | `api.GetResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 3 | `action` | `api.HoldRequest.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 4 | `external_reference` | `api.HoldRequest.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 5 | `source` | `api.HoldRequest.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 6 | `destination` | `api.HoldRequest.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 7 | `system` | `api.HoldRequest.system` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `creator` | `api.HoldRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `benefactor` | `api.HoldRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 10 | `context` | `api.HoldRequest.context` | message (cpp: message) → `holdrequestcontext` | optional (required in proto3) | +| 11 | `release_time` | `api.HoldRequest.release_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 12 | `no_auto_release` | `api.HoldRequest.no_auto_release` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `itemstack` | `api.HoldRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.holdparameters` | optional (required in proto3) | +| 14 | `itemtype` | `api.HoldRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.holdparameters` | optional (required in proto3) | +| 15 | `isk` | `api.HoldRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.holdparameters` | optional (required in proto3) | +| 16 | `plex` | `api.HoldRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.holdparameters` | optional (required in proto3) | +| 17 | `ship_skin_license` | `api.HoldRequest.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.holdparameters` | optional (required in proto3) | +| 18 | `loyalty_points` | `api.HoldRequest.loyalty_points` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.holdparameters` | optional (required in proto3) | +| 19 | `journey` | `api.HoldRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 20 | `idempotency_token` | `api.HoldRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 21 | `asset` | `api.HoldResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.HoldResponse.attributes` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 23 | `action` | `api.SpawnRequest.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `external_reference` | `api.SpawnRequest.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 25 | `source` | `api.SpawnRequest.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 26 | `destination` | `api.SpawnRequest.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 27 | `benefactor` | `api.SpawnRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 28 | `internal_name` | `api.SpawnRequest.internal_name` | string (cpp: string) | optional (required in proto3) | +| 29 | `internal_description` | `api.SpawnRequest.internal_description` | string (cpp: string) | optional (required in proto3) | +| 30 | `context` | `api.SpawnRequest.context` | message (cpp: message) → `holdrequestcontext` | optional (required in proto3) | +| 31 | `itemtype` | `api.SpawnRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.holdparameters` | optional (required in proto3) | +| 32 | `itemstack` | `api.SpawnRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.holdparameters` | optional (required in proto3) | +| 33 | `isk` | `api.SpawnRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.holdparameters` | optional (required in proto3) | +| 34 | `plex` | `api.SpawnRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.holdparameters` | optional (required in proto3) | +| 35 | `loyaltypoints` | `api.SpawnRequest.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.spawnparameters` | optional (required in proto3) | +| 36 | `skillpoints` | `api.SpawnRequest.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.spawnparameters` | optional (required in proto3) | +| 37 | `character_title` | `api.SpawnRequest.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.spawnparameters` | optional (required in proto3) | +| 38 | `journey` | `api.SpawnRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 39 | `idempotency_token` | `api.SpawnRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 40 | `asset` | `api.SpawnResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 41 | `attributes` | `api.SpawnResponse.attributes` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 42 | `system` | `api.CreateRequest.system` | bool (cpp: uint32) | optional (required in proto3) | +| 43 | `creator` | `api.CreateRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 44 | `benefactor` | `api.CreateRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 45 | `unit` | `api.CreateRequest.unit` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.unit` | optional (required in proto3) | +| 46 | `infinite` | `api.CreateRequest.infinite` | bool (cpp: uint32) | optional (required in proto3) | +| 47 | `finite` | `api.CreateRequest.finite` | uint64 (cpp: uint64) | optional (required in proto3) | +| 48 | `reference` | `api.CreateRequest.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 49 | `asset` | `api.CreateResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +##### system + +- **完整名称**: `eve.assetholding.asset.api.CreateRequest.system` +- **内部变量名**: `CREATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.CreateResponse.asset` +- **内部变量名**: `CREATERESPONSE` +- **字段数量**: 49 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.GetRequest.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `asset` | `api.GetResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 3 | `action` | `api.HoldRequest.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 4 | `external_reference` | `api.HoldRequest.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 5 | `source` | `api.HoldRequest.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 6 | `destination` | `api.HoldRequest.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 7 | `system` | `api.HoldRequest.system` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `creator` | `api.HoldRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `benefactor` | `api.HoldRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 10 | `context` | `api.HoldRequest.context` | message (cpp: message) → `holdrequestcontext` | optional (required in proto3) | +| 11 | `release_time` | `api.HoldRequest.release_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 12 | `no_auto_release` | `api.HoldRequest.no_auto_release` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `itemstack` | `api.HoldRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.holdparameters` | optional (required in proto3) | +| 14 | `itemtype` | `api.HoldRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.holdparameters` | optional (required in proto3) | +| 15 | `isk` | `api.HoldRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.holdparameters` | optional (required in proto3) | +| 16 | `plex` | `api.HoldRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.holdparameters` | optional (required in proto3) | +| 17 | `ship_skin_license` | `api.HoldRequest.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.holdparameters` | optional (required in proto3) | +| 18 | `loyalty_points` | `api.HoldRequest.loyalty_points` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.holdparameters` | optional (required in proto3) | +| 19 | `journey` | `api.HoldRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 20 | `idempotency_token` | `api.HoldRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 21 | `asset` | `api.HoldResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.HoldResponse.attributes` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 23 | `action` | `api.SpawnRequest.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 24 | `external_reference` | `api.SpawnRequest.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 25 | `source` | `api.SpawnRequest.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 26 | `destination` | `api.SpawnRequest.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 27 | `benefactor` | `api.SpawnRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 28 | `internal_name` | `api.SpawnRequest.internal_name` | string (cpp: string) | optional (required in proto3) | +| 29 | `internal_description` | `api.SpawnRequest.internal_description` | string (cpp: string) | optional (required in proto3) | +| 30 | `context` | `api.SpawnRequest.context` | message (cpp: message) → `holdrequestcontext` | optional (required in proto3) | +| 31 | `itemtype` | `api.SpawnRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.holdparameters` | optional (required in proto3) | +| 32 | `itemstack` | `api.SpawnRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.holdparameters` | optional (required in proto3) | +| 33 | `isk` | `api.SpawnRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.holdparameters` | optional (required in proto3) | +| 34 | `plex` | `api.SpawnRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.holdparameters` | optional (required in proto3) | +| 35 | `loyaltypoints` | `api.SpawnRequest.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.spawnparameters` | optional (required in proto3) | +| 36 | `skillpoints` | `api.SpawnRequest.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.spawnparameters` | optional (required in proto3) | +| 37 | `character_title` | `api.SpawnRequest.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.spawnparameters` | optional (required in proto3) | +| 38 | `journey` | `api.SpawnRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 39 | `idempotency_token` | `api.SpawnRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 40 | `asset` | `api.SpawnResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 41 | `attributes` | `api.SpawnResponse.attributes` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 42 | `system` | `api.CreateRequest.system` | bool (cpp: uint32) | optional (required in proto3) | +| 43 | `creator` | `api.CreateRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 44 | `benefactor` | `api.CreateRequest.benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 45 | `unit` | `api.CreateRequest.unit` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.unit` | optional (required in proto3) | +| 46 | `infinite` | `api.CreateRequest.infinite` | bool (cpp: uint32) | optional (required in proto3) | +| 47 | `finite` | `api.CreateRequest.finite` | uint64 (cpp: uint64) | optional (required in proto3) | +| 48 | `reference` | `api.CreateRequest.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 49 | `asset` | `api.CreateResponse.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.accounting` (as `transaction`) +- `eve.assetholding.asset` (as `asset`) +- `eve.assetholding` (as `context`) +- `eve.assetholding.plex` (as `plex`) +- `eve.idempotency` (as `idempotency`) + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.ReleaseCommanded.asset` +- **内部变量名**: `RELEASECOMMANDED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.ReleaseCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.ReleaseCommanded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 3 | `not_provided` | `api.ReleaseCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `all` | `api.ReleaseCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `quantity` | `api.ReleaseCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 6 | `reference` | `api.ReleaseCommanded.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 7 | `idempotency_token` | `api.ReleaseCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 8 | `plex` | `api.ReleaseCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.releaseparameters` | optional (required in proto3) | +| 9 | `asset` | `api.ConsumeCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 10 | `all` | `api.ConsumeCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `quantity` | `api.ConsumeCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `idempotency_token` | `api.ConsumeCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `asset` | `api.DeleteCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 14 | `asset` | `api.Created.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 15 | `details` | `api.Created.details` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 16 | `context` | `api.Created.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 17 | `not_provided` | `api.Created.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `asset` | `api.Released.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 19 | `context` | `api.Released.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 20 | `total_quantity` | `api.Released.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `quantity_released` | `api.Released.quantity_released` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `asset` | `api.Consumed.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 23 | `total_quantity` | `api.Consumed.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `quantity_consumed` | `api.Consumed.quantity_consumed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 25 | `asset` | `api.Deleted.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.ConsumeCommanded.asset` +- **内部变量名**: `CONSUMECOMMANDED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.ReleaseCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.ReleaseCommanded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 3 | `not_provided` | `api.ReleaseCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `all` | `api.ReleaseCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `quantity` | `api.ReleaseCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 6 | `reference` | `api.ReleaseCommanded.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 7 | `idempotency_token` | `api.ReleaseCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 8 | `plex` | `api.ReleaseCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.releaseparameters` | optional (required in proto3) | +| 9 | `asset` | `api.ConsumeCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 10 | `all` | `api.ConsumeCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `quantity` | `api.ConsumeCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `idempotency_token` | `api.ConsumeCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `asset` | `api.DeleteCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 14 | `asset` | `api.Created.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 15 | `details` | `api.Created.details` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 16 | `context` | `api.Created.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 17 | `not_provided` | `api.Created.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `asset` | `api.Released.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 19 | `context` | `api.Released.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 20 | `total_quantity` | `api.Released.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `quantity_released` | `api.Released.quantity_released` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `asset` | `api.Consumed.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 23 | `total_quantity` | `api.Consumed.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `quantity_consumed` | `api.Consumed.quantity_consumed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 25 | `asset` | `api.Deleted.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.DeleteCommanded.asset` +- **内部变量名**: `DELETECOMMANDED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.ReleaseCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.ReleaseCommanded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 3 | `not_provided` | `api.ReleaseCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `all` | `api.ReleaseCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `quantity` | `api.ReleaseCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 6 | `reference` | `api.ReleaseCommanded.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 7 | `idempotency_token` | `api.ReleaseCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 8 | `plex` | `api.ReleaseCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.releaseparameters` | optional (required in proto3) | +| 9 | `asset` | `api.ConsumeCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 10 | `all` | `api.ConsumeCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `quantity` | `api.ConsumeCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `idempotency_token` | `api.ConsumeCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `asset` | `api.DeleteCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 14 | `asset` | `api.Created.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 15 | `details` | `api.Created.details` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 16 | `context` | `api.Created.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 17 | `not_provided` | `api.Created.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `asset` | `api.Released.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 19 | `context` | `api.Released.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 20 | `total_quantity` | `api.Released.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `quantity_released` | `api.Released.quantity_released` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `asset` | `api.Consumed.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 23 | `total_quantity` | `api.Consumed.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `quantity_consumed` | `api.Consumed.quantity_consumed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 25 | `asset` | `api.Deleted.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.Created.asset` +- **内部变量名**: `CREATED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.ReleaseCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.ReleaseCommanded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 3 | `not_provided` | `api.ReleaseCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `all` | `api.ReleaseCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `quantity` | `api.ReleaseCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 6 | `reference` | `api.ReleaseCommanded.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 7 | `idempotency_token` | `api.ReleaseCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 8 | `plex` | `api.ReleaseCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.releaseparameters` | optional (required in proto3) | +| 9 | `asset` | `api.ConsumeCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 10 | `all` | `api.ConsumeCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `quantity` | `api.ConsumeCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `idempotency_token` | `api.ConsumeCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `asset` | `api.DeleteCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 14 | `asset` | `api.Created.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 15 | `details` | `api.Created.details` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 16 | `context` | `api.Created.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 17 | `not_provided` | `api.Created.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `asset` | `api.Released.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 19 | `context` | `api.Released.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 20 | `total_quantity` | `api.Released.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `quantity_released` | `api.Released.quantity_released` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `asset` | `api.Consumed.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 23 | `total_quantity` | `api.Consumed.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `quantity_consumed` | `api.Consumed.quantity_consumed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 25 | `asset` | `api.Deleted.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.Released.asset` +- **内部变量名**: `RELEASED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.ReleaseCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.ReleaseCommanded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 3 | `not_provided` | `api.ReleaseCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `all` | `api.ReleaseCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `quantity` | `api.ReleaseCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 6 | `reference` | `api.ReleaseCommanded.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 7 | `idempotency_token` | `api.ReleaseCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 8 | `plex` | `api.ReleaseCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.releaseparameters` | optional (required in proto3) | +| 9 | `asset` | `api.ConsumeCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 10 | `all` | `api.ConsumeCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `quantity` | `api.ConsumeCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `idempotency_token` | `api.ConsumeCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `asset` | `api.DeleteCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 14 | `asset` | `api.Created.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 15 | `details` | `api.Created.details` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 16 | `context` | `api.Created.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 17 | `not_provided` | `api.Created.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `asset` | `api.Released.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 19 | `context` | `api.Released.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 20 | `total_quantity` | `api.Released.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `quantity_released` | `api.Released.quantity_released` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `asset` | `api.Consumed.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 23 | `total_quantity` | `api.Consumed.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `quantity_consumed` | `api.Consumed.quantity_consumed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 25 | `asset` | `api.Deleted.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.Consumed.asset` +- **内部变量名**: `CONSUMED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.ReleaseCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.ReleaseCommanded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 3 | `not_provided` | `api.ReleaseCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `all` | `api.ReleaseCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `quantity` | `api.ReleaseCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 6 | `reference` | `api.ReleaseCommanded.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 7 | `idempotency_token` | `api.ReleaseCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 8 | `plex` | `api.ReleaseCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.releaseparameters` | optional (required in proto3) | +| 9 | `asset` | `api.ConsumeCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 10 | `all` | `api.ConsumeCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `quantity` | `api.ConsumeCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `idempotency_token` | `api.ConsumeCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `asset` | `api.DeleteCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 14 | `asset` | `api.Created.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 15 | `details` | `api.Created.details` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 16 | `context` | `api.Created.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 17 | `not_provided` | `api.Created.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `asset` | `api.Released.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 19 | `context` | `api.Released.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 20 | `total_quantity` | `api.Released.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `quantity_released` | `api.Released.quantity_released` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `asset` | `api.Consumed.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 23 | `total_quantity` | `api.Consumed.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `quantity_consumed` | `api.Consumed.quantity_consumed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 25 | `asset` | `api.Deleted.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +##### asset + +- **完整名称**: `eve.assetholding.asset.api.Deleted.asset` +- **内部变量名**: `DELETED` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `asset` | `api.ReleaseCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.ReleaseCommanded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 3 | `not_provided` | `api.ReleaseCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `all` | `api.ReleaseCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `quantity` | `api.ReleaseCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 6 | `reference` | `api.ReleaseCommanded.reference` | message (cpp: message) → `evedotaccountingdottransactionpb2.externalreference` | optional (required in proto3) | +| 7 | `idempotency_token` | `api.ReleaseCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 8 | `plex` | `api.ReleaseCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.releaseparameters` | optional (required in proto3) | +| 9 | `asset` | `api.ConsumeCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 10 | `all` | `api.ConsumeCommanded.all` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `quantity` | `api.ConsumeCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `idempotency_token` | `api.ConsumeCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `asset` | `api.DeleteCommanded.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 14 | `asset` | `api.Created.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 15 | `details` | `api.Created.details` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.attributes` | optional (required in proto3) | +| 16 | `context` | `api.Created.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 17 | `not_provided` | `api.Created.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `asset` | `api.Released.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 19 | `context` | `api.Released.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 20 | `total_quantity` | `api.Released.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `quantity_released` | `api.Released.quantity_released` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `asset` | `api.Consumed.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 23 | `total_quantity` | `api.Consumed.total_quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `quantity_consumed` | `api.Consumed.quantity_consumed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 25 | `asset` | `api.Deleted.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding` (as `context`) +- `eve.assetholding.cosmetic.character.title` (as `title`) +- `eve.assetholding.cosmetic.ship.skin.license` (as `license`) +- `eve.assetholding.entitlement` (as `entitlement`) +- `eve.assetholding.inventory.itemstack` (as `itemstack`) +- `eve.assetholding.inventory.itemtype` (as `itemtype`) +- `eve.assetholding.isk` (as `isk`) +- `eve.assetholding.loyaltypoints` (as `loyaltypoints`) +- `eve.assetholding.plex` (as `plex`) +- `eve.assetholding.skillpoints` (as `skillpoints`) +- `eve.idempotency` (as `idempotency`) + +#### 📝 消息类型定义 + +**消息类型数量**: 14 + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.GetRequest.entitlement` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 45 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `entitlement` | `api.GetRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 2 | `entitlement` | `api.GetResponse.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 3 | `entitlement` | `api.RedeemRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 4 | `itemstack` | `api.RedeemRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 5 | `itemtype` | `api.RedeemRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 6 | `isk` | `api.RedeemRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 7 | `loyaltypoints` | `api.RedeemRequest.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 8 | `plex` | `api.RedeemRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 9 | `skillpoints` | `api.RedeemRequest.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 10 | `ship_skin_license` | `api.RedeemRequest.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 11 | `character_title` | `api.RedeemRequest.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 12 | `idempotency_token` | `api.RedeemRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `action` | `api.DirectDeliveryRequest.Entitlement.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 14 | `external_reference` | `api.DirectDeliveryRequest.Entitlement.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 15 | `source` | `api.DirectDeliveryRequest.Entitlement.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 16 | `destination` | `api.DirectDeliveryRequest.Entitlement.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 17 | `omega_locked` | `api.DirectDeliveryRequest.Entitlement.RedeemConstraints.omega_locked` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `context` | `api.DirectDeliveryRequest.Entitlement.context` | message (cpp: message) → `directdeliveryrequestentitlementcontext` | optional (required in proto3) | +| 19 | `entitlement` | `api.DirectDeliveryRequest.Entitlement.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 20 | `itemstack` | `api.DirectDeliveryRequest.Entitlement.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 21 | `itemtype` | `api.DirectDeliveryRequest.Entitlement.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 22 | `isk` | `api.DirectDeliveryRequest.Entitlement.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 23 | `loyaltypoints` | `api.DirectDeliveryRequest.Entitlement.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 24 | `plex` | `api.DirectDeliveryRequest.Entitlement.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 25 | `skillpoints` | `api.DirectDeliveryRequest.Entitlement.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 26 | `ship_skin_license` | `api.DirectDeliveryRequest.Entitlement.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 27 | `character_title` | `api.DirectDeliveryRequest.Entitlement.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 28 | `quantity` | `api.DirectDeliveryRequest.Entitlement.quantity` | uint64 (cpp: uint64) → `evedotassetholdingdotentitlementdotentitlementpb2.quantity` | optional (required in proto3) | +| 29 | `no_constraints` | `api.DirectDeliveryRequest.Entitlement.no_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 30 | `constraints` | `api.DirectDeliveryRequest.Entitlement.constraints` | message (cpp: message) → `directdeliveryrequestentitlementredeemconstraints` | optional (required in proto3) | +| 31 | `journey` | `api.DirectDeliveryRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 32 | `entitlements` | `api.DirectDeliveryRequest.entitlements` | message (cpp: message) → `directdeliveryrequestentitlement` | repeated | +| 33 | `idempotency_token` | `api.DirectDeliveryRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 34 | `entitlement` | `api.DeleteRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 35 | `journey` | `api.DeleteRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 36 | `holder` | `api.GetUnredeemedByHolderAndGroupNameRequest.holder` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.holder` | optional (required in proto3) | +| 37 | `group_by_name` | `api.GetUnredeemedByHolderAndGroupNameRequest.group_by_name` | string (cpp: string) | optional (required in proto3) | +| 38 | `none` | `api.GetUnredeemedByHolderAndGroupNameRequest.none` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `modified_after` | `api.GetUnredeemedByHolderAndGroupNameRequest.modified_after` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 40 | `page` | `api.GetUnredeemedByHolderAndGroupNameRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 41 | `entitlement` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 42 | `quantity` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.quantity` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.quantity` | optional (required in proto3) | +| 43 | `last_modified_timestamp` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.last_modified_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 44 | `entitlements` | `api.GetUnredeemedByHolderAndGroupNameResponse.entitlements` | message (cpp: message) → `directdeliveryrequestentitlement` | repeated | +| 45 | `next_page` | `api.GetUnredeemedByHolderAndGroupNameResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.GetResponse.entitlement` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 45 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `entitlement` | `api.GetRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 2 | `entitlement` | `api.GetResponse.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 3 | `entitlement` | `api.RedeemRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 4 | `itemstack` | `api.RedeemRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 5 | `itemtype` | `api.RedeemRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 6 | `isk` | `api.RedeemRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 7 | `loyaltypoints` | `api.RedeemRequest.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 8 | `plex` | `api.RedeemRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 9 | `skillpoints` | `api.RedeemRequest.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 10 | `ship_skin_license` | `api.RedeemRequest.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 11 | `character_title` | `api.RedeemRequest.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 12 | `idempotency_token` | `api.RedeemRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `action` | `api.DirectDeliveryRequest.Entitlement.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 14 | `external_reference` | `api.DirectDeliveryRequest.Entitlement.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 15 | `source` | `api.DirectDeliveryRequest.Entitlement.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 16 | `destination` | `api.DirectDeliveryRequest.Entitlement.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 17 | `omega_locked` | `api.DirectDeliveryRequest.Entitlement.RedeemConstraints.omega_locked` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `context` | `api.DirectDeliveryRequest.Entitlement.context` | message (cpp: message) → `directdeliveryrequestentitlementcontext` | optional (required in proto3) | +| 19 | `entitlement` | `api.DirectDeliveryRequest.Entitlement.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 20 | `itemstack` | `api.DirectDeliveryRequest.Entitlement.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 21 | `itemtype` | `api.DirectDeliveryRequest.Entitlement.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 22 | `isk` | `api.DirectDeliveryRequest.Entitlement.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 23 | `loyaltypoints` | `api.DirectDeliveryRequest.Entitlement.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 24 | `plex` | `api.DirectDeliveryRequest.Entitlement.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 25 | `skillpoints` | `api.DirectDeliveryRequest.Entitlement.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 26 | `ship_skin_license` | `api.DirectDeliveryRequest.Entitlement.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 27 | `character_title` | `api.DirectDeliveryRequest.Entitlement.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 28 | `quantity` | `api.DirectDeliveryRequest.Entitlement.quantity` | uint64 (cpp: uint64) → `evedotassetholdingdotentitlementdotentitlementpb2.quantity` | optional (required in proto3) | +| 29 | `no_constraints` | `api.DirectDeliveryRequest.Entitlement.no_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 30 | `constraints` | `api.DirectDeliveryRequest.Entitlement.constraints` | message (cpp: message) → `directdeliveryrequestentitlementredeemconstraints` | optional (required in proto3) | +| 31 | `journey` | `api.DirectDeliveryRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 32 | `entitlements` | `api.DirectDeliveryRequest.entitlements` | message (cpp: message) → `directdeliveryrequestentitlement` | repeated | +| 33 | `idempotency_token` | `api.DirectDeliveryRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 34 | `entitlement` | `api.DeleteRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 35 | `journey` | `api.DeleteRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 36 | `holder` | `api.GetUnredeemedByHolderAndGroupNameRequest.holder` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.holder` | optional (required in proto3) | +| 37 | `group_by_name` | `api.GetUnredeemedByHolderAndGroupNameRequest.group_by_name` | string (cpp: string) | optional (required in proto3) | +| 38 | `none` | `api.GetUnredeemedByHolderAndGroupNameRequest.none` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `modified_after` | `api.GetUnredeemedByHolderAndGroupNameRequest.modified_after` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 40 | `page` | `api.GetUnredeemedByHolderAndGroupNameRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 41 | `entitlement` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 42 | `quantity` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.quantity` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.quantity` | optional (required in proto3) | +| 43 | `last_modified_timestamp` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.last_modified_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 44 | `entitlements` | `api.GetUnredeemedByHolderAndGroupNameResponse.entitlements` | message (cpp: message) → `directdeliveryrequestentitlement` | repeated | +| 45 | `next_page` | `api.GetUnredeemedByHolderAndGroupNameResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.RedeemRequest.entitlement` +- **内部变量名**: `REDEEMREQUEST` +- **字段数量**: 45 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `entitlement` | `api.GetRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 2 | `entitlement` | `api.GetResponse.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 3 | `entitlement` | `api.RedeemRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 4 | `itemstack` | `api.RedeemRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 5 | `itemtype` | `api.RedeemRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 6 | `isk` | `api.RedeemRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 7 | `loyaltypoints` | `api.RedeemRequest.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 8 | `plex` | `api.RedeemRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 9 | `skillpoints` | `api.RedeemRequest.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 10 | `ship_skin_license` | `api.RedeemRequest.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 11 | `character_title` | `api.RedeemRequest.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 12 | `idempotency_token` | `api.RedeemRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `action` | `api.DirectDeliveryRequest.Entitlement.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 14 | `external_reference` | `api.DirectDeliveryRequest.Entitlement.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 15 | `source` | `api.DirectDeliveryRequest.Entitlement.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 16 | `destination` | `api.DirectDeliveryRequest.Entitlement.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 17 | `omega_locked` | `api.DirectDeliveryRequest.Entitlement.RedeemConstraints.omega_locked` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `context` | `api.DirectDeliveryRequest.Entitlement.context` | message (cpp: message) → `directdeliveryrequestentitlementcontext` | optional (required in proto3) | +| 19 | `entitlement` | `api.DirectDeliveryRequest.Entitlement.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 20 | `itemstack` | `api.DirectDeliveryRequest.Entitlement.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 21 | `itemtype` | `api.DirectDeliveryRequest.Entitlement.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 22 | `isk` | `api.DirectDeliveryRequest.Entitlement.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 23 | `loyaltypoints` | `api.DirectDeliveryRequest.Entitlement.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 24 | `plex` | `api.DirectDeliveryRequest.Entitlement.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 25 | `skillpoints` | `api.DirectDeliveryRequest.Entitlement.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 26 | `ship_skin_license` | `api.DirectDeliveryRequest.Entitlement.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 27 | `character_title` | `api.DirectDeliveryRequest.Entitlement.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 28 | `quantity` | `api.DirectDeliveryRequest.Entitlement.quantity` | uint64 (cpp: uint64) → `evedotassetholdingdotentitlementdotentitlementpb2.quantity` | optional (required in proto3) | +| 29 | `no_constraints` | `api.DirectDeliveryRequest.Entitlement.no_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 30 | `constraints` | `api.DirectDeliveryRequest.Entitlement.constraints` | message (cpp: message) → `directdeliveryrequestentitlementredeemconstraints` | optional (required in proto3) | +| 31 | `journey` | `api.DirectDeliveryRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 32 | `entitlements` | `api.DirectDeliveryRequest.entitlements` | message (cpp: message) → `directdeliveryrequestentitlement` | repeated | +| 33 | `idempotency_token` | `api.DirectDeliveryRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 34 | `entitlement` | `api.DeleteRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 35 | `journey` | `api.DeleteRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 36 | `holder` | `api.GetUnredeemedByHolderAndGroupNameRequest.holder` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.holder` | optional (required in proto3) | +| 37 | `group_by_name` | `api.GetUnredeemedByHolderAndGroupNameRequest.group_by_name` | string (cpp: string) | optional (required in proto3) | +| 38 | `none` | `api.GetUnredeemedByHolderAndGroupNameRequest.none` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `modified_after` | `api.GetUnredeemedByHolderAndGroupNameRequest.modified_after` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 40 | `page` | `api.GetUnredeemedByHolderAndGroupNameRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 41 | `entitlement` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 42 | `quantity` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.quantity` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.quantity` | optional (required in proto3) | +| 43 | `last_modified_timestamp` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.last_modified_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 44 | `entitlements` | `api.GetUnredeemedByHolderAndGroupNameResponse.entitlements` | message (cpp: message) → `directdeliveryrequestentitlement` | repeated | +| 45 | `next_page` | `api.GetUnredeemedByHolderAndGroupNameResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### RedeemResponse + +- **完整名称**: `eve.assetholding.entitlement.api.RedeemResponse` +- **内部变量名**: `REDEEMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### action + +- **完整名称**: `eve.assetholding.entitlement.api.DirectDeliveryRequest.Entitlement.Context.action` +- **内部变量名**: `DIRECTDELIVERYREQUEST_ENTITLEMENT_CONTEXT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### omega_locked + +- **完整名称**: `eve.assetholding.entitlement.api.DirectDeliveryRequest.Entitlement.RedeemConstraints.omega_locked` +- **内部变量名**: `DIRECTDELIVERYREQUEST_ENTITLEMENT_REDEEMCONSTRAINTS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.assetholding.entitlement.api.DirectDeliveryRequest.Entitlement.context` +- **内部变量名**: `DIRECTDELIVERYREQUEST_ENTITLEMENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### journey + +- **完整名称**: `eve.assetholding.entitlement.api.DirectDeliveryRequest.journey` +- **内部变量名**: `DIRECTDELIVERYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### DirectDeliveryResponse + +- **完整名称**: `eve.assetholding.entitlement.api.DirectDeliveryResponse` +- **内部变量名**: `DIRECTDELIVERYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.DeleteRequest.entitlement` +- **内部变量名**: `DELETEREQUEST` +- **字段数量**: 45 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `entitlement` | `api.GetRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 2 | `entitlement` | `api.GetResponse.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 3 | `entitlement` | `api.RedeemRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 4 | `itemstack` | `api.RedeemRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 5 | `itemtype` | `api.RedeemRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 6 | `isk` | `api.RedeemRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 7 | `loyaltypoints` | `api.RedeemRequest.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 8 | `plex` | `api.RedeemRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 9 | `skillpoints` | `api.RedeemRequest.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 10 | `ship_skin_license` | `api.RedeemRequest.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 11 | `character_title` | `api.RedeemRequest.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 12 | `idempotency_token` | `api.RedeemRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `action` | `api.DirectDeliveryRequest.Entitlement.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 14 | `external_reference` | `api.DirectDeliveryRequest.Entitlement.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 15 | `source` | `api.DirectDeliveryRequest.Entitlement.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 16 | `destination` | `api.DirectDeliveryRequest.Entitlement.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 17 | `omega_locked` | `api.DirectDeliveryRequest.Entitlement.RedeemConstraints.omega_locked` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `context` | `api.DirectDeliveryRequest.Entitlement.context` | message (cpp: message) → `directdeliveryrequestentitlementcontext` | optional (required in proto3) | +| 19 | `entitlement` | `api.DirectDeliveryRequest.Entitlement.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 20 | `itemstack` | `api.DirectDeliveryRequest.Entitlement.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 21 | `itemtype` | `api.DirectDeliveryRequest.Entitlement.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 22 | `isk` | `api.DirectDeliveryRequest.Entitlement.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 23 | `loyaltypoints` | `api.DirectDeliveryRequest.Entitlement.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 24 | `plex` | `api.DirectDeliveryRequest.Entitlement.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 25 | `skillpoints` | `api.DirectDeliveryRequest.Entitlement.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 26 | `ship_skin_license` | `api.DirectDeliveryRequest.Entitlement.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 27 | `character_title` | `api.DirectDeliveryRequest.Entitlement.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 28 | `quantity` | `api.DirectDeliveryRequest.Entitlement.quantity` | uint64 (cpp: uint64) → `evedotassetholdingdotentitlementdotentitlementpb2.quantity` | optional (required in proto3) | +| 29 | `no_constraints` | `api.DirectDeliveryRequest.Entitlement.no_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 30 | `constraints` | `api.DirectDeliveryRequest.Entitlement.constraints` | message (cpp: message) → `directdeliveryrequestentitlementredeemconstraints` | optional (required in proto3) | +| 31 | `journey` | `api.DirectDeliveryRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 32 | `entitlements` | `api.DirectDeliveryRequest.entitlements` | message (cpp: message) → `directdeliveryrequestentitlement` | repeated | +| 33 | `idempotency_token` | `api.DirectDeliveryRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 34 | `entitlement` | `api.DeleteRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 35 | `journey` | `api.DeleteRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 36 | `holder` | `api.GetUnredeemedByHolderAndGroupNameRequest.holder` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.holder` | optional (required in proto3) | +| 37 | `group_by_name` | `api.GetUnredeemedByHolderAndGroupNameRequest.group_by_name` | string (cpp: string) | optional (required in proto3) | +| 38 | `none` | `api.GetUnredeemedByHolderAndGroupNameRequest.none` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `modified_after` | `api.GetUnredeemedByHolderAndGroupNameRequest.modified_after` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 40 | `page` | `api.GetUnredeemedByHolderAndGroupNameRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 41 | `entitlement` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 42 | `quantity` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.quantity` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.quantity` | optional (required in proto3) | +| 43 | `last_modified_timestamp` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.last_modified_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 44 | `entitlements` | `api.GetUnredeemedByHolderAndGroupNameResponse.entitlements` | message (cpp: message) → `directdeliveryrequestentitlement` | repeated | +| 45 | `next_page` | `api.GetUnredeemedByHolderAndGroupNameResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### DeleteResponse + +- **完整名称**: `eve.assetholding.entitlement.api.DeleteResponse` +- **内部变量名**: `DELETERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### holder + +- **完整名称**: `eve.assetholding.entitlement.api.GetUnredeemedByHolderAndGroupNameRequest.holder` +- **内部变量名**: `GETUNREDEEMEDBYHOLDERANDGROUPNAMEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.entitlement` +- **内部变量名**: `GETUNREDEEMEDBYHOLDERANDGROUPNAMERESPONSE_ENTITLEMENT` +- **字段数量**: 45 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `entitlement` | `api.GetRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 2 | `entitlement` | `api.GetResponse.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 3 | `entitlement` | `api.RedeemRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 4 | `itemstack` | `api.RedeemRequest.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 5 | `itemtype` | `api.RedeemRequest.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 6 | `isk` | `api.RedeemRequest.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 7 | `loyaltypoints` | `api.RedeemRequest.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 8 | `plex` | `api.RedeemRequest.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 9 | `skillpoints` | `api.RedeemRequest.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 10 | `ship_skin_license` | `api.RedeemRequest.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 11 | `character_title` | `api.RedeemRequest.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 12 | `idempotency_token` | `api.RedeemRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 13 | `action` | `api.DirectDeliveryRequest.Entitlement.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 14 | `external_reference` | `api.DirectDeliveryRequest.Entitlement.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 15 | `source` | `api.DirectDeliveryRequest.Entitlement.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 16 | `destination` | `api.DirectDeliveryRequest.Entitlement.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 17 | `omega_locked` | `api.DirectDeliveryRequest.Entitlement.RedeemConstraints.omega_locked` | bool (cpp: uint32) | optional (required in proto3) | +| 18 | `context` | `api.DirectDeliveryRequest.Entitlement.context` | message (cpp: message) → `directdeliveryrequestentitlementcontext` | optional (required in proto3) | +| 19 | `entitlement` | `api.DirectDeliveryRequest.Entitlement.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 20 | `itemstack` | `api.DirectDeliveryRequest.Entitlement.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 21 | `itemtype` | `api.DirectDeliveryRequest.Entitlement.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 22 | `isk` | `api.DirectDeliveryRequest.Entitlement.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 23 | `loyaltypoints` | `api.DirectDeliveryRequest.Entitlement.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 24 | `plex` | `api.DirectDeliveryRequest.Entitlement.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 25 | `skillpoints` | `api.DirectDeliveryRequest.Entitlement.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 26 | `ship_skin_license` | `api.DirectDeliveryRequest.Entitlement.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 27 | `character_title` | `api.DirectDeliveryRequest.Entitlement.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 28 | `quantity` | `api.DirectDeliveryRequest.Entitlement.quantity` | uint64 (cpp: uint64) → `evedotassetholdingdotentitlementdotentitlementpb2.quantity` | optional (required in proto3) | +| 29 | `no_constraints` | `api.DirectDeliveryRequest.Entitlement.no_constraints` | bool (cpp: uint32) | optional (required in proto3) | +| 30 | `constraints` | `api.DirectDeliveryRequest.Entitlement.constraints` | message (cpp: message) → `directdeliveryrequestentitlementredeemconstraints` | optional (required in proto3) | +| 31 | `journey` | `api.DirectDeliveryRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 32 | `entitlements` | `api.DirectDeliveryRequest.entitlements` | message (cpp: message) → `directdeliveryrequestentitlement` | repeated | +| 33 | `idempotency_token` | `api.DirectDeliveryRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 34 | `entitlement` | `api.DeleteRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 35 | `journey` | `api.DeleteRequest.journey` | bytes (cpp: string) | optional (required in proto3) | +| 36 | `holder` | `api.GetUnredeemedByHolderAndGroupNameRequest.holder` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.holder` | optional (required in proto3) | +| 37 | `group_by_name` | `api.GetUnredeemedByHolderAndGroupNameRequest.group_by_name` | string (cpp: string) | optional (required in proto3) | +| 38 | `none` | `api.GetUnredeemedByHolderAndGroupNameRequest.none` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `modified_after` | `api.GetUnredeemedByHolderAndGroupNameRequest.modified_after` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 40 | `page` | `api.GetUnredeemedByHolderAndGroupNameRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 41 | `entitlement` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 42 | `quantity` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.quantity` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.quantity` | optional (required in proto3) | +| 43 | `last_modified_timestamp` | `api.GetUnredeemedByHolderAndGroupNameResponse.Entitlement.last_modified_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 44 | `entitlements` | `api.GetUnredeemedByHolderAndGroupNameResponse.entitlements` | message (cpp: message) → `directdeliveryrequestentitlement` | repeated | +| 45 | `next_page` | `api.GetUnredeemedByHolderAndGroupNameResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### entitlements + +- **完整名称**: `eve.assetholding.entitlement.api.GetUnredeemedByHolderAndGroupNameResponse.entitlements` +- **内部变量名**: `GETUNREDEEMEDBYHOLDERANDGROUPNAMERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding` (as `context`) +- `eve.assetholding.cosmetic.character.title` (as `title`) +- `eve.assetholding.cosmetic.ship.skin.license` (as `license`) +- `eve.assetholding.entitlement` (as `entitlement`) +- `eve.assetholding.inventory.itemstack` (as `itemstack`) +- `eve.assetholding.inventory.itemtype` (as `itemtype`) +- `eve.assetholding.isk` (as `isk`) +- `eve.assetholding.loyaltypoints` (as `loyaltypoints`) +- `eve.assetholding.plex` (as `plex`) +- `eve.assetholding.skillpoints` (as `skillpoints`) +- `eve.idempotency` (as `idempotency`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### action + +- **完整名称**: `eve.assetholding.entitlement.api.GrantCommanded.Context.action` +- **内部变量名**: `GRANTCOMMANDED_CONTEXT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.GrantCommanded.entitlement` +- **内部变量名**: `GRANTCOMMANDED` +- **字段数量**: 27 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `action` | `api.GrantCommanded.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 2 | `external_reference` | `api.GrantCommanded.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 3 | `source` | `api.GrantCommanded.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 4 | `destination` | `api.GrantCommanded.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 5 | `entitlement` | `api.GrantCommanded.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 6 | `quantity` | `api.GrantCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 7 | `context` | `api.GrantCommanded.context` | message (cpp: message) → `grantcommandedcontext` | optional (required in proto3) | +| 8 | `idempotency_token` | `api.GrantCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 9 | `configuration` | `api.GrantCommanded.configuration` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.configuration` | optional (required in proto3) | +| 10 | `entitlement` | `api.RedeemCommanded.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 11 | `context` | `api.RedeemCommanded.context` | message (cpp: message) → `grantcommandedcontext` | optional (required in proto3) | +| 12 | `not_provided` | `api.RedeemCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `itemstack` | `api.RedeemCommanded.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 14 | `itemtype` | `api.RedeemCommanded.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 15 | `isk` | `api.RedeemCommanded.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 16 | `loyaltypoints` | `api.RedeemCommanded.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 17 | `plex` | `api.RedeemCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 18 | `skillpoints` | `api.RedeemCommanded.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 19 | `ship_skin_license` | `api.RedeemCommanded.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 20 | `character_title` | `api.RedeemCommanded.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 21 | `idempotency_token` | `api.RedeemCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 22 | `entitlement` | `api.Granted.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 23 | `details` | `api.Granted.details` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.attributes` | optional (required in proto3) | +| 24 | `entitlement` | `api.Redeemed.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 25 | `details` | `api.Redeemed.details` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.attributes` | optional (required in proto3) | +| 26 | `autoredeemed` | `api.Redeemed.autoredeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `shard_index` | `api.AutoredeemCommanded.shard_index` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.RedeemCommanded.entitlement` +- **内部变量名**: `REDEEMCOMMANDED` +- **字段数量**: 27 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `action` | `api.GrantCommanded.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 2 | `external_reference` | `api.GrantCommanded.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 3 | `source` | `api.GrantCommanded.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 4 | `destination` | `api.GrantCommanded.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 5 | `entitlement` | `api.GrantCommanded.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 6 | `quantity` | `api.GrantCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 7 | `context` | `api.GrantCommanded.context` | message (cpp: message) → `grantcommandedcontext` | optional (required in proto3) | +| 8 | `idempotency_token` | `api.GrantCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 9 | `configuration` | `api.GrantCommanded.configuration` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.configuration` | optional (required in proto3) | +| 10 | `entitlement` | `api.RedeemCommanded.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 11 | `context` | `api.RedeemCommanded.context` | message (cpp: message) → `grantcommandedcontext` | optional (required in proto3) | +| 12 | `not_provided` | `api.RedeemCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `itemstack` | `api.RedeemCommanded.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 14 | `itemtype` | `api.RedeemCommanded.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 15 | `isk` | `api.RedeemCommanded.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 16 | `loyaltypoints` | `api.RedeemCommanded.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 17 | `plex` | `api.RedeemCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 18 | `skillpoints` | `api.RedeemCommanded.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 19 | `ship_skin_license` | `api.RedeemCommanded.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 20 | `character_title` | `api.RedeemCommanded.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 21 | `idempotency_token` | `api.RedeemCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 22 | `entitlement` | `api.Granted.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 23 | `details` | `api.Granted.details` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.attributes` | optional (required in proto3) | +| 24 | `entitlement` | `api.Redeemed.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 25 | `details` | `api.Redeemed.details` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.attributes` | optional (required in proto3) | +| 26 | `autoredeemed` | `api.Redeemed.autoredeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `shard_index` | `api.AutoredeemCommanded.shard_index` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.Granted.entitlement` +- **内部变量名**: `GRANTED` +- **字段数量**: 27 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `action` | `api.GrantCommanded.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 2 | `external_reference` | `api.GrantCommanded.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 3 | `source` | `api.GrantCommanded.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 4 | `destination` | `api.GrantCommanded.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 5 | `entitlement` | `api.GrantCommanded.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 6 | `quantity` | `api.GrantCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 7 | `context` | `api.GrantCommanded.context` | message (cpp: message) → `grantcommandedcontext` | optional (required in proto3) | +| 8 | `idempotency_token` | `api.GrantCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 9 | `configuration` | `api.GrantCommanded.configuration` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.configuration` | optional (required in proto3) | +| 10 | `entitlement` | `api.RedeemCommanded.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 11 | `context` | `api.RedeemCommanded.context` | message (cpp: message) → `grantcommandedcontext` | optional (required in proto3) | +| 12 | `not_provided` | `api.RedeemCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `itemstack` | `api.RedeemCommanded.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 14 | `itemtype` | `api.RedeemCommanded.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 15 | `isk` | `api.RedeemCommanded.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 16 | `loyaltypoints` | `api.RedeemCommanded.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 17 | `plex` | `api.RedeemCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 18 | `skillpoints` | `api.RedeemCommanded.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 19 | `ship_skin_license` | `api.RedeemCommanded.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 20 | `character_title` | `api.RedeemCommanded.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 21 | `idempotency_token` | `api.RedeemCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 22 | `entitlement` | `api.Granted.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 23 | `details` | `api.Granted.details` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.attributes` | optional (required in proto3) | +| 24 | `entitlement` | `api.Redeemed.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 25 | `details` | `api.Redeemed.details` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.attributes` | optional (required in proto3) | +| 26 | `autoredeemed` | `api.Redeemed.autoredeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `shard_index` | `api.AutoredeemCommanded.shard_index` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.Redeemed.entitlement` +- **内部变量名**: `REDEEMED` +- **字段数量**: 27 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `action` | `api.GrantCommanded.Context.action` | enum (cpp: bool) | optional (required in proto3) | +| 2 | `external_reference` | `api.GrantCommanded.Context.external_reference` | message (cpp: message) → `evedotassetholdingdotcontextpb2.externalreference` | optional (required in proto3) | +| 3 | `source` | `api.GrantCommanded.Context.source` | message (cpp: message) → `evedotassetholdingdotcontextpb2.source` | optional (required in proto3) | +| 4 | `destination` | `api.GrantCommanded.Context.destination` | message (cpp: message) → `evedotassetholdingdotcontextpb2.destination` | optional (required in proto3) | +| 5 | `entitlement` | `api.GrantCommanded.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 6 | `quantity` | `api.GrantCommanded.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 7 | `context` | `api.GrantCommanded.context` | message (cpp: message) → `grantcommandedcontext` | optional (required in proto3) | +| 8 | `idempotency_token` | `api.GrantCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 9 | `configuration` | `api.GrantCommanded.configuration` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.configuration` | optional (required in proto3) | +| 10 | `entitlement` | `api.RedeemCommanded.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 11 | `context` | `api.RedeemCommanded.context` | message (cpp: message) → `grantcommandedcontext` | optional (required in proto3) | +| 12 | `not_provided` | `api.RedeemCommanded.not_provided` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `itemstack` | `api.RedeemCommanded.itemstack` | message (cpp: message) → `evedotassetholdingdotinventorydotitemstackdotitemstackpb2.redeemparameters` | optional (required in proto3) | +| 14 | `itemtype` | `api.RedeemCommanded.itemtype` | message (cpp: message) → `evedotassetholdingdotinventorydotitemtypedotitemtypepb2.redeemparameters` | optional (required in proto3) | +| 15 | `isk` | `api.RedeemCommanded.isk` | message (cpp: message) → `evedotassetholdingdotiskdotiskpb2.redeemparameters` | optional (required in proto3) | +| 16 | `loyaltypoints` | `api.RedeemCommanded.loyaltypoints` | message (cpp: message) → `evedotassetholdingdotloyaltypointsdotloyaltypointspb2.redeemparameters` | optional (required in proto3) | +| 17 | `plex` | `api.RedeemCommanded.plex` | message (cpp: message) → `evedotassetholdingdotplexdotplexpb2.redeemparameters` | optional (required in proto3) | +| 18 | `skillpoints` | `api.RedeemCommanded.skillpoints` | message (cpp: message) → `evedotassetholdingdotskillpointsdotskillpointspb2.redeemparameters` | optional (required in proto3) | +| 19 | `ship_skin_license` | `api.RedeemCommanded.ship_skin_license` | message (cpp: message) → `evedotassetholdingdotcosmeticdotshipdotskindotlicensedotlicensepb2.redeemparameters` | optional (required in proto3) | +| 20 | `character_title` | `api.RedeemCommanded.character_title` | message (cpp: message) → `evedotassetholdingdotcosmeticdotcharacterdottitledottitlepb2.redeemparameters` | optional (required in proto3) | +| 21 | `idempotency_token` | `api.RedeemCommanded.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 22 | `entitlement` | `api.Granted.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 23 | `details` | `api.Granted.details` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.attributes` | optional (required in proto3) | +| 24 | `entitlement` | `api.Redeemed.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 25 | `details` | `api.Redeemed.details` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.attributes` | optional (required in proto3) | +| 26 | `autoredeemed` | `api.Redeemed.autoredeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 27 | `shard_index` | `api.AutoredeemCommanded.shard_index` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### shard_index + +- **完整名称**: `eve.assetholding.entitlement.api.AutoredeemCommanded.shard_index` +- **内部变量名**: `AUTOREDEEMCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding.entitlement` (as `entitlement`) +- `eve.idempotency` (as `idempotency`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.admin.RedeemRequest.entitlement` +- **内部变量名**: `REDEEMREQUEST` +- **字段数量**: 11 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `entitlement` | `api.admin.RedeemRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.admin.RedeemRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `idempotency_token` | `api.admin.RedeemRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 4 | `entitlement` | `api.admin.ExpireRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 5 | `context` | `api.admin.ExpireRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 6 | `idempotency_token` | `api.admin.ExpireRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 7 | `context` | `api.admin.AutoRedeemRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `context` | `api.admin.RedeliverStaleEntitlementsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `expire_at_from` | `api.admin.RedeliverStaleEntitlementsRequest.expire_at_from` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 10 | `expire_at_to` | `api.admin.RedeliverStaleEntitlementsRequest.expire_at_to` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 11 | `delete_on_failure` | `api.admin.RedeliverStaleEntitlementsRequest.delete_on_failure` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +##### RedeemResponse + +- **完整名称**: `eve.assetholding.entitlement.api.admin.RedeemResponse` +- **内部变量名**: `REDEEMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### entitlement + +- **完整名称**: `eve.assetholding.entitlement.api.admin.ExpireRequest.entitlement` +- **内部变量名**: `EXPIREREQUEST` +- **字段数量**: 11 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `entitlement` | `api.admin.RedeemRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.admin.RedeemRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `idempotency_token` | `api.admin.RedeemRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 4 | `entitlement` | `api.admin.ExpireRequest.entitlement` | message (cpp: message) → `evedotassetholdingdotentitlementdotentitlementpb2.identifier` | optional (required in proto3) | +| 5 | `context` | `api.admin.ExpireRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 6 | `idempotency_token` | `api.admin.ExpireRequest.idempotency_token` | message (cpp: message) → `evedotidempotencydotidempotencypb2.token` | optional (required in proto3) | +| 7 | `context` | `api.admin.AutoRedeemRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `context` | `api.admin.RedeliverStaleEntitlementsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `expire_at_from` | `api.admin.RedeliverStaleEntitlementsRequest.expire_at_from` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 10 | `expire_at_to` | `api.admin.RedeliverStaleEntitlementsRequest.expire_at_to` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 11 | `delete_on_failure` | `api.admin.RedeliverStaleEntitlementsRequest.delete_on_failure` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +##### ExpireResponse + +- **完整名称**: `eve.assetholding.entitlement.api.admin.ExpireResponse` +- **内部变量名**: `EXPIRERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.assetholding.entitlement.api.admin.AutoRedeemRequest.context` +- **内部变量名**: `AUTOREDEEMREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### AutoRedeemResponse + +- **完整名称**: `eve.assetholding.entitlement.api.admin.AutoRedeemResponse` +- **内部变量名**: `AUTOREDEEMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.assetholding.entitlement.api.admin.RedeliverStaleEntitlementsRequest.context` +- **内部变量名**: `REDELIVERSTALEENTITLEMENTSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RedeliverStaleEntitlementsResponse + +- **完整名称**: `eve.assetholding.entitlement.api.admin.RedeliverStaleEntitlementsResponse` +- **内部变量名**: `REDELIVERSTALEENTITLEMENTSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.campaign.objective.definition` (as `definition`) +- `eve.campaign.objective` (as `objective`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### objective + +- **完整名称**: `eve.campaign.objective.api.GetDefinitionRequest.objective` +- **内部变量名**: `GETDEFINITIONREQUEST` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.GetDefinitionRequest.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 2 | `definition` | `api.GetDefinitionResponse.definition` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `api.GetDefinitionResponse.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | + +--- + +##### definition + +- **完整名称**: `eve.campaign.objective.api.GetDefinitionResponse.definition` +- **内部变量名**: `GETDEFINITIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.campaign.objective` (as `objective`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### objective + +- **完整名称**: `eve.campaign.objective.api.CompleteCommanded.objective` +- **内部变量名**: `COMPLETECOMMANDED` +- **字段数量**: 1 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.CompleteCommanded.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.campaign` (as `campaign`) +- `eve.campaign.objective` (as `objective`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### objective + +- **完整名称**: `eve.campaign.objective.api.Started.objective` +- **内部变量名**: `STARTED` +- **字段数量**: 24 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.Started.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `objective` | `api.Completed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 6 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 7 | `objective` | `api.Expired.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 8 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 9 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 10 | `objective` | `api.Cancelled.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 12 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 13 | `objective` | `api.Progressed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 14 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `objective` | `api.ParticipantContributionLimitReached.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.ParticipantContributionLimitReached.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `participant` | `api.ParticipantContributionLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `objective` | `api.ParticipantCommitted.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 22 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `objective` | `api.ParticipantResigned.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 24 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### objective + +- **完整名称**: `eve.campaign.objective.api.Completed.objective` +- **内部变量名**: `COMPLETED` +- **字段数量**: 24 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.Started.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `objective` | `api.Completed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 6 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 7 | `objective` | `api.Expired.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 8 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 9 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 10 | `objective` | `api.Cancelled.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 12 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 13 | `objective` | `api.Progressed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 14 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `objective` | `api.ParticipantContributionLimitReached.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.ParticipantContributionLimitReached.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `participant` | `api.ParticipantContributionLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `objective` | `api.ParticipantCommitted.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 22 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `objective` | `api.ParticipantResigned.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 24 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### objective + +- **完整名称**: `eve.campaign.objective.api.Expired.objective` +- **内部变量名**: `EXPIRED` +- **字段数量**: 24 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.Started.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `objective` | `api.Completed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 6 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 7 | `objective` | `api.Expired.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 8 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 9 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 10 | `objective` | `api.Cancelled.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 12 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 13 | `objective` | `api.Progressed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 14 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `objective` | `api.ParticipantContributionLimitReached.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.ParticipantContributionLimitReached.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `participant` | `api.ParticipantContributionLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `objective` | `api.ParticipantCommitted.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 22 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `objective` | `api.ParticipantResigned.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 24 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### objective + +- **完整名称**: `eve.campaign.objective.api.Cancelled.objective` +- **内部变量名**: `CANCELLED` +- **字段数量**: 24 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.Started.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `objective` | `api.Completed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 6 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 7 | `objective` | `api.Expired.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 8 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 9 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 10 | `objective` | `api.Cancelled.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 12 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 13 | `objective` | `api.Progressed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 14 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `objective` | `api.ParticipantContributionLimitReached.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.ParticipantContributionLimitReached.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `participant` | `api.ParticipantContributionLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `objective` | `api.ParticipantCommitted.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 22 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `objective` | `api.ParticipantResigned.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 24 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### objective + +- **完整名称**: `eve.campaign.objective.api.Progressed.objective` +- **内部变量名**: `PROGRESSED` +- **字段数量**: 24 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.Started.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `objective` | `api.Completed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 6 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 7 | `objective` | `api.Expired.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 8 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 9 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 10 | `objective` | `api.Cancelled.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 12 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 13 | `objective` | `api.Progressed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 14 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `objective` | `api.ParticipantContributionLimitReached.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.ParticipantContributionLimitReached.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `participant` | `api.ParticipantContributionLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `objective` | `api.ParticipantCommitted.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 22 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `objective` | `api.ParticipantResigned.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 24 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### objective + +- **完整名称**: `eve.campaign.objective.api.ParticipantContributionLimitReached.objective` +- **内部变量名**: `PARTICIPANTCONTRIBUTIONLIMITREACHED` +- **字段数量**: 24 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.Started.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `objective` | `api.Completed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 6 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 7 | `objective` | `api.Expired.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 8 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 9 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 10 | `objective` | `api.Cancelled.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 12 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 13 | `objective` | `api.Progressed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 14 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `objective` | `api.ParticipantContributionLimitReached.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.ParticipantContributionLimitReached.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `participant` | `api.ParticipantContributionLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `objective` | `api.ParticipantCommitted.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 22 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `objective` | `api.ParticipantResigned.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 24 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### objective + +- **完整名称**: `eve.campaign.objective.api.ParticipantCommitted.objective` +- **内部变量名**: `PARTICIPANTCOMMITTED` +- **字段数量**: 24 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.Started.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `objective` | `api.Completed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 6 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 7 | `objective` | `api.Expired.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 8 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 9 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 10 | `objective` | `api.Cancelled.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 12 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 13 | `objective` | `api.Progressed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 14 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `objective` | `api.ParticipantContributionLimitReached.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.ParticipantContributionLimitReached.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `participant` | `api.ParticipantContributionLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `objective` | `api.ParticipantCommitted.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 22 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `objective` | `api.ParticipantResigned.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 24 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### objective + +- **完整名称**: `eve.campaign.objective.api.ParticipantResigned.objective` +- **内部变量名**: `PARTICIPANTRESIGNED` +- **字段数量**: 24 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.Started.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `objective` | `api.Completed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 6 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 7 | `objective` | `api.Expired.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 8 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 9 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 10 | `objective` | `api.Cancelled.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 12 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 13 | `objective` | `api.Progressed.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 14 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `objective` | `api.ParticipantContributionLimitReached.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.ParticipantContributionLimitReached.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `participant` | `api.ParticipantContributionLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `objective` | `api.ParticipantCommitted.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 22 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `objective` | `api.ParticipantResigned.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 24 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.campaign.objective` (as `objective`) +- `eve.character` (as `character`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### objective + +- **完整名称**: `eve.campaign.objective.api.admin.ProgressRequest.objective` +- **内部变量名**: `PROGRESSREQUEST` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `objective` | `api.admin.ProgressRequest.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 2 | `participant` | `api.admin.ProgressRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `progress` | `api.admin.ProgressRequest.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `context` | `api.admin.ProgressRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### ProgressResponse + +- **完整名称**: `eve.campaign.objective.api.admin.ProgressResponse` +- **内部变量名**: `PROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.campaign.definition` (as `definition`) +- `eve.campaign.objective.definition` (as `definition`) + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### GetAllVersionsRequest + +- **完整名称**: `eve.campaign.definition.api.GetAllVersionsRequest` +- **内部变量名**: `GETALLVERSIONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### versions + +- **完整名称**: `eve.campaign.definition.api.GetAllVersionsResponse.versions` +- **内部变量名**: `GETALLVERSIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.campaign.definition.api.GetAllRequest.version` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definitions + +- **完整名称**: `eve.campaign.definition.api.GetAllResponse.definitions` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definition + +- **完整名称**: `eve.campaign.definition.api.GetRequest.definition` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `versions` | `api.GetAllVersionsResponse.versions` | message (cpp: message) → `evedotsemanticversionpb2.specification` | repeated | +| 2 | `version` | `api.GetAllRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `definitions` | `api.GetAllResponse.definitions` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | repeated | +| 4 | `definition` | `api.GetRequest.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 5 | `objective` | `api.GetResponse.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `api.GetResponse.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 7 | `definition` | `api.GetResponse.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 8 | `objective_definitions` | `api.GetResponse.objective_definitions` | message (cpp: message) → `getresponseobjectivedefinition` | repeated | + +--- + +##### objective + +- **完整名称**: `eve.campaign.definition.api.GetResponse.ObjectiveDefinition.objective` +- **内部变量名**: `GETRESPONSE_OBJECTIVEDEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definition + +- **完整名称**: `eve.campaign.definition.api.GetResponse.definition` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `versions` | `api.GetAllVersionsResponse.versions` | message (cpp: message) → `evedotsemanticversionpb2.specification` | repeated | +| 2 | `version` | `api.GetAllRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `definitions` | `api.GetAllResponse.definitions` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | repeated | +| 4 | `definition` | `api.GetRequest.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 5 | `objective` | `api.GetResponse.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `api.GetResponse.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 7 | `definition` | `api.GetResponse.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 8 | `objective_definitions` | `api.GetResponse.objective_definitions` | message (cpp: message) → `getresponseobjectivedefinition` | repeated | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.campaign` (as `campaign`) +- `eve.campaign.objective` (as `objective`) + +#### 📝 消息类型定义 + +**消息类型数量**: 10 + +##### page + +- **完整名称**: `eve.campaign.api.GetAllRequest.page` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaigns + +- **完整名称**: `eve.campaign.api.GetAllResponse.campaigns` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.GetRequest.campaign` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 17 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `page` | `api.GetAllRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 2 | `no_filtering` | `api.GetAllRequest.no_filtering` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `state_filter` | `api.GetAllRequest.state_filter` | enum (cpp: bool) | optional (required in proto3) | +| 4 | `campaigns` | `api.GetAllResponse.campaigns` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | repeated | +| 5 | `next_page` | `api.GetAllResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 6 | `campaign` | `api.GetRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `objective` | `api.GetResponse.Objective.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 8 | `attributes` | `api.GetResponse.Objective.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 9 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 10 | `objectives` | `api.GetResponse.objectives` | message (cpp: message) → `getresponseobjective` | repeated | +| 11 | `edit_history` | `api.GetResponse.edit_history` | message (cpp: message) → `evedotcampaigndotcampaignpb2.edithistory` | optional (required in proto3) | +| 12 | `campaign` | `api.GetStatsRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 13 | `objective` | `api.GetStatsResponse.ObjectiveStats.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 14 | `stats` | `api.GetStatsResponse.ObjectiveStats.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 15 | `stats` | `api.GetStatsResponse.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 16 | `objectives` | `api.GetStatsResponse.objectives` | message (cpp: message) → `getresponseobjective` | repeated | +| 17 | `max_active_objectives_per_participant` | `api.GetLimitsResponse.max_active_objectives_per_participant` | uint32 (cpp: int64) | optional (required in proto3) | + +--- + +##### objective + +- **完整名称**: `eve.campaign.api.GetResponse.Objective.objective` +- **内部变量名**: `GETRESPONSE_OBJECTIVE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.campaign.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.GetStatsRequest.campaign` +- **内部变量名**: `GETSTATSREQUEST` +- **字段数量**: 17 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `page` | `api.GetAllRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 2 | `no_filtering` | `api.GetAllRequest.no_filtering` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `state_filter` | `api.GetAllRequest.state_filter` | enum (cpp: bool) | optional (required in proto3) | +| 4 | `campaigns` | `api.GetAllResponse.campaigns` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | repeated | +| 5 | `next_page` | `api.GetAllResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 6 | `campaign` | `api.GetRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `objective` | `api.GetResponse.Objective.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 8 | `attributes` | `api.GetResponse.Objective.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 9 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.attributes` | optional (required in proto3) | +| 10 | `objectives` | `api.GetResponse.objectives` | message (cpp: message) → `getresponseobjective` | repeated | +| 11 | `edit_history` | `api.GetResponse.edit_history` | message (cpp: message) → `evedotcampaigndotcampaignpb2.edithistory` | optional (required in proto3) | +| 12 | `campaign` | `api.GetStatsRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 13 | `objective` | `api.GetStatsResponse.ObjectiveStats.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.identifier` | optional (required in proto3) | +| 14 | `stats` | `api.GetStatsResponse.ObjectiveStats.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 15 | `stats` | `api.GetStatsResponse.stats` | message (cpp: message) → `evedotcampaigndotobjectivedotobjectivepb2.stats` | optional (required in proto3) | +| 16 | `objectives` | `api.GetStatsResponse.objectives` | message (cpp: message) → `getresponseobjective` | repeated | +| 17 | `max_active_objectives_per_participant` | `api.GetLimitsResponse.max_active_objectives_per_participant` | uint32 (cpp: int64) | optional (required in proto3) | + +--- + +##### objective + +- **完整名称**: `eve.campaign.api.GetStatsResponse.ObjectiveStats.objective` +- **内部变量名**: `GETSTATSRESPONSE_OBJECTIVESTATS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### stats + +- **完整名称**: `eve.campaign.api.GetStatsResponse.stats` +- **内部变量名**: `GETSTATSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetLimitsRequest + +- **完整名称**: `eve.campaign.api.GetLimitsRequest` +- **内部变量名**: `GETLIMITSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### max_active_objectives_per_participant + +- **完整名称**: `eve.campaign.api.GetLimitsResponse.max_active_objectives_per_participant` +- **内部变量名**: `GETLIMITSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.campaign` (as `campaign`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### campaign + +- **完整名称**: `eve.campaign.api.StartCommanded.campaign` +- **内部变量名**: `STARTCOMMANDED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.StartCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `campaign` | `api.TriggerNextObjectivesCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 3 | `campaign` | `api.ExpireCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `campaign` | `api.NotifyStateChangedCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 5 | `new_state` | `api.NotifyStateChangedCommanded.new_state` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `campaign` | `api.CompleteCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.TriggerNextObjectivesCommanded.campaign` +- **内部变量名**: `TRIGGERNEXTOBJECTIVESCOMMANDED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.StartCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `campaign` | `api.TriggerNextObjectivesCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 3 | `campaign` | `api.ExpireCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `campaign` | `api.NotifyStateChangedCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 5 | `new_state` | `api.NotifyStateChangedCommanded.new_state` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `campaign` | `api.CompleteCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.ExpireCommanded.campaign` +- **内部变量名**: `EXPIRECOMMANDED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.StartCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `campaign` | `api.TriggerNextObjectivesCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 3 | `campaign` | `api.ExpireCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `campaign` | `api.NotifyStateChangedCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 5 | `new_state` | `api.NotifyStateChangedCommanded.new_state` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `campaign` | `api.CompleteCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.NotifyStateChangedCommanded.campaign` +- **内部变量名**: `NOTIFYSTATECHANGEDCOMMANDED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.StartCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `campaign` | `api.TriggerNextObjectivesCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 3 | `campaign` | `api.ExpireCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `campaign` | `api.NotifyStateChangedCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 5 | `new_state` | `api.NotifyStateChangedCommanded.new_state` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `campaign` | `api.CompleteCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.CompleteCommanded.campaign` +- **内部变量名**: `COMPLETECOMMANDED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.StartCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `campaign` | `api.TriggerNextObjectivesCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 3 | `campaign` | `api.ExpireCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `campaign` | `api.NotifyStateChangedCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 5 | `new_state` | `api.NotifyStateChangedCommanded.new_state` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `campaign` | `api.CompleteCommanded.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.campaign` (as `campaign`) +- `eve.campaign.definition` (as `definition`) +- `eve.campaign.objective.definition` (as `definition`) + +#### 📝 消息类型定义 + +**消息类型数量**: 12 + +##### campaign + +- **完整名称**: `eve.campaign.api.Started.campaign` +- **内部变量名**: `STARTED` +- **字段数量**: 34 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Completed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 5 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 6 | `campaign` | `api.Expired.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 8 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 9 | `campaign` | `api.Cancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 11 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 12 | `objective` | `api.DefinitionUpdated.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `attributes` | `api.DefinitionUpdated.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 14 | `campaign` | `api.DefinitionUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `definition` | `api.DefinitionUpdated.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 16 | `definition_attributes` | `api.DefinitionUpdated.definition_attributes` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 17 | `objective_definitions` | `api.DefinitionUpdated.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 18 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 20 | `total_progress_after_contribution` | `api.Progressed.total_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `objective` | `api.Scheduled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.Scheduled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 23 | `campaign` | `api.Scheduled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 24 | `attributes` | `api.Scheduled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 25 | `definition` | `api.Scheduled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 26 | `objective_definitions` | `api.Scheduled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 27 | `campaign` | `api.ScheduleUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 28 | `attributes_after_update` | `api.ScheduleUpdated.attributes_after_update` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 29 | `objective` | `api.ScheduleCancelled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 30 | `attributes` | `api.ScheduleCancelled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 31 | `campaign` | `api.ScheduleCancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 32 | `attributes` | `api.ScheduleCancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 33 | `definition` | `api.ScheduleCancelled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 34 | `objective_definitions` | `api.ScheduleCancelled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.Completed.campaign` +- **内部变量名**: `COMPLETED` +- **字段数量**: 34 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Completed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 5 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 6 | `campaign` | `api.Expired.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 8 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 9 | `campaign` | `api.Cancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 11 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 12 | `objective` | `api.DefinitionUpdated.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `attributes` | `api.DefinitionUpdated.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 14 | `campaign` | `api.DefinitionUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `definition` | `api.DefinitionUpdated.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 16 | `definition_attributes` | `api.DefinitionUpdated.definition_attributes` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 17 | `objective_definitions` | `api.DefinitionUpdated.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 18 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 20 | `total_progress_after_contribution` | `api.Progressed.total_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `objective` | `api.Scheduled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.Scheduled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 23 | `campaign` | `api.Scheduled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 24 | `attributes` | `api.Scheduled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 25 | `definition` | `api.Scheduled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 26 | `objective_definitions` | `api.Scheduled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 27 | `campaign` | `api.ScheduleUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 28 | `attributes_after_update` | `api.ScheduleUpdated.attributes_after_update` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 29 | `objective` | `api.ScheduleCancelled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 30 | `attributes` | `api.ScheduleCancelled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 31 | `campaign` | `api.ScheduleCancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 32 | `attributes` | `api.ScheduleCancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 33 | `definition` | `api.ScheduleCancelled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 34 | `objective_definitions` | `api.ScheduleCancelled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.Expired.campaign` +- **内部变量名**: `EXPIRED` +- **字段数量**: 34 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Completed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 5 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 6 | `campaign` | `api.Expired.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 8 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 9 | `campaign` | `api.Cancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 11 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 12 | `objective` | `api.DefinitionUpdated.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `attributes` | `api.DefinitionUpdated.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 14 | `campaign` | `api.DefinitionUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `definition` | `api.DefinitionUpdated.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 16 | `definition_attributes` | `api.DefinitionUpdated.definition_attributes` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 17 | `objective_definitions` | `api.DefinitionUpdated.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 18 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 20 | `total_progress_after_contribution` | `api.Progressed.total_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `objective` | `api.Scheduled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.Scheduled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 23 | `campaign` | `api.Scheduled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 24 | `attributes` | `api.Scheduled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 25 | `definition` | `api.Scheduled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 26 | `objective_definitions` | `api.Scheduled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 27 | `campaign` | `api.ScheduleUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 28 | `attributes_after_update` | `api.ScheduleUpdated.attributes_after_update` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 29 | `objective` | `api.ScheduleCancelled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 30 | `attributes` | `api.ScheduleCancelled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 31 | `campaign` | `api.ScheduleCancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 32 | `attributes` | `api.ScheduleCancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 33 | `definition` | `api.ScheduleCancelled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 34 | `objective_definitions` | `api.ScheduleCancelled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.Cancelled.campaign` +- **内部变量名**: `CANCELLED` +- **字段数量**: 34 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Completed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 5 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 6 | `campaign` | `api.Expired.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 8 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 9 | `campaign` | `api.Cancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 11 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 12 | `objective` | `api.DefinitionUpdated.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `attributes` | `api.DefinitionUpdated.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 14 | `campaign` | `api.DefinitionUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `definition` | `api.DefinitionUpdated.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 16 | `definition_attributes` | `api.DefinitionUpdated.definition_attributes` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 17 | `objective_definitions` | `api.DefinitionUpdated.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 18 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 20 | `total_progress_after_contribution` | `api.Progressed.total_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `objective` | `api.Scheduled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.Scheduled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 23 | `campaign` | `api.Scheduled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 24 | `attributes` | `api.Scheduled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 25 | `definition` | `api.Scheduled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 26 | `objective_definitions` | `api.Scheduled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 27 | `campaign` | `api.ScheduleUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 28 | `attributes_after_update` | `api.ScheduleUpdated.attributes_after_update` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 29 | `objective` | `api.ScheduleCancelled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 30 | `attributes` | `api.ScheduleCancelled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 31 | `campaign` | `api.ScheduleCancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 32 | `attributes` | `api.ScheduleCancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 33 | `definition` | `api.ScheduleCancelled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 34 | `objective_definitions` | `api.ScheduleCancelled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | + +--- + +##### objective + +- **完整名称**: `eve.campaign.api.DefinitionUpdated.ObjectiveDefinition.objective` +- **内部变量名**: `DEFINITIONUPDATED_OBJECTIVEDEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.DefinitionUpdated.campaign` +- **内部变量名**: `DEFINITIONUPDATED` +- **字段数量**: 34 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Completed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 5 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 6 | `campaign` | `api.Expired.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 8 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 9 | `campaign` | `api.Cancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 11 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 12 | `objective` | `api.DefinitionUpdated.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `attributes` | `api.DefinitionUpdated.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 14 | `campaign` | `api.DefinitionUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `definition` | `api.DefinitionUpdated.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 16 | `definition_attributes` | `api.DefinitionUpdated.definition_attributes` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 17 | `objective_definitions` | `api.DefinitionUpdated.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 18 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 20 | `total_progress_after_contribution` | `api.Progressed.total_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `objective` | `api.Scheduled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.Scheduled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 23 | `campaign` | `api.Scheduled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 24 | `attributes` | `api.Scheduled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 25 | `definition` | `api.Scheduled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 26 | `objective_definitions` | `api.Scheduled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 27 | `campaign` | `api.ScheduleUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 28 | `attributes_after_update` | `api.ScheduleUpdated.attributes_after_update` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 29 | `objective` | `api.ScheduleCancelled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 30 | `attributes` | `api.ScheduleCancelled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 31 | `campaign` | `api.ScheduleCancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 32 | `attributes` | `api.ScheduleCancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 33 | `definition` | `api.ScheduleCancelled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 34 | `objective_definitions` | `api.ScheduleCancelled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.Progressed.campaign` +- **内部变量名**: `PROGRESSED` +- **字段数量**: 34 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Completed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 5 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 6 | `campaign` | `api.Expired.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 8 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 9 | `campaign` | `api.Cancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 11 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 12 | `objective` | `api.DefinitionUpdated.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `attributes` | `api.DefinitionUpdated.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 14 | `campaign` | `api.DefinitionUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `definition` | `api.DefinitionUpdated.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 16 | `definition_attributes` | `api.DefinitionUpdated.definition_attributes` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 17 | `objective_definitions` | `api.DefinitionUpdated.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 18 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 20 | `total_progress_after_contribution` | `api.Progressed.total_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `objective` | `api.Scheduled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.Scheduled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 23 | `campaign` | `api.Scheduled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 24 | `attributes` | `api.Scheduled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 25 | `definition` | `api.Scheduled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 26 | `objective_definitions` | `api.Scheduled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 27 | `campaign` | `api.ScheduleUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 28 | `attributes_after_update` | `api.ScheduleUpdated.attributes_after_update` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 29 | `objective` | `api.ScheduleCancelled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 30 | `attributes` | `api.ScheduleCancelled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 31 | `campaign` | `api.ScheduleCancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 32 | `attributes` | `api.ScheduleCancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 33 | `definition` | `api.ScheduleCancelled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 34 | `objective_definitions` | `api.ScheduleCancelled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | + +--- + +##### objective + +- **完整名称**: `eve.campaign.api.Scheduled.ObjectiveDefinition.objective` +- **内部变量名**: `SCHEDULED_OBJECTIVEDEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.Scheduled.campaign` +- **内部变量名**: `SCHEDULED` +- **字段数量**: 34 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Completed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 5 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 6 | `campaign` | `api.Expired.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 8 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 9 | `campaign` | `api.Cancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 11 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 12 | `objective` | `api.DefinitionUpdated.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `attributes` | `api.DefinitionUpdated.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 14 | `campaign` | `api.DefinitionUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `definition` | `api.DefinitionUpdated.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 16 | `definition_attributes` | `api.DefinitionUpdated.definition_attributes` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 17 | `objective_definitions` | `api.DefinitionUpdated.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 18 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 20 | `total_progress_after_contribution` | `api.Progressed.total_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `objective` | `api.Scheduled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.Scheduled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 23 | `campaign` | `api.Scheduled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 24 | `attributes` | `api.Scheduled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 25 | `definition` | `api.Scheduled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 26 | `objective_definitions` | `api.Scheduled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 27 | `campaign` | `api.ScheduleUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 28 | `attributes_after_update` | `api.ScheduleUpdated.attributes_after_update` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 29 | `objective` | `api.ScheduleCancelled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 30 | `attributes` | `api.ScheduleCancelled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 31 | `campaign` | `api.ScheduleCancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 32 | `attributes` | `api.ScheduleCancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 33 | `definition` | `api.ScheduleCancelled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 34 | `objective_definitions` | `api.ScheduleCancelled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.ScheduleUpdated.campaign` +- **内部变量名**: `SCHEDULEUPDATED` +- **字段数量**: 34 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Completed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 5 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 6 | `campaign` | `api.Expired.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 8 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 9 | `campaign` | `api.Cancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 11 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 12 | `objective` | `api.DefinitionUpdated.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `attributes` | `api.DefinitionUpdated.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 14 | `campaign` | `api.DefinitionUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `definition` | `api.DefinitionUpdated.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 16 | `definition_attributes` | `api.DefinitionUpdated.definition_attributes` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 17 | `objective_definitions` | `api.DefinitionUpdated.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 18 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 20 | `total_progress_after_contribution` | `api.Progressed.total_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `objective` | `api.Scheduled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.Scheduled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 23 | `campaign` | `api.Scheduled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 24 | `attributes` | `api.Scheduled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 25 | `definition` | `api.Scheduled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 26 | `objective_definitions` | `api.Scheduled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 27 | `campaign` | `api.ScheduleUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 28 | `attributes_after_update` | `api.ScheduleUpdated.attributes_after_update` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 29 | `objective` | `api.ScheduleCancelled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 30 | `attributes` | `api.ScheduleCancelled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 31 | `campaign` | `api.ScheduleCancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 32 | `attributes` | `api.ScheduleCancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 33 | `definition` | `api.ScheduleCancelled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 34 | `objective_definitions` | `api.ScheduleCancelled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | + +--- + +##### objective + +- **完整名称**: `eve.campaign.api.ScheduleCancelled.ObjectiveDefinition.objective` +- **内部变量名**: `SCHEDULECANCELLED_OBJECTIVEDEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.ScheduleCancelled.campaign` +- **内部变量名**: `SCHEDULECANCELLED` +- **字段数量**: 34 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.Started.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Started.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 3 | `campaign` | `api.Completed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Completed.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 5 | `stats` | `api.Completed.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 6 | `campaign` | `api.Expired.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 7 | `attributes` | `api.Expired.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 8 | `stats` | `api.Expired.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 9 | `campaign` | `api.Cancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.Cancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 11 | `stats` | `api.Cancelled.stats` | message (cpp: message) → `evedotcampaigndotcampaignpb2.stats` | optional (required in proto3) | +| 12 | `objective` | `api.DefinitionUpdated.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `attributes` | `api.DefinitionUpdated.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 14 | `campaign` | `api.DefinitionUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 15 | `definition` | `api.DefinitionUpdated.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 16 | `definition_attributes` | `api.DefinitionUpdated.definition_attributes` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.attributes` | optional (required in proto3) | +| 17 | `objective_definitions` | `api.DefinitionUpdated.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 18 | `campaign` | `api.Progressed.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 20 | `total_progress_after_contribution` | `api.Progressed.total_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 21 | `objective` | `api.Scheduled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 22 | `attributes` | `api.Scheduled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 23 | `campaign` | `api.Scheduled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 24 | `attributes` | `api.Scheduled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 25 | `definition` | `api.Scheduled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 26 | `objective_definitions` | `api.Scheduled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | +| 27 | `campaign` | `api.ScheduleUpdated.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 28 | `attributes_after_update` | `api.ScheduleUpdated.attributes_after_update` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 29 | `objective` | `api.ScheduleCancelled.ObjectiveDefinition.objective` | message (cpp: message) → `evedotcampaigndotobjectivedotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 30 | `attributes` | `api.ScheduleCancelled.ObjectiveDefinition.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 31 | `campaign` | `api.ScheduleCancelled.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 32 | `attributes` | `api.ScheduleCancelled.attributes` | message (cpp: message) → `evedotcampaigndotcampaignpb2.attributes` | optional (required in proto3) | +| 33 | `definition` | `api.ScheduleCancelled.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 34 | `objective_definitions` | `api.ScheduleCancelled.objective_definitions` | message (cpp: message) → `definitionupdatedobjectivedefinition` | repeated | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.campaign` (as `campaign`) +- `eve.campaign.definition` (as `definition`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 14 + +##### campaign + +- **完整名称**: `eve.campaign.api.admin.FastForwardRequest.campaign` +- **内部变量名**: `FASTFORWARDREQUEST` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.admin.FastForwardRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `offset_hours` | `api.admin.FastForwardRequest.offset_hours` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `editor` | `api.admin.FastForwardRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 4 | `context` | `api.admin.FastForwardRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `campaign` | `api.admin.CancelRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 6 | `editor` | `api.admin.CancelRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 7 | `context` | `api.admin.CancelRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `campaign` | `api.admin.UpdateDefinitionRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 9 | `version` | `api.admin.UpdateDefinitionRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 10 | `editor` | `api.admin.UpdateDefinitionRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 11 | `context` | `api.admin.UpdateDefinitionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 12 | `definition` | `api.admin.ScheduleRequest.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `start_time` | `api.admin.ScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `offset_hours` | `api.admin.ScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 15 | `speed_multiplier` | `api.admin.ScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 16 | `editor` | `api.admin.ScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 17 | `context` | `api.admin.ScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `campaign` | `api.admin.ScheduleResponse.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.admin.UpdateScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `start_time` | `api.admin.UpdateScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 21 | `offset_hours` | `api.admin.UpdateScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 22 | `speed_multiplier` | `api.admin.UpdateScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 23 | `editor` | `api.admin.UpdateScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 24 | `context` | `api.admin.UpdateScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 25 | `campaign` | `api.admin.CancelScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 26 | `editor` | `api.admin.CancelScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 27 | `context` | `api.admin.CancelScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 28 | `campaign` | `api.admin.DeleteRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 29 | `editor` | `api.admin.DeleteRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 30 | `context` | `api.admin.DeleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### FastForwardResponse + +- **完整名称**: `eve.campaign.api.admin.FastForwardResponse` +- **内部变量名**: `FASTFORWARDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.admin.CancelRequest.campaign` +- **内部变量名**: `CANCELREQUEST` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.admin.FastForwardRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `offset_hours` | `api.admin.FastForwardRequest.offset_hours` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `editor` | `api.admin.FastForwardRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 4 | `context` | `api.admin.FastForwardRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `campaign` | `api.admin.CancelRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 6 | `editor` | `api.admin.CancelRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 7 | `context` | `api.admin.CancelRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `campaign` | `api.admin.UpdateDefinitionRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 9 | `version` | `api.admin.UpdateDefinitionRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 10 | `editor` | `api.admin.UpdateDefinitionRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 11 | `context` | `api.admin.UpdateDefinitionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 12 | `definition` | `api.admin.ScheduleRequest.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `start_time` | `api.admin.ScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `offset_hours` | `api.admin.ScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 15 | `speed_multiplier` | `api.admin.ScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 16 | `editor` | `api.admin.ScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 17 | `context` | `api.admin.ScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `campaign` | `api.admin.ScheduleResponse.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.admin.UpdateScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `start_time` | `api.admin.UpdateScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 21 | `offset_hours` | `api.admin.UpdateScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 22 | `speed_multiplier` | `api.admin.UpdateScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 23 | `editor` | `api.admin.UpdateScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 24 | `context` | `api.admin.UpdateScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 25 | `campaign` | `api.admin.CancelScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 26 | `editor` | `api.admin.CancelScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 27 | `context` | `api.admin.CancelScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 28 | `campaign` | `api.admin.DeleteRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 29 | `editor` | `api.admin.DeleteRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 30 | `context` | `api.admin.DeleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### CancelResponse + +- **完整名称**: `eve.campaign.api.admin.CancelResponse` +- **内部变量名**: `CANCELRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.admin.UpdateDefinitionRequest.campaign` +- **内部变量名**: `UPDATEDEFINITIONREQUEST` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.admin.FastForwardRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `offset_hours` | `api.admin.FastForwardRequest.offset_hours` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `editor` | `api.admin.FastForwardRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 4 | `context` | `api.admin.FastForwardRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `campaign` | `api.admin.CancelRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 6 | `editor` | `api.admin.CancelRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 7 | `context` | `api.admin.CancelRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `campaign` | `api.admin.UpdateDefinitionRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 9 | `version` | `api.admin.UpdateDefinitionRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 10 | `editor` | `api.admin.UpdateDefinitionRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 11 | `context` | `api.admin.UpdateDefinitionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 12 | `definition` | `api.admin.ScheduleRequest.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `start_time` | `api.admin.ScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `offset_hours` | `api.admin.ScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 15 | `speed_multiplier` | `api.admin.ScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 16 | `editor` | `api.admin.ScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 17 | `context` | `api.admin.ScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `campaign` | `api.admin.ScheduleResponse.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.admin.UpdateScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `start_time` | `api.admin.UpdateScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 21 | `offset_hours` | `api.admin.UpdateScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 22 | `speed_multiplier` | `api.admin.UpdateScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 23 | `editor` | `api.admin.UpdateScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 24 | `context` | `api.admin.UpdateScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 25 | `campaign` | `api.admin.CancelScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 26 | `editor` | `api.admin.CancelScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 27 | `context` | `api.admin.CancelScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 28 | `campaign` | `api.admin.DeleteRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 29 | `editor` | `api.admin.DeleteRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 30 | `context` | `api.admin.DeleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### UpdateDefinitionResponse + +- **完整名称**: `eve.campaign.api.admin.UpdateDefinitionResponse` +- **内部变量名**: `UPDATEDEFINITIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definition + +- **完整名称**: `eve.campaign.api.admin.ScheduleRequest.definition` +- **内部变量名**: `SCHEDULEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.admin.ScheduleResponse.campaign` +- **内部变量名**: `SCHEDULERESPONSE` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.admin.FastForwardRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `offset_hours` | `api.admin.FastForwardRequest.offset_hours` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `editor` | `api.admin.FastForwardRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 4 | `context` | `api.admin.FastForwardRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `campaign` | `api.admin.CancelRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 6 | `editor` | `api.admin.CancelRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 7 | `context` | `api.admin.CancelRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `campaign` | `api.admin.UpdateDefinitionRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 9 | `version` | `api.admin.UpdateDefinitionRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 10 | `editor` | `api.admin.UpdateDefinitionRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 11 | `context` | `api.admin.UpdateDefinitionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 12 | `definition` | `api.admin.ScheduleRequest.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `start_time` | `api.admin.ScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `offset_hours` | `api.admin.ScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 15 | `speed_multiplier` | `api.admin.ScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 16 | `editor` | `api.admin.ScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 17 | `context` | `api.admin.ScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `campaign` | `api.admin.ScheduleResponse.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.admin.UpdateScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `start_time` | `api.admin.UpdateScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 21 | `offset_hours` | `api.admin.UpdateScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 22 | `speed_multiplier` | `api.admin.UpdateScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 23 | `editor` | `api.admin.UpdateScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 24 | `context` | `api.admin.UpdateScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 25 | `campaign` | `api.admin.CancelScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 26 | `editor` | `api.admin.CancelScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 27 | `context` | `api.admin.CancelScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 28 | `campaign` | `api.admin.DeleteRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 29 | `editor` | `api.admin.DeleteRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 30 | `context` | `api.admin.DeleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.admin.UpdateScheduleRequest.campaign` +- **内部变量名**: `UPDATESCHEDULEREQUEST` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.admin.FastForwardRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `offset_hours` | `api.admin.FastForwardRequest.offset_hours` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `editor` | `api.admin.FastForwardRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 4 | `context` | `api.admin.FastForwardRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `campaign` | `api.admin.CancelRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 6 | `editor` | `api.admin.CancelRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 7 | `context` | `api.admin.CancelRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `campaign` | `api.admin.UpdateDefinitionRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 9 | `version` | `api.admin.UpdateDefinitionRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 10 | `editor` | `api.admin.UpdateDefinitionRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 11 | `context` | `api.admin.UpdateDefinitionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 12 | `definition` | `api.admin.ScheduleRequest.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `start_time` | `api.admin.ScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `offset_hours` | `api.admin.ScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 15 | `speed_multiplier` | `api.admin.ScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 16 | `editor` | `api.admin.ScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 17 | `context` | `api.admin.ScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `campaign` | `api.admin.ScheduleResponse.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.admin.UpdateScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `start_time` | `api.admin.UpdateScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 21 | `offset_hours` | `api.admin.UpdateScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 22 | `speed_multiplier` | `api.admin.UpdateScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 23 | `editor` | `api.admin.UpdateScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 24 | `context` | `api.admin.UpdateScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 25 | `campaign` | `api.admin.CancelScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 26 | `editor` | `api.admin.CancelScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 27 | `context` | `api.admin.CancelScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 28 | `campaign` | `api.admin.DeleteRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 29 | `editor` | `api.admin.DeleteRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 30 | `context` | `api.admin.DeleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### UpdateScheduleResponse + +- **完整名称**: `eve.campaign.api.admin.UpdateScheduleResponse` +- **内部变量名**: `UPDATESCHEDULERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.admin.CancelScheduleRequest.campaign` +- **内部变量名**: `CANCELSCHEDULEREQUEST` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.admin.FastForwardRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `offset_hours` | `api.admin.FastForwardRequest.offset_hours` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `editor` | `api.admin.FastForwardRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 4 | `context` | `api.admin.FastForwardRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `campaign` | `api.admin.CancelRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 6 | `editor` | `api.admin.CancelRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 7 | `context` | `api.admin.CancelRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `campaign` | `api.admin.UpdateDefinitionRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 9 | `version` | `api.admin.UpdateDefinitionRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 10 | `editor` | `api.admin.UpdateDefinitionRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 11 | `context` | `api.admin.UpdateDefinitionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 12 | `definition` | `api.admin.ScheduleRequest.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `start_time` | `api.admin.ScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `offset_hours` | `api.admin.ScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 15 | `speed_multiplier` | `api.admin.ScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 16 | `editor` | `api.admin.ScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 17 | `context` | `api.admin.ScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `campaign` | `api.admin.ScheduleResponse.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.admin.UpdateScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `start_time` | `api.admin.UpdateScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 21 | `offset_hours` | `api.admin.UpdateScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 22 | `speed_multiplier` | `api.admin.UpdateScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 23 | `editor` | `api.admin.UpdateScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 24 | `context` | `api.admin.UpdateScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 25 | `campaign` | `api.admin.CancelScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 26 | `editor` | `api.admin.CancelScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 27 | `context` | `api.admin.CancelScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 28 | `campaign` | `api.admin.DeleteRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 29 | `editor` | `api.admin.DeleteRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 30 | `context` | `api.admin.DeleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### CancelScheduleResponse + +- **完整名称**: `eve.campaign.api.admin.CancelScheduleResponse` +- **内部变量名**: `CANCELSCHEDULERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### campaign + +- **完整名称**: `eve.campaign.api.admin.DeleteRequest.campaign` +- **内部变量名**: `DELETEREQUEST` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `campaign` | `api.admin.FastForwardRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 2 | `offset_hours` | `api.admin.FastForwardRequest.offset_hours` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `editor` | `api.admin.FastForwardRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 4 | `context` | `api.admin.FastForwardRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `campaign` | `api.admin.CancelRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 6 | `editor` | `api.admin.CancelRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 7 | `context` | `api.admin.CancelRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `campaign` | `api.admin.UpdateDefinitionRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 9 | `version` | `api.admin.UpdateDefinitionRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 10 | `editor` | `api.admin.UpdateDefinitionRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 11 | `context` | `api.admin.UpdateDefinitionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 12 | `definition` | `api.admin.ScheduleRequest.definition` | message (cpp: message) → `evedotcampaigndotdefinitiondotdefinitionpb2.identifier` | optional (required in proto3) | +| 13 | `start_time` | `api.admin.ScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 14 | `offset_hours` | `api.admin.ScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 15 | `speed_multiplier` | `api.admin.ScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 16 | `editor` | `api.admin.ScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 17 | `context` | `api.admin.ScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `campaign` | `api.admin.ScheduleResponse.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 19 | `campaign` | `api.admin.UpdateScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 20 | `start_time` | `api.admin.UpdateScheduleRequest.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 21 | `offset_hours` | `api.admin.UpdateScheduleRequest.offset_hours` | int32 (cpp: double) | optional (required in proto3) | +| 22 | `speed_multiplier` | `api.admin.UpdateScheduleRequest.speed_multiplier` | float (cpp: int64) | optional (required in proto3) | +| 23 | `editor` | `api.admin.UpdateScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 24 | `context` | `api.admin.UpdateScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 25 | `campaign` | `api.admin.CancelScheduleRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 26 | `editor` | `api.admin.CancelScheduleRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 27 | `context` | `api.admin.CancelScheduleRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 28 | `campaign` | `api.admin.DeleteRequest.campaign` | message (cpp: message) → `evedotcampaigndotcampaignpb2.identifier` | optional (required in proto3) | +| 29 | `editor` | `api.admin.DeleteRequest.editor` | message (cpp: message) → `evedotcampaigndotcampaignpb2.editor` | optional (required in proto3) | +| 30 | `context` | `api.admin.DeleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### DeleteResponse + +- **完整名称**: `eve.campaign.api.admin.DeleteResponse` +- **内部变量名**: `DELETERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.industry.reprocess` (as `input_type`) +- `eve.industry.reprocess` (as `output_type`) +- `eve.station` (as `station`) +- `eve.structure` (as `structure`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### output_type + +- **完整名称**: `eve.industry.reprocess.api.Reprocessed.Output.output_type` +- **内部变量名**: `REPROCESSED_OUTPUT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.industry.reprocess.api.Reprocessed.character` +- **内部变量名**: `REPROCESSED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.industry.job` (as `manufacturing`) +- `eve.inventory` (as `generic_item`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### job + +- **完整名称**: `eve.industry.job.api.Completed.job` +- **内部变量名**: `COMPLETED` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `job` | `api.Completed.job` | message (cpp: message) → `evedotindustrydotjobdotmanufacturingpb2.attributes` | optional (required in proto3) | +| 2 | `output` | `api.Completed.output` | message (cpp: message) → `evedotinventorydotgenericitempb2.attributes` | optional (required in proto3) | +| 3 | `id` | `api.Installed.InputMaterial.id` | message (cpp: message) → `evedotinventorydotgenericitempb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Installed.InputMaterial.attributes` | message (cpp: message) → `evedotinventorydotgenericitempb2.attributes` | optional (required in proto3) | +| 5 | `job` | `api.Installed.job` | message (cpp: message) → `evedotindustrydotjobdotmanufacturingpb2.attributes` | optional (required in proto3) | +| 6 | `expected_output` | `api.Installed.expected_output` | message (cpp: message) → `evedotinventorydotgenericitempb2.attributes` | optional (required in proto3) | +| 7 | `input_materials` | `api.Installed.input_materials` | message (cpp: message) → `installedinputmaterial` | repeated | + +--- + +##### id + +- **完整名称**: `eve.industry.job.api.Installed.InputMaterial.id` +- **内部变量名**: `INSTALLED_INPUTMATERIAL` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### job + +- **完整名称**: `eve.industry.job.api.Installed.job` +- **内部变量名**: `INSTALLED` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `job` | `api.Completed.job` | message (cpp: message) → `evedotindustrydotjobdotmanufacturingpb2.attributes` | optional (required in proto3) | +| 2 | `output` | `api.Completed.output` | message (cpp: message) → `evedotinventorydotgenericitempb2.attributes` | optional (required in proto3) | +| 3 | `id` | `api.Installed.InputMaterial.id` | message (cpp: message) → `evedotinventorydotgenericitempb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.Installed.InputMaterial.attributes` | message (cpp: message) → `evedotinventorydotgenericitempb2.attributes` | optional (required in proto3) | +| 5 | `job` | `api.Installed.job` | message (cpp: message) → `evedotindustrydotjobdotmanufacturingpb2.attributes` | optional (required in proto3) | +| 6 | `expected_output` | `api.Installed.expected_output` | message (cpp: message) → `evedotinventorydotgenericitempb2.attributes` | optional (required in proto3) | +| 7 | `input_materials` | `api.Installed.input_materials` | message (cpp: message) → `installedinputmaterial` | repeated | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.plex.vault.transaction.invoice` (as `invoice`) +- `eve.plex.vault.transaction` (as `transaction`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 14 + +##### user + +- **完整名称**: `eve.plex.vault.transaction.api.GetAllForUserRequest.user` +- **内部变量名**: `GETALLFORUSERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transactions + +- **完整名称**: `eve.plex.vault.transaction.api.GetAllForUserResponse.transactions` +- **内部变量名**: `GETALLFORUSERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.plex.vault.transaction.api.GetAllLoggedForUserRequest.user` +- **内部变量名**: `GETALLLOGGEDFORUSERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transactions + +- **完整名称**: `eve.plex.vault.transaction.api.GetAllLoggedForUserResponse.transactions` +- **内部变量名**: `GETALLLOGGEDFORUSERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.plex.vault.transaction.api.GetRequest.identifier` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.plex.vault.transaction.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.plex.vault.transaction.api.GetLogRequest.identifier` +- **内部变量名**: `GETLOGREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.plex.vault.transaction.api.GetLogResponse.Invoice.id` +- **内部变量名**: `GETLOGRESPONSE_INVOICE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transaction + +- **完整名称**: `eve.plex.vault.transaction.api.GetLogResponse.transaction` +- **内部变量名**: `GETLOGRESPONSE` +- **字段数量**: 19 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `transactions` | `api.GetAllForUserResponse.transactions` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.identifier` | repeated | +| 3 | `user` | `api.GetAllLoggedForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `transactions` | `api.GetAllLoggedForUserResponse.transactions` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.identifier` | repeated | +| 5 | `identifier` | `api.GetRequest.identifier` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.attributes` | optional (required in proto3) | +| 7 | `identifier` | `api.GetLogRequest.identifier` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `api.GetLogResponse.Invoice.id` | message (cpp: message) → `evedotplexdotvaultdottransactiondotinvoicedotinvoicepb2.identifier` | optional (required in proto3) | +| 9 | `attributes` | `api.GetLogResponse.Invoice.attributes` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.attributes` | optional (required in proto3) | +| 10 | `transaction` | `api.GetLogResponse.transaction` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.attributes` | optional (required in proto3) | +| 11 | `unavailable` | `api.GetLogResponse.unavailable` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `invoice_entry` | `api.GetLogResponse.invoice_entry` | message (cpp: message) → `getlogresponseinvoice` | optional (required in proto3) | +| 13 | `days` | `api.GetTopTransferersRequest.days` | uint32 (cpp: int64) | optional (required in proto3) | +| 14 | `user` | `api.GetTopTransferersResponse.Transferer.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 15 | `total_transferred` | `api.GetTopTransferersResponse.Transferer.total_transferred` | uint32 (cpp: int64) | optional (required in proto3) | +| 16 | `transferers` | `api.GetTopTransferersResponse.transferers` | message (cpp: message) → `gettoptransferersresponsetransferer` | repeated | +| 17 | `type` | `api.SearchRequest.type` | enum (cpp: bool) | optional (required in proto3) | +| 18 | `reference` | `api.SearchRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 19 | `transaction` | `api.SearchResponse.transaction` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.attributes` | optional (required in proto3) | + +--- + +##### days + +- **完整名称**: `eve.plex.vault.transaction.api.GetTopTransferersRequest.days` +- **内部变量名**: `GETTOPTRANSFERERSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.plex.vault.transaction.api.GetTopTransferersResponse.Transferer.user` +- **内部变量名**: `GETTOPTRANSFERERSRESPONSE_TRANSFERER` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transferers + +- **完整名称**: `eve.plex.vault.transaction.api.GetTopTransferersResponse.transferers` +- **内部变量名**: `GETTOPTRANSFERERSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### type + +- **完整名称**: `eve.plex.vault.transaction.api.SearchRequest.type` +- **内部变量名**: `SEARCHREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transaction + +- **完整名称**: `eve.plex.vault.transaction.api.SearchResponse.transaction` +- **内部变量名**: `SEARCHRESPONSE` +- **字段数量**: 19 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `user` | `api.GetAllForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 2 | `transactions` | `api.GetAllForUserResponse.transactions` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.identifier` | repeated | +| 3 | `user` | `api.GetAllLoggedForUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `transactions` | `api.GetAllLoggedForUserResponse.transactions` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.identifier` | repeated | +| 5 | `identifier` | `api.GetRequest.identifier` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.attributes` | optional (required in proto3) | +| 7 | `identifier` | `api.GetLogRequest.identifier` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `api.GetLogResponse.Invoice.id` | message (cpp: message) → `evedotplexdotvaultdottransactiondotinvoicedotinvoicepb2.identifier` | optional (required in proto3) | +| 9 | `attributes` | `api.GetLogResponse.Invoice.attributes` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.attributes` | optional (required in proto3) | +| 10 | `transaction` | `api.GetLogResponse.transaction` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.attributes` | optional (required in proto3) | +| 11 | `unavailable` | `api.GetLogResponse.unavailable` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `invoice_entry` | `api.GetLogResponse.invoice_entry` | message (cpp: message) → `getlogresponseinvoice` | optional (required in proto3) | +| 13 | `days` | `api.GetTopTransferersRequest.days` | uint32 (cpp: int64) | optional (required in proto3) | +| 14 | `user` | `api.GetTopTransferersResponse.Transferer.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 15 | `total_transferred` | `api.GetTopTransferersResponse.Transferer.total_transferred` | uint32 (cpp: int64) | optional (required in proto3) | +| 16 | `transferers` | `api.GetTopTransferersResponse.transferers` | message (cpp: message) → `gettoptransferersresponsetransferer` | repeated | +| 17 | `type` | `api.SearchRequest.type` | enum (cpp: bool) | optional (required in proto3) | +| 18 | `reference` | `api.SearchRequest.reference` | string (cpp: string) | optional (required in proto3) | +| 19 | `transaction` | `api.SearchResponse.transaction` | message (cpp: message) → `evedotplexdotvaultdottransactiondottransactionpb2.attributes` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### user + +- **完整名称**: `eve.plex.vault.transaction.api.ResetForUserCommanded.user` +- **内部变量名**: `RESETFORUSERCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.corporation` (as `corporation`) +- `eve.plex` (as `plex`) +- `eve.plex.vault.transaction.invoice` (as `invoice`) +- `eve.quasar.admin` (as `admin`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### user + +- **完整名称**: `eve.plex.vault.transaction.api.admin.ResetForUserRequest.user` +- **内部变量名**: `RESETFORUSERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ResetForUserResponse + +- **完整名称**: `eve.plex.vault.transaction.api.admin.ResetForUserResponse` +- **内部变量名**: `RESETFORUSERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### timestamp + +- **完整名称**: `eve.plex.vault.transaction.api.admin.GenerateTransactionRequest.timestamp` +- **内部变量名**: `GENERATETRANSACTIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GenerateTransactionResponse + +- **完整名称**: `eve.plex.vault.transaction.api.admin.GenerateTransactionResponse` +- **内部变量名**: `GENERATETRANSACTIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.plex.vault.transaction.api.admin.DepositRequest.user` +- **内部变量名**: `DEPOSITREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### DepositResponse + +- **完整名称**: `eve.plex.vault.transaction.api.admin.DepositResponse` +- **内部变量名**: `DEPOSITRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.plex.vault.transaction.api.admin.WithdrawalRequest.user` +- **内部变量名**: `WITHDRAWALREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### WithdrawalResponse + +- **完整名称**: `eve.plex.vault.transaction.api.admin.WithdrawalResponse` +- **内部变量名**: `WITHDRAWALRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.plex.vault.transaction.invoice` (as `invoice`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### identifier + +- **完整名称**: `eve.plex.vault.transaction.invoice.api.RecordCommanded.identifier` +- **内部变量名**: `RECORDCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.plex.vault.transaction.invoice` (as `invoice`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### identifier + +- **完整名称**: `eve.plex.vault.transaction.invoice.api.admin.RecordInvoiceRequest.identifier` +- **内部变量名**: `RECORDINVOICEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RecordInvoiceResponse + +- **完整名称**: `eve.plex.vault.transaction.invoice.api.admin.RecordInvoiceResponse` +- **内部变量名**: `RECORDINVOICERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding` (as `context`) +- `eve.plex` (as `plex`) +- `eve.plex.vault.assetholding.operation` (as `operation`) +- `eve.plex.vault.transaction.invoice` (as `invoice`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### operation + +- **完整名称**: `eve.plex.vault.assetholding.operation.api.GetRequest.operation` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `operation` | `api.GetRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 2 | `operation` | `api.GetResponse.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 3 | `operation` | `api.DepositRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 4 | `user` | `api.DepositRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 5 | `plex` | `api.DepositRequest.plex` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 6 | `context` | `api.DepositRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 7 | `invoice` | `api.DepositRequest.invoice` | message (cpp: message) → `evedotplexdotvaultdottransactiondotinvoicedotinvoicepb2.identifier` | optional (required in proto3) | +| 8 | `operation` | `api.WithdrawRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 9 | `user` | `api.WithdrawRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 10 | `plex` | `api.WithdrawRequest.plex` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 11 | `context` | `api.WithdrawRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 12 | `invoice` | `api.WithdrawRequest.invoice` | message (cpp: message) → `evedotplexdotvaultdottransactiondotinvoicedotinvoicepb2.identifier` | optional (required in proto3) | + +--- + +##### operation + +- **完整名称**: `eve.plex.vault.assetholding.operation.api.GetResponse.operation` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `operation` | `api.GetRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 2 | `operation` | `api.GetResponse.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 3 | `operation` | `api.DepositRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 4 | `user` | `api.DepositRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 5 | `plex` | `api.DepositRequest.plex` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 6 | `context` | `api.DepositRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 7 | `invoice` | `api.DepositRequest.invoice` | message (cpp: message) → `evedotplexdotvaultdottransactiondotinvoicedotinvoicepb2.identifier` | optional (required in proto3) | +| 8 | `operation` | `api.WithdrawRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 9 | `user` | `api.WithdrawRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 10 | `plex` | `api.WithdrawRequest.plex` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 11 | `context` | `api.WithdrawRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 12 | `invoice` | `api.WithdrawRequest.invoice` | message (cpp: message) → `evedotplexdotvaultdottransactiondotinvoicedotinvoicepb2.identifier` | optional (required in proto3) | + +--- + +##### operation + +- **完整名称**: `eve.plex.vault.assetholding.operation.api.DepositRequest.operation` +- **内部变量名**: `DEPOSITREQUEST` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `operation` | `api.GetRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 2 | `operation` | `api.GetResponse.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 3 | `operation` | `api.DepositRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 4 | `user` | `api.DepositRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 5 | `plex` | `api.DepositRequest.plex` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 6 | `context` | `api.DepositRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 7 | `invoice` | `api.DepositRequest.invoice` | message (cpp: message) → `evedotplexdotvaultdottransactiondotinvoicedotinvoicepb2.identifier` | optional (required in proto3) | +| 8 | `operation` | `api.WithdrawRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 9 | `user` | `api.WithdrawRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 10 | `plex` | `api.WithdrawRequest.plex` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 11 | `context` | `api.WithdrawRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 12 | `invoice` | `api.WithdrawRequest.invoice` | message (cpp: message) → `evedotplexdotvaultdottransactiondotinvoicedotinvoicepb2.identifier` | optional (required in proto3) | + +--- + +##### DepositResponse + +- **完整名称**: `eve.plex.vault.assetholding.operation.api.DepositResponse` +- **内部变量名**: `DEPOSITRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### operation + +- **完整名称**: `eve.plex.vault.assetholding.operation.api.WithdrawRequest.operation` +- **内部变量名**: `WITHDRAWREQUEST` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `operation` | `api.GetRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 2 | `operation` | `api.GetResponse.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 3 | `operation` | `api.DepositRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 4 | `user` | `api.DepositRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 5 | `plex` | `api.DepositRequest.plex` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 6 | `context` | `api.DepositRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 7 | `invoice` | `api.DepositRequest.invoice` | message (cpp: message) → `evedotplexdotvaultdottransactiondotinvoicedotinvoicepb2.identifier` | optional (required in proto3) | +| 8 | `operation` | `api.WithdrawRequest.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 9 | `user` | `api.WithdrawRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 10 | `plex` | `api.WithdrawRequest.plex` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 11 | `context` | `api.WithdrawRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 12 | `invoice` | `api.WithdrawRequest.invoice` | message (cpp: message) → `evedotplexdotvaultdottransactiondotinvoicedotinvoicepb2.identifier` | optional (required in proto3) | + +--- + +##### WithdrawResponse + +- **完整名称**: `eve.plex.vault.assetholding.operation.api.WithdrawResponse` +- **内部变量名**: `WITHDRAWRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding` (as `context`) +- `eve.plex` (as `plex`) +- `eve.plex.vault.assetholding.operation` (as `operation`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### operation + +- **完整名称**: `eve.plex.vault.assetholding.operation.api.DepositSucceeded.operation` +- **内部变量名**: `DEPOSITSUCCEEDED` +- **字段数量**: 10 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `operation` | `api.DepositSucceeded.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 2 | `user` | `api.DepositSucceeded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 3 | `deposited` | `api.DepositSucceeded.deposited` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 4 | `balance` | `api.DepositSucceeded.balance` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 5 | `context` | `api.DepositSucceeded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 6 | `operation` | `api.WithdrawSucceeded.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 7 | `user` | `api.WithdrawSucceeded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 8 | `withdrawn` | `api.WithdrawSucceeded.withdrawn` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 9 | `balance` | `api.WithdrawSucceeded.balance` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 10 | `context` | `api.WithdrawSucceeded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | + +--- + +##### operation + +- **完整名称**: `eve.plex.vault.assetholding.operation.api.WithdrawSucceeded.operation` +- **内部变量名**: `WITHDRAWSUCCEEDED` +- **字段数量**: 10 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `operation` | `api.DepositSucceeded.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 2 | `user` | `api.DepositSucceeded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 3 | `deposited` | `api.DepositSucceeded.deposited` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 4 | `balance` | `api.DepositSucceeded.balance` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 5 | `context` | `api.DepositSucceeded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 6 | `operation` | `api.WithdrawSucceeded.operation` | message (cpp: message) → `evedotplexdotvaultdotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 7 | `user` | `api.WithdrawSucceeded.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 8 | `withdrawn` | `api.WithdrawSucceeded.withdrawn` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 9 | `balance` | `api.WithdrawSucceeded.balance` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 10 | `context` | `api.WithdrawSucceeded.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.accounting` (as `entrytype`) +- `eve.accounting` (as `transaction`) +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.isk` (as `isk`) +- `eve.isk.wallet` (as `wallet`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### from_wallet_owner + +- **完整名称**: `eve.isk.wallet.api.TransferByOwnerRequest.from_wallet_owner` +- **内部变量名**: `TRANSFERBYOWNERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### TransferByOwnerResponse + +- **完整名称**: `eve.isk.wallet.api.TransferByOwnerResponse` +- **内部变量名**: `TRANSFERBYOWNERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### TransferOwnerResponse + +- **完整名称**: `eve.isk.wallet.api.TransferOwnerResponse` +- **内部变量名**: `TRANSFEROWNERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.accounting` (as `entrytype`) +- `eve.accounting` (as `transaction`) +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.isk` (as `isk`) +- `eve.isk.wallet` (as `wallet`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### from_wallet_owner + +- **完整名称**: `eve.isk.wallet.api.GrantCommanded.from_wallet_owner` +- **内部变量名**: `GRANTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.standing` (as `standing`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### relationship + +- **完整名称**: `eve.standing.api.IncreaseCommanded.relationship` +- **内部变量名**: `INCREASECOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### relationship + +- **完整名称**: `eve.standing.api.DecreaseCommanded.relationship` +- **内部变量名**: `DECREASECOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.standing` (as `standing`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### relationship + +- **完整名称**: `eve.standing.api.Increased.relationship` +- **内部变量名**: `INCREASED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### relationship + +- **完整名称**: `eve.standing.api.Decreased.relationship` +- **内部变量名**: `DECREASED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### user + +- **完整名称**: `eve.id.legacy.api.GetUserRequest.user` +- **内部变量名**: `GETUSERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### address + +- **完整名称**: `eve.id.legacy.api.GetUserResponse.Email.address` +- **内部变量名**: `GETUSERRESPONSE_EMAIL` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### username + +- **完整名称**: `eve.id.legacy.api.GetUserResponse.username` +- **内部变量名**: `GETUSERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.id.auth` (as `auth`) +- `eve.id.federate.twitch` (as `twitch`) +- `eve.id` (as `id`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 18 + +##### id + +- **完整名称**: `eve.id.federate.twitch.api.GetRequest.id` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 28 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `federate.twitch.api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `twitch` | `federate.twitch.api.GetResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `federate.twitch.api.GetResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 4 | `access_token` | `federate.twitch.api.GetByAccessTokenRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 5 | `twitch` | `federate.twitch.api.GetByAccessTokenResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `federate.twitch.api.GetByAccessTokenResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 7 | `twitch` | `federate.twitch.api.GetEveIDRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `federate.twitch.api.GetEveIDResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 9 | `access_token` | `federate.twitch.api.InitLinkingRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 10 | `success_callback_url` | `federate.twitch.api.InitLinkingRequest.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 11 | `error_callback_url` | `federate.twitch.api.InitLinkingRequest.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 12 | `linking_uuid` | `federate.twitch.api.InitLinkingResponse.linking_uuid` | bytes (cpp: string) | optional (required in proto3) | +| 13 | `redirect_uri` | `federate.twitch.api.InitLinkingResponse.redirect_uri` | string (cpp: string) | optional (required in proto3) | +| 14 | `state` | `federate.twitch.api.CompleteLinkingRequest.state` | string (cpp: string) | optional (required in proto3) | +| 15 | `code` | `federate.twitch.api.CompleteLinkingRequest.code` | string (cpp: string) | optional (required in proto3) | +| 16 | `error` | `federate.twitch.api.CompleteLinkingRequest.error` | string (cpp: string) | optional (required in proto3) | +| 17 | `success_callback_url` | `federate.twitch.api.CompleteLinkingResponse.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 18 | `error_callback_url` | `federate.twitch.api.CompleteLinkingResponse.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 19 | `twitch` | `federate.twitch.api.VerifyExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 20 | `twitch_preferred_username` | `federate.twitch.api.VerifyExternalGrantResponse.twitch_preferred_username` | string (cpp: string) | optional (required in proto3) | +| 21 | `access_token` | `federate.twitch.api.UnlinkRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 22 | `twitch` | `federate.twitch.api.RevokeExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 23 | `id` | `federate.twitch.api.Linked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 24 | `twitch` | `federate.twitch.api.Linked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 25 | `user` | `federate.twitch.api.Linked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 26 | `id` | `federate.twitch.api.Unlinked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 27 | `twitch` | `federate.twitch.api.Unlinked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 28 | `user` | `federate.twitch.api.Unlinked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### twitch + +- **完整名称**: `eve.id.federate.twitch.api.GetResponse.twitch` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 28 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `twitch` | `api.GetResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 4 | `access_token` | `api.GetByAccessTokenRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 5 | `twitch` | `api.GetByAccessTokenResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `api.GetByAccessTokenResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 7 | `twitch` | `api.GetEveIDRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `api.GetEveIDResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 9 | `access_token` | `api.InitLinkingRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 10 | `success_callback_url` | `api.InitLinkingRequest.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 11 | `error_callback_url` | `api.InitLinkingRequest.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 12 | `linking_uuid` | `api.InitLinkingResponse.linking_uuid` | bytes (cpp: string) | optional (required in proto3) | +| 13 | `redirect_uri` | `api.InitLinkingResponse.redirect_uri` | string (cpp: string) | optional (required in proto3) | +| 14 | `state` | `api.CompleteLinkingRequest.state` | string (cpp: string) | optional (required in proto3) | +| 15 | `code` | `api.CompleteLinkingRequest.code` | string (cpp: string) | optional (required in proto3) | +| 16 | `error` | `api.CompleteLinkingRequest.error` | string (cpp: string) | optional (required in proto3) | +| 17 | `success_callback_url` | `api.CompleteLinkingResponse.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 18 | `error_callback_url` | `api.CompleteLinkingResponse.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 19 | `twitch` | `api.VerifyExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 20 | `twitch_preferred_username` | `api.VerifyExternalGrantResponse.twitch_preferred_username` | string (cpp: string) | optional (required in proto3) | +| 21 | `access_token` | `api.UnlinkRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 22 | `twitch` | `api.RevokeExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 23 | `id` | `api.Linked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 24 | `twitch` | `api.Linked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 25 | `user` | `api.Linked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 26 | `id` | `api.Unlinked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 27 | `twitch` | `api.Unlinked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 28 | `user` | `api.Unlinked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### access_token + +- **完整名称**: `eve.id.federate.twitch.api.GetByAccessTokenRequest.access_token` +- **内部变量名**: `GETBYACCESSTOKENREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### twitch + +- **完整名称**: `eve.id.federate.twitch.api.GetByAccessTokenResponse.twitch` +- **内部变量名**: `GETBYACCESSTOKENRESPONSE` +- **字段数量**: 28 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `twitch` | `api.GetResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 4 | `access_token` | `api.GetByAccessTokenRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 5 | `twitch` | `api.GetByAccessTokenResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `api.GetByAccessTokenResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 7 | `twitch` | `api.GetEveIDRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `api.GetEveIDResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 9 | `access_token` | `api.InitLinkingRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 10 | `success_callback_url` | `api.InitLinkingRequest.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 11 | `error_callback_url` | `api.InitLinkingRequest.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 12 | `linking_uuid` | `api.InitLinkingResponse.linking_uuid` | bytes (cpp: string) | optional (required in proto3) | +| 13 | `redirect_uri` | `api.InitLinkingResponse.redirect_uri` | string (cpp: string) | optional (required in proto3) | +| 14 | `state` | `api.CompleteLinkingRequest.state` | string (cpp: string) | optional (required in proto3) | +| 15 | `code` | `api.CompleteLinkingRequest.code` | string (cpp: string) | optional (required in proto3) | +| 16 | `error` | `api.CompleteLinkingRequest.error` | string (cpp: string) | optional (required in proto3) | +| 17 | `success_callback_url` | `api.CompleteLinkingResponse.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 18 | `error_callback_url` | `api.CompleteLinkingResponse.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 19 | `twitch` | `api.VerifyExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 20 | `twitch_preferred_username` | `api.VerifyExternalGrantResponse.twitch_preferred_username` | string (cpp: string) | optional (required in proto3) | +| 21 | `access_token` | `api.UnlinkRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 22 | `twitch` | `api.RevokeExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 23 | `id` | `api.Linked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 24 | `twitch` | `api.Linked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 25 | `user` | `api.Linked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 26 | `id` | `api.Unlinked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 27 | `twitch` | `api.Unlinked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 28 | `user` | `api.Unlinked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### twitch + +- **完整名称**: `eve.id.federate.twitch.api.GetEveIDRequest.twitch` +- **内部变量名**: `GETEVEIDREQUEST` +- **字段数量**: 28 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `twitch` | `api.GetResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 4 | `access_token` | `api.GetByAccessTokenRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 5 | `twitch` | `api.GetByAccessTokenResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `api.GetByAccessTokenResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 7 | `twitch` | `api.GetEveIDRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `api.GetEveIDResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 9 | `access_token` | `api.InitLinkingRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 10 | `success_callback_url` | `api.InitLinkingRequest.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 11 | `error_callback_url` | `api.InitLinkingRequest.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 12 | `linking_uuid` | `api.InitLinkingResponse.linking_uuid` | bytes (cpp: string) | optional (required in proto3) | +| 13 | `redirect_uri` | `api.InitLinkingResponse.redirect_uri` | string (cpp: string) | optional (required in proto3) | +| 14 | `state` | `api.CompleteLinkingRequest.state` | string (cpp: string) | optional (required in proto3) | +| 15 | `code` | `api.CompleteLinkingRequest.code` | string (cpp: string) | optional (required in proto3) | +| 16 | `error` | `api.CompleteLinkingRequest.error` | string (cpp: string) | optional (required in proto3) | +| 17 | `success_callback_url` | `api.CompleteLinkingResponse.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 18 | `error_callback_url` | `api.CompleteLinkingResponse.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 19 | `twitch` | `api.VerifyExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 20 | `twitch_preferred_username` | `api.VerifyExternalGrantResponse.twitch_preferred_username` | string (cpp: string) | optional (required in proto3) | +| 21 | `access_token` | `api.UnlinkRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 22 | `twitch` | `api.RevokeExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 23 | `id` | `api.Linked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 24 | `twitch` | `api.Linked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 25 | `user` | `api.Linked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 26 | `id` | `api.Unlinked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 27 | `twitch` | `api.Unlinked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 28 | `user` | `api.Unlinked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### id + +- **完整名称**: `eve.id.federate.twitch.api.GetEveIDResponse.id` +- **内部变量名**: `GETEVEIDRESPONSE` +- **字段数量**: 28 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `federate.twitch.api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `twitch` | `federate.twitch.api.GetResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `federate.twitch.api.GetResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 4 | `access_token` | `federate.twitch.api.GetByAccessTokenRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 5 | `twitch` | `federate.twitch.api.GetByAccessTokenResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `federate.twitch.api.GetByAccessTokenResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 7 | `twitch` | `federate.twitch.api.GetEveIDRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `federate.twitch.api.GetEveIDResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 9 | `access_token` | `federate.twitch.api.InitLinkingRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 10 | `success_callback_url` | `federate.twitch.api.InitLinkingRequest.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 11 | `error_callback_url` | `federate.twitch.api.InitLinkingRequest.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 12 | `linking_uuid` | `federate.twitch.api.InitLinkingResponse.linking_uuid` | bytes (cpp: string) | optional (required in proto3) | +| 13 | `redirect_uri` | `federate.twitch.api.InitLinkingResponse.redirect_uri` | string (cpp: string) | optional (required in proto3) | +| 14 | `state` | `federate.twitch.api.CompleteLinkingRequest.state` | string (cpp: string) | optional (required in proto3) | +| 15 | `code` | `federate.twitch.api.CompleteLinkingRequest.code` | string (cpp: string) | optional (required in proto3) | +| 16 | `error` | `federate.twitch.api.CompleteLinkingRequest.error` | string (cpp: string) | optional (required in proto3) | +| 17 | `success_callback_url` | `federate.twitch.api.CompleteLinkingResponse.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 18 | `error_callback_url` | `federate.twitch.api.CompleteLinkingResponse.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 19 | `twitch` | `federate.twitch.api.VerifyExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 20 | `twitch_preferred_username` | `federate.twitch.api.VerifyExternalGrantResponse.twitch_preferred_username` | string (cpp: string) | optional (required in proto3) | +| 21 | `access_token` | `federate.twitch.api.UnlinkRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 22 | `twitch` | `federate.twitch.api.RevokeExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 23 | `id` | `federate.twitch.api.Linked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 24 | `twitch` | `federate.twitch.api.Linked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 25 | `user` | `federate.twitch.api.Linked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 26 | `id` | `federate.twitch.api.Unlinked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 27 | `twitch` | `federate.twitch.api.Unlinked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 28 | `user` | `federate.twitch.api.Unlinked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### access_token + +- **完整名称**: `eve.id.federate.twitch.api.InitLinkingRequest.access_token` +- **内部变量名**: `INITLINKINGREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### linking_uuid + +- **完整名称**: `eve.id.federate.twitch.api.InitLinkingResponse.linking_uuid` +- **内部变量名**: `INITLINKINGRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### state + +- **完整名称**: `eve.id.federate.twitch.api.CompleteLinkingRequest.state` +- **内部变量名**: `COMPLETELINKINGREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### success_callback_url + +- **完整名称**: `eve.id.federate.twitch.api.CompleteLinkingResponse.success_callback_url` +- **内部变量名**: `COMPLETELINKINGRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### twitch + +- **完整名称**: `eve.id.federate.twitch.api.VerifyExternalGrantRequest.twitch` +- **内部变量名**: `VERIFYEXTERNALGRANTREQUEST` +- **字段数量**: 28 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `twitch` | `api.GetResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 4 | `access_token` | `api.GetByAccessTokenRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 5 | `twitch` | `api.GetByAccessTokenResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `api.GetByAccessTokenResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 7 | `twitch` | `api.GetEveIDRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `api.GetEveIDResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 9 | `access_token` | `api.InitLinkingRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 10 | `success_callback_url` | `api.InitLinkingRequest.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 11 | `error_callback_url` | `api.InitLinkingRequest.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 12 | `linking_uuid` | `api.InitLinkingResponse.linking_uuid` | bytes (cpp: string) | optional (required in proto3) | +| 13 | `redirect_uri` | `api.InitLinkingResponse.redirect_uri` | string (cpp: string) | optional (required in proto3) | +| 14 | `state` | `api.CompleteLinkingRequest.state` | string (cpp: string) | optional (required in proto3) | +| 15 | `code` | `api.CompleteLinkingRequest.code` | string (cpp: string) | optional (required in proto3) | +| 16 | `error` | `api.CompleteLinkingRequest.error` | string (cpp: string) | optional (required in proto3) | +| 17 | `success_callback_url` | `api.CompleteLinkingResponse.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 18 | `error_callback_url` | `api.CompleteLinkingResponse.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 19 | `twitch` | `api.VerifyExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 20 | `twitch_preferred_username` | `api.VerifyExternalGrantResponse.twitch_preferred_username` | string (cpp: string) | optional (required in proto3) | +| 21 | `access_token` | `api.UnlinkRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 22 | `twitch` | `api.RevokeExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 23 | `id` | `api.Linked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 24 | `twitch` | `api.Linked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 25 | `user` | `api.Linked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 26 | `id` | `api.Unlinked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 27 | `twitch` | `api.Unlinked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 28 | `user` | `api.Unlinked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### twitch_preferred_username + +- **完整名称**: `eve.id.federate.twitch.api.VerifyExternalGrantResponse.twitch_preferred_username` +- **内部变量名**: `VERIFYEXTERNALGRANTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### access_token + +- **完整名称**: `eve.id.federate.twitch.api.UnlinkRequest.access_token` +- **内部变量名**: `UNLINKREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### UnlinkResponse + +- **完整名称**: `eve.id.federate.twitch.api.UnlinkResponse` +- **内部变量名**: `UNLINKRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### twitch + +- **完整名称**: `eve.id.federate.twitch.api.RevokeExternalGrantRequest.twitch` +- **内部变量名**: `REVOKEEXTERNALGRANTREQUEST` +- **字段数量**: 28 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `twitch` | `api.GetResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 4 | `access_token` | `api.GetByAccessTokenRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 5 | `twitch` | `api.GetByAccessTokenResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `api.GetByAccessTokenResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 7 | `twitch` | `api.GetEveIDRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `api.GetEveIDResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 9 | `access_token` | `api.InitLinkingRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 10 | `success_callback_url` | `api.InitLinkingRequest.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 11 | `error_callback_url` | `api.InitLinkingRequest.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 12 | `linking_uuid` | `api.InitLinkingResponse.linking_uuid` | bytes (cpp: string) | optional (required in proto3) | +| 13 | `redirect_uri` | `api.InitLinkingResponse.redirect_uri` | string (cpp: string) | optional (required in proto3) | +| 14 | `state` | `api.CompleteLinkingRequest.state` | string (cpp: string) | optional (required in proto3) | +| 15 | `code` | `api.CompleteLinkingRequest.code` | string (cpp: string) | optional (required in proto3) | +| 16 | `error` | `api.CompleteLinkingRequest.error` | string (cpp: string) | optional (required in proto3) | +| 17 | `success_callback_url` | `api.CompleteLinkingResponse.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 18 | `error_callback_url` | `api.CompleteLinkingResponse.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 19 | `twitch` | `api.VerifyExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 20 | `twitch_preferred_username` | `api.VerifyExternalGrantResponse.twitch_preferred_username` | string (cpp: string) | optional (required in proto3) | +| 21 | `access_token` | `api.UnlinkRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 22 | `twitch` | `api.RevokeExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 23 | `id` | `api.Linked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 24 | `twitch` | `api.Linked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 25 | `user` | `api.Linked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 26 | `id` | `api.Unlinked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 27 | `twitch` | `api.Unlinked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 28 | `user` | `api.Unlinked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### RevokeExternalGrantResponse + +- **完整名称**: `eve.id.federate.twitch.api.RevokeExternalGrantResponse` +- **内部变量名**: `REVOKEEXTERNALGRANTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.id.federate.twitch.api.Linked.id` +- **内部变量名**: `LINKED` +- **字段数量**: 28 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `federate.twitch.api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `twitch` | `federate.twitch.api.GetResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `federate.twitch.api.GetResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 4 | `access_token` | `federate.twitch.api.GetByAccessTokenRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 5 | `twitch` | `federate.twitch.api.GetByAccessTokenResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `federate.twitch.api.GetByAccessTokenResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 7 | `twitch` | `federate.twitch.api.GetEveIDRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `federate.twitch.api.GetEveIDResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 9 | `access_token` | `federate.twitch.api.InitLinkingRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 10 | `success_callback_url` | `federate.twitch.api.InitLinkingRequest.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 11 | `error_callback_url` | `federate.twitch.api.InitLinkingRequest.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 12 | `linking_uuid` | `federate.twitch.api.InitLinkingResponse.linking_uuid` | bytes (cpp: string) | optional (required in proto3) | +| 13 | `redirect_uri` | `federate.twitch.api.InitLinkingResponse.redirect_uri` | string (cpp: string) | optional (required in proto3) | +| 14 | `state` | `federate.twitch.api.CompleteLinkingRequest.state` | string (cpp: string) | optional (required in proto3) | +| 15 | `code` | `federate.twitch.api.CompleteLinkingRequest.code` | string (cpp: string) | optional (required in proto3) | +| 16 | `error` | `federate.twitch.api.CompleteLinkingRequest.error` | string (cpp: string) | optional (required in proto3) | +| 17 | `success_callback_url` | `federate.twitch.api.CompleteLinkingResponse.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 18 | `error_callback_url` | `federate.twitch.api.CompleteLinkingResponse.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 19 | `twitch` | `federate.twitch.api.VerifyExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 20 | `twitch_preferred_username` | `federate.twitch.api.VerifyExternalGrantResponse.twitch_preferred_username` | string (cpp: string) | optional (required in proto3) | +| 21 | `access_token` | `federate.twitch.api.UnlinkRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 22 | `twitch` | `federate.twitch.api.RevokeExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 23 | `id` | `federate.twitch.api.Linked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 24 | `twitch` | `federate.twitch.api.Linked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 25 | `user` | `federate.twitch.api.Linked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 26 | `id` | `federate.twitch.api.Unlinked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 27 | `twitch` | `federate.twitch.api.Unlinked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 28 | `user` | `federate.twitch.api.Unlinked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +##### id + +- **完整名称**: `eve.id.federate.twitch.api.Unlinked.id` +- **内部变量名**: `UNLINKED` +- **字段数量**: 28 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `federate.twitch.api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `twitch` | `federate.twitch.api.GetResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 3 | `attributes` | `federate.twitch.api.GetResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 4 | `access_token` | `federate.twitch.api.GetByAccessTokenRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 5 | `twitch` | `federate.twitch.api.GetByAccessTokenResponse.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 6 | `attributes` | `federate.twitch.api.GetByAccessTokenResponse.attributes` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.attributes` | optional (required in proto3) | +| 7 | `twitch` | `federate.twitch.api.GetEveIDRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 8 | `id` | `federate.twitch.api.GetEveIDResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 9 | `access_token` | `federate.twitch.api.InitLinkingRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 10 | `success_callback_url` | `federate.twitch.api.InitLinkingRequest.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 11 | `error_callback_url` | `federate.twitch.api.InitLinkingRequest.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 12 | `linking_uuid` | `federate.twitch.api.InitLinkingResponse.linking_uuid` | bytes (cpp: string) | optional (required in proto3) | +| 13 | `redirect_uri` | `federate.twitch.api.InitLinkingResponse.redirect_uri` | string (cpp: string) | optional (required in proto3) | +| 14 | `state` | `federate.twitch.api.CompleteLinkingRequest.state` | string (cpp: string) | optional (required in proto3) | +| 15 | `code` | `federate.twitch.api.CompleteLinkingRequest.code` | string (cpp: string) | optional (required in proto3) | +| 16 | `error` | `federate.twitch.api.CompleteLinkingRequest.error` | string (cpp: string) | optional (required in proto3) | +| 17 | `success_callback_url` | `federate.twitch.api.CompleteLinkingResponse.success_callback_url` | string (cpp: string) | optional (required in proto3) | +| 18 | `error_callback_url` | `federate.twitch.api.CompleteLinkingResponse.error_callback_url` | string (cpp: string) | optional (required in proto3) | +| 19 | `twitch` | `federate.twitch.api.VerifyExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 20 | `twitch_preferred_username` | `federate.twitch.api.VerifyExternalGrantResponse.twitch_preferred_username` | string (cpp: string) | optional (required in proto3) | +| 21 | `access_token` | `federate.twitch.api.UnlinkRequest.access_token` | message (cpp: message) → `evedotiddotauthdotauthpb2.jwt` | optional (required in proto3) | +| 22 | `twitch` | `federate.twitch.api.RevokeExternalGrantRequest.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 23 | `id` | `federate.twitch.api.Linked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 24 | `twitch` | `federate.twitch.api.Linked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 25 | `user` | `federate.twitch.api.Linked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 26 | `id` | `federate.twitch.api.Unlinked.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 27 | `twitch` | `federate.twitch.api.Unlinked.twitch` | message (cpp: message) → `evedotiddotfederatedottwitchdottwitchpb2.identifier` | optional (required in proto3) | +| 28 | `user` | `federate.twitch.api.Unlinked.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.id` (as `id`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### id + +- **完整名称**: `eve.id.api.GetRequest.id` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `id` | `api.GetResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 3 | `user` | `api.GetByUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `id` | `api.GetByUserResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | + +--- + +##### id + +- **完整名称**: `eve.id.api.GetResponse.id` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `id` | `api.GetResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 3 | `user` | `api.GetByUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `id` | `api.GetByUserResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | + +--- + +##### user + +- **完整名称**: `eve.id.api.GetByUserRequest.user` +- **内部变量名**: `GETBYUSERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.id.api.GetByUserResponse.id` +- **内部变量名**: `GETBYUSERRESPONSE` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `api.GetRequest.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 2 | `id` | `api.GetResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | +| 3 | `user` | `api.GetByUserRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `id` | `api.GetByUserResponse.id` | message (cpp: message) → `evedotiddotidpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.inventory` (as `generic_item_type`) +- `eve.inventory` (as `inventory`) +- `eve.planet` (as `planet`) +- `eve.planet.skyhook` (as `skyhook`) +- `eve.ship` (as `ship`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.resource.planet` (as `reagent`) +- `eve.sovereignty.resource.planet.reagent.itemtype` (as `identifier`) +- `eve.sovereignty.skyhook` (as `workforce`) + +#### 📝 消息类型定义 + +**消息类型数量**: 35 + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.GetRequest.skyhook` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 76 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skyhook` | `api.GetRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 2 | `reagent` | `api.GetResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `reagent_type` | `api.GetResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 4 | `maturation` | `api.GetResponse.ReagentSimulation.maturation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.maturationsimulation` | optional (required in proto3) | +| 5 | `harvest` | `api.GetResponse.ReagentSimulation.harvest` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.harvestsimulation` | optional (required in proto3) | +| 6 | `simulation` | `api.GetResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 7 | `reagent` | `api.GetResponse.ReagentDefinition.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 8 | `reagent_type` | `api.GetResponse.ReagentDefinition.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 9 | `definition` | `api.GetResponse.ReagentDefinition.definition` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.definition` | optional (required in proto3) | +| 10 | `skyhook` | `api.GetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 11 | `reagent_simulations` | `api.GetResponse.reagent_simulations` | message (cpp: message) → `getresponsereagentsimulation` | repeated | +| 12 | `active` | `api.GetResponse.active` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `reagent_definitions` | `api.GetResponse.reagent_definitions` | message (cpp: message) → `getresponsereagentdefinition` | repeated | +| 14 | `planet_resources_definitions_version` | `api.GetResponse.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 15 | `effective_workforce` | `api.GetResponse.effective_workforce` | message (cpp: message) → `evedotsovereigntydotskyhookdotworkforcepb2.workforce` | optional (required in proto3) | +| 16 | `planet` | `api.GetResponse.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.GetInSolarSystemRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `skyhook` | `api.GetInSolarSystemResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.GetInSolarSystemResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `api.GetInSolarSystemResponse.Skyhook.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhooks` | `api.GetInSolarSystemResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 22 | `extractor` | `api.ExtractReagentsRequest.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `skyhook` | `api.ExtractReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.ExtractReagentsRequest.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `flag` | `api.ExtractReagentsRequest.flag` | message (cpp: message) → `evedotinventorydotinventorypb2.locationflag` | optional (required in proto3) | +| 26 | `quantity` | `api.ExtractReagentsRequest.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `from_secured` | `api.ExtractReagentsRequest.from_secured` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `type` | `api.ExtractReagentsResponse.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 29 | `mature_amount` | `api.ExtractReagentsResponse.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 30 | `reagent` | `api.ExtractReagentsResponse.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 31 | `reagent_type` | `api.ExtractReagentsResponse.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 32 | `amount` | `api.ExtractReagentsResponse.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 33 | `extracted_reagents` | `api.ExtractReagentsResponse.extracted_reagents` | message (cpp: message) → `extractreagentsresponseextractedreagent` | repeated | +| 34 | `character` | `api.IsAuthorizedToManageReagentsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 35 | `skyhook` | `api.IsAuthorizedToManageReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `authorized` | `api.IsAuthorizedToManageReagentsResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `character` | `api.IsAuthorizedToManageStateRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 38 | `skyhook` | `api.IsAuthorizedToManageStateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 39 | `authorized` | `api.IsAuthorizedToManageStateResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 40 | `character` | `api.VerifyActivationRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 41 | `skyhook` | `api.VerifyActivationRequirementsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 42 | `solar_system` | `api.VerifyActivationRequirementsRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 43 | `skyhook` | `api.StealReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 44 | `thief` | `api.StealReagentsRequest.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 45 | `reagent` | `api.StealReagentsResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 46 | `reagent_type` | `api.StealReagentsResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 47 | `quantity_deprecated` | `api.StealReagentsResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 48 | `quantity` | `api.StealReagentsResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 49 | `reagents` | `api.StealReagentsResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 50 | `skyhook` | `api.ScuttleRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 51 | `reagent` | `api.ScuttleResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 52 | `reagent_type` | `api.ScuttleResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 53 | `quantity_deprecated` | `api.ScuttleResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 54 | `quantity` | `api.ScuttleResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 55 | `reagents` | `api.ScuttleResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 56 | `skyhook` | `api.GetTheftVulnerabilityStatusRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 57 | `vulnerable` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerable` | bool (cpp: uint32) | optional (required in proto3) | +| 58 | `vulnerability_start` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 59 | `vulnerability_end` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 60 | `theft_vulnerability` | `api.GetTheftVulnerabilityStatusResponse.theft_vulnerability` | message (cpp: message) → `gettheftvulnerabilitystatusresponsetheftvulnerability` | optional (required in proto3) | +| 61 | `unknown` | `api.GetTheftVulnerabilityStatusResponse.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 62 | `viewer` | `api.IsAuthorizedToViewAllForCorporationRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 63 | `owner` | `api.IsAuthorizedToViewAllForCorporationRequest.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 64 | `authorized` | `api.IsAuthorizedToViewAllForCorporationResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 65 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 66 | `skyhook` | `api.GetForCorporationResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 67 | `planet` | `api.GetForCorporationResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 68 | `solar_system` | `api.GetForCorporationResponse.Skyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 69 | `skyhooks` | `api.GetForCorporationResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 70 | `solar_systems` | `api.GetSolarSystemsWithTheftVulnerableSkyhooksResponse.solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | +| 71 | `skyhook` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 72 | `planet` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 73 | `solar_system` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 74 | `expiry` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 75 | `start` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 76 | `skyhooks` | `api.GetAllTheftVulnerableSkyhooksResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | + +--- + +##### reagent + +- **完整名称**: `eve.sovereignty.skyhook.api.GetResponse.ReagentSimulation.reagent` +- **内部变量名**: `GETRESPONSE_REAGENTSIMULATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### reagent + +- **完整名称**: `eve.sovereignty.skyhook.api.GetResponse.ReagentDefinition.reagent` +- **内部变量名**: `GETRESPONSE_REAGENTDEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.GetResponse.skyhook` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 76 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skyhook` | `api.GetRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 2 | `reagent` | `api.GetResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `reagent_type` | `api.GetResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 4 | `maturation` | `api.GetResponse.ReagentSimulation.maturation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.maturationsimulation` | optional (required in proto3) | +| 5 | `harvest` | `api.GetResponse.ReagentSimulation.harvest` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.harvestsimulation` | optional (required in proto3) | +| 6 | `simulation` | `api.GetResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 7 | `reagent` | `api.GetResponse.ReagentDefinition.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 8 | `reagent_type` | `api.GetResponse.ReagentDefinition.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 9 | `definition` | `api.GetResponse.ReagentDefinition.definition` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.definition` | optional (required in proto3) | +| 10 | `skyhook` | `api.GetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 11 | `reagent_simulations` | `api.GetResponse.reagent_simulations` | message (cpp: message) → `getresponsereagentsimulation` | repeated | +| 12 | `active` | `api.GetResponse.active` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `reagent_definitions` | `api.GetResponse.reagent_definitions` | message (cpp: message) → `getresponsereagentdefinition` | repeated | +| 14 | `planet_resources_definitions_version` | `api.GetResponse.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 15 | `effective_workforce` | `api.GetResponse.effective_workforce` | message (cpp: message) → `evedotsovereigntydotskyhookdotworkforcepb2.workforce` | optional (required in proto3) | +| 16 | `planet` | `api.GetResponse.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.GetInSolarSystemRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `skyhook` | `api.GetInSolarSystemResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.GetInSolarSystemResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `api.GetInSolarSystemResponse.Skyhook.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhooks` | `api.GetInSolarSystemResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 22 | `extractor` | `api.ExtractReagentsRequest.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `skyhook` | `api.ExtractReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.ExtractReagentsRequest.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `flag` | `api.ExtractReagentsRequest.flag` | message (cpp: message) → `evedotinventorydotinventorypb2.locationflag` | optional (required in proto3) | +| 26 | `quantity` | `api.ExtractReagentsRequest.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `from_secured` | `api.ExtractReagentsRequest.from_secured` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `type` | `api.ExtractReagentsResponse.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 29 | `mature_amount` | `api.ExtractReagentsResponse.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 30 | `reagent` | `api.ExtractReagentsResponse.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 31 | `reagent_type` | `api.ExtractReagentsResponse.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 32 | `amount` | `api.ExtractReagentsResponse.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 33 | `extracted_reagents` | `api.ExtractReagentsResponse.extracted_reagents` | message (cpp: message) → `extractreagentsresponseextractedreagent` | repeated | +| 34 | `character` | `api.IsAuthorizedToManageReagentsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 35 | `skyhook` | `api.IsAuthorizedToManageReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `authorized` | `api.IsAuthorizedToManageReagentsResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `character` | `api.IsAuthorizedToManageStateRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 38 | `skyhook` | `api.IsAuthorizedToManageStateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 39 | `authorized` | `api.IsAuthorizedToManageStateResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 40 | `character` | `api.VerifyActivationRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 41 | `skyhook` | `api.VerifyActivationRequirementsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 42 | `solar_system` | `api.VerifyActivationRequirementsRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 43 | `skyhook` | `api.StealReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 44 | `thief` | `api.StealReagentsRequest.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 45 | `reagent` | `api.StealReagentsResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 46 | `reagent_type` | `api.StealReagentsResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 47 | `quantity_deprecated` | `api.StealReagentsResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 48 | `quantity` | `api.StealReagentsResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 49 | `reagents` | `api.StealReagentsResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 50 | `skyhook` | `api.ScuttleRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 51 | `reagent` | `api.ScuttleResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 52 | `reagent_type` | `api.ScuttleResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 53 | `quantity_deprecated` | `api.ScuttleResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 54 | `quantity` | `api.ScuttleResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 55 | `reagents` | `api.ScuttleResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 56 | `skyhook` | `api.GetTheftVulnerabilityStatusRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 57 | `vulnerable` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerable` | bool (cpp: uint32) | optional (required in proto3) | +| 58 | `vulnerability_start` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 59 | `vulnerability_end` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 60 | `theft_vulnerability` | `api.GetTheftVulnerabilityStatusResponse.theft_vulnerability` | message (cpp: message) → `gettheftvulnerabilitystatusresponsetheftvulnerability` | optional (required in proto3) | +| 61 | `unknown` | `api.GetTheftVulnerabilityStatusResponse.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 62 | `viewer` | `api.IsAuthorizedToViewAllForCorporationRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 63 | `owner` | `api.IsAuthorizedToViewAllForCorporationRequest.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 64 | `authorized` | `api.IsAuthorizedToViewAllForCorporationResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 65 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 66 | `skyhook` | `api.GetForCorporationResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 67 | `planet` | `api.GetForCorporationResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 68 | `solar_system` | `api.GetForCorporationResponse.Skyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 69 | `skyhooks` | `api.GetForCorporationResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 70 | `solar_systems` | `api.GetSolarSystemsWithTheftVulnerableSkyhooksResponse.solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | +| 71 | `skyhook` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 72 | `planet` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 73 | `solar_system` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 74 | `expiry` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 75 | `start` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 76 | `skyhooks` | `api.GetAllTheftVulnerableSkyhooksResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.skyhook.api.GetInSolarSystemRequest.solar_system` +- **内部变量名**: `GETINSOLARSYSTEMREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.GetInSolarSystemResponse.Skyhook.skyhook` +- **内部变量名**: `GETINSOLARSYSTEMRESPONSE_SKYHOOK` +- **字段数量**: 76 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skyhook` | `api.GetRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 2 | `reagent` | `api.GetResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `reagent_type` | `api.GetResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 4 | `maturation` | `api.GetResponse.ReagentSimulation.maturation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.maturationsimulation` | optional (required in proto3) | +| 5 | `harvest` | `api.GetResponse.ReagentSimulation.harvest` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.harvestsimulation` | optional (required in proto3) | +| 6 | `simulation` | `api.GetResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 7 | `reagent` | `api.GetResponse.ReagentDefinition.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 8 | `reagent_type` | `api.GetResponse.ReagentDefinition.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 9 | `definition` | `api.GetResponse.ReagentDefinition.definition` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.definition` | optional (required in proto3) | +| 10 | `skyhook` | `api.GetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 11 | `reagent_simulations` | `api.GetResponse.reagent_simulations` | message (cpp: message) → `getresponsereagentsimulation` | repeated | +| 12 | `active` | `api.GetResponse.active` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `reagent_definitions` | `api.GetResponse.reagent_definitions` | message (cpp: message) → `getresponsereagentdefinition` | repeated | +| 14 | `planet_resources_definitions_version` | `api.GetResponse.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 15 | `effective_workforce` | `api.GetResponse.effective_workforce` | message (cpp: message) → `evedotsovereigntydotskyhookdotworkforcepb2.workforce` | optional (required in proto3) | +| 16 | `planet` | `api.GetResponse.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.GetInSolarSystemRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `skyhook` | `api.GetInSolarSystemResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.GetInSolarSystemResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `api.GetInSolarSystemResponse.Skyhook.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhooks` | `api.GetInSolarSystemResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 22 | `extractor` | `api.ExtractReagentsRequest.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `skyhook` | `api.ExtractReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.ExtractReagentsRequest.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `flag` | `api.ExtractReagentsRequest.flag` | message (cpp: message) → `evedotinventorydotinventorypb2.locationflag` | optional (required in proto3) | +| 26 | `quantity` | `api.ExtractReagentsRequest.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `from_secured` | `api.ExtractReagentsRequest.from_secured` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `type` | `api.ExtractReagentsResponse.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 29 | `mature_amount` | `api.ExtractReagentsResponse.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 30 | `reagent` | `api.ExtractReagentsResponse.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 31 | `reagent_type` | `api.ExtractReagentsResponse.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 32 | `amount` | `api.ExtractReagentsResponse.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 33 | `extracted_reagents` | `api.ExtractReagentsResponse.extracted_reagents` | message (cpp: message) → `extractreagentsresponseextractedreagent` | repeated | +| 34 | `character` | `api.IsAuthorizedToManageReagentsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 35 | `skyhook` | `api.IsAuthorizedToManageReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `authorized` | `api.IsAuthorizedToManageReagentsResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `character` | `api.IsAuthorizedToManageStateRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 38 | `skyhook` | `api.IsAuthorizedToManageStateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 39 | `authorized` | `api.IsAuthorizedToManageStateResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 40 | `character` | `api.VerifyActivationRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 41 | `skyhook` | `api.VerifyActivationRequirementsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 42 | `solar_system` | `api.VerifyActivationRequirementsRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 43 | `skyhook` | `api.StealReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 44 | `thief` | `api.StealReagentsRequest.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 45 | `reagent` | `api.StealReagentsResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 46 | `reagent_type` | `api.StealReagentsResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 47 | `quantity_deprecated` | `api.StealReagentsResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 48 | `quantity` | `api.StealReagentsResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 49 | `reagents` | `api.StealReagentsResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 50 | `skyhook` | `api.ScuttleRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 51 | `reagent` | `api.ScuttleResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 52 | `reagent_type` | `api.ScuttleResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 53 | `quantity_deprecated` | `api.ScuttleResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 54 | `quantity` | `api.ScuttleResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 55 | `reagents` | `api.ScuttleResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 56 | `skyhook` | `api.GetTheftVulnerabilityStatusRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 57 | `vulnerable` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerable` | bool (cpp: uint32) | optional (required in proto3) | +| 58 | `vulnerability_start` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 59 | `vulnerability_end` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 60 | `theft_vulnerability` | `api.GetTheftVulnerabilityStatusResponse.theft_vulnerability` | message (cpp: message) → `gettheftvulnerabilitystatusresponsetheftvulnerability` | optional (required in proto3) | +| 61 | `unknown` | `api.GetTheftVulnerabilityStatusResponse.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 62 | `viewer` | `api.IsAuthorizedToViewAllForCorporationRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 63 | `owner` | `api.IsAuthorizedToViewAllForCorporationRequest.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 64 | `authorized` | `api.IsAuthorizedToViewAllForCorporationResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 65 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 66 | `skyhook` | `api.GetForCorporationResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 67 | `planet` | `api.GetForCorporationResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 68 | `solar_system` | `api.GetForCorporationResponse.Skyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 69 | `skyhooks` | `api.GetForCorporationResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 70 | `solar_systems` | `api.GetSolarSystemsWithTheftVulnerableSkyhooksResponse.solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | +| 71 | `skyhook` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 72 | `planet` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 73 | `solar_system` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 74 | `expiry` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 75 | `start` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 76 | `skyhooks` | `api.GetAllTheftVulnerableSkyhooksResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | + +--- + +##### skyhooks + +- **完整名称**: `eve.sovereignty.skyhook.api.GetInSolarSystemResponse.skyhooks` +- **内部变量名**: `GETINSOLARSYSTEMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### extractor + +- **完整名称**: `eve.sovereignty.skyhook.api.ExtractReagentsRequest.extractor` +- **内部变量名**: `EXTRACTREAGENTSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### type + +- **完整名称**: `eve.sovereignty.skyhook.api.ExtractReagentsResponse.ExtractedReagent.type` +- **内部变量名**: `EXTRACTREAGENTSRESPONSE_EXTRACTEDREAGENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### extracted_reagents + +- **完整名称**: `eve.sovereignty.skyhook.api.ExtractReagentsResponse.extracted_reagents` +- **内部变量名**: `EXTRACTREAGENTSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.skyhook.api.IsAuthorizedToManageReagentsRequest.character` +- **内部变量名**: `ISAUTHORIZEDTOMANAGEREAGENTSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### authorized + +- **完整名称**: `eve.sovereignty.skyhook.api.IsAuthorizedToManageReagentsResponse.authorized` +- **内部变量名**: `ISAUTHORIZEDTOMANAGEREAGENTSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.skyhook.api.IsAuthorizedToManageStateRequest.character` +- **内部变量名**: `ISAUTHORIZEDTOMANAGESTATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### authorized + +- **完整名称**: `eve.sovereignty.skyhook.api.IsAuthorizedToManageStateResponse.authorized` +- **内部变量名**: `ISAUTHORIZEDTOMANAGESTATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.skyhook.api.VerifyActivationRequirementsRequest.character` +- **内部变量名**: `VERIFYACTIVATIONREQUIREMENTSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### VerifyActivationRequirementsResponse + +- **完整名称**: `eve.sovereignty.skyhook.api.VerifyActivationRequirementsResponse` +- **内部变量名**: `VERIFYACTIVATIONREQUIREMENTSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.StealReagentsRequest.skyhook` +- **内部变量名**: `STEALREAGENTSREQUEST` +- **字段数量**: 76 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skyhook` | `api.GetRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 2 | `reagent` | `api.GetResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `reagent_type` | `api.GetResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 4 | `maturation` | `api.GetResponse.ReagentSimulation.maturation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.maturationsimulation` | optional (required in proto3) | +| 5 | `harvest` | `api.GetResponse.ReagentSimulation.harvest` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.harvestsimulation` | optional (required in proto3) | +| 6 | `simulation` | `api.GetResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 7 | `reagent` | `api.GetResponse.ReagentDefinition.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 8 | `reagent_type` | `api.GetResponse.ReagentDefinition.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 9 | `definition` | `api.GetResponse.ReagentDefinition.definition` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.definition` | optional (required in proto3) | +| 10 | `skyhook` | `api.GetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 11 | `reagent_simulations` | `api.GetResponse.reagent_simulations` | message (cpp: message) → `getresponsereagentsimulation` | repeated | +| 12 | `active` | `api.GetResponse.active` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `reagent_definitions` | `api.GetResponse.reagent_definitions` | message (cpp: message) → `getresponsereagentdefinition` | repeated | +| 14 | `planet_resources_definitions_version` | `api.GetResponse.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 15 | `effective_workforce` | `api.GetResponse.effective_workforce` | message (cpp: message) → `evedotsovereigntydotskyhookdotworkforcepb2.workforce` | optional (required in proto3) | +| 16 | `planet` | `api.GetResponse.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.GetInSolarSystemRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `skyhook` | `api.GetInSolarSystemResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.GetInSolarSystemResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `api.GetInSolarSystemResponse.Skyhook.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhooks` | `api.GetInSolarSystemResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 22 | `extractor` | `api.ExtractReagentsRequest.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `skyhook` | `api.ExtractReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.ExtractReagentsRequest.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `flag` | `api.ExtractReagentsRequest.flag` | message (cpp: message) → `evedotinventorydotinventorypb2.locationflag` | optional (required in proto3) | +| 26 | `quantity` | `api.ExtractReagentsRequest.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `from_secured` | `api.ExtractReagentsRequest.from_secured` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `type` | `api.ExtractReagentsResponse.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 29 | `mature_amount` | `api.ExtractReagentsResponse.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 30 | `reagent` | `api.ExtractReagentsResponse.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 31 | `reagent_type` | `api.ExtractReagentsResponse.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 32 | `amount` | `api.ExtractReagentsResponse.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 33 | `extracted_reagents` | `api.ExtractReagentsResponse.extracted_reagents` | message (cpp: message) → `extractreagentsresponseextractedreagent` | repeated | +| 34 | `character` | `api.IsAuthorizedToManageReagentsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 35 | `skyhook` | `api.IsAuthorizedToManageReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `authorized` | `api.IsAuthorizedToManageReagentsResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `character` | `api.IsAuthorizedToManageStateRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 38 | `skyhook` | `api.IsAuthorizedToManageStateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 39 | `authorized` | `api.IsAuthorizedToManageStateResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 40 | `character` | `api.VerifyActivationRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 41 | `skyhook` | `api.VerifyActivationRequirementsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 42 | `solar_system` | `api.VerifyActivationRequirementsRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 43 | `skyhook` | `api.StealReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 44 | `thief` | `api.StealReagentsRequest.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 45 | `reagent` | `api.StealReagentsResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 46 | `reagent_type` | `api.StealReagentsResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 47 | `quantity_deprecated` | `api.StealReagentsResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 48 | `quantity` | `api.StealReagentsResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 49 | `reagents` | `api.StealReagentsResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 50 | `skyhook` | `api.ScuttleRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 51 | `reagent` | `api.ScuttleResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 52 | `reagent_type` | `api.ScuttleResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 53 | `quantity_deprecated` | `api.ScuttleResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 54 | `quantity` | `api.ScuttleResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 55 | `reagents` | `api.ScuttleResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 56 | `skyhook` | `api.GetTheftVulnerabilityStatusRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 57 | `vulnerable` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerable` | bool (cpp: uint32) | optional (required in proto3) | +| 58 | `vulnerability_start` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 59 | `vulnerability_end` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 60 | `theft_vulnerability` | `api.GetTheftVulnerabilityStatusResponse.theft_vulnerability` | message (cpp: message) → `gettheftvulnerabilitystatusresponsetheftvulnerability` | optional (required in proto3) | +| 61 | `unknown` | `api.GetTheftVulnerabilityStatusResponse.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 62 | `viewer` | `api.IsAuthorizedToViewAllForCorporationRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 63 | `owner` | `api.IsAuthorizedToViewAllForCorporationRequest.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 64 | `authorized` | `api.IsAuthorizedToViewAllForCorporationResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 65 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 66 | `skyhook` | `api.GetForCorporationResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 67 | `planet` | `api.GetForCorporationResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 68 | `solar_system` | `api.GetForCorporationResponse.Skyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 69 | `skyhooks` | `api.GetForCorporationResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 70 | `solar_systems` | `api.GetSolarSystemsWithTheftVulnerableSkyhooksResponse.solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | +| 71 | `skyhook` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 72 | `planet` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 73 | `solar_system` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 74 | `expiry` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 75 | `start` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 76 | `skyhooks` | `api.GetAllTheftVulnerableSkyhooksResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | + +--- + +##### reagent + +- **完整名称**: `eve.sovereignty.skyhook.api.StealReagentsResponse.Reagent.reagent` +- **内部变量名**: `STEALREAGENTSRESPONSE_REAGENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### reagents + +- **完整名称**: `eve.sovereignty.skyhook.api.StealReagentsResponse.reagents` +- **内部变量名**: `STEALREAGENTSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.ScuttleRequest.skyhook` +- **内部变量名**: `SCUTTLEREQUEST` +- **字段数量**: 76 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skyhook` | `api.GetRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 2 | `reagent` | `api.GetResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `reagent_type` | `api.GetResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 4 | `maturation` | `api.GetResponse.ReagentSimulation.maturation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.maturationsimulation` | optional (required in proto3) | +| 5 | `harvest` | `api.GetResponse.ReagentSimulation.harvest` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.harvestsimulation` | optional (required in proto3) | +| 6 | `simulation` | `api.GetResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 7 | `reagent` | `api.GetResponse.ReagentDefinition.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 8 | `reagent_type` | `api.GetResponse.ReagentDefinition.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 9 | `definition` | `api.GetResponse.ReagentDefinition.definition` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.definition` | optional (required in proto3) | +| 10 | `skyhook` | `api.GetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 11 | `reagent_simulations` | `api.GetResponse.reagent_simulations` | message (cpp: message) → `getresponsereagentsimulation` | repeated | +| 12 | `active` | `api.GetResponse.active` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `reagent_definitions` | `api.GetResponse.reagent_definitions` | message (cpp: message) → `getresponsereagentdefinition` | repeated | +| 14 | `planet_resources_definitions_version` | `api.GetResponse.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 15 | `effective_workforce` | `api.GetResponse.effective_workforce` | message (cpp: message) → `evedotsovereigntydotskyhookdotworkforcepb2.workforce` | optional (required in proto3) | +| 16 | `planet` | `api.GetResponse.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.GetInSolarSystemRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `skyhook` | `api.GetInSolarSystemResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.GetInSolarSystemResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `api.GetInSolarSystemResponse.Skyhook.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhooks` | `api.GetInSolarSystemResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 22 | `extractor` | `api.ExtractReagentsRequest.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `skyhook` | `api.ExtractReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.ExtractReagentsRequest.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `flag` | `api.ExtractReagentsRequest.flag` | message (cpp: message) → `evedotinventorydotinventorypb2.locationflag` | optional (required in proto3) | +| 26 | `quantity` | `api.ExtractReagentsRequest.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `from_secured` | `api.ExtractReagentsRequest.from_secured` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `type` | `api.ExtractReagentsResponse.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 29 | `mature_amount` | `api.ExtractReagentsResponse.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 30 | `reagent` | `api.ExtractReagentsResponse.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 31 | `reagent_type` | `api.ExtractReagentsResponse.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 32 | `amount` | `api.ExtractReagentsResponse.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 33 | `extracted_reagents` | `api.ExtractReagentsResponse.extracted_reagents` | message (cpp: message) → `extractreagentsresponseextractedreagent` | repeated | +| 34 | `character` | `api.IsAuthorizedToManageReagentsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 35 | `skyhook` | `api.IsAuthorizedToManageReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `authorized` | `api.IsAuthorizedToManageReagentsResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `character` | `api.IsAuthorizedToManageStateRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 38 | `skyhook` | `api.IsAuthorizedToManageStateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 39 | `authorized` | `api.IsAuthorizedToManageStateResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 40 | `character` | `api.VerifyActivationRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 41 | `skyhook` | `api.VerifyActivationRequirementsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 42 | `solar_system` | `api.VerifyActivationRequirementsRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 43 | `skyhook` | `api.StealReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 44 | `thief` | `api.StealReagentsRequest.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 45 | `reagent` | `api.StealReagentsResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 46 | `reagent_type` | `api.StealReagentsResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 47 | `quantity_deprecated` | `api.StealReagentsResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 48 | `quantity` | `api.StealReagentsResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 49 | `reagents` | `api.StealReagentsResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 50 | `skyhook` | `api.ScuttleRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 51 | `reagent` | `api.ScuttleResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 52 | `reagent_type` | `api.ScuttleResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 53 | `quantity_deprecated` | `api.ScuttleResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 54 | `quantity` | `api.ScuttleResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 55 | `reagents` | `api.ScuttleResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 56 | `skyhook` | `api.GetTheftVulnerabilityStatusRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 57 | `vulnerable` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerable` | bool (cpp: uint32) | optional (required in proto3) | +| 58 | `vulnerability_start` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 59 | `vulnerability_end` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 60 | `theft_vulnerability` | `api.GetTheftVulnerabilityStatusResponse.theft_vulnerability` | message (cpp: message) → `gettheftvulnerabilitystatusresponsetheftvulnerability` | optional (required in proto3) | +| 61 | `unknown` | `api.GetTheftVulnerabilityStatusResponse.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 62 | `viewer` | `api.IsAuthorizedToViewAllForCorporationRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 63 | `owner` | `api.IsAuthorizedToViewAllForCorporationRequest.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 64 | `authorized` | `api.IsAuthorizedToViewAllForCorporationResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 65 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 66 | `skyhook` | `api.GetForCorporationResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 67 | `planet` | `api.GetForCorporationResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 68 | `solar_system` | `api.GetForCorporationResponse.Skyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 69 | `skyhooks` | `api.GetForCorporationResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 70 | `solar_systems` | `api.GetSolarSystemsWithTheftVulnerableSkyhooksResponse.solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | +| 71 | `skyhook` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 72 | `planet` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 73 | `solar_system` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 74 | `expiry` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 75 | `start` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 76 | `skyhooks` | `api.GetAllTheftVulnerableSkyhooksResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | + +--- + +##### reagent + +- **完整名称**: `eve.sovereignty.skyhook.api.ScuttleResponse.Reagent.reagent` +- **内部变量名**: `SCUTTLERESPONSE_REAGENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### reagents + +- **完整名称**: `eve.sovereignty.skyhook.api.ScuttleResponse.reagents` +- **内部变量名**: `SCUTTLERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.GetTheftVulnerabilityStatusRequest.skyhook` +- **内部变量名**: `GETTHEFTVULNERABILITYSTATUSREQUEST` +- **字段数量**: 76 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skyhook` | `api.GetRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 2 | `reagent` | `api.GetResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `reagent_type` | `api.GetResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 4 | `maturation` | `api.GetResponse.ReagentSimulation.maturation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.maturationsimulation` | optional (required in proto3) | +| 5 | `harvest` | `api.GetResponse.ReagentSimulation.harvest` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.harvestsimulation` | optional (required in proto3) | +| 6 | `simulation` | `api.GetResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 7 | `reagent` | `api.GetResponse.ReagentDefinition.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 8 | `reagent_type` | `api.GetResponse.ReagentDefinition.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 9 | `definition` | `api.GetResponse.ReagentDefinition.definition` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.definition` | optional (required in proto3) | +| 10 | `skyhook` | `api.GetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 11 | `reagent_simulations` | `api.GetResponse.reagent_simulations` | message (cpp: message) → `getresponsereagentsimulation` | repeated | +| 12 | `active` | `api.GetResponse.active` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `reagent_definitions` | `api.GetResponse.reagent_definitions` | message (cpp: message) → `getresponsereagentdefinition` | repeated | +| 14 | `planet_resources_definitions_version` | `api.GetResponse.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 15 | `effective_workforce` | `api.GetResponse.effective_workforce` | message (cpp: message) → `evedotsovereigntydotskyhookdotworkforcepb2.workforce` | optional (required in proto3) | +| 16 | `planet` | `api.GetResponse.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.GetInSolarSystemRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `skyhook` | `api.GetInSolarSystemResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.GetInSolarSystemResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `api.GetInSolarSystemResponse.Skyhook.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhooks` | `api.GetInSolarSystemResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 22 | `extractor` | `api.ExtractReagentsRequest.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `skyhook` | `api.ExtractReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.ExtractReagentsRequest.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `flag` | `api.ExtractReagentsRequest.flag` | message (cpp: message) → `evedotinventorydotinventorypb2.locationflag` | optional (required in proto3) | +| 26 | `quantity` | `api.ExtractReagentsRequest.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `from_secured` | `api.ExtractReagentsRequest.from_secured` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `type` | `api.ExtractReagentsResponse.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 29 | `mature_amount` | `api.ExtractReagentsResponse.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 30 | `reagent` | `api.ExtractReagentsResponse.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 31 | `reagent_type` | `api.ExtractReagentsResponse.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 32 | `amount` | `api.ExtractReagentsResponse.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 33 | `extracted_reagents` | `api.ExtractReagentsResponse.extracted_reagents` | message (cpp: message) → `extractreagentsresponseextractedreagent` | repeated | +| 34 | `character` | `api.IsAuthorizedToManageReagentsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 35 | `skyhook` | `api.IsAuthorizedToManageReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `authorized` | `api.IsAuthorizedToManageReagentsResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `character` | `api.IsAuthorizedToManageStateRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 38 | `skyhook` | `api.IsAuthorizedToManageStateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 39 | `authorized` | `api.IsAuthorizedToManageStateResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 40 | `character` | `api.VerifyActivationRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 41 | `skyhook` | `api.VerifyActivationRequirementsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 42 | `solar_system` | `api.VerifyActivationRequirementsRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 43 | `skyhook` | `api.StealReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 44 | `thief` | `api.StealReagentsRequest.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 45 | `reagent` | `api.StealReagentsResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 46 | `reagent_type` | `api.StealReagentsResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 47 | `quantity_deprecated` | `api.StealReagentsResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 48 | `quantity` | `api.StealReagentsResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 49 | `reagents` | `api.StealReagentsResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 50 | `skyhook` | `api.ScuttleRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 51 | `reagent` | `api.ScuttleResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 52 | `reagent_type` | `api.ScuttleResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 53 | `quantity_deprecated` | `api.ScuttleResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 54 | `quantity` | `api.ScuttleResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 55 | `reagents` | `api.ScuttleResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 56 | `skyhook` | `api.GetTheftVulnerabilityStatusRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 57 | `vulnerable` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerable` | bool (cpp: uint32) | optional (required in proto3) | +| 58 | `vulnerability_start` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 59 | `vulnerability_end` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 60 | `theft_vulnerability` | `api.GetTheftVulnerabilityStatusResponse.theft_vulnerability` | message (cpp: message) → `gettheftvulnerabilitystatusresponsetheftvulnerability` | optional (required in proto3) | +| 61 | `unknown` | `api.GetTheftVulnerabilityStatusResponse.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 62 | `viewer` | `api.IsAuthorizedToViewAllForCorporationRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 63 | `owner` | `api.IsAuthorizedToViewAllForCorporationRequest.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 64 | `authorized` | `api.IsAuthorizedToViewAllForCorporationResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 65 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 66 | `skyhook` | `api.GetForCorporationResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 67 | `planet` | `api.GetForCorporationResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 68 | `solar_system` | `api.GetForCorporationResponse.Skyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 69 | `skyhooks` | `api.GetForCorporationResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 70 | `solar_systems` | `api.GetSolarSystemsWithTheftVulnerableSkyhooksResponse.solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | +| 71 | `skyhook` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 72 | `planet` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 73 | `solar_system` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 74 | `expiry` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 75 | `start` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 76 | `skyhooks` | `api.GetAllTheftVulnerableSkyhooksResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | + +--- + +##### vulnerable + +- **完整名称**: `eve.sovereignty.skyhook.api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerable` +- **内部变量名**: `GETTHEFTVULNERABILITYSTATUSRESPONSE_THEFTVULNERABILITY` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### theft_vulnerability + +- **完整名称**: `eve.sovereignty.skyhook.api.GetTheftVulnerabilityStatusResponse.theft_vulnerability` +- **内部变量名**: `GETTHEFTVULNERABILITYSTATUSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### viewer + +- **完整名称**: `eve.sovereignty.skyhook.api.IsAuthorizedToViewAllForCorporationRequest.viewer` +- **内部变量名**: `ISAUTHORIZEDTOVIEWALLFORCORPORATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### authorized + +- **完整名称**: `eve.sovereignty.skyhook.api.IsAuthorizedToViewAllForCorporationResponse.authorized` +- **内部变量名**: `ISAUTHORIZEDTOVIEWALLFORCORPORATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.sovereignty.skyhook.api.GetForCorporationRequest.corporation` +- **内部变量名**: `GETFORCORPORATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.GetForCorporationResponse.Skyhook.skyhook` +- **内部变量名**: `GETFORCORPORATIONRESPONSE_SKYHOOK` +- **字段数量**: 76 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skyhook` | `api.GetRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 2 | `reagent` | `api.GetResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `reagent_type` | `api.GetResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 4 | `maturation` | `api.GetResponse.ReagentSimulation.maturation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.maturationsimulation` | optional (required in proto3) | +| 5 | `harvest` | `api.GetResponse.ReagentSimulation.harvest` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.harvestsimulation` | optional (required in proto3) | +| 6 | `simulation` | `api.GetResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 7 | `reagent` | `api.GetResponse.ReagentDefinition.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 8 | `reagent_type` | `api.GetResponse.ReagentDefinition.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 9 | `definition` | `api.GetResponse.ReagentDefinition.definition` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.definition` | optional (required in proto3) | +| 10 | `skyhook` | `api.GetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 11 | `reagent_simulations` | `api.GetResponse.reagent_simulations` | message (cpp: message) → `getresponsereagentsimulation` | repeated | +| 12 | `active` | `api.GetResponse.active` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `reagent_definitions` | `api.GetResponse.reagent_definitions` | message (cpp: message) → `getresponsereagentdefinition` | repeated | +| 14 | `planet_resources_definitions_version` | `api.GetResponse.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 15 | `effective_workforce` | `api.GetResponse.effective_workforce` | message (cpp: message) → `evedotsovereigntydotskyhookdotworkforcepb2.workforce` | optional (required in proto3) | +| 16 | `planet` | `api.GetResponse.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.GetInSolarSystemRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `skyhook` | `api.GetInSolarSystemResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.GetInSolarSystemResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `api.GetInSolarSystemResponse.Skyhook.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhooks` | `api.GetInSolarSystemResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 22 | `extractor` | `api.ExtractReagentsRequest.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `skyhook` | `api.ExtractReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.ExtractReagentsRequest.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `flag` | `api.ExtractReagentsRequest.flag` | message (cpp: message) → `evedotinventorydotinventorypb2.locationflag` | optional (required in proto3) | +| 26 | `quantity` | `api.ExtractReagentsRequest.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `from_secured` | `api.ExtractReagentsRequest.from_secured` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `type` | `api.ExtractReagentsResponse.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 29 | `mature_amount` | `api.ExtractReagentsResponse.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 30 | `reagent` | `api.ExtractReagentsResponse.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 31 | `reagent_type` | `api.ExtractReagentsResponse.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 32 | `amount` | `api.ExtractReagentsResponse.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 33 | `extracted_reagents` | `api.ExtractReagentsResponse.extracted_reagents` | message (cpp: message) → `extractreagentsresponseextractedreagent` | repeated | +| 34 | `character` | `api.IsAuthorizedToManageReagentsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 35 | `skyhook` | `api.IsAuthorizedToManageReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `authorized` | `api.IsAuthorizedToManageReagentsResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `character` | `api.IsAuthorizedToManageStateRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 38 | `skyhook` | `api.IsAuthorizedToManageStateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 39 | `authorized` | `api.IsAuthorizedToManageStateResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 40 | `character` | `api.VerifyActivationRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 41 | `skyhook` | `api.VerifyActivationRequirementsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 42 | `solar_system` | `api.VerifyActivationRequirementsRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 43 | `skyhook` | `api.StealReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 44 | `thief` | `api.StealReagentsRequest.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 45 | `reagent` | `api.StealReagentsResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 46 | `reagent_type` | `api.StealReagentsResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 47 | `quantity_deprecated` | `api.StealReagentsResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 48 | `quantity` | `api.StealReagentsResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 49 | `reagents` | `api.StealReagentsResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 50 | `skyhook` | `api.ScuttleRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 51 | `reagent` | `api.ScuttleResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 52 | `reagent_type` | `api.ScuttleResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 53 | `quantity_deprecated` | `api.ScuttleResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 54 | `quantity` | `api.ScuttleResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 55 | `reagents` | `api.ScuttleResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 56 | `skyhook` | `api.GetTheftVulnerabilityStatusRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 57 | `vulnerable` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerable` | bool (cpp: uint32) | optional (required in proto3) | +| 58 | `vulnerability_start` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 59 | `vulnerability_end` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 60 | `theft_vulnerability` | `api.GetTheftVulnerabilityStatusResponse.theft_vulnerability` | message (cpp: message) → `gettheftvulnerabilitystatusresponsetheftvulnerability` | optional (required in proto3) | +| 61 | `unknown` | `api.GetTheftVulnerabilityStatusResponse.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 62 | `viewer` | `api.IsAuthorizedToViewAllForCorporationRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 63 | `owner` | `api.IsAuthorizedToViewAllForCorporationRequest.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 64 | `authorized` | `api.IsAuthorizedToViewAllForCorporationResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 65 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 66 | `skyhook` | `api.GetForCorporationResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 67 | `planet` | `api.GetForCorporationResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 68 | `solar_system` | `api.GetForCorporationResponse.Skyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 69 | `skyhooks` | `api.GetForCorporationResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 70 | `solar_systems` | `api.GetSolarSystemsWithTheftVulnerableSkyhooksResponse.solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | +| 71 | `skyhook` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 72 | `planet` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 73 | `solar_system` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 74 | `expiry` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 75 | `start` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 76 | `skyhooks` | `api.GetAllTheftVulnerableSkyhooksResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | + +--- + +##### skyhooks + +- **完整名称**: `eve.sovereignty.skyhook.api.GetForCorporationResponse.skyhooks` +- **内部变量名**: `GETFORCORPORATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetSolarSystemsWithTheftVulnerableSkyhooksRequest + +- **完整名称**: `eve.sovereignty.skyhook.api.GetSolarSystemsWithTheftVulnerableSkyhooksRequest` +- **内部变量名**: `GETSOLARSYSTEMSWITHTHEFTVULNERABLESKYHOOKSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_systems + +- **完整名称**: `eve.sovereignty.skyhook.api.GetSolarSystemsWithTheftVulnerableSkyhooksResponse.solar_systems` +- **内部变量名**: `GETSOLARSYSTEMSWITHTHEFTVULNERABLESKYHOOKSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetAllTheftVulnerableSkyhooksRequest + +- **完整名称**: `eve.sovereignty.skyhook.api.GetAllTheftVulnerableSkyhooksRequest` +- **内部变量名**: `GETALLTHEFTVULNERABLESKYHOOKSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.skyhook` +- **内部变量名**: `GETALLTHEFTVULNERABLESKYHOOKSRESPONSE_VULNERABLESKYHOOK` +- **字段数量**: 76 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skyhook` | `api.GetRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 2 | `reagent` | `api.GetResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `reagent_type` | `api.GetResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 4 | `maturation` | `api.GetResponse.ReagentSimulation.maturation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.maturationsimulation` | optional (required in proto3) | +| 5 | `harvest` | `api.GetResponse.ReagentSimulation.harvest` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.harvestsimulation` | optional (required in proto3) | +| 6 | `simulation` | `api.GetResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 7 | `reagent` | `api.GetResponse.ReagentDefinition.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 8 | `reagent_type` | `api.GetResponse.ReagentDefinition.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 9 | `definition` | `api.GetResponse.ReagentDefinition.definition` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.definition` | optional (required in proto3) | +| 10 | `skyhook` | `api.GetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 11 | `reagent_simulations` | `api.GetResponse.reagent_simulations` | message (cpp: message) → `getresponsereagentsimulation` | repeated | +| 12 | `active` | `api.GetResponse.active` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `reagent_definitions` | `api.GetResponse.reagent_definitions` | message (cpp: message) → `getresponsereagentdefinition` | repeated | +| 14 | `planet_resources_definitions_version` | `api.GetResponse.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 15 | `effective_workforce` | `api.GetResponse.effective_workforce` | message (cpp: message) → `evedotsovereigntydotskyhookdotworkforcepb2.workforce` | optional (required in proto3) | +| 16 | `planet` | `api.GetResponse.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.GetInSolarSystemRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `skyhook` | `api.GetInSolarSystemResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.GetInSolarSystemResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `corporation` | `api.GetInSolarSystemResponse.Skyhook.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 21 | `skyhooks` | `api.GetInSolarSystemResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 22 | `extractor` | `api.ExtractReagentsRequest.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 23 | `skyhook` | `api.ExtractReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 24 | `ship` | `api.ExtractReagentsRequest.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 25 | `flag` | `api.ExtractReagentsRequest.flag` | message (cpp: message) → `evedotinventorydotinventorypb2.locationflag` | optional (required in proto3) | +| 26 | `quantity` | `api.ExtractReagentsRequest.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `from_secured` | `api.ExtractReagentsRequest.from_secured` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `type` | `api.ExtractReagentsResponse.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 29 | `mature_amount` | `api.ExtractReagentsResponse.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 30 | `reagent` | `api.ExtractReagentsResponse.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 31 | `reagent_type` | `api.ExtractReagentsResponse.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 32 | `amount` | `api.ExtractReagentsResponse.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 33 | `extracted_reagents` | `api.ExtractReagentsResponse.extracted_reagents` | message (cpp: message) → `extractreagentsresponseextractedreagent` | repeated | +| 34 | `character` | `api.IsAuthorizedToManageReagentsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 35 | `skyhook` | `api.IsAuthorizedToManageReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `authorized` | `api.IsAuthorizedToManageReagentsResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 37 | `character` | `api.IsAuthorizedToManageStateRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 38 | `skyhook` | `api.IsAuthorizedToManageStateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 39 | `authorized` | `api.IsAuthorizedToManageStateResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 40 | `character` | `api.VerifyActivationRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 41 | `skyhook` | `api.VerifyActivationRequirementsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 42 | `solar_system` | `api.VerifyActivationRequirementsRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 43 | `skyhook` | `api.StealReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 44 | `thief` | `api.StealReagentsRequest.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 45 | `reagent` | `api.StealReagentsResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 46 | `reagent_type` | `api.StealReagentsResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 47 | `quantity_deprecated` | `api.StealReagentsResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 48 | `quantity` | `api.StealReagentsResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 49 | `reagents` | `api.StealReagentsResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 50 | `skyhook` | `api.ScuttleRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 51 | `reagent` | `api.ScuttleResponse.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 52 | `reagent_type` | `api.ScuttleResponse.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 53 | `quantity_deprecated` | `api.ScuttleResponse.Reagent.quantity_deprecated` | uint32 (cpp: int64) | optional (required in proto3) | +| 54 | `quantity` | `api.ScuttleResponse.Reagent.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 55 | `reagents` | `api.ScuttleResponse.reagents` | message (cpp: message) → `stealreagentsresponsereagent` | repeated | +| 56 | `skyhook` | `api.GetTheftVulnerabilityStatusRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 57 | `vulnerable` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerable` | bool (cpp: uint32) | optional (required in proto3) | +| 58 | `vulnerability_start` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 59 | `vulnerability_end` | `api.GetTheftVulnerabilityStatusResponse.TheftVulnerability.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 60 | `theft_vulnerability` | `api.GetTheftVulnerabilityStatusResponse.theft_vulnerability` | message (cpp: message) → `gettheftvulnerabilitystatusresponsetheftvulnerability` | optional (required in proto3) | +| 61 | `unknown` | `api.GetTheftVulnerabilityStatusResponse.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 62 | `viewer` | `api.IsAuthorizedToViewAllForCorporationRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 63 | `owner` | `api.IsAuthorizedToViewAllForCorporationRequest.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 64 | `authorized` | `api.IsAuthorizedToViewAllForCorporationResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 65 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 66 | `skyhook` | `api.GetForCorporationResponse.Skyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 67 | `planet` | `api.GetForCorporationResponse.Skyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 68 | `solar_system` | `api.GetForCorporationResponse.Skyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 69 | `skyhooks` | `api.GetForCorporationResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | +| 70 | `solar_systems` | `api.GetSolarSystemsWithTheftVulnerableSkyhooksResponse.solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | +| 71 | `skyhook` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 72 | `planet` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 73 | `solar_system` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 74 | `expiry` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 75 | `start` | `api.GetAllTheftVulnerableSkyhooksResponse.VulnerableSkyhook.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 76 | `skyhooks` | `api.GetAllTheftVulnerableSkyhooksResponse.skyhooks` | message (cpp: message) → `getinsolarsystemresponseskyhook` | repeated | + +--- + +##### skyhooks + +- **完整名称**: `eve.sovereignty.skyhook.api.GetAllTheftVulnerableSkyhooksResponse.skyhooks` +- **内部变量名**: `GETALLTHEFTVULNERABLESKYHOOKSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.planet.skyhook` (as `skyhook`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### scheduled_window + +- **完整名称**: `eve.sovereignty.skyhook.api.TheftVulnerabilityWindowStartCommanded.scheduled_window` +- **内部变量名**: `THEFTVULNERABILITYWINDOWSTARTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### scheduled_window + +- **完整名称**: `eve.sovereignty.skyhook.api.TheftVulnerabilityWindowEndCommanded.scheduled_window` +- **内部变量名**: `THEFTVULNERABILITYWINDOWENDCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.UpdateDefinitionsCommanded.skyhook` +- **内部变量名**: `UPDATEDEFINITIONSCOMMANDED` +- **字段数量**: 10 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `scheduled_window` | `api.TheftVulnerabilityWindowStartCommanded.scheduled_window` | bytes (cpp: string) | optional (required in proto3) | +| 2 | `skyhook` | `api.TheftVulnerabilityWindowStartCommanded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 3 | `start_at` | `api.TheftVulnerabilityWindowStartCommanded.start_at` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `end_at` | `api.TheftVulnerabilityWindowStartCommanded.end_at` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 5 | `scheduled_window` | `api.TheftVulnerabilityWindowEndCommanded.scheduled_window` | bytes (cpp: string) | optional (required in proto3) | +| 6 | `skyhook` | `api.TheftVulnerabilityWindowEndCommanded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 7 | `skyhook` | `api.UpdateDefinitionsCommanded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `planet_resources_definitions_version` | `api.UpdateDefinitionsCommanded.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 9 | `update_time` | `api.UpdateDefinitionsCommanded.update_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 10 | `skyhook` | `api.ScheduleTheftVulnerabilityWindowCommanded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.ScheduleTheftVulnerabilityWindowCommanded.skyhook` +- **内部变量名**: `SCHEDULETHEFTVULNERABILITYWINDOWCOMMANDED` +- **字段数量**: 10 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `scheduled_window` | `api.TheftVulnerabilityWindowStartCommanded.scheduled_window` | bytes (cpp: string) | optional (required in proto3) | +| 2 | `skyhook` | `api.TheftVulnerabilityWindowStartCommanded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 3 | `start_at` | `api.TheftVulnerabilityWindowStartCommanded.start_at` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `end_at` | `api.TheftVulnerabilityWindowStartCommanded.end_at` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 5 | `scheduled_window` | `api.TheftVulnerabilityWindowEndCommanded.scheduled_window` | bytes (cpp: string) | optional (required in proto3) | +| 6 | `skyhook` | `api.TheftVulnerabilityWindowEndCommanded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 7 | `skyhook` | `api.UpdateDefinitionsCommanded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `planet_resources_definitions_version` | `api.UpdateDefinitionsCommanded.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 9 | `update_time` | `api.UpdateDefinitionsCommanded.update_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 10 | `skyhook` | `api.ScheduleTheftVulnerabilityWindowCommanded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.inventory` (as `generic_item_type`) +- `eve.planet` (as `planet`) +- `eve.planet.skyhook` (as `skyhook`) +- `eve.ship` (as `ship`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.resource.planet` (as `reagent`) +- `eve.sovereignty.resource.planet.reagent.itemtype` (as `identifier`) + +#### 📝 消息类型定义 + +**消息类型数量**: 12 + +##### type + +- **完整名称**: `eve.sovereignty.skyhook.api.ReagentsStolen.StolenReagent.type` +- **内部变量名**: `REAGENTSSTOLEN_STOLENREAGENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.ReagentsStolen.skyhook` +- **内部变量名**: `REAGENTSSTOLEN` +- **字段数量**: 51 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `type` | `api.ReagentsStolen.StolenReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 2 | `immature_amount` | `api.ReagentsStolen.StolenReagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `mature_amount` | `api.ReagentsStolen.StolenReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 4 | `reagent` | `api.ReagentsStolen.StolenReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 5 | `reagent_type` | `api.ReagentsStolen.StolenReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 6 | `amount` | `api.ReagentsStolen.StolenReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 7 | `skyhook` | `api.ReagentsStolen.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `thief` | `api.ReagentsStolen.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `planet` | `api.ReagentsStolen.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 10 | `stolen_reagents` | `api.ReagentsStolen.stolen_reagents` | message (cpp: message) → `reagentsstolenstolenreagent` | repeated | +| 11 | `type` | `api.ReagentsExtracted.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `mature_amount` | `api.ReagentsExtracted.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `reagent` | `api.ReagentsExtracted.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 14 | `reagent_type` | `api.ReagentsExtracted.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 15 | `amount` | `api.ReagentsExtracted.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 16 | `skyhook` | `api.ReagentsExtracted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `extractor` | `api.ReagentsExtracted.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `ship` | `api.ReagentsExtracted.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.ReagentsExtracted.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `extracted_reagents` | `api.ReagentsExtracted.extracted_reagents` | message (cpp: message) → `reagentsextractedextractedreagent` | repeated | +| 21 | `type` | `api.Scuttled.Reagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `immature_amount` | `api.Scuttled.Reagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 23 | `mature_amount` | `api.Scuttled.Reagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 24 | `reagent` | `api.Scuttled.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `reagent_type` | `api.Scuttled.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 26 | `secured_amount` | `api.Scuttled.Reagent.secured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `unsecured_amount` | `api.Scuttled.Reagent.unsecured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 28 | `skyhook` | `api.Scuttled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 29 | `planet` | `api.Scuttled.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 30 | `reagents` | `api.Scuttled.reagents` | message (cpp: message) → `scuttledreagent` | repeated | +| 31 | `skyhook` | `api.Activated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 32 | `character` | `api.Activated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 33 | `admin` | `api.Activated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 34 | `onlining` | `api.Activated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 35 | `skyhook` | `api.Deactivated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `character` | `api.Deactivated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 37 | `admin` | `api.Deactivated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 38 | `onlining` | `api.Deactivated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `solar_system` | `api.TheftVulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `skyhook` | `api.TheftVulnerabilityWindowScheduled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 41 | `start_time` | `api.TheftVulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 42 | `end_time` | `api.TheftVulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 43 | `solar_system` | `api.TheftVulnerabilityWindowStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 44 | `skyhook` | `api.TheftVulnerabilityWindowStarted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 45 | `end_time` | `api.TheftVulnerabilityWindowStarted.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 46 | `solar_system` | `api.TheftVulnerabilityWindowEnded.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 47 | `skyhook` | `api.TheftVulnerabilityWindowEnded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 48 | `skyhook` | `api.DefinitionsUpdated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 49 | `planet_resources_definitions_version` | `api.DefinitionsUpdated.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 50 | `simulation` | `api.DefinitionsUpdated.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 51 | `solar_system` | `api.DefinitionsUpdated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | + +--- + +##### type + +- **完整名称**: `eve.sovereignty.skyhook.api.ReagentsExtracted.ExtractedReagent.type` +- **内部变量名**: `REAGENTSEXTRACTED_EXTRACTEDREAGENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.ReagentsExtracted.skyhook` +- **内部变量名**: `REAGENTSEXTRACTED` +- **字段数量**: 51 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `type` | `api.ReagentsStolen.StolenReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 2 | `immature_amount` | `api.ReagentsStolen.StolenReagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `mature_amount` | `api.ReagentsStolen.StolenReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 4 | `reagent` | `api.ReagentsStolen.StolenReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 5 | `reagent_type` | `api.ReagentsStolen.StolenReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 6 | `amount` | `api.ReagentsStolen.StolenReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 7 | `skyhook` | `api.ReagentsStolen.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `thief` | `api.ReagentsStolen.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `planet` | `api.ReagentsStolen.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 10 | `stolen_reagents` | `api.ReagentsStolen.stolen_reagents` | message (cpp: message) → `reagentsstolenstolenreagent` | repeated | +| 11 | `type` | `api.ReagentsExtracted.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `mature_amount` | `api.ReagentsExtracted.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `reagent` | `api.ReagentsExtracted.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 14 | `reagent_type` | `api.ReagentsExtracted.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 15 | `amount` | `api.ReagentsExtracted.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 16 | `skyhook` | `api.ReagentsExtracted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `extractor` | `api.ReagentsExtracted.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `ship` | `api.ReagentsExtracted.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.ReagentsExtracted.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `extracted_reagents` | `api.ReagentsExtracted.extracted_reagents` | message (cpp: message) → `reagentsextractedextractedreagent` | repeated | +| 21 | `type` | `api.Scuttled.Reagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `immature_amount` | `api.Scuttled.Reagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 23 | `mature_amount` | `api.Scuttled.Reagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 24 | `reagent` | `api.Scuttled.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `reagent_type` | `api.Scuttled.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 26 | `secured_amount` | `api.Scuttled.Reagent.secured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `unsecured_amount` | `api.Scuttled.Reagent.unsecured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 28 | `skyhook` | `api.Scuttled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 29 | `planet` | `api.Scuttled.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 30 | `reagents` | `api.Scuttled.reagents` | message (cpp: message) → `scuttledreagent` | repeated | +| 31 | `skyhook` | `api.Activated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 32 | `character` | `api.Activated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 33 | `admin` | `api.Activated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 34 | `onlining` | `api.Activated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 35 | `skyhook` | `api.Deactivated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `character` | `api.Deactivated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 37 | `admin` | `api.Deactivated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 38 | `onlining` | `api.Deactivated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `solar_system` | `api.TheftVulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `skyhook` | `api.TheftVulnerabilityWindowScheduled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 41 | `start_time` | `api.TheftVulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 42 | `end_time` | `api.TheftVulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 43 | `solar_system` | `api.TheftVulnerabilityWindowStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 44 | `skyhook` | `api.TheftVulnerabilityWindowStarted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 45 | `end_time` | `api.TheftVulnerabilityWindowStarted.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 46 | `solar_system` | `api.TheftVulnerabilityWindowEnded.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 47 | `skyhook` | `api.TheftVulnerabilityWindowEnded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 48 | `skyhook` | `api.DefinitionsUpdated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 49 | `planet_resources_definitions_version` | `api.DefinitionsUpdated.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 50 | `simulation` | `api.DefinitionsUpdated.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 51 | `solar_system` | `api.DefinitionsUpdated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | + +--- + +##### type + +- **完整名称**: `eve.sovereignty.skyhook.api.Scuttled.Reagent.type` +- **内部变量名**: `SCUTTLED_REAGENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.Scuttled.skyhook` +- **内部变量名**: `SCUTTLED` +- **字段数量**: 51 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `type` | `api.ReagentsStolen.StolenReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 2 | `immature_amount` | `api.ReagentsStolen.StolenReagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `mature_amount` | `api.ReagentsStolen.StolenReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 4 | `reagent` | `api.ReagentsStolen.StolenReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 5 | `reagent_type` | `api.ReagentsStolen.StolenReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 6 | `amount` | `api.ReagentsStolen.StolenReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 7 | `skyhook` | `api.ReagentsStolen.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `thief` | `api.ReagentsStolen.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `planet` | `api.ReagentsStolen.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 10 | `stolen_reagents` | `api.ReagentsStolen.stolen_reagents` | message (cpp: message) → `reagentsstolenstolenreagent` | repeated | +| 11 | `type` | `api.ReagentsExtracted.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `mature_amount` | `api.ReagentsExtracted.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `reagent` | `api.ReagentsExtracted.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 14 | `reagent_type` | `api.ReagentsExtracted.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 15 | `amount` | `api.ReagentsExtracted.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 16 | `skyhook` | `api.ReagentsExtracted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `extractor` | `api.ReagentsExtracted.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `ship` | `api.ReagentsExtracted.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.ReagentsExtracted.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `extracted_reagents` | `api.ReagentsExtracted.extracted_reagents` | message (cpp: message) → `reagentsextractedextractedreagent` | repeated | +| 21 | `type` | `api.Scuttled.Reagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `immature_amount` | `api.Scuttled.Reagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 23 | `mature_amount` | `api.Scuttled.Reagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 24 | `reagent` | `api.Scuttled.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `reagent_type` | `api.Scuttled.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 26 | `secured_amount` | `api.Scuttled.Reagent.secured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `unsecured_amount` | `api.Scuttled.Reagent.unsecured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 28 | `skyhook` | `api.Scuttled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 29 | `planet` | `api.Scuttled.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 30 | `reagents` | `api.Scuttled.reagents` | message (cpp: message) → `scuttledreagent` | repeated | +| 31 | `skyhook` | `api.Activated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 32 | `character` | `api.Activated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 33 | `admin` | `api.Activated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 34 | `onlining` | `api.Activated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 35 | `skyhook` | `api.Deactivated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `character` | `api.Deactivated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 37 | `admin` | `api.Deactivated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 38 | `onlining` | `api.Deactivated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `solar_system` | `api.TheftVulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `skyhook` | `api.TheftVulnerabilityWindowScheduled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 41 | `start_time` | `api.TheftVulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 42 | `end_time` | `api.TheftVulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 43 | `solar_system` | `api.TheftVulnerabilityWindowStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 44 | `skyhook` | `api.TheftVulnerabilityWindowStarted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 45 | `end_time` | `api.TheftVulnerabilityWindowStarted.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 46 | `solar_system` | `api.TheftVulnerabilityWindowEnded.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 47 | `skyhook` | `api.TheftVulnerabilityWindowEnded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 48 | `skyhook` | `api.DefinitionsUpdated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 49 | `planet_resources_definitions_version` | `api.DefinitionsUpdated.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 50 | `simulation` | `api.DefinitionsUpdated.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 51 | `solar_system` | `api.DefinitionsUpdated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.Activated.skyhook` +- **内部变量名**: `ACTIVATED` +- **字段数量**: 51 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `type` | `api.ReagentsStolen.StolenReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 2 | `immature_amount` | `api.ReagentsStolen.StolenReagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `mature_amount` | `api.ReagentsStolen.StolenReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 4 | `reagent` | `api.ReagentsStolen.StolenReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 5 | `reagent_type` | `api.ReagentsStolen.StolenReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 6 | `amount` | `api.ReagentsStolen.StolenReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 7 | `skyhook` | `api.ReagentsStolen.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `thief` | `api.ReagentsStolen.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `planet` | `api.ReagentsStolen.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 10 | `stolen_reagents` | `api.ReagentsStolen.stolen_reagents` | message (cpp: message) → `reagentsstolenstolenreagent` | repeated | +| 11 | `type` | `api.ReagentsExtracted.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `mature_amount` | `api.ReagentsExtracted.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `reagent` | `api.ReagentsExtracted.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 14 | `reagent_type` | `api.ReagentsExtracted.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 15 | `amount` | `api.ReagentsExtracted.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 16 | `skyhook` | `api.ReagentsExtracted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `extractor` | `api.ReagentsExtracted.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `ship` | `api.ReagentsExtracted.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.ReagentsExtracted.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `extracted_reagents` | `api.ReagentsExtracted.extracted_reagents` | message (cpp: message) → `reagentsextractedextractedreagent` | repeated | +| 21 | `type` | `api.Scuttled.Reagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `immature_amount` | `api.Scuttled.Reagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 23 | `mature_amount` | `api.Scuttled.Reagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 24 | `reagent` | `api.Scuttled.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `reagent_type` | `api.Scuttled.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 26 | `secured_amount` | `api.Scuttled.Reagent.secured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `unsecured_amount` | `api.Scuttled.Reagent.unsecured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 28 | `skyhook` | `api.Scuttled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 29 | `planet` | `api.Scuttled.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 30 | `reagents` | `api.Scuttled.reagents` | message (cpp: message) → `scuttledreagent` | repeated | +| 31 | `skyhook` | `api.Activated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 32 | `character` | `api.Activated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 33 | `admin` | `api.Activated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 34 | `onlining` | `api.Activated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 35 | `skyhook` | `api.Deactivated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `character` | `api.Deactivated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 37 | `admin` | `api.Deactivated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 38 | `onlining` | `api.Deactivated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `solar_system` | `api.TheftVulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `skyhook` | `api.TheftVulnerabilityWindowScheduled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 41 | `start_time` | `api.TheftVulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 42 | `end_time` | `api.TheftVulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 43 | `solar_system` | `api.TheftVulnerabilityWindowStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 44 | `skyhook` | `api.TheftVulnerabilityWindowStarted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 45 | `end_time` | `api.TheftVulnerabilityWindowStarted.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 46 | `solar_system` | `api.TheftVulnerabilityWindowEnded.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 47 | `skyhook` | `api.TheftVulnerabilityWindowEnded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 48 | `skyhook` | `api.DefinitionsUpdated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 49 | `planet_resources_definitions_version` | `api.DefinitionsUpdated.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 50 | `simulation` | `api.DefinitionsUpdated.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 51 | `solar_system` | `api.DefinitionsUpdated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.Deactivated.skyhook` +- **内部变量名**: `DEACTIVATED` +- **字段数量**: 51 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `type` | `api.ReagentsStolen.StolenReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 2 | `immature_amount` | `api.ReagentsStolen.StolenReagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `mature_amount` | `api.ReagentsStolen.StolenReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 4 | `reagent` | `api.ReagentsStolen.StolenReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 5 | `reagent_type` | `api.ReagentsStolen.StolenReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 6 | `amount` | `api.ReagentsStolen.StolenReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 7 | `skyhook` | `api.ReagentsStolen.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `thief` | `api.ReagentsStolen.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `planet` | `api.ReagentsStolen.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 10 | `stolen_reagents` | `api.ReagentsStolen.stolen_reagents` | message (cpp: message) → `reagentsstolenstolenreagent` | repeated | +| 11 | `type` | `api.ReagentsExtracted.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `mature_amount` | `api.ReagentsExtracted.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `reagent` | `api.ReagentsExtracted.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 14 | `reagent_type` | `api.ReagentsExtracted.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 15 | `amount` | `api.ReagentsExtracted.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 16 | `skyhook` | `api.ReagentsExtracted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `extractor` | `api.ReagentsExtracted.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `ship` | `api.ReagentsExtracted.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.ReagentsExtracted.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `extracted_reagents` | `api.ReagentsExtracted.extracted_reagents` | message (cpp: message) → `reagentsextractedextractedreagent` | repeated | +| 21 | `type` | `api.Scuttled.Reagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `immature_amount` | `api.Scuttled.Reagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 23 | `mature_amount` | `api.Scuttled.Reagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 24 | `reagent` | `api.Scuttled.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `reagent_type` | `api.Scuttled.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 26 | `secured_amount` | `api.Scuttled.Reagent.secured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `unsecured_amount` | `api.Scuttled.Reagent.unsecured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 28 | `skyhook` | `api.Scuttled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 29 | `planet` | `api.Scuttled.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 30 | `reagents` | `api.Scuttled.reagents` | message (cpp: message) → `scuttledreagent` | repeated | +| 31 | `skyhook` | `api.Activated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 32 | `character` | `api.Activated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 33 | `admin` | `api.Activated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 34 | `onlining` | `api.Activated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 35 | `skyhook` | `api.Deactivated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `character` | `api.Deactivated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 37 | `admin` | `api.Deactivated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 38 | `onlining` | `api.Deactivated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `solar_system` | `api.TheftVulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `skyhook` | `api.TheftVulnerabilityWindowScheduled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 41 | `start_time` | `api.TheftVulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 42 | `end_time` | `api.TheftVulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 43 | `solar_system` | `api.TheftVulnerabilityWindowStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 44 | `skyhook` | `api.TheftVulnerabilityWindowStarted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 45 | `end_time` | `api.TheftVulnerabilityWindowStarted.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 46 | `solar_system` | `api.TheftVulnerabilityWindowEnded.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 47 | `skyhook` | `api.TheftVulnerabilityWindowEnded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 48 | `skyhook` | `api.DefinitionsUpdated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 49 | `planet_resources_definitions_version` | `api.DefinitionsUpdated.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 50 | `simulation` | `api.DefinitionsUpdated.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 51 | `solar_system` | `api.DefinitionsUpdated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.skyhook.api.TheftVulnerabilityWindowScheduled.solar_system` +- **内部变量名**: `THEFTVULNERABILITYWINDOWSCHEDULED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.skyhook.api.TheftVulnerabilityWindowStarted.solar_system` +- **内部变量名**: `THEFTVULNERABILITYWINDOWSTARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.skyhook.api.TheftVulnerabilityWindowEnded.solar_system` +- **内部变量名**: `THEFTVULNERABILITYWINDOWENDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.api.DefinitionsUpdated.skyhook` +- **内部变量名**: `DEFINITIONSUPDATED` +- **字段数量**: 51 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `type` | `api.ReagentsStolen.StolenReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 2 | `immature_amount` | `api.ReagentsStolen.StolenReagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `mature_amount` | `api.ReagentsStolen.StolenReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 4 | `reagent` | `api.ReagentsStolen.StolenReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 5 | `reagent_type` | `api.ReagentsStolen.StolenReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 6 | `amount` | `api.ReagentsStolen.StolenReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 7 | `skyhook` | `api.ReagentsStolen.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `thief` | `api.ReagentsStolen.thief` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `planet` | `api.ReagentsStolen.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 10 | `stolen_reagents` | `api.ReagentsStolen.stolen_reagents` | message (cpp: message) → `reagentsstolenstolenreagent` | repeated | +| 11 | `type` | `api.ReagentsExtracted.ExtractedReagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `mature_amount` | `api.ReagentsExtracted.ExtractedReagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `reagent` | `api.ReagentsExtracted.ExtractedReagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 14 | `reagent_type` | `api.ReagentsExtracted.ExtractedReagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 15 | `amount` | `api.ReagentsExtracted.ExtractedReagent.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 16 | `skyhook` | `api.ReagentsExtracted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 17 | `extractor` | `api.ReagentsExtracted.extractor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 18 | `ship` | `api.ReagentsExtracted.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 19 | `planet` | `api.ReagentsExtracted.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 20 | `extracted_reagents` | `api.ReagentsExtracted.extracted_reagents` | message (cpp: message) → `reagentsextractedextractedreagent` | repeated | +| 21 | `type` | `api.Scuttled.Reagent.type` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `immature_amount` | `api.Scuttled.Reagent.immature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 23 | `mature_amount` | `api.Scuttled.Reagent.mature_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 24 | `reagent` | `api.Scuttled.Reagent.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `reagent_type` | `api.Scuttled.Reagent.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 26 | `secured_amount` | `api.Scuttled.Reagent.secured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 27 | `unsecured_amount` | `api.Scuttled.Reagent.unsecured_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 28 | `skyhook` | `api.Scuttled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 29 | `planet` | `api.Scuttled.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 30 | `reagents` | `api.Scuttled.reagents` | message (cpp: message) → `scuttledreagent` | repeated | +| 31 | `skyhook` | `api.Activated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 32 | `character` | `api.Activated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 33 | `admin` | `api.Activated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 34 | `onlining` | `api.Activated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 35 | `skyhook` | `api.Deactivated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 36 | `character` | `api.Deactivated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 37 | `admin` | `api.Deactivated.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 38 | `onlining` | `api.Deactivated.onlining` | bool (cpp: uint32) | optional (required in proto3) | +| 39 | `solar_system` | `api.TheftVulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 40 | `skyhook` | `api.TheftVulnerabilityWindowScheduled.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 41 | `start_time` | `api.TheftVulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 42 | `end_time` | `api.TheftVulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 43 | `solar_system` | `api.TheftVulnerabilityWindowStarted.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 44 | `skyhook` | `api.TheftVulnerabilityWindowStarted.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 45 | `end_time` | `api.TheftVulnerabilityWindowStarted.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 46 | `solar_system` | `api.TheftVulnerabilityWindowEnded.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 47 | `skyhook` | `api.TheftVulnerabilityWindowEnded.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 48 | `skyhook` | `api.DefinitionsUpdated.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 49 | `planet_resources_definitions_version` | `api.DefinitionsUpdated.planet_resources_definitions_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 50 | `simulation` | `api.DefinitionsUpdated.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 51 | `solar_system` | `api.DefinitionsUpdated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.corporation` (as `corporation`) +- `eve.inventory` (as `generic_item_type`) +- `eve.planet` (as `planet`) +- `eve.planet.skyhook` (as `skyhook`) +- `eve.quasar.admin` (as `admin`) +- `eve.sovereignty.resource.planet` (as `reagent`) +- `eve.sovereignty.resource.planet.reagent.itemtype` (as `identifier`) + +#### 📝 消息类型定义 + +**消息类型数量**: 12 + +##### planet + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.GetAtPlanetRequest.planet` +- **内部变量名**: `GETATPLANETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.GetAtPlanetResponse.skyhook` +- **内部变量名**: `GETATPLANETRESPONSE` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `admin.api.GetAtPlanetRequest.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `admin.api.GetAtPlanetRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `skyhook` | `admin.api.GetAtPlanetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `corporation` | `admin.api.GetAtPlanetResponse.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `admin.api.ActivateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `admin.api.ActivateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `skyhook` | `admin.api.DeactivateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `context` | `admin.api.DeactivateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `reagent` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 10 | `reagent_type` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 11 | `secured_stock` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.secured_stock` | uint32 (cpp: int64) | optional (required in proto3) | +| 12 | `unsecured_stock` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.unsecured_stock` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `now` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.now` | bool (cpp: uint32) | optional (required in proto3) | +| 14 | `timestamp` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 15 | `skyhook` | `admin.api.ModifyReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 16 | `reagents` | `admin.api.ModifyReagentsRequest.reagents` | message (cpp: message) → `modifyreagentsrequestreagentssimulationstate` | repeated | +| 17 | `context` | `admin.api.ModifyReagentsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `reagent` | `admin.api.ModifyReagentsResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 19 | `reagent_type` | `admin.api.ModifyReagentsResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 20 | `simulation` | `admin.api.ModifyReagentsResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 21 | `reagent_simulations` | `admin.api.ModifyReagentsResponse.reagent_simulations` | message (cpp: message) → `modifyreagentsresponsereagentsimulation` | repeated | +| 22 | `skyhook` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `vulnerability_start` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 24 | `vulnerability_end` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 25 | `context` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.ActivateRequest.skyhook` +- **内部变量名**: `ACTIVATEREQUEST` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `admin.api.GetAtPlanetRequest.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `admin.api.GetAtPlanetRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `skyhook` | `admin.api.GetAtPlanetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `corporation` | `admin.api.GetAtPlanetResponse.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `admin.api.ActivateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `admin.api.ActivateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `skyhook` | `admin.api.DeactivateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `context` | `admin.api.DeactivateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `reagent` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 10 | `reagent_type` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 11 | `secured_stock` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.secured_stock` | uint32 (cpp: int64) | optional (required in proto3) | +| 12 | `unsecured_stock` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.unsecured_stock` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `now` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.now` | bool (cpp: uint32) | optional (required in proto3) | +| 14 | `timestamp` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 15 | `skyhook` | `admin.api.ModifyReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 16 | `reagents` | `admin.api.ModifyReagentsRequest.reagents` | message (cpp: message) → `modifyreagentsrequestreagentssimulationstate` | repeated | +| 17 | `context` | `admin.api.ModifyReagentsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `reagent` | `admin.api.ModifyReagentsResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 19 | `reagent_type` | `admin.api.ModifyReagentsResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 20 | `simulation` | `admin.api.ModifyReagentsResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 21 | `reagent_simulations` | `admin.api.ModifyReagentsResponse.reagent_simulations` | message (cpp: message) → `modifyreagentsresponsereagentsimulation` | repeated | +| 22 | `skyhook` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `vulnerability_start` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 24 | `vulnerability_end` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 25 | `context` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### ActivateResponse + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.ActivateResponse` +- **内部变量名**: `ACTIVATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.DeactivateRequest.skyhook` +- **内部变量名**: `DEACTIVATEREQUEST` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `admin.api.GetAtPlanetRequest.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `admin.api.GetAtPlanetRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `skyhook` | `admin.api.GetAtPlanetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `corporation` | `admin.api.GetAtPlanetResponse.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `admin.api.ActivateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `admin.api.ActivateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `skyhook` | `admin.api.DeactivateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `context` | `admin.api.DeactivateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `reagent` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 10 | `reagent_type` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 11 | `secured_stock` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.secured_stock` | uint32 (cpp: int64) | optional (required in proto3) | +| 12 | `unsecured_stock` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.unsecured_stock` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `now` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.now` | bool (cpp: uint32) | optional (required in proto3) | +| 14 | `timestamp` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 15 | `skyhook` | `admin.api.ModifyReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 16 | `reagents` | `admin.api.ModifyReagentsRequest.reagents` | message (cpp: message) → `modifyreagentsrequestreagentssimulationstate` | repeated | +| 17 | `context` | `admin.api.ModifyReagentsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `reagent` | `admin.api.ModifyReagentsResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 19 | `reagent_type` | `admin.api.ModifyReagentsResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 20 | `simulation` | `admin.api.ModifyReagentsResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 21 | `reagent_simulations` | `admin.api.ModifyReagentsResponse.reagent_simulations` | message (cpp: message) → `modifyreagentsresponsereagentsimulation` | repeated | +| 22 | `skyhook` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `vulnerability_start` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 24 | `vulnerability_end` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 25 | `context` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### DeactivateResponse + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.DeactivateResponse` +- **内部变量名**: `DEACTIVATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### reagent + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent` +- **内部变量名**: `MODIFYREAGENTSREQUEST_REAGENTSSIMULATIONSTATE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.ModifyReagentsRequest.skyhook` +- **内部变量名**: `MODIFYREAGENTSREQUEST` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `admin.api.GetAtPlanetRequest.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `admin.api.GetAtPlanetRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `skyhook` | `admin.api.GetAtPlanetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `corporation` | `admin.api.GetAtPlanetResponse.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `admin.api.ActivateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `admin.api.ActivateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `skyhook` | `admin.api.DeactivateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `context` | `admin.api.DeactivateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `reagent` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 10 | `reagent_type` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 11 | `secured_stock` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.secured_stock` | uint32 (cpp: int64) | optional (required in proto3) | +| 12 | `unsecured_stock` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.unsecured_stock` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `now` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.now` | bool (cpp: uint32) | optional (required in proto3) | +| 14 | `timestamp` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 15 | `skyhook` | `admin.api.ModifyReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 16 | `reagents` | `admin.api.ModifyReagentsRequest.reagents` | message (cpp: message) → `modifyreagentsrequestreagentssimulationstate` | repeated | +| 17 | `context` | `admin.api.ModifyReagentsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `reagent` | `admin.api.ModifyReagentsResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 19 | `reagent_type` | `admin.api.ModifyReagentsResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 20 | `simulation` | `admin.api.ModifyReagentsResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 21 | `reagent_simulations` | `admin.api.ModifyReagentsResponse.reagent_simulations` | message (cpp: message) → `modifyreagentsresponsereagentsimulation` | repeated | +| 22 | `skyhook` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `vulnerability_start` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 24 | `vulnerability_end` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 25 | `context` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### reagent + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.ModifyReagentsResponse.ReagentSimulation.reagent` +- **内部变量名**: `MODIFYREAGENTSRESPONSE_REAGENTSIMULATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### reagent_simulations + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.ModifyReagentsResponse.reagent_simulations` +- **内部变量名**: `MODIFYREAGENTSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.ScheduleTheftVulnerabilityWindowRequest.skyhook` +- **内部变量名**: `SCHEDULETHEFTVULNERABILITYWINDOWREQUEST` +- **字段数量**: 25 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `planet` | `admin.api.GetAtPlanetRequest.planet` | message (cpp: message) → `evedotplanetdotplanetpb2.identifier` | optional (required in proto3) | +| 2 | `context` | `admin.api.GetAtPlanetRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `skyhook` | `admin.api.GetAtPlanetResponse.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 4 | `corporation` | `admin.api.GetAtPlanetResponse.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 5 | `skyhook` | `admin.api.ActivateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `admin.api.ActivateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `skyhook` | `admin.api.DeactivateRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 8 | `context` | `admin.api.DeactivateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `reagent` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 10 | `reagent_type` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 11 | `secured_stock` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.secured_stock` | uint32 (cpp: int64) | optional (required in proto3) | +| 12 | `unsecured_stock` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.unsecured_stock` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `now` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.now` | bool (cpp: uint32) | optional (required in proto3) | +| 14 | `timestamp` | `admin.api.ModifyReagentsRequest.ReagentsSimulationState.timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 15 | `skyhook` | `admin.api.ModifyReagentsRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 16 | `reagents` | `admin.api.ModifyReagentsRequest.reagents` | message (cpp: message) → `modifyreagentsrequestreagentssimulationstate` | repeated | +| 17 | `context` | `admin.api.ModifyReagentsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 18 | `reagent` | `admin.api.ModifyReagentsResponse.ReagentSimulation.reagent` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 19 | `reagent_type` | `admin.api.ModifyReagentsResponse.ReagentSimulation.reagent_type` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentdotitemtypedotidentifierpb2.identifier` | optional (required in proto3) | +| 20 | `simulation` | `admin.api.ModifyReagentsResponse.ReagentSimulation.simulation` | message (cpp: message) → `evedotsovereigntydotresourcedotplanetdotreagentpb2.simulation` | optional (required in proto3) | +| 21 | `reagent_simulations` | `admin.api.ModifyReagentsResponse.reagent_simulations` | message (cpp: message) → `modifyreagentsresponsereagentsimulation` | repeated | +| 22 | `skyhook` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `vulnerability_start` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.vulnerability_start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 24 | `vulnerability_end` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.vulnerability_end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 25 | `context` | `admin.api.ScheduleTheftVulnerabilityWindowRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### ScheduleTheftVulnerabilityWindowResponse + +- **完整名称**: `eve.sovereignty.skyhook.admin.api.ScheduleTheftVulnerabilityWindowResponse` +- **内部变量名**: `SCHEDULETHEFTVULNERABILITYWINDOWRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.dungeon` (as `dungeon`) +- `eve.localization` (as `message`) +- `eve.sovereignty.mercenaryden.activity.activitytemplate` (as `activitytemplate`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### GetAllRequest + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.activitytemplate.api.GetAllRequest` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definitions + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.activitytemplate.api.GetAllResponse.definitions` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### name + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.activitytemplate.api.GetByLocalizedNameRequest.name` +- **内部变量名**: `GETBYLOCALIZEDNAMEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definition + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.activitytemplate.api.GetByLocalizedNameResponse.definition` +- **内部变量名**: `GETBYLOCALIZEDNAMERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### dungeon + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.activitytemplate.api.GetByDungeonRequest.dungeon` +- **内部变量名**: `GETBYDUNGEONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definition + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.activitytemplate.api.GetByDungeonResponse.definition` +- **内部变量名**: `GETBYDUNGEONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.mercenaryden.activity` (as `activity`) +- `eve.sovereignty.mercenaryden` (as `mercenaryden`) + +#### 📝 消息类型定义 + +**消息类型数量**: 10 + +##### character + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.ValidateCharacterStartRequest.character` +- **内部变量名**: `VALIDATECHARACTERSTARTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### valid + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.ValidateCharacterStartResponse.valid` +- **内部变量名**: `VALIDATECHARACTERSTARTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.GetForSolarSystemRequest.solar_system` +- **内部变量名**: `GETFORSOLARSYSTEMREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.GetForSolarSystemResponse.Activity.id` +- **内部变量名**: `GETFORSOLARSYSTEMRESPONSE_ACTIVITY` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### activities + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.GetForSolarSystemResponse.activities` +- **内部变量名**: `GETFORSOLARSYSTEMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.GetForCharacterRequest.character` +- **内部变量名**: `GETFORCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.GetForCharacterResponse.Activity.id` +- **内部变量名**: `GETFORCHARACTERRESPONSE_ACTIVITY` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### activities + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.GetForCharacterResponse.activities` +- **内部变量名**: `GETFORCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.GetRequest.id` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### activity + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.GetResponse.activity` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.ValidateCharacterStartRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `mercenary_den` | `api.ValidateCharacterStartRequest.mercenary_den` | message (cpp: message) → `evedotsovereigntydotmercenarydendotmercenarydenpb2.identifier` | optional (required in proto3) | +| 3 | `solar_system` | `api.ValidateCharacterStartRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 4 | `valid` | `api.ValidateCharacterStartResponse.valid` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `solar_system` | `api.GetForSolarSystemRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 6 | `id` | `api.GetForSolarSystemResponse.Activity.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 7 | `activity` | `api.GetForSolarSystemResponse.Activity.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.attributes` | optional (required in proto3) | +| 8 | `activities` | `api.GetForSolarSystemResponse.activities` | message (cpp: message) → `getforsolarsystemresponseactivity` | repeated | +| 9 | `character` | `api.GetForCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 10 | `id` | `api.GetForCharacterResponse.Activity.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 11 | `activity` | `api.GetForCharacterResponse.Activity.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.attributes` | optional (required in proto3) | +| 12 | `activities` | `api.GetForCharacterResponse.activities` | message (cpp: message) → `getforsolarsystemresponseactivity` | repeated | +| 13 | `id` | `api.GetRequest.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 14 | `activity` | `api.GetResponse.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.attributes` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.dungeon` (as `dungeon`) +- `eve.planet` (as `planet`) +- `eve.quasar.scheduler` (as `schedule`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.mercenaryden.activity` (as `activity`) +- `eve.sovereignty.mercenaryden` (as `mercenaryden`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### solar_system + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.AddDungeonSpawnPointCommanded.solar_system` +- **内部变量名**: `ADDDUNGEONSPAWNPOINTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.RemoveDungeonSpawnPointCommanded.solar_system` +- **内部变量名**: `REMOVEDUNGEONSPAWNPOINTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.GenerateCommanded.mercenary_den` +- **内部变量名**: `GENERATECOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.ExpiryCommanded.mercenary_den` +- **内部变量名**: `EXPIRYCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.mercenaryden.activity` (as `activity`) +- `eve.sovereignty.mercenaryden` (as `mercenaryden`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.Added.id` +- **内部变量名**: `ADDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.ExpiryChanged.mercenary_den` +- **内部变量名**: `EXPIRYCHANGED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.Started.mercenary_den` +- **内部变量名**: `STARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.Completed.mercenary_den` +- **内部变量名**: `COMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.Removed.mercenary_den` +- **内部变量名**: `REMOVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) +- `eve.sovereignty.mercenaryden.activity` (as `activity`) +- `eve.sovereignty.mercenaryden.activity.activitytemplate` (as `activitytemplate`) +- `eve.sovereignty.mercenaryden` (as `mercenaryden`) + +#### 📝 消息类型定义 + +**消息类型数量**: 12 + +##### activity + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.ExpireRequest.activity` +- **内部变量名**: `EXPIREREQUEST` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `activity` | `api.admin.ExpireRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.admin.ExpireRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `activity` | `api.admin.StartRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 4 | `context` | `api.admin.StartRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `activity` | `api.admin.CompleteRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 6 | `context` | `api.admin.CompleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `mercenary_den` | `api.admin.TriggerRegenerationRequest.mercenary_den` | message (cpp: message) → `evedotsovereigntydotmercenarydendotmercenarydenpb2.identifier` | optional (required in proto3) | +| 8 | `context` | `api.admin.TriggerRegenerationRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `id` | `api.admin.TriggerRegenerationResponse.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 10 | `activity` | `api.admin.TriggerRegenerationResponse.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 11 | `mercenary_den` | `api.admin.CreateRequest.mercenary_den` | message (cpp: message) → `evedotsovereigntydotmercenarydendotmercenarydenpb2.identifier` | optional (required in proto3) | +| 12 | `activitytemplate` | `api.admin.CreateRequest.activitytemplate` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitytemplatedotactivitytemplatepb2.definition` | optional (required in proto3) | +| 13 | `context` | `api.admin.CreateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 14 | `id` | `api.admin.CreateResponse.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 15 | `activity` | `api.admin.CreateResponse.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 16 | `activity` | `api.admin.ModifyExpiryRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 17 | `new_expiry` | `api.admin.ModifyExpiryRequest.new_expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `context` | `api.admin.ModifyExpiryRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### ExpireResponse + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.ExpireResponse` +- **内部变量名**: `EXPIRERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### activity + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.StartRequest.activity` +- **内部变量名**: `STARTREQUEST` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `activity` | `api.admin.ExpireRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.admin.ExpireRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `activity` | `api.admin.StartRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 4 | `context` | `api.admin.StartRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `activity` | `api.admin.CompleteRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 6 | `context` | `api.admin.CompleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `mercenary_den` | `api.admin.TriggerRegenerationRequest.mercenary_den` | message (cpp: message) → `evedotsovereigntydotmercenarydendotmercenarydenpb2.identifier` | optional (required in proto3) | +| 8 | `context` | `api.admin.TriggerRegenerationRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `id` | `api.admin.TriggerRegenerationResponse.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 10 | `activity` | `api.admin.TriggerRegenerationResponse.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 11 | `mercenary_den` | `api.admin.CreateRequest.mercenary_den` | message (cpp: message) → `evedotsovereigntydotmercenarydendotmercenarydenpb2.identifier` | optional (required in proto3) | +| 12 | `activitytemplate` | `api.admin.CreateRequest.activitytemplate` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitytemplatedotactivitytemplatepb2.definition` | optional (required in proto3) | +| 13 | `context` | `api.admin.CreateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 14 | `id` | `api.admin.CreateResponse.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 15 | `activity` | `api.admin.CreateResponse.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 16 | `activity` | `api.admin.ModifyExpiryRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 17 | `new_expiry` | `api.admin.ModifyExpiryRequest.new_expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `context` | `api.admin.ModifyExpiryRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### StartResponse + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.StartResponse` +- **内部变量名**: `STARTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### activity + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.CompleteRequest.activity` +- **内部变量名**: `COMPLETEREQUEST` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `activity` | `api.admin.ExpireRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.admin.ExpireRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `activity` | `api.admin.StartRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 4 | `context` | `api.admin.StartRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `activity` | `api.admin.CompleteRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 6 | `context` | `api.admin.CompleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `mercenary_den` | `api.admin.TriggerRegenerationRequest.mercenary_den` | message (cpp: message) → `evedotsovereigntydotmercenarydendotmercenarydenpb2.identifier` | optional (required in proto3) | +| 8 | `context` | `api.admin.TriggerRegenerationRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `id` | `api.admin.TriggerRegenerationResponse.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 10 | `activity` | `api.admin.TriggerRegenerationResponse.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 11 | `mercenary_den` | `api.admin.CreateRequest.mercenary_den` | message (cpp: message) → `evedotsovereigntydotmercenarydendotmercenarydenpb2.identifier` | optional (required in proto3) | +| 12 | `activitytemplate` | `api.admin.CreateRequest.activitytemplate` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitytemplatedotactivitytemplatepb2.definition` | optional (required in proto3) | +| 13 | `context` | `api.admin.CreateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 14 | `id` | `api.admin.CreateResponse.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 15 | `activity` | `api.admin.CreateResponse.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 16 | `activity` | `api.admin.ModifyExpiryRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 17 | `new_expiry` | `api.admin.ModifyExpiryRequest.new_expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `context` | `api.admin.ModifyExpiryRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### CompleteResponse + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.CompleteResponse` +- **内部变量名**: `COMPLETERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.TriggerRegenerationRequest.mercenary_den` +- **内部变量名**: `TRIGGERREGENERATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.TriggerRegenerationResponse.id` +- **内部变量名**: `TRIGGERREGENERATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.CreateRequest.mercenary_den` +- **内部变量名**: `CREATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.CreateResponse.id` +- **内部变量名**: `CREATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### activity + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.ModifyExpiryRequest.activity` +- **内部变量名**: `MODIFYEXPIRYREQUEST` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `activity` | `api.admin.ExpireRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 2 | `context` | `api.admin.ExpireRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 3 | `activity` | `api.admin.StartRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 4 | `context` | `api.admin.StartRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `activity` | `api.admin.CompleteRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 6 | `context` | `api.admin.CompleteRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `mercenary_den` | `api.admin.TriggerRegenerationRequest.mercenary_den` | message (cpp: message) → `evedotsovereigntydotmercenarydendotmercenarydenpb2.identifier` | optional (required in proto3) | +| 8 | `context` | `api.admin.TriggerRegenerationRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `id` | `api.admin.TriggerRegenerationResponse.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 10 | `activity` | `api.admin.TriggerRegenerationResponse.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 11 | `mercenary_den` | `api.admin.CreateRequest.mercenary_den` | message (cpp: message) → `evedotsovereigntydotmercenarydendotmercenarydenpb2.identifier` | optional (required in proto3) | +| 12 | `activitytemplate` | `api.admin.CreateRequest.activitytemplate` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitytemplatedotactivitytemplatepb2.definition` | optional (required in proto3) | +| 13 | `context` | `api.admin.CreateRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 14 | `id` | `api.admin.CreateResponse.id` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 15 | `activity` | `api.admin.CreateResponse.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 16 | `activity` | `api.admin.ModifyExpiryRequest.activity` | message (cpp: message) → `evedotsovereigntydotmercenarydendotactivitydotactivitypb2.identifier` | optional (required in proto3) | +| 17 | `new_expiry` | `api.admin.ModifyExpiryRequest.new_expiry` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 18 | `context` | `api.admin.ModifyExpiryRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### ModifyExpiryResponse + +- **完整名称**: `eve.sovereignty.mercenaryden.activity.api.admin.ModifyExpiryResponse` +- **内部变量名**: `MODIFYEXPIRYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.inventory` (as `inventory`) +- `eve.planet.skyhook` (as `skyhook`) +- `eve.ship` (as `ship`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.mercenaryden` (as `evolution`) +- `eve.sovereignty.mercenaryden.infomorph.itemtype` (as `identifier`) +- `eve.sovereignty.mercenaryden` (as `infomorphs`) +- `eve.sovereignty.mercenaryden` (as `mercenaryden`) +- `eve.sovereignty.mercenaryden` (as `mercenaryden_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 22 + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetRequest.id` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skyhook + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetForSkyhookRequest.skyhook` +- **内部变量名**: `GETFORSKYHOOKREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetForSkyhookResponse.MercenaryDen.id` +- **内部变量名**: `GETFORSKYHOOKRESPONSE_MERCENARYDEN` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### no_mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetForSkyhookResponse.no_mercenary_den` +- **内部变量名**: `GETFORSKYHOOKRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetAllForCharacterRequest.character` +- **内部变量名**: `GETALLFORCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetAllForCharacterResponse.MercenaryDen.id` +- **内部变量名**: `GETALLFORCHARACTERRESPONSE_MERCENARYDEN` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_dens + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetAllForCharacterResponse.mercenary_dens` +- **内部变量名**: `GETALLFORCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetMaximumForCharacterRequest.character` +- **内部变量名**: `GETMAXIMUMFORCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### quantity + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetMaximumForCharacterResponse.quantity` +- **内部变量名**: `GETMAXIMUMFORCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.mercenaryden.api.ValidateRegistrationRequest.character` +- **内部变量名**: `VALIDATEREGISTRATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### failure + +- **完整名称**: `eve.sovereignty.mercenaryden.api.ValidateRegistrationResponse.failure` +- **内部变量名**: `VALIDATEREGISTRATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.RegisterRequest.id` +- **内部变量名**: `REGISTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### validation_failure + +- **完整名称**: `eve.sovereignty.mercenaryden.api.RegisterResponse.validation_failure` +- **内部变量名**: `REGISTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.ScuttleRequest.id` +- **内部变量名**: `SCUTTLEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### infomorphs + +- **完整名称**: `eve.sovereignty.mercenaryden.api.ScuttleResponse.infomorphs` +- **内部变量名**: `SCUTTLERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetInfomorphsRequest.id` +- **内部变量名**: `GETINFOMORPHSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### infomorphs + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetInfomorphsResponse.infomorphs` +- **内部变量名**: `GETINFOMORPHSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### extractor + +- **完整名称**: `eve.sovereignty.mercenaryden.api.ExtractInfomorphsRequest.extractor` +- **内部变量名**: `EXTRACTINFOMORPHSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### infomorphs + +- **完整名称**: `eve.sovereignty.mercenaryden.api.ExtractInfomorphsResponse.infomorphs` +- **内部变量名**: `EXTRACTINFOMORPHSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetReinforcementStatusRequest.id` +- **内部变量名**: `GETREINFORCEMENTSTATUSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### reinforced + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GetReinforcementStatusResponse.reinforced` +- **内部变量名**: `GETREINFORCEMENTSTATUSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.scheduler` (as `schedule`) +- `eve.sovereignty.mercenaryden` (as `mercenaryden`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.CalculateEvolutionStageCommmanded.mercenary_den` +- **内部变量名**: `CALCULATEEVOLUTIONSTAGECOMMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.GenerateInfomorphsCommanded.mercenary_den` +- **内部变量名**: `GENERATEINFOMORPHSCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.VerifyStateCommanded.mercenary_den` +- **内部变量名**: `VERIFYSTATECOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.inventory` (as `inventory`) +- `eve.planet.skyhook` (as `skyhook`) +- `eve.ship` (as `ship`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.mercenaryden` (as `evolution`) +- `eve.sovereignty.mercenaryden.infomorph` (as `stack`) +- `eve.sovereignty.mercenaryden` (as `mercenaryden`) + +#### 📝 消息类型定义 + +**消息类型数量**: 19 + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.Registered.id` +- **内部变量名**: `REGISTERED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.Unregistered.id` +- **内部变量名**: `UNREGISTERED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.Activated.id` +- **内部变量名**: `ACTIVATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.Enabled.id` +- **内部变量名**: `ENABLED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.Disabled.id` +- **内部变量名**: `DISABLED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.Scuttled.id` +- **内部变量名**: `SCUTTLED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.DevelopmentStageChanged.mercenary_den` +- **内部变量名**: `DEVELOPMENTSTAGECHANGED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.AnarchyStageChanged.mercenary_den` +- **内部变量名**: `ANARCHYSTAGECHANGED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.EvolutionModified.mercenary_den` +- **内部变量名**: `EVOLUTIONMODIFIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.EvolutionPaused.mercenary_den` +- **内部变量名**: `EVOLUTIONPAUSED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.EvolutionStarted.mercenary_den` +- **内部变量名**: `EVOLUTIONSTARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.InfomorphsGenerated.mercenary_den` +- **内部变量名**: `INFOMORPHSGENERATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.InfomorphsBonusAwarded.mercenary_den` +- **内部变量名**: `INFOMORPHSBONUSAWARDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### extractor + +- **完整名称**: `eve.sovereignty.mercenaryden.api.InfomorphsExtracted.extractor` +- **内部变量名**: `INFOMORPHSEXTRACTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.EnteredReinforcement.mercenary_den` +- **内部变量名**: `ENTEREDREINFORCEMENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.ExitedReinforcement.mercenary_den` +- **内部变量名**: `EXITEDREINFORCEMENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.Scooped.id` +- **内部变量名**: `SCOOPED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.Destroyed.id` +- **内部变量名**: `DESTROYED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.mercenaryden.api.Removed.id` +- **内部变量名**: `REMOVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.sovereignty.mercenaryden` (as `mercenaryden`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.admin.InfomorphsModified.mercenary_den` +- **内部变量名**: `INFOMORPHSMODIFIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) +- `eve.sovereignty.mercenaryden` (as `evolution`) +- `eve.sovereignty.mercenaryden` (as `mercenaryden`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.admin.ModifyAnarchyLevelRequest.mercenary_den` +- **内部变量名**: `MODIFYANARCHYLEVELREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### simulation + +- **完整名称**: `eve.sovereignty.mercenaryden.api.admin.ModifyAnarchyLevelResponse.simulation` +- **内部变量名**: `MODIFYANARCHYLEVELRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.admin.ModifyDevelopmentLevelRequest.mercenary_den` +- **内部变量名**: `MODIFYDEVELOPMENTLEVELREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### simulation + +- **完整名称**: `eve.sovereignty.mercenaryden.api.admin.ModifyDevelopmentLevelResponse.simulation` +- **内部变量名**: `MODIFYDEVELOPMENTLEVELRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### mercenary_den + +- **完整名称**: `eve.sovereignty.mercenaryden.api.admin.ModifyInfomorphsRequest.mercenary_den` +- **内部变量名**: `MODIFYINFOMORPHSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ModifyInfomorphsResponse + +- **完整名称**: `eve.sovereignty.mercenaryden.api.admin.ModifyInfomorphsResponse` +- **内部变量名**: `MODIFYINFOMORPHSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### solarsystem + +- **完整名称**: `eve.sovereignty.activitydefensemodifier.api.GetLevelRequest.solarsystem` +- **内部变量名**: `GETLEVELREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### level + +- **完整名称**: `eve.sovereignty.activitydefensemodifier.api.GetLevelResponse.level` +- **内部变量名**: `GETLEVELRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### solarsystem + +- **完整名称**: `eve.sovereignty.activitydefensemodifier.api.Increased.solarsystem` +- **内部变量名**: `INCREASED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solarsystem + +- **完整名称**: `eve.sovereignty.activitydefensemodifier.api.Decreased.solarsystem` +- **内部变量名**: `DECREASED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.alliance` (as `alliance`) +- `eve.corporation` (as `corporation`) +- `eve.faction` (as `faction`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub` (as `hub`) +- `eve.sovereignty` (as `infrastructurehub`) +- `eve.sovereignty` (as `versionmanifest`) + +#### 📝 消息类型定义 + +**消息类型数量**: 13 + +##### solar_system + +- **完整名称**: `eve.sovereignty.api.GetClaimRequest.solar_system` +- **内部变量名**: `GETCLAIMREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### alliance + +- **完整名称**: `eve.sovereignty.api.GetClaimResponse.Claim.alliance` +- **内部变量名**: `GETCLAIMRESPONSE_CLAIM` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### unclaimed + +- **完整名称**: `eve.sovereignty.api.GetClaimResponse.unclaimed` +- **内部变量名**: `GETCLAIMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetVersionManifestRequest + +- **完整名称**: `eve.sovereignty.api.GetVersionManifestRequest` +- **内部变量名**: `GETVERSIONMANIFESTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version_manifest + +- **完整名称**: `eve.sovereignty.api.GetVersionManifestResponse.version_manifest` +- **内部变量名**: `GETVERSIONMANIFESTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetAllClaimsRequest + +- **完整名称**: `eve.sovereignty.api.GetAllClaimsRequest` +- **内部变量名**: `GETALLCLAIMSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### faction + +- **完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.FactionClaim.faction` +- **内部变量名**: `GETALLCLAIMSRESPONSE_FACTIONCLAIM` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### start + +- **完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.AllianceClaim.VulnerabilityWindow.start` +- **内部变量名**: `GETALLCLAIMSRESPONSE_ALLIANCECLAIM_VULNERABILITYWINDOW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.AllianceClaim.SovereigntyHub.id` +- **内部变量名**: `GETALLCLAIMSRESPONSE_ALLIANCECLAIM_SOVEREIGNTYHUB` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### military_index + +- **完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.AllianceClaim.Development.military_index` +- **内部变量名**: `GETALLCLAIMSRESPONSE_ALLIANCECLAIM_DEVELOPMENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### alliance + +- **完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.AllianceClaim.alliance` +- **内部变量名**: `GETALLCLAIMSRESPONSE_ALLIANCECLAIM` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.SolarSystemClaim.solar_system` +- **内部变量名**: `GETALLCLAIMSRESPONSE_SOLARSYSTEMCLAIM` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_systems + +- **完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.solar_systems` +- **内部变量名**: `GETALLCLAIMSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.alliance` (as `alliance`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub` (as `hub`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### solarsystem + +- **完整名称**: `eve.sovereignty.api.Claimed.solarsystem` +- **内部变量名**: `CLAIMED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solarsystem + +- **完整名称**: `eve.sovereignty.api.Lost.solarsystem` +- **内部变量名**: `LOST` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) +- `eve.sovereignty` (as `versionmanifest`) + +#### 📝 消息类型定义 + +**消息类型数量**: 11 + +##### version_manifest + +- **完整名称**: `eve.sovereignty.api.admin.SetVersionManifestRequest.version_manifest` +- **内部变量名**: `SETVERSIONMANIFESTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetVersionManifestResponse + +- **完整名称**: `eve.sovereignty.api.admin.SetVersionManifestResponse` +- **内部变量名**: `SETVERSIONMANIFESTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version_manifest + +- **完整名称**: `eve.sovereignty.api.admin.ScheduleVersionManifestUpdateRequest.version_manifest` +- **内部变量名**: `SCHEDULEVERSIONMANIFESTUPDATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.sovereignty.api.admin.ScheduleVersionManifestUpdateResponse.update_uuid` +- **内部变量名**: `SCHEDULEVERSIONMANIFESTUPDATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.sovereignty.api.admin.CancelScheduledManifestUpdateRequest.update_uuid` +- **内部变量名**: `CANCELSCHEDULEDMANIFESTUPDATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CancelScheduledManifestUpdateResponse + +- **完整名称**: `eve.sovereignty.api.admin.CancelScheduledManifestUpdateResponse` +- **内部变量名**: `CANCELSCHEDULEDMANIFESTUPDATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetScheduledVersionManifestUpdatesRequest + +- **完整名称**: `eve.sovereignty.api.admin.GetScheduledVersionManifestUpdatesRequest` +- **内部变量名**: `GETSCHEDULEDVERSIONMANIFESTUPDATESREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.sovereignty.api.admin.GetScheduledVersionManifestUpdatesResponse.ScheduledUpdate.update_uuid` +- **内部变量名**: `GETSCHEDULEDVERSIONMANIFESTUPDATESRESPONSE_SCHEDULEDUPDATE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### scheduled_updates + +- **完整名称**: `eve.sovereignty.api.admin.GetScheduledVersionManifestUpdatesResponse.scheduled_updates` +- **内部变量名**: `GETSCHEDULEDVERSIONMANIFESTUPDATESRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetAvailableVersionsRequest + +- **完整名称**: `eve.sovereignty.api.admin.GetAvailableVersionsRequest` +- **内部变量名**: `GETAVAILABLEVERSIONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### versions + +- **完整名称**: `eve.sovereignty.api.admin.GetAvailableVersionsResponse.versions` +- **内部变量名**: `GETAVAILABLEVERSIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty` (as `versionmanifest`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### solarsystem + +- **完整名称**: `eve.sovereignty.api.SimulateNetworkCommanded.solarsystem` +- **内部变量名**: `SIMULATENETWORKCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.sovereignty.api.VersionManifestUpdateCommanded.update_uuid` +- **内部变量名**: `VERSIONMANIFESTUPDATECOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.sovereignty.resource.planet` (as `planet`) + +#### 📝 消息类型定义 + +**消息类型数量**: 9 + +##### GetDefinitionsConfigurationRequest + +- **完整名称**: `eve.sovereignty.resource.planet.api.GetDefinitionsConfigurationRequest` +- **内部变量名**: `GETDEFINITIONSCONFIGURATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.sovereignty.resource.planet.api.GetDefinitionsConfigurationResponse.PendingDefinitionsUpdate.update_uuid` +- **内部变量名**: `GETDEFINITIONSCONFIGURATIONRESPONSE_PENDINGDEFINITIONSUPDATE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### current_version + +- **完整名称**: `eve.sovereignty.resource.planet.api.GetDefinitionsConfigurationResponse.current_version` +- **内部变量名**: `GETDEFINITIONSCONFIGURATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### known_version + +- **完整名称**: `eve.sovereignty.resource.planet.api.GetAllDefinitionsRequest.known_version` +- **内部变量名**: `GETALLDEFINITIONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definitions + +- **完整名称**: `eve.sovereignty.resource.planet.api.GetAllDefinitionsResponse.definitions` +- **内部变量名**: `GETALLDEFINITIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.sovereignty.resource.planet.api.GetDefinitionsVersionRequest.version` +- **内部变量名**: `GETDEFINITIONSVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definitions + +- **完整名称**: `eve.sovereignty.resource.planet.api.GetDefinitionsVersionResponse.definitions` +- **内部变量名**: `GETDEFINITIONSVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetAllConfigurationsRequest + +- **完整名称**: `eve.sovereignty.resource.planet.api.GetAllConfigurationsRequest` +- **内部变量名**: `GETALLCONFIGURATIONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### configurations + +- **完整名称**: `eve.sovereignty.resource.planet.api.GetAllConfigurationsResponse.configurations` +- **内部变量名**: `GETALLCONFIGURATIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### version + +- **完整名称**: `eve.sovereignty.resource.planet.api.admin.ScheduleDefinitionsUpdateRequest.version` +- **内部变量名**: `SCHEDULEDEFINITIONSUPDATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.sovereignty.resource.planet.api.admin.ScheduleDefinitionsUpdateResponse.update_uuid` +- **内部变量名**: `SCHEDULEDEFINITIONSUPDATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.sovereignty.resource.planet.api.admin.CancelScheduledDefinitionsUpdateRequest.update_uuid` +- **内部变量名**: `CANCELSCHEDULEDDEFINITIONSUPDATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CancelScheduledDefinitionsUpdateResponse + +- **完整名称**: `eve.sovereignty.resource.planet.api.admin.CancelScheduledDefinitionsUpdateResponse` +- **内部变量名**: `CANCELSCHEDULEDDEFINITIONSUPDATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.sovereignty.resource.star` (as `star`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### GetAllConfigurationsRequest + +- **完整名称**: `eve.sovereignty.resource.star.api.GetAllConfigurationsRequest` +- **内部变量名**: `GETALLCONFIGURATIONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### configurations + +- **完整名称**: `eve.sovereignty.resource.star.api.GetAllConfigurationsResponse.configurations` +- **内部变量名**: `GETALLCONFIGURATIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.inventory` (as `generic_item`) +- `eve.inventory` (as `generic_item_type`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub` (as `hub`) + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### hub + +- **完整名称**: `eve.sovereignty.hub.fuel.api.GetRequest.hub` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 15 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `fuel.api.GetRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `fuel_type` | `fuel.api.GetResponse.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `amount` | `fuel.api.GetResponse.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 4 | `burned_per_hour` | `fuel.api.GetResponse.Fuel.burned_per_hour` | uint32 (cpp: int64) | optional (required in proto3) | +| 5 | `fuels` | `fuel.api.GetResponse.fuels` | message (cpp: message) → `getresponsefuel` | repeated | +| 6 | `last_updated` | `fuel.api.GetResponse.last_updated` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 7 | `character` | `fuel.api.IsAuthorizedToManageRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `hub` | `fuel.api.IsAuthorizedToManageRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 9 | `authorized` | `fuel.api.IsAuthorizedToManageResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `character` | `fuel.api.VerifyAddRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 11 | `hub` | `fuel.api.VerifyAddRequirementsRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 12 | `sovereignty` | `fuel.api.VerifyAddRequirementsRequest.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 13 | `fuel_item` | `fuel.api.VerifyAddRequirementsRequest.fuel_item` | message (cpp: message) → `evedotinventorydotgenericitempb2.identifier` | optional (required in proto3) | +| 14 | `amount` | `fuel.api.VerifyAddRequirementsRequest.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 15 | `fuel_type` | `fuel.api.VerifyAddRequirementsResponse.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | + +--- + +##### fuel_type + +- **完整名称**: `eve.sovereignty.hub.fuel.api.GetResponse.Fuel.fuel_type` +- **内部变量名**: `GETRESPONSE_FUEL` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### fuels + +- **完整名称**: `eve.sovereignty.hub.fuel.api.GetResponse.fuels` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.hub.fuel.api.IsAuthorizedToManageRequest.character` +- **内部变量名**: `ISAUTHORIZEDTOMANAGEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### authorized + +- **完整名称**: `eve.sovereignty.hub.fuel.api.IsAuthorizedToManageResponse.authorized` +- **内部变量名**: `ISAUTHORIZEDTOMANAGERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.hub.fuel.api.VerifyAddRequirementsRequest.character` +- **内部变量名**: `VERIFYADDREQUIREMENTSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### fuel_type + +- **完整名称**: `eve.sovereignty.hub.fuel.api.VerifyAddRequirementsResponse.fuel_type` +- **内部变量名**: `VERIFYADDREQUIREMENTSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.inventory` (as `generic_item_type`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub` (as `hub`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### sovereignty + +- **完整名称**: `eve.sovereignty.hub.fuel.api.Added.sovereignty` +- **内部变量名**: `ADDED` +- **字段数量**: 13 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `sovereignty` | `hub.fuel.api.Added.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 2 | `amount` | `hub.fuel.api.Added.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `fuel_type` | `hub.fuel.api.Added.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 4 | `admin` | `hub.fuel.api.Added.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `character` | `hub.fuel.api.Added.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `hub` | `hub.fuel.api.Added.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 7 | `sovereignty` | `hub.fuel.api.RemovedByAdmin.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 8 | `amount` | `hub.fuel.api.RemovedByAdmin.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 9 | `fuel_type` | `hub.fuel.api.RemovedByAdmin.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 10 | `hub` | `hub.fuel.api.RemovedByAdmin.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 11 | `sovereignty` | `hub.fuel.api.Depleted.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 12 | `fuel_type` | `hub.fuel.api.Depleted.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 13 | `hub` | `hub.fuel.api.Depleted.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +##### sovereignty + +- **完整名称**: `eve.sovereignty.hub.fuel.api.RemovedByAdmin.sovereignty` +- **内部变量名**: `REMOVEDBYADMIN` +- **字段数量**: 13 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `sovereignty` | `hub.fuel.api.Added.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 2 | `amount` | `hub.fuel.api.Added.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `fuel_type` | `hub.fuel.api.Added.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 4 | `admin` | `hub.fuel.api.Added.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `character` | `hub.fuel.api.Added.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `hub` | `hub.fuel.api.Added.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 7 | `sovereignty` | `hub.fuel.api.RemovedByAdmin.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 8 | `amount` | `hub.fuel.api.RemovedByAdmin.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 9 | `fuel_type` | `hub.fuel.api.RemovedByAdmin.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 10 | `hub` | `hub.fuel.api.RemovedByAdmin.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 11 | `sovereignty` | `hub.fuel.api.Depleted.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 12 | `fuel_type` | `hub.fuel.api.Depleted.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 13 | `hub` | `hub.fuel.api.Depleted.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +##### sovereignty + +- **完整名称**: `eve.sovereignty.hub.fuel.api.Depleted.sovereignty` +- **内部变量名**: `DEPLETED` +- **字段数量**: 13 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `sovereignty` | `hub.fuel.api.Added.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 2 | `amount` | `hub.fuel.api.Added.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `fuel_type` | `hub.fuel.api.Added.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 4 | `admin` | `hub.fuel.api.Added.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `character` | `hub.fuel.api.Added.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `hub` | `hub.fuel.api.Added.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 7 | `sovereignty` | `hub.fuel.api.RemovedByAdmin.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 8 | `amount` | `hub.fuel.api.RemovedByAdmin.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 9 | `fuel_type` | `hub.fuel.api.RemovedByAdmin.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 10 | `hub` | `hub.fuel.api.RemovedByAdmin.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 11 | `sovereignty` | `hub.fuel.api.Depleted.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 12 | `fuel_type` | `hub.fuel.api.Depleted.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 13 | `hub` | `hub.fuel.api.Depleted.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.inventory` (as `generic_item_type`) +- `eve.quasar.admin` (as `admin`) +- `eve.sovereignty.hub` (as `hub`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### hub + +- **完整名称**: `eve.sovereignty.hub.fuel.api.admin.SetRequest.hub` +- **内部变量名**: `SETREQUEST` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `fuel.api.admin.SetRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `amount` | `fuel.api.admin.SetRequest.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `fuel_type` | `fuel.api.admin.SetRequest.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 4 | `context` | `fuel.api.admin.SetRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### SetResponse + +- **完整名称**: `eve.sovereignty.hub.fuel.api.admin.SetResponse` +- **内部变量名**: `SETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.dungeon` (as `dungeon`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub.upgrade.dungeon` (as `radius_distribution`) +- `eve.sovereignty.hub.upgrade.dungeon` (as `radius_dungeon`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.AddRadiusDungeonSpawnPointCommanded.solar_system` +- **内部变量名**: `ADDRADIUSDUNGEONSPAWNPOINTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.RemoveRadiusDungeonSpawnPointCommanded.solar_system` +- **内部变量名**: `REMOVERADIUSDUNGEONSPAWNPOINTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### dungeon_instance + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.ExpireRadiusDungeonCommanded.dungeon_instance` +- **内部变量名**: `EXPIRERADIUSDUNGEONCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### dungeon_instance + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.RespawnRadiusDungeonCommanded.dungeon_instance` +- **内部变量名**: `RESPAWNRADIUSDUNGEONCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.dungeon` (as `dungeon`) +- `eve.quasar.admin` (as `admin`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub.upgrade.dungeon` (as `radius_dungeon`) + +#### 📝 消息类型定义 + +**消息类型数量**: 11 + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.GetRadiusDungeonsRequest.solar_system` +- **内部变量名**: `GETRADIUSDUNGEONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.GetRadiusDungeonsResponse.RadiusDungeon.solar_system` +- **内部变量名**: `GETRADIUSDUNGEONSRESPONSE_RADIUSDUNGEON` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### dungeons + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.GetRadiusDungeonsResponse.dungeons` +- **内部变量名**: `GETRADIUSDUNGEONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.ExpireRequest.solar_system` +- **内部变量名**: `EXPIREREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ExpireResponse + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.ExpireResponse` +- **内部变量名**: `EXPIRERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.ModifyExpiryRequest.solar_system` +- **内部变量名**: `MODIFYEXPIRYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ModifyExpiryResponse + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.ModifyExpiryResponse` +- **内部变量名**: `MODIFYEXPIRYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.RespawnRequest.solar_system` +- **内部变量名**: `RESPAWNREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RespawnResponse + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.RespawnResponse` +- **内部变量名**: `RESPAWNRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.ModifyRespawnRequest.solar_system` +- **内部变量名**: `MODIFYRESPAWNREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ModifyRespawnResponse + +- **完整名称**: `eve.sovereignty.hub.upgrade.dungeon.api.admin.ModifyRespawnResponse` +- **内部变量名**: `MODIFYRESPAWNRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.inventory` (as `generic_item`) +- `eve.inventory` (as `generic_item_type`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub` (as `hub`) +- `eve.sovereignty.hub.upgrade` (as `upgrade`) + +#### 📝 消息类型定义 + +**消息类型数量**: 10 + +##### hub + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.GetHubUpgradesRequest.hub` +- **内部变量名**: `GETHUBUPGRADESREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `upgrade.api.GetHubUpgradesRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `hub_upgrades` | `upgrade.api.GetHubUpgradesResponse.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 3 | `upgrade` | `upgrade.api.GetRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `upgrade.api.GetResponse.attributes` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.attributes` | optional (required in proto3) | +| 5 | `definitions` | `upgrade.api.GetDefinitionsResponse.definitions` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.definition` | repeated | +| 6 | `character` | `upgrade.api.AuthorizeManageRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 7 | `hub` | `upgrade.api.AuthorizeManageRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 8 | `solar_system` | `upgrade.api.AuthorizeManageRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 9 | `character` | `upgrade.api.VerifyInstallRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 10 | `hub` | `upgrade.api.VerifyInstallRequirementsRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 11 | `solar_system` | `upgrade.api.VerifyInstallRequirementsRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 12 | `upgrade_item` | `upgrade.api.VerifyInstallRequirementsRequest.upgrade_item` | message (cpp: message) → `evedotinventorydotgenericitempb2.identifier` | optional (required in proto3) | +| 13 | `upgrade_type` | `upgrade.api.VerifyInstallRequirementsResponse.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 14 | `effect` | `upgrade.api.VerifyInstallRequirementsResponse.effect` | enum (cpp: bool) | optional (required in proto3) | + +--- + +##### hub_upgrades + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.GetHubUpgradesResponse.hub_upgrades` +- **内部变量名**: `GETHUBUPGRADESRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### upgrade + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.GetRequest.upgrade` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `api.GetHubUpgradesRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `hub_upgrades` | `api.GetHubUpgradesResponse.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 3 | `upgrade` | `api.GetRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 4 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.attributes` | optional (required in proto3) | +| 5 | `definitions` | `api.GetDefinitionsResponse.definitions` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.definition` | repeated | +| 6 | `character` | `api.AuthorizeManageRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 7 | `hub` | `api.AuthorizeManageRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 8 | `solar_system` | `api.AuthorizeManageRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 9 | `character` | `api.VerifyInstallRequirementsRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 10 | `hub` | `api.VerifyInstallRequirementsRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 11 | `solar_system` | `api.VerifyInstallRequirementsRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 12 | `upgrade_item` | `api.VerifyInstallRequirementsRequest.upgrade_item` | message (cpp: message) → `evedotinventorydotgenericitempb2.identifier` | optional (required in proto3) | +| 13 | `upgrade_type` | `api.VerifyInstallRequirementsResponse.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 14 | `effect` | `api.VerifyInstallRequirementsResponse.effect` | enum (cpp: bool) | optional (required in proto3) | + +--- + +##### attributes + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetDefinitionsRequest + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.GetDefinitionsRequest` +- **内部变量名**: `GETDEFINITIONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definitions + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.GetDefinitionsResponse.definitions` +- **内部变量名**: `GETDEFINITIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.AuthorizeManageRequest.character` +- **内部变量名**: `AUTHORIZEMANAGEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### AuthorizeManageResponse + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.AuthorizeManageResponse` +- **内部变量名**: `AUTHORIZEMANAGERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.VerifyInstallRequirementsRequest.character` +- **内部变量名**: `VERIFYINSTALLREQUIREMENTSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### upgrade_type + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.VerifyInstallRequirementsResponse.upgrade_type` +- **内部变量名**: `VERIFYINSTALLREQUIREMENTSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.sovereignty.hub` (as `hub`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### hub + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.UpdateDefinitionsCommanded.hub` +- **内部变量名**: `UPDATEDEFINITIONSCOMMANDED` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `upgrade.api.UpdateDefinitionsCommanded.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `upgrades_version` | `upgrade.api.UpdateDefinitionsCommanded.upgrades_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `update_time` | `upgrade.api.UpdateDefinitionsCommanded.update_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.inventory` (as `generic_item_type`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub` (as `hub`) +- `eve.sovereignty.hub.upgrade` (as `upgrade`) + +#### 📝 消息类型定义 + +**消息类型数量**: 9 + +##### hub_upgrades + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.ConfigurationApplied.hub_upgrades` +- **内部变量名**: `CONFIGURATIONAPPLIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### sovereignty + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.Uninstalled.sovereignty` +- **内部变量名**: `UNINSTALLED` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub_upgrades` | `hub.upgrade.api.ConfigurationApplied.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 2 | `admin` | `hub.upgrade.api.ConfigurationApplied.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `character` | `hub.upgrade.api.ConfigurationApplied.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `sovereignty` | `hub.upgrade.api.Uninstalled.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `upgrade` | `hub.upgrade.api.Uninstalled.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 6 | `installation_type` | `hub.upgrade.api.Uninstalled.installation_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 7 | `admin` | `hub.upgrade.api.Uninstalled.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `character` | `hub.upgrade.api.Uninstalled.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `hub` | `hub.upgrade.api.Uninstalled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 10 | `hub_upgrades` | `hub.upgrade.api.HubUpgradesSimulated.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 11 | `upgrade` | `hub.upgrade.api.Activated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 12 | `solar_system` | `hub.upgrade.api.Activated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 13 | `upgrade` | `hub.upgrade.api.Deactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 14 | `solar_system` | `hub.upgrade.api.Deactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 15 | `upgrade` | `hub.upgrade.api.DungeonSpawningActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 16 | `upgrade_type` | `hub.upgrade.api.DungeonSpawningActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `hub.upgrade.api.DungeonSpawningActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `hub` | `hub.upgrade.api.DungeonSpawningActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 19 | `upgrade` | `hub.upgrade.api.DungeonSpawningDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 20 | `upgrade_type` | `hub.upgrade.api.DungeonSpawningDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 21 | `solar_system` | `hub.upgrade.api.DungeonSpawningDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 22 | `hub` | `hub.upgrade.api.DungeonSpawningDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 23 | `upgrade` | `hub.upgrade.api.StructureServiceActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 24 | `upgrade_type` | `hub.upgrade.api.StructureServiceActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `solar_system` | `hub.upgrade.api.StructureServiceActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 26 | `hub` | `hub.upgrade.api.StructureServiceActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 27 | `upgrade` | `hub.upgrade.api.StructureServiceDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 28 | `upgrade_type` | `hub.upgrade.api.StructureServiceDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 29 | `solar_system` | `hub.upgrade.api.StructureServiceDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 30 | `hub` | `hub.upgrade.api.StructureServiceDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +##### hub_upgrades + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.HubUpgradesSimulated.hub_upgrades` +- **内部变量名**: `HUBUPGRADESSIMULATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### upgrade + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.Activated.upgrade` +- **内部变量名**: `ACTIVATED` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub_upgrades` | `api.ConfigurationApplied.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 2 | `admin` | `api.ConfigurationApplied.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `character` | `api.ConfigurationApplied.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `sovereignty` | `api.Uninstalled.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `upgrade` | `api.Uninstalled.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 6 | `installation_type` | `api.Uninstalled.installation_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 7 | `admin` | `api.Uninstalled.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `character` | `api.Uninstalled.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `hub` | `api.Uninstalled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 10 | `hub_upgrades` | `api.HubUpgradesSimulated.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 11 | `upgrade` | `api.Activated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 12 | `solar_system` | `api.Activated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 13 | `upgrade` | `api.Deactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 14 | `solar_system` | `api.Deactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 15 | `upgrade` | `api.DungeonSpawningActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 16 | `upgrade_type` | `api.DungeonSpawningActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.DungeonSpawningActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `hub` | `api.DungeonSpawningActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 19 | `upgrade` | `api.DungeonSpawningDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 20 | `upgrade_type` | `api.DungeonSpawningDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 21 | `solar_system` | `api.DungeonSpawningDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 22 | `hub` | `api.DungeonSpawningDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 23 | `upgrade` | `api.StructureServiceActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 24 | `upgrade_type` | `api.StructureServiceActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `solar_system` | `api.StructureServiceActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 26 | `hub` | `api.StructureServiceActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 27 | `upgrade` | `api.StructureServiceDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 28 | `upgrade_type` | `api.StructureServiceDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 29 | `solar_system` | `api.StructureServiceDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 30 | `hub` | `api.StructureServiceDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +##### upgrade + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.Deactivated.upgrade` +- **内部变量名**: `DEACTIVATED` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub_upgrades` | `api.ConfigurationApplied.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 2 | `admin` | `api.ConfigurationApplied.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `character` | `api.ConfigurationApplied.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `sovereignty` | `api.Uninstalled.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `upgrade` | `api.Uninstalled.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 6 | `installation_type` | `api.Uninstalled.installation_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 7 | `admin` | `api.Uninstalled.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `character` | `api.Uninstalled.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `hub` | `api.Uninstalled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 10 | `hub_upgrades` | `api.HubUpgradesSimulated.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 11 | `upgrade` | `api.Activated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 12 | `solar_system` | `api.Activated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 13 | `upgrade` | `api.Deactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 14 | `solar_system` | `api.Deactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 15 | `upgrade` | `api.DungeonSpawningActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 16 | `upgrade_type` | `api.DungeonSpawningActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.DungeonSpawningActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `hub` | `api.DungeonSpawningActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 19 | `upgrade` | `api.DungeonSpawningDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 20 | `upgrade_type` | `api.DungeonSpawningDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 21 | `solar_system` | `api.DungeonSpawningDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 22 | `hub` | `api.DungeonSpawningDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 23 | `upgrade` | `api.StructureServiceActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 24 | `upgrade_type` | `api.StructureServiceActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `solar_system` | `api.StructureServiceActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 26 | `hub` | `api.StructureServiceActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 27 | `upgrade` | `api.StructureServiceDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 28 | `upgrade_type` | `api.StructureServiceDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 29 | `solar_system` | `api.StructureServiceDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 30 | `hub` | `api.StructureServiceDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +##### upgrade + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.DungeonSpawningActivated.upgrade` +- **内部变量名**: `DUNGEONSPAWNINGACTIVATED` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub_upgrades` | `api.ConfigurationApplied.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 2 | `admin` | `api.ConfigurationApplied.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `character` | `api.ConfigurationApplied.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `sovereignty` | `api.Uninstalled.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `upgrade` | `api.Uninstalled.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 6 | `installation_type` | `api.Uninstalled.installation_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 7 | `admin` | `api.Uninstalled.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `character` | `api.Uninstalled.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `hub` | `api.Uninstalled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 10 | `hub_upgrades` | `api.HubUpgradesSimulated.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 11 | `upgrade` | `api.Activated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 12 | `solar_system` | `api.Activated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 13 | `upgrade` | `api.Deactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 14 | `solar_system` | `api.Deactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 15 | `upgrade` | `api.DungeonSpawningActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 16 | `upgrade_type` | `api.DungeonSpawningActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.DungeonSpawningActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `hub` | `api.DungeonSpawningActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 19 | `upgrade` | `api.DungeonSpawningDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 20 | `upgrade_type` | `api.DungeonSpawningDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 21 | `solar_system` | `api.DungeonSpawningDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 22 | `hub` | `api.DungeonSpawningDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 23 | `upgrade` | `api.StructureServiceActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 24 | `upgrade_type` | `api.StructureServiceActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `solar_system` | `api.StructureServiceActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 26 | `hub` | `api.StructureServiceActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 27 | `upgrade` | `api.StructureServiceDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 28 | `upgrade_type` | `api.StructureServiceDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 29 | `solar_system` | `api.StructureServiceDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 30 | `hub` | `api.StructureServiceDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +##### upgrade + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.DungeonSpawningDeactivated.upgrade` +- **内部变量名**: `DUNGEONSPAWNINGDEACTIVATED` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub_upgrades` | `api.ConfigurationApplied.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 2 | `admin` | `api.ConfigurationApplied.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `character` | `api.ConfigurationApplied.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `sovereignty` | `api.Uninstalled.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `upgrade` | `api.Uninstalled.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 6 | `installation_type` | `api.Uninstalled.installation_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 7 | `admin` | `api.Uninstalled.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `character` | `api.Uninstalled.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `hub` | `api.Uninstalled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 10 | `hub_upgrades` | `api.HubUpgradesSimulated.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 11 | `upgrade` | `api.Activated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 12 | `solar_system` | `api.Activated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 13 | `upgrade` | `api.Deactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 14 | `solar_system` | `api.Deactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 15 | `upgrade` | `api.DungeonSpawningActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 16 | `upgrade_type` | `api.DungeonSpawningActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.DungeonSpawningActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `hub` | `api.DungeonSpawningActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 19 | `upgrade` | `api.DungeonSpawningDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 20 | `upgrade_type` | `api.DungeonSpawningDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 21 | `solar_system` | `api.DungeonSpawningDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 22 | `hub` | `api.DungeonSpawningDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 23 | `upgrade` | `api.StructureServiceActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 24 | `upgrade_type` | `api.StructureServiceActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `solar_system` | `api.StructureServiceActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 26 | `hub` | `api.StructureServiceActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 27 | `upgrade` | `api.StructureServiceDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 28 | `upgrade_type` | `api.StructureServiceDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 29 | `solar_system` | `api.StructureServiceDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 30 | `hub` | `api.StructureServiceDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +##### upgrade + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.StructureServiceActivated.upgrade` +- **内部变量名**: `STRUCTURESERVICEACTIVATED` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub_upgrades` | `api.ConfigurationApplied.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 2 | `admin` | `api.ConfigurationApplied.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `character` | `api.ConfigurationApplied.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `sovereignty` | `api.Uninstalled.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `upgrade` | `api.Uninstalled.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 6 | `installation_type` | `api.Uninstalled.installation_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 7 | `admin` | `api.Uninstalled.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `character` | `api.Uninstalled.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `hub` | `api.Uninstalled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 10 | `hub_upgrades` | `api.HubUpgradesSimulated.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 11 | `upgrade` | `api.Activated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 12 | `solar_system` | `api.Activated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 13 | `upgrade` | `api.Deactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 14 | `solar_system` | `api.Deactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 15 | `upgrade` | `api.DungeonSpawningActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 16 | `upgrade_type` | `api.DungeonSpawningActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.DungeonSpawningActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `hub` | `api.DungeonSpawningActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 19 | `upgrade` | `api.DungeonSpawningDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 20 | `upgrade_type` | `api.DungeonSpawningDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 21 | `solar_system` | `api.DungeonSpawningDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 22 | `hub` | `api.DungeonSpawningDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 23 | `upgrade` | `api.StructureServiceActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 24 | `upgrade_type` | `api.StructureServiceActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `solar_system` | `api.StructureServiceActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 26 | `hub` | `api.StructureServiceActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 27 | `upgrade` | `api.StructureServiceDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 28 | `upgrade_type` | `api.StructureServiceDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 29 | `solar_system` | `api.StructureServiceDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 30 | `hub` | `api.StructureServiceDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +##### upgrade + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.StructureServiceDeactivated.upgrade` +- **内部变量名**: `STRUCTURESERVICEDEACTIVATED` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub_upgrades` | `api.ConfigurationApplied.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 2 | `admin` | `api.ConfigurationApplied.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `character` | `api.ConfigurationApplied.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `sovereignty` | `api.Uninstalled.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `upgrade` | `api.Uninstalled.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 6 | `installation_type` | `api.Uninstalled.installation_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 7 | `admin` | `api.Uninstalled.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `character` | `api.Uninstalled.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `hub` | `api.Uninstalled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 10 | `hub_upgrades` | `api.HubUpgradesSimulated.hub_upgrades` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.hubupgrades` | optional (required in proto3) | +| 11 | `upgrade` | `api.Activated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 12 | `solar_system` | `api.Activated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 13 | `upgrade` | `api.Deactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 14 | `solar_system` | `api.Deactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 15 | `upgrade` | `api.DungeonSpawningActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 16 | `upgrade_type` | `api.DungeonSpawningActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.DungeonSpawningActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `hub` | `api.DungeonSpawningActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 19 | `upgrade` | `api.DungeonSpawningDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 20 | `upgrade_type` | `api.DungeonSpawningDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 21 | `solar_system` | `api.DungeonSpawningDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 22 | `hub` | `api.DungeonSpawningDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 23 | `upgrade` | `api.StructureServiceActivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 24 | `upgrade_type` | `api.StructureServiceActivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `solar_system` | `api.StructureServiceActivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 26 | `hub` | `api.StructureServiceActivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 27 | `upgrade` | `api.StructureServiceDeactivated.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 28 | `upgrade_type` | `api.StructureServiceDeactivated.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 29 | `solar_system` | `api.StructureServiceDeactivated.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 30 | `hub` | `api.StructureServiceDeactivated.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.inventory` (as `generic_item_type`) +- `eve.quasar.admin` (as `admin`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub.upgrade` (as `upgrade`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### sovereignty + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.admin.InstallRequest.sovereignty` +- **内部变量名**: `INSTALLREQUEST` +- **字段数量**: 9 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `sovereignty` | `hub.upgrade.api.admin.InstallRequest.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 2 | `upgrade_type` | `hub.upgrade.api.admin.InstallRequest.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `context` | `hub.upgrade.api.admin.InstallRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 4 | `upgrade` | `hub.upgrade.api.admin.UninstallRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 5 | `context` | `hub.upgrade.api.admin.UninstallRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 6 | `upgrade` | `hub.upgrade.api.admin.OnlineRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 7 | `context` | `hub.upgrade.api.admin.OnlineRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `upgrade` | `hub.upgrade.api.admin.OfflineRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 9 | `context` | `hub.upgrade.api.admin.OfflineRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### InstallResponse + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.admin.InstallResponse` +- **内部变量名**: `INSTALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### upgrade + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.admin.UninstallRequest.upgrade` +- **内部变量名**: `UNINSTALLREQUEST` +- **字段数量**: 9 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `sovereignty` | `api.admin.InstallRequest.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 2 | `upgrade_type` | `api.admin.InstallRequest.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `context` | `api.admin.InstallRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 4 | `upgrade` | `api.admin.UninstallRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 5 | `context` | `api.admin.UninstallRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 6 | `upgrade` | `api.admin.OnlineRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 7 | `context` | `api.admin.OnlineRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `upgrade` | `api.admin.OfflineRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 9 | `context` | `api.admin.OfflineRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### UninstallResponse + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.admin.UninstallResponse` +- **内部变量名**: `UNINSTALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### upgrade + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.admin.OnlineRequest.upgrade` +- **内部变量名**: `ONLINEREQUEST` +- **字段数量**: 9 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `sovereignty` | `api.admin.InstallRequest.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 2 | `upgrade_type` | `api.admin.InstallRequest.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `context` | `api.admin.InstallRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 4 | `upgrade` | `api.admin.UninstallRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 5 | `context` | `api.admin.UninstallRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 6 | `upgrade` | `api.admin.OnlineRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 7 | `context` | `api.admin.OnlineRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `upgrade` | `api.admin.OfflineRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 9 | `context` | `api.admin.OfflineRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### OnlineResponse + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.admin.OnlineResponse` +- **内部变量名**: `ONLINERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### upgrade + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.admin.OfflineRequest.upgrade` +- **内部变量名**: `OFFLINEREQUEST` +- **字段数量**: 9 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `sovereignty` | `api.admin.InstallRequest.sovereignty` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 2 | `upgrade_type` | `api.admin.InstallRequest.upgrade_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 3 | `context` | `api.admin.InstallRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 4 | `upgrade` | `api.admin.UninstallRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 5 | `context` | `api.admin.UninstallRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 6 | `upgrade` | `api.admin.OnlineRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 7 | `context` | `api.admin.OnlineRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 8 | `upgrade` | `api.admin.OfflineRequest.upgrade` | message (cpp: message) → `evedotsovereigntydothubdotupgradedotupgradepb2.identifier` | optional (required in proto3) | +| 9 | `context` | `api.admin.OfflineRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### OfflineResponse + +- **完整名称**: `eve.sovereignty.hub.upgrade.api.admin.OfflineResponse` +- **内部变量名**: `OFFLINERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub` (as `hub`) +- `eve.sovereignty.hub.workforce` (as `workforce`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### character + +- **完整名称**: `eve.sovereignty.hub.workforce.api.IsAuthorizedRequest.character` +- **内部变量名**: `ISAUTHORIZEDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### IsAuthorizedResponse + +- **完整名称**: `eve.sovereignty.hub.workforce.api.IsAuthorizedResponse` +- **内部变量名**: `ISAUTHORIZEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.workforce.api.GetConfigurationRequest.hub` +- **内部变量名**: `GETCONFIGURATIONREQUEST` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `workforce.api.IsAuthorizedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `hub` | `workforce.api.IsAuthorizedRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 3 | `solar_system` | `workforce.api.IsAuthorizedRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 4 | `hub` | `workforce.api.GetConfigurationRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 5 | `configuration` | `workforce.api.GetConfigurationResponse.configuration` | message (cpp: message) → `evedotsovereigntydothubdotworkforcedotworkforcepb2.configuration` | optional (required in proto3) | +| 6 | `hub` | `workforce.api.GetStateRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 7 | `state` | `workforce.api.GetStateResponse.state` | message (cpp: message) → `evedotsovereigntydothubdotworkforcedotworkforcepb2.state` | optional (required in proto3) | + +--- + +##### configuration + +- **完整名称**: `eve.sovereignty.hub.workforce.api.GetConfigurationResponse.configuration` +- **内部变量名**: `GETCONFIGURATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.workforce.api.GetStateRequest.hub` +- **内部变量名**: `GETSTATEREQUEST` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `workforce.api.IsAuthorizedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `hub` | `workforce.api.IsAuthorizedRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 3 | `solar_system` | `workforce.api.IsAuthorizedRequest.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 4 | `hub` | `workforce.api.GetConfigurationRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 5 | `configuration` | `workforce.api.GetConfigurationResponse.configuration` | message (cpp: message) → `evedotsovereigntydothubdotworkforcedotworkforcepb2.configuration` | optional (required in proto3) | +| 6 | `hub` | `workforce.api.GetStateRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 7 | `state` | `workforce.api.GetStateResponse.state` | message (cpp: message) → `evedotsovereigntydothubdotworkforcedotworkforcepb2.state` | optional (required in proto3) | + +--- + +##### state + +- **完整名称**: `eve.sovereignty.hub.workforce.api.GetStateResponse.state` +- **内部变量名**: `GETSTATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub` (as `hub`) +- `eve.sovereignty.hub.workforce` (as `workforce`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.workforce.api.Configured.solar_system` +- **内部变量名**: `CONFIGURED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.workforce.api.StateChanged.solar_system` +- **内部变量名**: `STATECHANGED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### first + +- **完整名称**: `eve.sovereignty.hub.workforce.api.SystemLinkCommanded.first` +- **内部变量名**: `SYSTEMLINKCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### first + +- **完整名称**: `eve.sovereignty.hub.workforce.api.SystemUnlinkCommanded.first` +- **内部变量名**: `SYSTEMUNLINKCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.acl` (as `acl`) +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.inventory` (as `generic_item_type`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub` (as `hub`) + +#### 📝 消息类型定义 + +**消息类型数量**: 17 + +##### character + +- **完整名称**: `eve.sovereignty.hub.api.AuthorizeViewRequest.character` +- **内部变量名**: `AUTHORIZEVIEWREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### authorized + +- **完整名称**: `eve.sovereignty.hub.api.AuthorizeViewResponse.authorized` +- **内部变量名**: `AUTHORIZEVIEWRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.GetRequest.hub` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.AuthorizeViewRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `hub` | `api.AuthorizeViewRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 3 | `authorized` | `api.AuthorizeViewResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `hub` | `api.GetRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 5 | `start` | `api.GetResponse.VulnerabilityWindow.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `end` | `api.GetResponse.VulnerabilityWindow.end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 7 | `occupancy_level` | `api.GetResponse.VulnerabilityWindow.occupancy_level` | float (cpp: int64) | optional (required in proto3) | +| 8 | `solar_system` | `api.GetResponse.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 9 | `owner` | `api.GetResponse.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 10 | `no_acl` | `api.GetResponse.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `acl` | `api.GetResponse.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 12 | `no_window` | `api.GetResponse.no_window` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `window` | `api.GetResponse.window` | message (cpp: message) → `getresponsevulnerabilitywindow` | optional (required in proto3) | +| 14 | `hub` | `api.GetResourcesRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 15 | `available` | `api.GetResourcesResponse.Power.available` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `allocated` | `api.GetResourcesResponse.Power.allocated` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `available` | `api.GetResourcesResponse.Workforce.available` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `allocated` | `api.GetResourcesResponse.Workforce.allocated` | uint64 (cpp: uint64) | optional (required in proto3) | +| 19 | `power` | `api.GetResourcesResponse.power` | message (cpp: message) → `getresourcesresponsepower` | optional (required in proto3) | +| 20 | `workforce` | `api.GetResourcesResponse.workforce` | message (cpp: message) → `getresourcesresponseworkforce` | optional (required in proto3) | +| 21 | `corporation` | `api.GetManagersRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 22 | `managers` | `api.GetManagersResponse.managers` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 23 | `hub` | `api.ScuttleRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 24 | `fuel_type` | `api.ScuttleResponse.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `amount` | `api.ScuttleResponse.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 26 | `fuels` | `api.ScuttleResponse.fuels` | message (cpp: message) → `scuttleresponsefuel` | repeated | +| 27 | `upgrades` | `api.ScuttleResponse.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 28 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.GetForCorporationResponse.Hub.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `solar_system` | `api.GetForCorporationResponse.Hub.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 31 | `hubs` | `api.GetForCorporationResponse.hubs` | message (cpp: message) → `getforcorporationresponsehub` | repeated | + +--- + +##### start + +- **完整名称**: `eve.sovereignty.hub.api.GetResponse.VulnerabilityWindow.start` +- **内部变量名**: `GETRESPONSE_VULNERABILITYWINDOW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_system + +- **完整名称**: `eve.sovereignty.hub.api.GetResponse.solar_system` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.GetResourcesRequest.hub` +- **内部变量名**: `GETRESOURCESREQUEST` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.AuthorizeViewRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `hub` | `api.AuthorizeViewRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 3 | `authorized` | `api.AuthorizeViewResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `hub` | `api.GetRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 5 | `start` | `api.GetResponse.VulnerabilityWindow.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `end` | `api.GetResponse.VulnerabilityWindow.end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 7 | `occupancy_level` | `api.GetResponse.VulnerabilityWindow.occupancy_level` | float (cpp: int64) | optional (required in proto3) | +| 8 | `solar_system` | `api.GetResponse.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 9 | `owner` | `api.GetResponse.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 10 | `no_acl` | `api.GetResponse.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `acl` | `api.GetResponse.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 12 | `no_window` | `api.GetResponse.no_window` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `window` | `api.GetResponse.window` | message (cpp: message) → `getresponsevulnerabilitywindow` | optional (required in proto3) | +| 14 | `hub` | `api.GetResourcesRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 15 | `available` | `api.GetResourcesResponse.Power.available` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `allocated` | `api.GetResourcesResponse.Power.allocated` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `available` | `api.GetResourcesResponse.Workforce.available` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `allocated` | `api.GetResourcesResponse.Workforce.allocated` | uint64 (cpp: uint64) | optional (required in proto3) | +| 19 | `power` | `api.GetResourcesResponse.power` | message (cpp: message) → `getresourcesresponsepower` | optional (required in proto3) | +| 20 | `workforce` | `api.GetResourcesResponse.workforce` | message (cpp: message) → `getresourcesresponseworkforce` | optional (required in proto3) | +| 21 | `corporation` | `api.GetManagersRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 22 | `managers` | `api.GetManagersResponse.managers` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 23 | `hub` | `api.ScuttleRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 24 | `fuel_type` | `api.ScuttleResponse.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `amount` | `api.ScuttleResponse.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 26 | `fuels` | `api.ScuttleResponse.fuels` | message (cpp: message) → `scuttleresponsefuel` | repeated | +| 27 | `upgrades` | `api.ScuttleResponse.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 28 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.GetForCorporationResponse.Hub.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `solar_system` | `api.GetForCorporationResponse.Hub.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 31 | `hubs` | `api.GetForCorporationResponse.hubs` | message (cpp: message) → `getforcorporationresponsehub` | repeated | + +--- + +##### available + +- **完整名称**: `eve.sovereignty.hub.api.GetResourcesResponse.Power.available` +- **内部变量名**: `GETRESOURCESRESPONSE_POWER` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### available + +- **完整名称**: `eve.sovereignty.hub.api.GetResourcesResponse.Workforce.available` +- **内部变量名**: `GETRESOURCESRESPONSE_WORKFORCE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### power + +- **完整名称**: `eve.sovereignty.hub.api.GetResourcesResponse.power` +- **内部变量名**: `GETRESOURCESRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.sovereignty.hub.api.GetManagersRequest.corporation` +- **内部变量名**: `GETMANAGERSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### managers + +- **完整名称**: `eve.sovereignty.hub.api.GetManagersResponse.managers` +- **内部变量名**: `GETMANAGERSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.ScuttleRequest.hub` +- **内部变量名**: `SCUTTLEREQUEST` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.AuthorizeViewRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `hub` | `api.AuthorizeViewRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 3 | `authorized` | `api.AuthorizeViewResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `hub` | `api.GetRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 5 | `start` | `api.GetResponse.VulnerabilityWindow.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `end` | `api.GetResponse.VulnerabilityWindow.end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 7 | `occupancy_level` | `api.GetResponse.VulnerabilityWindow.occupancy_level` | float (cpp: int64) | optional (required in proto3) | +| 8 | `solar_system` | `api.GetResponse.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 9 | `owner` | `api.GetResponse.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 10 | `no_acl` | `api.GetResponse.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `acl` | `api.GetResponse.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 12 | `no_window` | `api.GetResponse.no_window` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `window` | `api.GetResponse.window` | message (cpp: message) → `getresponsevulnerabilitywindow` | optional (required in proto3) | +| 14 | `hub` | `api.GetResourcesRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 15 | `available` | `api.GetResourcesResponse.Power.available` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `allocated` | `api.GetResourcesResponse.Power.allocated` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `available` | `api.GetResourcesResponse.Workforce.available` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `allocated` | `api.GetResourcesResponse.Workforce.allocated` | uint64 (cpp: uint64) | optional (required in proto3) | +| 19 | `power` | `api.GetResourcesResponse.power` | message (cpp: message) → `getresourcesresponsepower` | optional (required in proto3) | +| 20 | `workforce` | `api.GetResourcesResponse.workforce` | message (cpp: message) → `getresourcesresponseworkforce` | optional (required in proto3) | +| 21 | `corporation` | `api.GetManagersRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 22 | `managers` | `api.GetManagersResponse.managers` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 23 | `hub` | `api.ScuttleRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 24 | `fuel_type` | `api.ScuttleResponse.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `amount` | `api.ScuttleResponse.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 26 | `fuels` | `api.ScuttleResponse.fuels` | message (cpp: message) → `scuttleresponsefuel` | repeated | +| 27 | `upgrades` | `api.ScuttleResponse.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 28 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.GetForCorporationResponse.Hub.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `solar_system` | `api.GetForCorporationResponse.Hub.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 31 | `hubs` | `api.GetForCorporationResponse.hubs` | message (cpp: message) → `getforcorporationresponsehub` | repeated | + +--- + +##### fuel_type + +- **完整名称**: `eve.sovereignty.hub.api.ScuttleResponse.Fuel.fuel_type` +- **内部变量名**: `SCUTTLERESPONSE_FUEL` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### fuels + +- **完整名称**: `eve.sovereignty.hub.api.ScuttleResponse.fuels` +- **内部变量名**: `SCUTTLERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.sovereignty.hub.api.GetForCorporationRequest.corporation` +- **内部变量名**: `GETFORCORPORATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.GetForCorporationResponse.Hub.hub` +- **内部变量名**: `GETFORCORPORATIONRESPONSE_HUB` +- **字段数量**: 31 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.AuthorizeViewRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `hub` | `api.AuthorizeViewRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 3 | `authorized` | `api.AuthorizeViewResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `hub` | `api.GetRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 5 | `start` | `api.GetResponse.VulnerabilityWindow.start` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 6 | `end` | `api.GetResponse.VulnerabilityWindow.end` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 7 | `occupancy_level` | `api.GetResponse.VulnerabilityWindow.occupancy_level` | float (cpp: int64) | optional (required in proto3) | +| 8 | `solar_system` | `api.GetResponse.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 9 | `owner` | `api.GetResponse.owner` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 10 | `no_acl` | `api.GetResponse.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 11 | `acl` | `api.GetResponse.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 12 | `no_window` | `api.GetResponse.no_window` | bool (cpp: uint32) | optional (required in proto3) | +| 13 | `window` | `api.GetResponse.window` | message (cpp: message) → `getresponsevulnerabilitywindow` | optional (required in proto3) | +| 14 | `hub` | `api.GetResourcesRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 15 | `available` | `api.GetResourcesResponse.Power.available` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `allocated` | `api.GetResourcesResponse.Power.allocated` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `available` | `api.GetResourcesResponse.Workforce.available` | uint64 (cpp: uint64) | optional (required in proto3) | +| 18 | `allocated` | `api.GetResourcesResponse.Workforce.allocated` | uint64 (cpp: uint64) | optional (required in proto3) | +| 19 | `power` | `api.GetResourcesResponse.power` | message (cpp: message) → `getresourcesresponsepower` | optional (required in proto3) | +| 20 | `workforce` | `api.GetResourcesResponse.workforce` | message (cpp: message) → `getresourcesresponseworkforce` | optional (required in proto3) | +| 21 | `corporation` | `api.GetManagersRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 22 | `managers` | `api.GetManagersResponse.managers` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 23 | `hub` | `api.ScuttleRequest.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 24 | `fuel_type` | `api.ScuttleResponse.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 25 | `amount` | `api.ScuttleResponse.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 26 | `fuels` | `api.ScuttleResponse.fuels` | message (cpp: message) → `scuttleresponsefuel` | repeated | +| 27 | `upgrades` | `api.ScuttleResponse.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 28 | `corporation` | `api.GetForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.GetForCorporationResponse.Hub.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `solar_system` | `api.GetForCorporationResponse.Hub.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 31 | `hubs` | `api.GetForCorporationResponse.hubs` | message (cpp: message) → `getforcorporationresponsehub` | repeated | + +--- + +##### hubs + +- **完整名称**: `eve.sovereignty.hub.api.GetForCorporationResponse.hubs` +- **内部变量名**: `GETFORCORPORATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.sovereignty.hub` (as `hub`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.SimulationCommanded.hub` +- **内部变量名**: `SIMULATIONCOMMANDED` +- **字段数量**: 1 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `api.SimulationCommanded.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.acl` (as `acl`) +- `eve.alliance` (as `alliance`) +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.inventory.container` (as `container`) +- `eve.inventory` (as `generic_item_type`) +- `eve.planet.skyhook` (as `skyhook`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.sovereignty.hub` (as `hub`) + +#### 📝 消息类型定义 + +**消息类型数量**: 10 + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.Constructed.hub` +- **内部变量名**: `CONSTRUCTED` +- **字段数量**: 36 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `api.Constructed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `hub` | `api.Acquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.Acquired.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `alliance` | `api.Acquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `corporation` | `api.Acquired.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 7 | `hub` | `api.Destroyed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.Destroyed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `alliance` | `api.Destroyed.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 11 | `corporation` | `api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `hub` | `api.CorporationTransferred.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 13 | `previous_corp` | `api.CorporationTransferred.previous_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `current_corp` | `api.CorporationTransferred.current_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `fuel_type` | `api.Scuttled.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 16 | `amount` | `api.Scuttled.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 17 | `hub` | `api.Scuttled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `api.Scuttled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `fuels` | `api.Scuttled.fuels` | message (cpp: message) → `scuttledfuel` | repeated | +| 20 | `upgrades` | `api.Scuttled.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 21 | `hub` | `api.SkyhookAcquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 22 | `skyhook` | `api.SkyhookAcquired.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `old_corporation` | `api.SkyhookAcquired.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 24 | `new_corporation` | `api.SkyhookAcquired.new_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 25 | `alliance` | `api.SkyhookAcquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 26 | `claiming_character` | `api.SkyhookAcquired.claiming_character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `no_acl` | `api.FuelAclChanged.AccessControl.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `acl` | `api.FuelAclChanged.AccessControl.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.FuelAclChanged.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `previous` | `api.FuelAclChanged.previous` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 31 | `current` | `api.FuelAclChanged.current` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 32 | `hub` | `api.VulnerabilityWindowScheduled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 33 | `solar_system` | `api.VulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 34 | `start_time` | `api.VulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `end_time` | `api.VulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 36 | `occupancy_level` | `api.VulnerabilityWindowScheduled.occupancy_level` | float (cpp: int64) | optional (required in proto3) | + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.Acquired.hub` +- **内部变量名**: `ACQUIRED` +- **字段数量**: 36 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `api.Constructed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `hub` | `api.Acquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.Acquired.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `alliance` | `api.Acquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `corporation` | `api.Acquired.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 7 | `hub` | `api.Destroyed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.Destroyed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `alliance` | `api.Destroyed.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 11 | `corporation` | `api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `hub` | `api.CorporationTransferred.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 13 | `previous_corp` | `api.CorporationTransferred.previous_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `current_corp` | `api.CorporationTransferred.current_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `fuel_type` | `api.Scuttled.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 16 | `amount` | `api.Scuttled.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 17 | `hub` | `api.Scuttled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `api.Scuttled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `fuels` | `api.Scuttled.fuels` | message (cpp: message) → `scuttledfuel` | repeated | +| 20 | `upgrades` | `api.Scuttled.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 21 | `hub` | `api.SkyhookAcquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 22 | `skyhook` | `api.SkyhookAcquired.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `old_corporation` | `api.SkyhookAcquired.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 24 | `new_corporation` | `api.SkyhookAcquired.new_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 25 | `alliance` | `api.SkyhookAcquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 26 | `claiming_character` | `api.SkyhookAcquired.claiming_character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `no_acl` | `api.FuelAclChanged.AccessControl.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `acl` | `api.FuelAclChanged.AccessControl.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.FuelAclChanged.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `previous` | `api.FuelAclChanged.previous` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 31 | `current` | `api.FuelAclChanged.current` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 32 | `hub` | `api.VulnerabilityWindowScheduled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 33 | `solar_system` | `api.VulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 34 | `start_time` | `api.VulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `end_time` | `api.VulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 36 | `occupancy_level` | `api.VulnerabilityWindowScheduled.occupancy_level` | float (cpp: int64) | optional (required in proto3) | + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.Destroyed.hub` +- **内部变量名**: `DESTROYED` +- **字段数量**: 36 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `api.Constructed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `hub` | `api.Acquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.Acquired.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `alliance` | `api.Acquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `corporation` | `api.Acquired.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 7 | `hub` | `api.Destroyed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.Destroyed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `alliance` | `api.Destroyed.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 11 | `corporation` | `api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `hub` | `api.CorporationTransferred.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 13 | `previous_corp` | `api.CorporationTransferred.previous_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `current_corp` | `api.CorporationTransferred.current_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `fuel_type` | `api.Scuttled.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 16 | `amount` | `api.Scuttled.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 17 | `hub` | `api.Scuttled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `api.Scuttled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `fuels` | `api.Scuttled.fuels` | message (cpp: message) → `scuttledfuel` | repeated | +| 20 | `upgrades` | `api.Scuttled.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 21 | `hub` | `api.SkyhookAcquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 22 | `skyhook` | `api.SkyhookAcquired.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `old_corporation` | `api.SkyhookAcquired.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 24 | `new_corporation` | `api.SkyhookAcquired.new_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 25 | `alliance` | `api.SkyhookAcquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 26 | `claiming_character` | `api.SkyhookAcquired.claiming_character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `no_acl` | `api.FuelAclChanged.AccessControl.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `acl` | `api.FuelAclChanged.AccessControl.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.FuelAclChanged.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `previous` | `api.FuelAclChanged.previous` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 31 | `current` | `api.FuelAclChanged.current` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 32 | `hub` | `api.VulnerabilityWindowScheduled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 33 | `solar_system` | `api.VulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 34 | `start_time` | `api.VulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `end_time` | `api.VulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 36 | `occupancy_level` | `api.VulnerabilityWindowScheduled.occupancy_level` | float (cpp: int64) | optional (required in proto3) | + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.CorporationTransferred.hub` +- **内部变量名**: `CORPORATIONTRANSFERRED` +- **字段数量**: 36 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `api.Constructed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `hub` | `api.Acquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.Acquired.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `alliance` | `api.Acquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `corporation` | `api.Acquired.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 7 | `hub` | `api.Destroyed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.Destroyed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `alliance` | `api.Destroyed.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 11 | `corporation` | `api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `hub` | `api.CorporationTransferred.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 13 | `previous_corp` | `api.CorporationTransferred.previous_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `current_corp` | `api.CorporationTransferred.current_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `fuel_type` | `api.Scuttled.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 16 | `amount` | `api.Scuttled.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 17 | `hub` | `api.Scuttled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `api.Scuttled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `fuels` | `api.Scuttled.fuels` | message (cpp: message) → `scuttledfuel` | repeated | +| 20 | `upgrades` | `api.Scuttled.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 21 | `hub` | `api.SkyhookAcquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 22 | `skyhook` | `api.SkyhookAcquired.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `old_corporation` | `api.SkyhookAcquired.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 24 | `new_corporation` | `api.SkyhookAcquired.new_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 25 | `alliance` | `api.SkyhookAcquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 26 | `claiming_character` | `api.SkyhookAcquired.claiming_character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `no_acl` | `api.FuelAclChanged.AccessControl.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `acl` | `api.FuelAclChanged.AccessControl.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.FuelAclChanged.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `previous` | `api.FuelAclChanged.previous` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 31 | `current` | `api.FuelAclChanged.current` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 32 | `hub` | `api.VulnerabilityWindowScheduled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 33 | `solar_system` | `api.VulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 34 | `start_time` | `api.VulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `end_time` | `api.VulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 36 | `occupancy_level` | `api.VulnerabilityWindowScheduled.occupancy_level` | float (cpp: int64) | optional (required in proto3) | + +--- + +##### fuel_type + +- **完整名称**: `eve.sovereignty.hub.api.Scuttled.Fuel.fuel_type` +- **内部变量名**: `SCUTTLED_FUEL` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.Scuttled.hub` +- **内部变量名**: `SCUTTLED` +- **字段数量**: 36 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `api.Constructed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `hub` | `api.Acquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.Acquired.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `alliance` | `api.Acquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `corporation` | `api.Acquired.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 7 | `hub` | `api.Destroyed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.Destroyed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `alliance` | `api.Destroyed.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 11 | `corporation` | `api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `hub` | `api.CorporationTransferred.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 13 | `previous_corp` | `api.CorporationTransferred.previous_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `current_corp` | `api.CorporationTransferred.current_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `fuel_type` | `api.Scuttled.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 16 | `amount` | `api.Scuttled.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 17 | `hub` | `api.Scuttled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `api.Scuttled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `fuels` | `api.Scuttled.fuels` | message (cpp: message) → `scuttledfuel` | repeated | +| 20 | `upgrades` | `api.Scuttled.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 21 | `hub` | `api.SkyhookAcquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 22 | `skyhook` | `api.SkyhookAcquired.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `old_corporation` | `api.SkyhookAcquired.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 24 | `new_corporation` | `api.SkyhookAcquired.new_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 25 | `alliance` | `api.SkyhookAcquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 26 | `claiming_character` | `api.SkyhookAcquired.claiming_character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `no_acl` | `api.FuelAclChanged.AccessControl.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `acl` | `api.FuelAclChanged.AccessControl.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.FuelAclChanged.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `previous` | `api.FuelAclChanged.previous` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 31 | `current` | `api.FuelAclChanged.current` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 32 | `hub` | `api.VulnerabilityWindowScheduled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 33 | `solar_system` | `api.VulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 34 | `start_time` | `api.VulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `end_time` | `api.VulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 36 | `occupancy_level` | `api.VulnerabilityWindowScheduled.occupancy_level` | float (cpp: int64) | optional (required in proto3) | + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.SkyhookAcquired.hub` +- **内部变量名**: `SKYHOOKACQUIRED` +- **字段数量**: 36 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `api.Constructed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `hub` | `api.Acquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.Acquired.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `alliance` | `api.Acquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `corporation` | `api.Acquired.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 7 | `hub` | `api.Destroyed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.Destroyed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `alliance` | `api.Destroyed.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 11 | `corporation` | `api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `hub` | `api.CorporationTransferred.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 13 | `previous_corp` | `api.CorporationTransferred.previous_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `current_corp` | `api.CorporationTransferred.current_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `fuel_type` | `api.Scuttled.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 16 | `amount` | `api.Scuttled.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 17 | `hub` | `api.Scuttled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `api.Scuttled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `fuels` | `api.Scuttled.fuels` | message (cpp: message) → `scuttledfuel` | repeated | +| 20 | `upgrades` | `api.Scuttled.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 21 | `hub` | `api.SkyhookAcquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 22 | `skyhook` | `api.SkyhookAcquired.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `old_corporation` | `api.SkyhookAcquired.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 24 | `new_corporation` | `api.SkyhookAcquired.new_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 25 | `alliance` | `api.SkyhookAcquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 26 | `claiming_character` | `api.SkyhookAcquired.claiming_character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `no_acl` | `api.FuelAclChanged.AccessControl.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `acl` | `api.FuelAclChanged.AccessControl.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.FuelAclChanged.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `previous` | `api.FuelAclChanged.previous` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 31 | `current` | `api.FuelAclChanged.current` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 32 | `hub` | `api.VulnerabilityWindowScheduled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 33 | `solar_system` | `api.VulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 34 | `start_time` | `api.VulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `end_time` | `api.VulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 36 | `occupancy_level` | `api.VulnerabilityWindowScheduled.occupancy_level` | float (cpp: int64) | optional (required in proto3) | + +--- + +##### no_acl + +- **完整名称**: `eve.sovereignty.hub.api.FuelAclChanged.AccessControl.no_acl` +- **内部变量名**: `FUELACLCHANGED_ACCESSCONTROL` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.FuelAclChanged.hub` +- **内部变量名**: `FUELACLCHANGED` +- **字段数量**: 36 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `api.Constructed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `hub` | `api.Acquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.Acquired.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `alliance` | `api.Acquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `corporation` | `api.Acquired.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 7 | `hub` | `api.Destroyed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.Destroyed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `alliance` | `api.Destroyed.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 11 | `corporation` | `api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `hub` | `api.CorporationTransferred.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 13 | `previous_corp` | `api.CorporationTransferred.previous_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `current_corp` | `api.CorporationTransferred.current_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `fuel_type` | `api.Scuttled.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 16 | `amount` | `api.Scuttled.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 17 | `hub` | `api.Scuttled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `api.Scuttled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `fuels` | `api.Scuttled.fuels` | message (cpp: message) → `scuttledfuel` | repeated | +| 20 | `upgrades` | `api.Scuttled.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 21 | `hub` | `api.SkyhookAcquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 22 | `skyhook` | `api.SkyhookAcquired.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `old_corporation` | `api.SkyhookAcquired.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 24 | `new_corporation` | `api.SkyhookAcquired.new_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 25 | `alliance` | `api.SkyhookAcquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 26 | `claiming_character` | `api.SkyhookAcquired.claiming_character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `no_acl` | `api.FuelAclChanged.AccessControl.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `acl` | `api.FuelAclChanged.AccessControl.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.FuelAclChanged.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `previous` | `api.FuelAclChanged.previous` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 31 | `current` | `api.FuelAclChanged.current` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 32 | `hub` | `api.VulnerabilityWindowScheduled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 33 | `solar_system` | `api.VulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 34 | `start_time` | `api.VulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `end_time` | `api.VulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 36 | `occupancy_level` | `api.VulnerabilityWindowScheduled.occupancy_level` | float (cpp: int64) | optional (required in proto3) | + +--- + +##### hub + +- **完整名称**: `eve.sovereignty.hub.api.VulnerabilityWindowScheduled.hub` +- **内部变量名**: `VULNERABILITYWINDOWSCHEDULED` +- **字段数量**: 36 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `hub` | `api.Constructed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 2 | `solar_system` | `api.Constructed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 3 | `hub` | `api.Acquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 4 | `solar_system` | `api.Acquired.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 5 | `alliance` | `api.Acquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 6 | `corporation` | `api.Acquired.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 7 | `hub` | `api.Destroyed.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 8 | `loot_container` | `api.Destroyed.loot_container` | message (cpp: message) → `evedotinventorydotcontainerdotcontainerpb2.identifier` | optional (required in proto3) | +| 9 | `solar_system` | `api.Destroyed.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `alliance` | `api.Destroyed.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 11 | `corporation` | `api.Destroyed.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `hub` | `api.CorporationTransferred.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 13 | `previous_corp` | `api.CorporationTransferred.previous_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 14 | `current_corp` | `api.CorporationTransferred.current_corp` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 15 | `fuel_type` | `api.Scuttled.Fuel.fuel_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 16 | `amount` | `api.Scuttled.Fuel.amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 17 | `hub` | `api.Scuttled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 18 | `solar_system` | `api.Scuttled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 19 | `fuels` | `api.Scuttled.fuels` | message (cpp: message) → `scuttledfuel` | repeated | +| 20 | `upgrades` | `api.Scuttled.upgrades` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | repeated | +| 21 | `hub` | `api.SkyhookAcquired.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 22 | `skyhook` | `api.SkyhookAcquired.skyhook` | message (cpp: message) → `evedotplanetdotskyhookdotskyhookpb2.identifier` | optional (required in proto3) | +| 23 | `old_corporation` | `api.SkyhookAcquired.old_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 24 | `new_corporation` | `api.SkyhookAcquired.new_corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 25 | `alliance` | `api.SkyhookAcquired.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 26 | `claiming_character` | `api.SkyhookAcquired.claiming_character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 27 | `no_acl` | `api.FuelAclChanged.AccessControl.no_acl` | bool (cpp: uint32) | optional (required in proto3) | +| 28 | `acl` | `api.FuelAclChanged.AccessControl.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 29 | `hub` | `api.FuelAclChanged.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 30 | `previous` | `api.FuelAclChanged.previous` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 31 | `current` | `api.FuelAclChanged.current` | message (cpp: message) → `fuelaclchangedaccesscontrol` | optional (required in proto3) | +| 32 | `hub` | `api.VulnerabilityWindowScheduled.hub` | message (cpp: message) → `evedotsovereigntydothubdothubpb2.identifier` | optional (required in proto3) | +| 33 | `solar_system` | `api.VulnerabilityWindowScheduled.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 34 | `start_time` | `api.VulnerabilityWindowScheduled.start_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 35 | `end_time` | `api.VulnerabilityWindowScheduled.end_time` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 36 | `occupancy_level` | `api.VulnerabilityWindowScheduled.occupancy_level` | float (cpp: int64) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.corporation` (as `corporation`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### corporation + +- **完整名称**: `eve.corporation.office.api.GetSolarSystemsRequest.corporation` +- **内部变量名**: `GETSOLARSYSTEMSREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `corporation` | `office.api.GetSolarSystemsRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 2 | `solar_systems` | `office.api.GetSolarSystemsResponse.solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | + +--- + +##### solar_systems + +- **完整名称**: `eve.corporation.office.api.GetSolarSystemsResponse.solar_systems` +- **内部变量名**: `GETSOLARSYSTEMSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.alliance` (as `alliance`) +- `eve.corporation` (as `corporation`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### corporation + +- **完整名称**: `eve.corporation.alliance.api.GetCurrentMembershipRequest.corporation` +- **内部变量名**: `GETCURRENTMEMBERSHIPREQUEST` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `corporation` | `alliance.api.GetCurrentMembershipRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 2 | `alliance` | `alliance.api.GetCurrentMembershipResponse.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 3 | `no_alliance` | `alliance.api.GetCurrentMembershipResponse.no_alliance` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +##### alliance + +- **完整名称**: `eve.corporation.alliance.api.GetCurrentMembershipResponse.alliance` +- **内部变量名**: `GETCURRENTMEMBERSHIPRESPONSE` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `corporation` | `api.GetCurrentMembershipRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 2 | `alliance` | `api.GetCurrentMembershipResponse.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 3 | `no_alliance` | `api.GetCurrentMembershipResponse.no_alliance` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.ship.api.CanJumpStarterSpaceShipCasterRequest.character` +- **内部变量名**: `CANJUMPSTARTERSPACESHIPCASTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### can_jump + +- **完整名称**: `eve.ship.api.CanJumpStarterSpaceShipCasterResponse.can_jump` +- **内部变量名**: `CANJUMPSTARTERSPACESHIPCASTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.bubble` (as `bubble`) +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.ship` (as `ship`) +- `eve.ship` (as `ship_type`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.stargate` (as `stargate`) +- `eve.structure` (as `structure`) +- `eve.structure` (as `structure_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 9 + +##### bubble + +- **完整名称**: `eve.ship.api.Boarded.Context.bubble` +- **内部变量名**: `BOARDED_CONTEXT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.ship.api.Boarded.character` +- **内部变量名**: `BOARDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### gate + +- **完整名称**: `eve.ship.api.GateJumped.gate` +- **内部变量名**: `GATEJUMPED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.ship.api.RandomJumped.character` +- **内部变量名**: `RANDOMJUMPED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.ship.api.AbyssalJumped.character` +- **内部变量名**: `ABYSSALJUMPED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### structure_instance + +- **完整名称**: `eve.ship.api.StructureBridgeJumped.StructureBridge.structure_instance` +- **内部变量名**: `STRUCTUREBRIDGEJUMPED_STRUCTUREBRIDGE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.ship.api.StructureBridgeJumped.character` +- **内部变量名**: `STRUCTUREBRIDGEJUMPED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.ship.api.CynoJumped.character` +- **内部变量名**: `CYNOJUMPED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### gate + +- **完整名称**: `eve.ship.api.StarterSpaceShipCasterJumped.gate` +- **内部变量名**: `STARTERSPACESHIPCASTERJUMPED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.bookmark` (as `bookmark`) +- `eve.character` (as `character`) +- `eve.inventory` (as `generic_item`) +- `eve.math` (as `vector`) +- `eve.planet` (as `planet`) +- `eve.ship` (as `context`) +- `eve.ship` (as `ship`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### unknown + +- **完整名称**: `eve.ship.api.Target.unknown` +- **内部变量名**: `TARGET` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.ship.api.AlignOrdered.context` +- **内部变量名**: `ALIGNORDERED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.ship.api.WarpOrdered.context` +- **内部变量名**: `WARPORDERED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.ship.api.OrbitOrdered.context` +- **内部变量名**: `ORBITORDERED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.ship.api.FollowOrdered.context` +- **内部变量名**: `FOLLOWORDERED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.ship.api.PointApproached.context` +- **内部变量名**: `POINTAPPROACHED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.ship.api.DirectionApproached.context` +- **内部变量名**: `DIRECTIONAPPROACHED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.ship.api.AbyssalGateActivated.context` +- **内部变量名**: `ABYSSALGATEACTIVATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### solar_system + +- **完整名称**: `eve.solarsystem.api.GetSolarSystemsInJumpRangeRequest.solar_system` +- **内部变量名**: `GETSOLARSYSTEMSINJUMPRANGEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_systems + +- **完整名称**: `eve.solarsystem.api.GetSolarSystemsInJumpRangeResponse.solar_systems` +- **内部变量名**: `GETSOLARSYSTEMSINJUMPRANGERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.fleet` (as `fleet`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### fleet_id + +- **完整名称**: `eve.fleet.api.AdvertCreated.fleet_id` +- **内部变量名**: `ADVERTCREATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) +- `eve.space.measurement` (as `measurement`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### identifier + +- **完整名称**: `eve.space.measurement.admin.api.RecordRequest.identifier` +- **内部变量名**: `RECORDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RecordResponse + +- **完整名称**: `eve.space.measurement.admin.api.RecordResponse` +- **内部变量名**: `RECORDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.space.location` (as `location`) +- `eve.space.measurement` (as `measurement`) + +#### 📝 消息类型定义 + +**消息类型数量**: 9 + +##### identifier + +- **完整名称**: `eve.space.measurement.api.RecordRequest.identifier` +- **内部变量名**: `RECORDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RecordResponse + +- **完整名称**: `eve.space.measurement.api.RecordResponse` +- **内部变量名**: `RECORDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### n + +- **完整名称**: `eve.space.measurement.api.QueryRequest.TopN.n` +- **内部变量名**: `QUERYREQUEST_TOPN` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### n + +- **完整名称**: `eve.space.measurement.api.QueryRequest.BottomN.n` +- **内部变量名**: `QUERYREQUEST_BOTTOMN` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### p + +- **完整名称**: `eve.space.measurement.api.QueryRequest.TopPPercent.p` +- **内部变量名**: `QUERYREQUEST_TOPPPERCENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### p + +- **完整名称**: `eve.space.measurement.api.QueryRequest.BottomPPercent.p` +- **内部变量名**: `QUERYREQUEST_BOTTOMPPERCENT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### group_by + +- **完整名称**: `eve.space.measurement.api.QueryRequest.Aggregation.group_by` +- **内部变量名**: `QUERYREQUEST_AGGREGATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### measurement_identifier + +- **完整名称**: `eve.space.measurement.api.QueryRequest.measurement_identifier` +- **内部变量名**: `QUERYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### results + +- **完整名称**: `eve.space.measurement.api.QueryResponse.results` +- **内部变量名**: `QUERYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.space.measurement` (as `measurement`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### identifier + +- **完整名称**: `eve.space.measurement.api.RecordCommanded.identifier` +- **内部变量名**: `RECORDCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.space.measurement` (as `measurement`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### identifier + +- **完整名称**: `eve.space.measurement.api.Recorded.identifier` +- **内部变量名**: `RECORDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CleanupCommanded + +- **完整名称**: `eve.space.measurement.api.CleanupCommanded` +- **内部变量名**: `CLEANUPCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.corporation` (as `corporation`) +- `eve.space.location` (as `location`) +- `eve.station` (as `station`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### identifier + +- **完整名称**: `eve.space.npcstation.api.GetRequest.identifier` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### location + +- **完整名称**: `eve.space.npcstation.api.GetResponse.location` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.constellation` (as `constellation`) +- `eve.region` (as `region`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.space.location` (as `location`) +- `eve.tag` (as `tag`) + +#### 📝 消息类型定义 + +**消息类型数量**: 15 + +##### region + +- **完整名称**: `eve.space.location.api.GetTagsRequest.Location.region` +- **内部变量名**: `GETTAGSREQUEST_LOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### locations + +- **完整名称**: `eve.space.location.api.GetTagsRequest.locations` +- **内部变量名**: `GETTAGSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### location + +- **完整名称**: `eve.space.location.api.GetTagsResponse.Locations.TaggedLocation.location` +- **内部变量名**: `GETTAGSRESPONSE_LOCATIONS_TAGGEDLOCATION` +- **字段数量**: 27 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `region` | `api.GetTagsRequest.Location.region` | message (cpp: message) → `evedotregiondotregionpb2.identifier` | optional (required in proto3) | +| 2 | `constellation` | `api.GetTagsRequest.Location.constellation` | message (cpp: message) → `evedotconstellationdotconstellationpb2.identifier` | optional (required in proto3) | +| 3 | `solar_system` | `api.GetTagsRequest.Location.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 4 | `locations` | `api.GetTagsRequest.locations` | message (cpp: message) → `gettagsrequestlocation` | repeated | +| 5 | `location` | `api.GetTagsResponse.Locations.TaggedLocation.location` | message (cpp: message) → `evedotspacedotlocationdotlocationpb2.identifier` | optional (required in proto3) | +| 6 | `tags` | `api.GetTagsResponse.Locations.TaggedLocation.tags` | message (cpp: message) → `evedottagdottagpb2.identifier` | repeated | +| 7 | `tagged_locations` | `api.GetTagsResponse.Locations.tagged_locations` | message (cpp: message) → `gettagsresponselocationstaggedlocation` | repeated | +| 8 | `exceeded_amount` | `api.GetTagsResponse.RequestedLocationsLimitExceeded.exceeded_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 9 | `missing_solar_systems` | `api.GetTagsResponse.LocationsNotFound.missing_solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | +| 10 | `missing_constellations` | `api.GetTagsResponse.LocationsNotFound.missing_constellations` | message (cpp: message) → `evedotconstellationdotconstellationpb2.identifier` | repeated | +| 11 | `missing_regions` | `api.GetTagsResponse.LocationsNotFound.missing_regions` | message (cpp: message) → `evedotregiondotregionpb2.identifier` | repeated | +| 12 | `locations` | `api.GetTagsResponse.locations` | message (cpp: message) → `gettagsrequestlocation` | optional (required in proto3) | +| 13 | `unspecified_error` | `api.GetTagsResponse.unspecified_error` | bool (cpp: uint32) | optional (required in proto3) | +| 14 | `locations_not_found` | `api.GetTagsResponse.locations_not_found` | message (cpp: message) → `gettagsresponselocationsnotfound` | optional (required in proto3) | +| 15 | `requested_locations_limit_exceeded` | `api.GetTagsResponse.requested_locations_limit_exceeded` | message (cpp: message) → `gettagsresponserequestedlocationslimitexceeded` | optional (required in proto3) | +| 16 | `constellation` | `api.ResolveLocationsRequest.Location.constellation` | message (cpp: message) → `evedotconstellationdotconstellationpb2.identifier` | optional (required in proto3) | +| 17 | `solar_system` | `api.ResolveLocationsRequest.Location.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 18 | `locations` | `api.ResolveLocationsRequest.locations` | message (cpp: message) → `gettagsrequestlocation` | repeated | +| 19 | `locations` | `api.ResolveLocationsResponse.Locations.locations` | message (cpp: message) → `gettagsrequestlocation` | repeated | +| 20 | `exceeded_amount` | `api.ResolveLocationsResponse.RequestedLocationsLimitExceeded.exceeded_amount` | uint32 (cpp: int64) | optional (required in proto3) | +| 21 | `missing_solar_systems` | `api.ResolveLocationsResponse.LocationsNotFound.missing_solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | +| 22 | `missing_constellations` | `api.ResolveLocationsResponse.LocationsNotFound.missing_constellations` | message (cpp: message) → `evedotconstellationdotconstellationpb2.identifier` | repeated | +| 23 | `locations` | `api.ResolveLocationsResponse.locations` | message (cpp: message) → `gettagsrequestlocation` | optional (required in proto3) | +| 24 | `unspecified_error` | `api.ResolveLocationsResponse.unspecified_error` | bool (cpp: uint32) | optional (required in proto3) | +| 25 | `locations_not_found` | `api.ResolveLocationsResponse.locations_not_found` | message (cpp: message) → `gettagsresponselocationsnotfound` | optional (required in proto3) | +| 26 | `requested_locations_limit_exceeded` | `api.ResolveLocationsResponse.requested_locations_limit_exceeded` | message (cpp: message) → `gettagsresponserequestedlocationslimitexceeded` | optional (required in proto3) | +| 27 | `solar_systems` | `api.GetAllSolarSystemsResponse.solar_systems` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | repeated | + +--- + +##### tagged_locations + +- **完整名称**: `eve.space.location.api.GetTagsResponse.Locations.tagged_locations` +- **内部变量名**: `GETTAGSRESPONSE_LOCATIONS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### exceeded_amount + +- **完整名称**: `eve.space.location.api.GetTagsResponse.RequestedLocationsLimitExceeded.exceeded_amount` +- **内部变量名**: `GETTAGSRESPONSE_REQUESTEDLOCATIONSLIMITEXCEEDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### missing_solar_systems + +- **完整名称**: `eve.space.location.api.GetTagsResponse.LocationsNotFound.missing_solar_systems` +- **内部变量名**: `GETTAGSRESPONSE_LOCATIONSNOTFOUND` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### locations + +- **完整名称**: `eve.space.location.api.GetTagsResponse.locations` +- **内部变量名**: `GETTAGSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### constellation + +- **完整名称**: `eve.space.location.api.ResolveLocationsRequest.Location.constellation` +- **内部变量名**: `RESOLVELOCATIONSREQUEST_LOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### locations + +- **完整名称**: `eve.space.location.api.ResolveLocationsRequest.locations` +- **内部变量名**: `RESOLVELOCATIONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### locations + +- **完整名称**: `eve.space.location.api.ResolveLocationsResponse.Locations.locations` +- **内部变量名**: `RESOLVELOCATIONSRESPONSE_LOCATIONS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### exceeded_amount + +- **完整名称**: `eve.space.location.api.ResolveLocationsResponse.RequestedLocationsLimitExceeded.exceeded_amount` +- **内部变量名**: `RESOLVELOCATIONSRESPONSE_REQUESTEDLOCATIONSLIMITEXCEEDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### missing_solar_systems + +- **完整名称**: `eve.space.location.api.ResolveLocationsResponse.LocationsNotFound.missing_solar_systems` +- **内部变量名**: `RESOLVELOCATIONSRESPONSE_LOCATIONSNOTFOUND` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### locations + +- **完整名称**: `eve.space.location.api.ResolveLocationsResponse.locations` +- **内部变量名**: `RESOLVELOCATIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetAllSolarSystemsRequest + +- **完整名称**: `eve.space.location.api.GetAllSolarSystemsRequest` +- **内部变量名**: `GETALLSOLARSYSTEMSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### solar_systems + +- **完整名称**: `eve.space.location.api.GetAllSolarSystemsResponse.solar_systems` +- **内部变量名**: `GETALLSOLARSYSTEMSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.space.location` (as `location`) + +#### 📝 消息类型定义 + +**消息类型数量**: 11 + +##### GetDefaultTagRegistryVersionRequest + +- **完整名称**: `eve.space.api.GetDefaultTagRegistryVersionRequest` +- **内部变量名**: `GETDEFAULTTAGREGISTRYVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.space.api.GetDefaultTagRegistryVersionResponse.version` +- **内部变量名**: `GETDEFAULTTAGREGISTRYVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.space.api.SetDefaultTagRegistryVersionRequest.version` +- **内部变量名**: `SETDEFAULTTAGREGISTRYVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetDefaultTagRegistryVersionResponse + +- **完整名称**: `eve.space.api.SetDefaultTagRegistryVersionResponse` +- **内部变量名**: `SETDEFAULTTAGREGISTRYVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetTenantTagRegistryVersionRequest + +- **完整名称**: `eve.space.api.GetTenantTagRegistryVersionRequest` +- **内部变量名**: `GETTENANTTAGREGISTRYVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.space.api.GetTenantTagRegistryVersionResponse.version` +- **内部变量名**: `GETTENANTTAGREGISTRYVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.space.api.SetTenantTagRegistryVersionRequest.version` +- **内部变量名**: `SETTENANTTAGREGISTRYVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetTenantTagRegistryVersionResponse + +- **完整名称**: `eve.space.api.SetTenantTagRegistryVersionResponse` +- **内部变量名**: `SETTENANTTAGREGISTRYVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### value + +- **完整名称**: `eve.space.api.GetLocationsWithinSecurityRequest.Limit.value` +- **内部变量名**: `GETLOCATIONSWITHINSECURITYREQUEST_LIMIT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### min_security + +- **完整名称**: `eve.space.api.GetLocationsWithinSecurityRequest.min_security` +- **内部变量名**: `GETLOCATIONSWITHINSECURITYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### locations + +- **完整名称**: `eve.space.api.GetLocationsWithinSecurityResponse.locations` +- **内部变量名**: `GETLOCATIONSWITHINSECURITYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### CleanupExpiredTagsCommanded + +- **完整名称**: `eve.space.api.CleanupExpiredTagsCommanded` +- **内部变量名**: `CLEANUPEXPIREDTAGSCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.space.api.LoadUniverseDataCommanded.version` +- **内部变量名**: `LOADUNIVERSEDATACOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.space.location` (as `location`) +- `eve.space.query` (as `query`) +- `eve.tag` (as `tag`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### tag + +- **完整名称**: `eve.space.tag.api.GetLocationsRequest.tag` +- **内部变量名**: `GETLOCATIONSREQUEST` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `tag` | `api.GetLocationsRequest.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | repeated | +| 2 | `tag` | `api.GetLocationsResponse.Result.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 3 | `locations` | `api.GetLocationsResponse.Result.locations` | message (cpp: message) → `evedotspacedotlocationdotlocationpb2.identifier` | repeated | +| 4 | `results` | `api.GetLocationsResponse.results` | message (cpp: message) → `getlocationsresponseresult` | repeated | +| 5 | `query` | `api.QueryRequest.query` | message (cpp: message) → `evedotspacedotquerydotquerypb2.term` | optional (required in proto3) | +| 6 | `locations` | `api.QueryResponse.locations` | message (cpp: message) → `evedotspacedotlocationdotlocationpb2.identifier` | repeated | + +--- + +##### tag + +- **完整名称**: `eve.space.tag.api.GetLocationsResponse.Result.tag` +- **内部变量名**: `GETLOCATIONSRESPONSE_RESULT` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `tag` | `api.GetLocationsRequest.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | repeated | +| 2 | `tag` | `api.GetLocationsResponse.Result.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 3 | `locations` | `api.GetLocationsResponse.Result.locations` | message (cpp: message) → `evedotspacedotlocationdotlocationpb2.identifier` | repeated | +| 4 | `results` | `api.GetLocationsResponse.results` | message (cpp: message) → `getlocationsresponseresult` | repeated | +| 5 | `query` | `api.QueryRequest.query` | message (cpp: message) → `evedotspacedotquerydotquerypb2.term` | optional (required in proto3) | +| 6 | `locations` | `api.QueryResponse.locations` | message (cpp: message) → `evedotspacedotlocationdotlocationpb2.identifier` | repeated | + +--- + +##### results + +- **完整名称**: `eve.space.tag.api.GetLocationsResponse.results` +- **内部变量名**: `GETLOCATIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### query + +- **完整名称**: `eve.space.tag.api.QueryRequest.query` +- **内部变量名**: `QUERYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### locations + +- **完整名称**: `eve.space.tag.api.QueryResponse.locations` +- **内部变量名**: `QUERYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.space.location` (as `location`) +- `eve.space.tag` (as `tag`) +- `eve.tag` (as `tag`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### location + +- **完整名称**: `eve.space.tag.api.ApplyCommanded.location` +- **内部变量名**: `APPLYCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### location + +- **完整名称**: `eve.space.tag.api.RemoveCommanded.location` +- **内部变量名**: `REMOVECOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### known_epoch + +- **完整名称**: `eve.space.tag.api.ReconcileCommanded.known_epoch` +- **内部变量名**: `RECONCILECOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### known_epoch + +- **完整名称**: `eve.space.tag.api.ReconcilePublicFlatbufferExportCommanded.known_epoch` +- **内部变量名**: `RECONCILEPUBLICFLATBUFFEREXPORTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### location + +- **完整名称**: `eve.space.tag.api.ApplyDeltaToPublicFlatbufferExportCommanded.location` +- **内部变量名**: `APPLYDELTATOPUBLICFLATBUFFEREXPORTCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.space.location` (as `location`) +- `eve.tag` (as `tag`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### location + +- **完整名称**: `eve.space.tag.api.Applied.location` +- **内部变量名**: `APPLIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### location + +- **完整名称**: `eve.space.tag.api.Removed.location` +- **内部变量名**: `REMOVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) +- `eve.space.location` (as `location`) +- `eve.space.tag` (as `tag`) +- `eve.tag` (as `tag`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### context + +- **完整名称**: `eve.space.tag.admin.api.ApplyRequest.context` +- **内部变量名**: `APPLYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ApplyResponse + +- **完整名称**: `eve.space.tag.admin.api.ApplyResponse` +- **内部变量名**: `APPLYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.space.tag.admin.api.RemoveRequest.context` +- **内部变量名**: `REMOVEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RemoveResponse + +- **完整名称**: `eve.space.tag.admin.api.RemoveResponse` +- **内部变量名**: `REMOVERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.constellation` (as `constellation`) +- `eve.pvp` (as `pvp`) +- `eve.region` (as `region`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.structure` (as `group`) +- `eve.structure` (as `structure`) +- `eve.structure` (as `structure_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### attacker + +- **完整名称**: `eve.pvp.structure.api.Damaged.attacker` +- **内部变量名**: `DAMAGED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.corporation` (as `corporation`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.structure` (as `structure`) +- `eve.structure` (as `structure_type`) +- `eve.structure.upwell` (as `state`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### structure + +- **完整名称**: `eve.structure.upwell.api.StateTransitioned.structure` +- **内部变量名**: `STATETRANSITIONED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `structure` | `upwell.api.StateTransitioned.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 2 | `upwell_type` | `upwell.api.StateTransitioned.upwell_type` | message (cpp: message) → `evedotstructuredotstructuretypepb2.identifier` | optional (required in proto3) | +| 3 | `solarsystem` | `upwell.api.StateTransitioned.solarsystem` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 4 | `corporation` | `upwell.api.StateTransitioned.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 5 | `previous` | `upwell.api.StateTransitioned.previous` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `current` | `upwell.api.StateTransitioned.current` | enum (cpp: bool) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.structure` (as `structure`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### structure + +- **完整名称**: `eve.structure.api.GetRequest.structure` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `structure` | `api.GetRequest.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotstructuredotstructurepb2.attributes` | optional (required in proto3) | + +--- + +##### attributes + +- **完整名称**: `eve.structure.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.bubble` (as `bubble`) +- `eve.character` (as `character`) +- `eve.ship` (as `ship`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.structure` (as `structure`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### structure + +- **完整名称**: `eve.structure.api.UpkeepFullPowered.structure` +- **内部变量名**: `UPKEEPFULLPOWERED` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `structure` | `api.UpkeepFullPowered.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 2 | `structure` | `api.UpkeepLowPowered.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 3 | `structure` | `api.UpkeepAbandoned.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 4 | `bubble` | `api.Boarded.Context.bubble` | message (cpp: message) → `evedotbubbledotbubblepb2.identifier` | optional (required in proto3) | +| 5 | `no_bubble` | `api.Boarded.Context.no_bubble` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `solar_system` | `api.Boarded.Context.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 7 | `character` | `api.Boarded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `structure` | `api.Boarded.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 9 | `previous_ship` | `api.Boarded.previous_ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 10 | `previous_structure` | `api.Boarded.previous_structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 11 | `unknown` | `api.Boarded.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `context` | `api.Boarded.context` | message (cpp: message) → `boardedcontext` | optional (required in proto3) | + +--- + +##### structure + +- **完整名称**: `eve.structure.api.UpkeepLowPowered.structure` +- **内部变量名**: `UPKEEPLOWPOWERED` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `structure` | `api.UpkeepFullPowered.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 2 | `structure` | `api.UpkeepLowPowered.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 3 | `structure` | `api.UpkeepAbandoned.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 4 | `bubble` | `api.Boarded.Context.bubble` | message (cpp: message) → `evedotbubbledotbubblepb2.identifier` | optional (required in proto3) | +| 5 | `no_bubble` | `api.Boarded.Context.no_bubble` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `solar_system` | `api.Boarded.Context.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 7 | `character` | `api.Boarded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `structure` | `api.Boarded.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 9 | `previous_ship` | `api.Boarded.previous_ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 10 | `previous_structure` | `api.Boarded.previous_structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 11 | `unknown` | `api.Boarded.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `context` | `api.Boarded.context` | message (cpp: message) → `boardedcontext` | optional (required in proto3) | + +--- + +##### structure + +- **完整名称**: `eve.structure.api.UpkeepAbandoned.structure` +- **内部变量名**: `UPKEEPABANDONED` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `structure` | `api.UpkeepFullPowered.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 2 | `structure` | `api.UpkeepLowPowered.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 3 | `structure` | `api.UpkeepAbandoned.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 4 | `bubble` | `api.Boarded.Context.bubble` | message (cpp: message) → `evedotbubbledotbubblepb2.identifier` | optional (required in proto3) | +| 5 | `no_bubble` | `api.Boarded.Context.no_bubble` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `solar_system` | `api.Boarded.Context.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 7 | `character` | `api.Boarded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `structure` | `api.Boarded.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 9 | `previous_ship` | `api.Boarded.previous_ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 10 | `previous_structure` | `api.Boarded.previous_structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 11 | `unknown` | `api.Boarded.unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `context` | `api.Boarded.context` | message (cpp: message) → `boardedcontext` | optional (required in proto3) | + +--- + +##### bubble + +- **完整名称**: `eve.structure.api.Boarded.Context.bubble` +- **内部变量名**: `BOARDED_CONTEXT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.structure.api.Boarded.character` +- **内部变量名**: `BOARDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.inventory` (as `generic_item_type`) +- `eve.moon` (as `moon`) +- `eve.solarsystem` (as `solarsystem`) +- `eve.structure` (as `structure`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### miner + +- **完整名称**: `eve.structure.automoonminer.api.Deployed.miner` +- **内部变量名**: `DEPLOYED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### miner + +- **完整名称**: `eve.structure.automoonminer.api.MiningStarted.miner` +- **内部变量名**: `MININGSTARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### miner + +- **完整名称**: `eve.structure.automoonminer.api.MiningStopped.miner` +- **内部变量名**: `MININGSTOPPED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### reagent + +- **完整名称**: `eve.structure.automoonminer.api.Mined.InputReagents.reagent` +- **内部变量名**: `MINED_INPUTREAGENTS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### material + +- **完整名称**: `eve.structure.automoonminer.api.Mined.OutputMaterials.material` +- **内部变量名**: `MINED_OUTPUTMATERIALS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### miner + +- **完整名称**: `eve.structure.automoonminer.api.Mined.miner` +- **内部变量名**: `MINED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding.entitlement` (as `entitlement`) +- `eve.character` (as `character`) +- `eve.dailygoal.api` (as `api`) +- `eve.dailygoal` (as `goal`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### id + +- **完整名称**: `eve.dailygoal.api.Created.id` +- **内部变量名**: `CREATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.dailygoal.api.PrematurelyDeactivated.id` +- **内部变量名**: `PREMATURELYDEACTIVATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.dailygoal.api.Removed.id` +- **内部变量名**: `REMOVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### timestamp + +- **完整名称**: `eve.dailygoal.api.Progressed.timestamp` +- **内部变量名**: `PROGRESSED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.dailygoal.api.Completed.character` +- **内部变量名**: `COMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.dailygoal.api.Redeemed.character` +- **内部变量名**: `REDEEMED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### start + +- **完整名称**: `eve.dailygoal.api.PeriodRegenerated.Period.start` +- **内部变量名**: `PERIODREGENERATED_PERIOD` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### period + +- **完整名称**: `eve.dailygoal.api.PeriodRegenerated.period` +- **内部变量名**: `PERIODREGENERATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding.entitlement` (as `entitlement`) +- `eve.character` (as `character`) +- `eve.dailygoal` (as `goal`) + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### goal + +- **完整名称**: `eve.dailygoal.api.GetRequest.goal` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.dailygoal.api.GetResponse.goal` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetAllRequest + +- **完整名称**: `eve.dailygoal.api.GetAllRequest` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goals + +- **完整名称**: `eve.dailygoal.api.GetAllResponse.goals` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.dailygoal.api.GetProgressRequest.goal` +- **内部变量名**: `GETPROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### current + +- **完整名称**: `eve.dailygoal.api.GetProgressResponse.current` +- **内部变量名**: `GETPROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### unit + +- **完整名称**: `eve.dailygoal.api.Earning.unit` +- **内部变量名**: `EARNING` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.dailygoal` (as `goal`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 12 + +##### context + +- **完整名称**: `eve.dailygoal.api.admin.RegenerateCurrentGoalsRequest.context` +- **内部变量名**: `REGENERATECURRENTGOALSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.dailygoal.api.admin.RegenerateCurrentGoalsResponse.Goal.id` +- **内部变量名**: `REGENERATECURRENTGOALSRESPONSE_GOAL` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goals + +- **完整名称**: `eve.dailygoal.api.admin.RegenerateCurrentGoalsResponse.goals` +- **内部变量名**: `REGENERATECURRENTGOALSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.dailygoal.api.admin.RegenerateCurrentMonthlyGoalsRequest.context` +- **内部变量名**: `REGENERATECURRENTMONTHLYGOALSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.dailygoal.api.admin.RegenerateCurrentMonthlyGoalsResponse.Goal.id` +- **内部变量名**: `REGENERATECURRENTMONTHLYGOALSRESPONSE_GOAL` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goals + +- **完整名称**: `eve.dailygoal.api.admin.RegenerateCurrentMonthlyGoalsResponse.goals` +- **内部变量名**: `REGENERATECURRENTMONTHLYGOALSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.dailygoal.api.admin.ProgressRequest.goal` +- **内部变量名**: `PROGRESSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ProgressResponse + +- **完整名称**: `eve.dailygoal.api.admin.ProgressResponse` +- **内部变量名**: `PROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.dailygoal.api.admin.ExpireRequest.goal` +- **内部变量名**: `EXPIREREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ExpireResponse + +- **完整名称**: `eve.dailygoal.api.admin.ExpireResponse` +- **内部变量名**: `EXPIRERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.dailygoal.api.admin.AutoRedeemRequest.context` +- **内部变量名**: `AUTOREDEEMREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### AutoRedeemResponse + +- **完整名称**: `eve.dailygoal.api.admin.AutoRedeemResponse` +- **内部变量名**: `AUTOREDEEMRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### tier + +- **完整名称**: `eve.tag.version.api.ListRequest.tier` +- **内部变量名**: `LISTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### versions + +- **完整名称**: `eve.tag.version.api.ListResponse.Result.versions` +- **内部变量名**: `LISTRESPONSE_RESULT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### results + +- **完整名称**: `eve.tag.version.api.ListResponse.results` +- **内部变量名**: `LISTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### new_version + +- **完整名称**: `eve.tag.version.api.CreateRequest.new_version` +- **内部变量名**: `CREATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CreateResponse + +- **完整名称**: `eve.tag.version.api.CreateResponse` +- **内部变量名**: `CREATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.tag.version.api.PromoteRequest.version` +- **内部变量名**: `PROMOTEREQUEST` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `tier` | `api.ListRequest.tier` | enum (cpp: bool) | optional (required in proto3) | +| 2 | `versions` | `api.ListResponse.Result.versions` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `locked` | `api.ListResponse.Result.locked` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `results` | `api.ListResponse.results` | message (cpp: message) → `listresponseresult` | repeated | +| 5 | `new_version` | `api.CreateRequest.new_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 6 | `version` | `api.CreateRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `scratch` | `api.CreateRequest.scratch` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `version` | `api.PromoteRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | + +--- + +##### PromoteResponse + +- **完整名称**: `eve.tag.version.api.PromoteResponse` +- **内部变量名**: `PROMOTERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### new_version + +- **完整名称**: `eve.tag.version.api.Created.new_version` +- **内部变量名**: `CREATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.tag.version.api.Promoted.version` +- **内部变量名**: `PROMOTED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `new_version` | `api.Created.new_version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 2 | `version` | `api.Created.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `scratch` | `api.Created.scratch` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `version` | `api.Promoted.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 5 | `promoted_from_tier` | `api.Promoted.promoted_from_tier` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `promoted_to_tier` | `api.Promoted.promoted_to_tier` | enum (cpp: bool) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.tag` (as `tag`) + +#### 📝 消息类型定义 + +**消息类型数量**: 10 + +##### tag + +- **完整名称**: `eve.tag.api.RegisterRequest.tag` +- **内部变量名**: `REGISTERREQUEST` +- **字段数量**: 16 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `tag` | `api.RegisterRequest.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.RegisterRequest.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 3 | `version` | `api.RegisterRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 4 | `tag` | `api.EditRequest.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.EditRequest.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 6 | `version` | `api.EditRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `version` | `api.ValidateRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 8 | `tags` | `api.ValidateRequest.tags` | message (cpp: message) → `evedottagdottagpb2.identifier` | repeated | +| 9 | `tag` | `api.ValidateResponse.ValidationResult.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.ValidateResponse.ValidationResult.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 11 | `not_found` | `api.ValidateResponse.ValidationResult.not_found` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `results` | `api.ValidateResponse.results` | message (cpp: message) → `validateresponsevalidationresult` | repeated | +| 13 | `version` | `api.ListRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 14 | `tag` | `api.ListResponse.TagResult.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 15 | `attributes` | `api.ListResponse.TagResult.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 16 | `results` | `api.ListResponse.results` | message (cpp: message) → `validateresponsevalidationresult` | repeated | + +--- + +##### RegisterResponse + +- **完整名称**: `eve.tag.api.RegisterResponse` +- **内部变量名**: `REGISTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### tag + +- **完整名称**: `eve.tag.api.EditRequest.tag` +- **内部变量名**: `EDITREQUEST` +- **字段数量**: 16 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `tag` | `api.RegisterRequest.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.RegisterRequest.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 3 | `version` | `api.RegisterRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 4 | `tag` | `api.EditRequest.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.EditRequest.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 6 | `version` | `api.EditRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `version` | `api.ValidateRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 8 | `tags` | `api.ValidateRequest.tags` | message (cpp: message) → `evedottagdottagpb2.identifier` | repeated | +| 9 | `tag` | `api.ValidateResponse.ValidationResult.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.ValidateResponse.ValidationResult.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 11 | `not_found` | `api.ValidateResponse.ValidationResult.not_found` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `results` | `api.ValidateResponse.results` | message (cpp: message) → `validateresponsevalidationresult` | repeated | +| 13 | `version` | `api.ListRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 14 | `tag` | `api.ListResponse.TagResult.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 15 | `attributes` | `api.ListResponse.TagResult.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 16 | `results` | `api.ListResponse.results` | message (cpp: message) → `validateresponsevalidationresult` | repeated | + +--- + +##### EditResponse + +- **完整名称**: `eve.tag.api.EditResponse` +- **内部变量名**: `EDITRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.tag.api.ValidateRequest.version` +- **内部变量名**: `VALIDATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### tag + +- **完整名称**: `eve.tag.api.ValidateResponse.ValidationResult.tag` +- **内部变量名**: `VALIDATERESPONSE_VALIDATIONRESULT` +- **字段数量**: 16 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `tag` | `api.RegisterRequest.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.RegisterRequest.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 3 | `version` | `api.RegisterRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 4 | `tag` | `api.EditRequest.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.EditRequest.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 6 | `version` | `api.EditRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `version` | `api.ValidateRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 8 | `tags` | `api.ValidateRequest.tags` | message (cpp: message) → `evedottagdottagpb2.identifier` | repeated | +| 9 | `tag` | `api.ValidateResponse.ValidationResult.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.ValidateResponse.ValidationResult.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 11 | `not_found` | `api.ValidateResponse.ValidationResult.not_found` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `results` | `api.ValidateResponse.results` | message (cpp: message) → `validateresponsevalidationresult` | repeated | +| 13 | `version` | `api.ListRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 14 | `tag` | `api.ListResponse.TagResult.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 15 | `attributes` | `api.ListResponse.TagResult.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 16 | `results` | `api.ListResponse.results` | message (cpp: message) → `validateresponsevalidationresult` | repeated | + +--- + +##### results + +- **完整名称**: `eve.tag.api.ValidateResponse.results` +- **内部变量名**: `VALIDATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.tag.api.ListRequest.version` +- **内部变量名**: `LISTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### tag + +- **完整名称**: `eve.tag.api.ListResponse.TagResult.tag` +- **内部变量名**: `LISTRESPONSE_TAGRESULT` +- **字段数量**: 16 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `tag` | `api.RegisterRequest.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.RegisterRequest.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 3 | `version` | `api.RegisterRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 4 | `tag` | `api.EditRequest.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.EditRequest.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 6 | `version` | `api.EditRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `version` | `api.ValidateRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 8 | `tags` | `api.ValidateRequest.tags` | message (cpp: message) → `evedottagdottagpb2.identifier` | repeated | +| 9 | `tag` | `api.ValidateResponse.ValidationResult.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.ValidateResponse.ValidationResult.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 11 | `not_found` | `api.ValidateResponse.ValidationResult.not_found` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `results` | `api.ValidateResponse.results` | message (cpp: message) → `validateresponsevalidationresult` | repeated | +| 13 | `version` | `api.ListRequest.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 14 | `tag` | `api.ListResponse.TagResult.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 15 | `attributes` | `api.ListResponse.TagResult.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 16 | `results` | `api.ListResponse.results` | message (cpp: message) → `validateresponsevalidationresult` | repeated | + +--- + +##### results + +- **完整名称**: `eve.tag.api.ListResponse.results` +- **内部变量名**: `LISTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.tag` (as `tag`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### tag + +- **完整名称**: `eve.tag.api.Registered.tag` +- **内部变量名**: `REGISTERED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `tag` | `api.Registered.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Registered.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 3 | `version` | `api.Registered.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 4 | `tag` | `api.Edited.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.Edited.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 6 | `version` | `api.Edited.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | + +--- + +##### tag + +- **完整名称**: `eve.tag.api.Edited.tag` +- **内部变量名**: `EDITED` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `tag` | `api.Registered.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Registered.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 3 | `version` | `api.Registered.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 4 | `tag` | `api.Edited.tag` | message (cpp: message) → `evedottagdottagpb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.Edited.attributes` | message (cpp: message) → `evedottagdottagpb2.attributes` | optional (required in proto3) | +| 6 | `version` | `api.Edited.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.inventory` (as `generic_item_type`) +- `eve.npc.loot` (as `source_type`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### loot_type + +- **完整名称**: `eve.npc.loot.api.Spawned.Loot.loot_type` +- **内部变量名**: `SPAWNED_LOOT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### source_type + +- **完整名称**: `eve.npc.loot.api.Spawned.source_type` +- **内部变量名**: `SPAWNED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.corporation` (as `corporation`) +- `eve.faction` (as `faction`) +- `eve.npc.ship` (as `ship`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### ship + +- **完整名称**: `eve.npc.ship.api.GetOwnerRequest.ship` +- **内部变量名**: `GETOWNERREQUEST` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `ship` | `api.GetOwnerRequest.ship` | message (cpp: message) → `evedotnpcdotshipdotshippb2.identifier` | optional (required in proto3) | +| 2 | `no_corporation` | `api.GetOwnerResponse.no_corporation` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `corporation` | `api.GetOwnerResponse.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 4 | `no_faction` | `api.GetOwnerResponse.no_faction` | bool (cpp: uint32) | optional (required in proto3) | +| 5 | `faction` | `api.GetOwnerResponse.faction` | message (cpp: message) → `evedotfactiondotfactionpb2.identifier` | optional (required in proto3) | + +--- + +##### no_corporation + +- **完整名称**: `eve.npc.ship.api.GetOwnerResponse.no_corporation` +- **内部变量名**: `GETOWNERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.constellation` (as `constellation`) +- `eve.faction` (as `faction`) +- `eve.npc.ship` (as `ship`) +- `eve.region` (as `region`) +- `eve.ship` (as `ship_type`) +- `eve.solarsystem` (as `solarsystem`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### pilot + +- **完整名称**: `eve.npc.ship.api.Exploded.Pilot.pilot` +- **内部变量名**: `EXPLODED_PILOT` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### npc + +- **完整名称**: `eve.npc.ship.api.Exploded.npc` +- **内部变量名**: `EXPLODED` +- **字段数量**: 11 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `pilot` | `ship.api.Exploded.Pilot.pilot` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `ship_type` | `ship.api.Exploded.Pilot.ship_type` | message (cpp: message) → `evedotshipdotshiptypepb2.identifier` | optional (required in proto3) | +| 3 | `npc` | `ship.api.Exploded.npc` | message (cpp: message) → `evedotnpcdotshipdotshippb2.identifier` | optional (required in proto3) | +| 4 | `faction` | `ship.api.Exploded.faction` | message (cpp: message) → `evedotfactiondotfactionpb2.identifier` | optional (required in proto3) | +| 5 | `no_faction_affiliation` | `ship.api.Exploded.no_faction_affiliation` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `killer` | `ship.api.Exploded.killer` | message (cpp: message) → `explodedpilot` | optional (required in proto3) | +| 7 | `killer_unknown` | `ship.api.Exploded.killer_unknown` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `participants` | `ship.api.Exploded.participants` | message (cpp: message) → `explodedpilot` | repeated | +| 9 | `solar_system` | `ship.api.Exploded.solar_system` | message (cpp: message) → `evedotsolarsystemdotsolarsystempb2.identifier` | optional (required in proto3) | +| 10 | `region` | `ship.api.Exploded.region` | message (cpp: message) → `evedotregiondotregionpb2.identifier` | optional (required in proto3) | +| 11 | `constellation` | `ship.api.Exploded.constellation` | message (cpp: message) → `evedotconstellationdotconstellationpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.acl` (as `acl`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### acl + +- **完整名称**: `eve.acl.api.GetRequest.acl` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `acl` | `api.GetRequest.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 2 | `acl` | `api.GetResponse.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 3 | `acl` | `api.CanManageRequest.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 4 | `character` | `api.CanManageRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `can_manage` | `api.CanManageResponse.can_manage` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `character` | `api.GetManagedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 7 | `acls` | `api.GetManagedResponse.acls` | message (cpp: message) → `evedotacldotaclpb2.identifier` | repeated | + +--- + +##### acl + +- **完整名称**: `eve.acl.api.GetResponse.acl` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `acl` | `api.GetRequest.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 2 | `acl` | `api.GetResponse.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 3 | `acl` | `api.CanManageRequest.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 4 | `character` | `api.CanManageRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `can_manage` | `api.CanManageResponse.can_manage` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `character` | `api.GetManagedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 7 | `acls` | `api.GetManagedResponse.acls` | message (cpp: message) → `evedotacldotaclpb2.identifier` | repeated | + +--- + +##### acl + +- **完整名称**: `eve.acl.api.CanManageRequest.acl` +- **内部变量名**: `CANMANAGEREQUEST` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `acl` | `api.GetRequest.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 2 | `acl` | `api.GetResponse.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 3 | `acl` | `api.CanManageRequest.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 4 | `character` | `api.CanManageRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `can_manage` | `api.CanManageResponse.can_manage` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `character` | `api.GetManagedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 7 | `acls` | `api.GetManagedResponse.acls` | message (cpp: message) → `evedotacldotaclpb2.identifier` | repeated | + +--- + +##### can_manage + +- **完整名称**: `eve.acl.api.CanManageResponse.can_manage` +- **内部变量名**: `CANMANAGERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.acl.api.GetManagedRequest.character` +- **内部变量名**: `GETMANAGEDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### acls + +- **完整名称**: `eve.acl.api.GetManagedResponse.acls` +- **内部变量名**: `GETMANAGEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.acl` (as `acl`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### acl + +- **完整名称**: `eve.acl.api.Created.acl` +- **内部变量名**: `CREATED` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `acl` | `api.Created.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotacldotaclpb2.attributes` | optional (required in proto3) | +| 3 | `character` | `api.MembershipUpdated.MembershipUpdate.character` | message (cpp: message) → `evedotacldotaclpb2.character` | optional (required in proto3) | +| 4 | `corporation` | `api.MembershipUpdated.MembershipUpdate.corporation` | message (cpp: message) → `evedotacldotaclpb2.corporation` | optional (required in proto3) | +| 5 | `alliance` | `api.MembershipUpdated.MembershipUpdate.alliance` | message (cpp: message) → `evedotacldotaclpb2.alliance` | optional (required in proto3) | +| 6 | `everyone` | `api.MembershipUpdated.MembershipUpdate.everyone` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `acl` | `api.MembershipUpdated.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 8 | `membership` | `api.MembershipUpdated.membership` | message (cpp: message) → `membershipupdatedmembershipupdate` | repeated | +| 9 | `version` | `api.MembershipUpdated.version` | message (cpp: message) → `evedotacldotaclpb2.version` | optional (required in proto3) | +| 10 | `full_membership` | `api.MembershipUpdated.full_membership` | message (cpp: message) → `evedotacldotaclpb2.membership` | optional (required in proto3) | +| 11 | `acl` | `api.Deleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 12 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotacldotaclpb2.attributes` | optional (required in proto3) | +| 13 | `acl` | `api.NameChanged.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 14 | `old_name` | `api.NameChanged.old_name` | string (cpp: string) | optional (required in proto3) | +| 15 | `new_name` | `api.NameChanged.new_name` | string (cpp: string) | optional (required in proto3) | +| 16 | `acl` | `api.DescriptionChanged.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 17 | `old_description` | `api.DescriptionChanged.old_description` | string (cpp: string) | optional (required in proto3) | +| 18 | `new_description` | `api.DescriptionChanged.new_description` | string (cpp: string) | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.acl.api.MembershipUpdated.MembershipUpdate.character` +- **内部变量名**: `MEMBERSHIPUPDATED_MEMBERSHIPUPDATE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### acl + +- **完整名称**: `eve.acl.api.MembershipUpdated.acl` +- **内部变量名**: `MEMBERSHIPUPDATED` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `acl` | `api.Created.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotacldotaclpb2.attributes` | optional (required in proto3) | +| 3 | `character` | `api.MembershipUpdated.MembershipUpdate.character` | message (cpp: message) → `evedotacldotaclpb2.character` | optional (required in proto3) | +| 4 | `corporation` | `api.MembershipUpdated.MembershipUpdate.corporation` | message (cpp: message) → `evedotacldotaclpb2.corporation` | optional (required in proto3) | +| 5 | `alliance` | `api.MembershipUpdated.MembershipUpdate.alliance` | message (cpp: message) → `evedotacldotaclpb2.alliance` | optional (required in proto3) | +| 6 | `everyone` | `api.MembershipUpdated.MembershipUpdate.everyone` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `acl` | `api.MembershipUpdated.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 8 | `membership` | `api.MembershipUpdated.membership` | message (cpp: message) → `membershipupdatedmembershipupdate` | repeated | +| 9 | `version` | `api.MembershipUpdated.version` | message (cpp: message) → `evedotacldotaclpb2.version` | optional (required in proto3) | +| 10 | `full_membership` | `api.MembershipUpdated.full_membership` | message (cpp: message) → `evedotacldotaclpb2.membership` | optional (required in proto3) | +| 11 | `acl` | `api.Deleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 12 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotacldotaclpb2.attributes` | optional (required in proto3) | +| 13 | `acl` | `api.NameChanged.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 14 | `old_name` | `api.NameChanged.old_name` | string (cpp: string) | optional (required in proto3) | +| 15 | `new_name` | `api.NameChanged.new_name` | string (cpp: string) | optional (required in proto3) | +| 16 | `acl` | `api.DescriptionChanged.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 17 | `old_description` | `api.DescriptionChanged.old_description` | string (cpp: string) | optional (required in proto3) | +| 18 | `new_description` | `api.DescriptionChanged.new_description` | string (cpp: string) | optional (required in proto3) | + +--- + +##### acl + +- **完整名称**: `eve.acl.api.Deleted.acl` +- **内部变量名**: `DELETED` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `acl` | `api.Created.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotacldotaclpb2.attributes` | optional (required in proto3) | +| 3 | `character` | `api.MembershipUpdated.MembershipUpdate.character` | message (cpp: message) → `evedotacldotaclpb2.character` | optional (required in proto3) | +| 4 | `corporation` | `api.MembershipUpdated.MembershipUpdate.corporation` | message (cpp: message) → `evedotacldotaclpb2.corporation` | optional (required in proto3) | +| 5 | `alliance` | `api.MembershipUpdated.MembershipUpdate.alliance` | message (cpp: message) → `evedotacldotaclpb2.alliance` | optional (required in proto3) | +| 6 | `everyone` | `api.MembershipUpdated.MembershipUpdate.everyone` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `acl` | `api.MembershipUpdated.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 8 | `membership` | `api.MembershipUpdated.membership` | message (cpp: message) → `membershipupdatedmembershipupdate` | repeated | +| 9 | `version` | `api.MembershipUpdated.version` | message (cpp: message) → `evedotacldotaclpb2.version` | optional (required in proto3) | +| 10 | `full_membership` | `api.MembershipUpdated.full_membership` | message (cpp: message) → `evedotacldotaclpb2.membership` | optional (required in proto3) | +| 11 | `acl` | `api.Deleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 12 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotacldotaclpb2.attributes` | optional (required in proto3) | +| 13 | `acl` | `api.NameChanged.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 14 | `old_name` | `api.NameChanged.old_name` | string (cpp: string) | optional (required in proto3) | +| 15 | `new_name` | `api.NameChanged.new_name` | string (cpp: string) | optional (required in proto3) | +| 16 | `acl` | `api.DescriptionChanged.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 17 | `old_description` | `api.DescriptionChanged.old_description` | string (cpp: string) | optional (required in proto3) | +| 18 | `new_description` | `api.DescriptionChanged.new_description` | string (cpp: string) | optional (required in proto3) | + +--- + +##### acl + +- **完整名称**: `eve.acl.api.NameChanged.acl` +- **内部变量名**: `NAMECHANGED` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `acl` | `api.Created.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotacldotaclpb2.attributes` | optional (required in proto3) | +| 3 | `character` | `api.MembershipUpdated.MembershipUpdate.character` | message (cpp: message) → `evedotacldotaclpb2.character` | optional (required in proto3) | +| 4 | `corporation` | `api.MembershipUpdated.MembershipUpdate.corporation` | message (cpp: message) → `evedotacldotaclpb2.corporation` | optional (required in proto3) | +| 5 | `alliance` | `api.MembershipUpdated.MembershipUpdate.alliance` | message (cpp: message) → `evedotacldotaclpb2.alliance` | optional (required in proto3) | +| 6 | `everyone` | `api.MembershipUpdated.MembershipUpdate.everyone` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `acl` | `api.MembershipUpdated.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 8 | `membership` | `api.MembershipUpdated.membership` | message (cpp: message) → `membershipupdatedmembershipupdate` | repeated | +| 9 | `version` | `api.MembershipUpdated.version` | message (cpp: message) → `evedotacldotaclpb2.version` | optional (required in proto3) | +| 10 | `full_membership` | `api.MembershipUpdated.full_membership` | message (cpp: message) → `evedotacldotaclpb2.membership` | optional (required in proto3) | +| 11 | `acl` | `api.Deleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 12 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotacldotaclpb2.attributes` | optional (required in proto3) | +| 13 | `acl` | `api.NameChanged.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 14 | `old_name` | `api.NameChanged.old_name` | string (cpp: string) | optional (required in proto3) | +| 15 | `new_name` | `api.NameChanged.new_name` | string (cpp: string) | optional (required in proto3) | +| 16 | `acl` | `api.DescriptionChanged.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 17 | `old_description` | `api.DescriptionChanged.old_description` | string (cpp: string) | optional (required in proto3) | +| 18 | `new_description` | `api.DescriptionChanged.new_description` | string (cpp: string) | optional (required in proto3) | + +--- + +##### acl + +- **完整名称**: `eve.acl.api.DescriptionChanged.acl` +- **内部变量名**: `DESCRIPTIONCHANGED` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `acl` | `api.Created.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotacldotaclpb2.attributes` | optional (required in proto3) | +| 3 | `character` | `api.MembershipUpdated.MembershipUpdate.character` | message (cpp: message) → `evedotacldotaclpb2.character` | optional (required in proto3) | +| 4 | `corporation` | `api.MembershipUpdated.MembershipUpdate.corporation` | message (cpp: message) → `evedotacldotaclpb2.corporation` | optional (required in proto3) | +| 5 | `alliance` | `api.MembershipUpdated.MembershipUpdate.alliance` | message (cpp: message) → `evedotacldotaclpb2.alliance` | optional (required in proto3) | +| 6 | `everyone` | `api.MembershipUpdated.MembershipUpdate.everyone` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `acl` | `api.MembershipUpdated.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 8 | `membership` | `api.MembershipUpdated.membership` | message (cpp: message) → `membershipupdatedmembershipupdate` | repeated | +| 9 | `version` | `api.MembershipUpdated.version` | message (cpp: message) → `evedotacldotaclpb2.version` | optional (required in proto3) | +| 10 | `full_membership` | `api.MembershipUpdated.full_membership` | message (cpp: message) → `evedotacldotaclpb2.membership` | optional (required in proto3) | +| 11 | `acl` | `api.Deleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 12 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotacldotaclpb2.attributes` | optional (required in proto3) | +| 13 | `acl` | `api.NameChanged.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 14 | `old_name` | `api.NameChanged.old_name` | string (cpp: string) | optional (required in proto3) | +| 15 | `new_name` | `api.NameChanged.new_name` | string (cpp: string) | optional (required in proto3) | +| 16 | `acl` | `api.DescriptionChanged.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | +| 17 | `old_description` | `api.DescriptionChanged.old_description` | string (cpp: string) | optional (required in proto3) | +| 18 | `new_description` | `api.DescriptionChanged.new_description` | string (cpp: string) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.localization` (as `message`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### message + +- **完整名称**: `eve.localization.message.api.GetLocalizedTextRequest.message` +- **内部变量名**: `GETLOCALIZEDTEXTREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `message` | `api.GetLocalizedTextRequest.message` | message (cpp: message) → `evedotlocalizationdotmessagepb2.identifier` | optional (required in proto3) | +| 2 | `text` | `api.GetLocalizedTextResponse.text` | string (cpp: string) | optional (required in proto3) | + +--- + +##### text + +- **完整名称**: `eve.localization.message.api.GetLocalizedTextResponse.text` +- **内部变量名**: `GETLOCALIZEDTEXTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.localization.cerberus` (as `cerberus`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### message + +- **完整名称**: `eve.localization.cerberus.api.GetLocalizedTextRequest.message` +- **内部变量名**: `GETLOCALIZEDTEXTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### text + +- **完整名称**: `eve.localization.cerberus.api.GetLocalizedTextResponse.text` +- **内部变量名**: `GETLOCALIZEDTEXTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.goal` (as `goal`) + +#### 📝 消息类型定义 + +**消息类型数量**: 10 + +##### character + +- **完整名称**: `eve.goal.api.AuthorizeCorporationManagementRequest.character` +- **内部变量名**: `AUTHORIZECORPORATIONMANAGEMENTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### authorized + +- **完整名称**: `eve.goal.api.AuthorizeCorporationManagementResponse.authorized` +- **内部变量名**: `AUTHORIZECORPORATIONMANAGEMENTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.goal.api.GetRequest.goal` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.AuthorizeCorporationManagementRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `api.AuthorizeCorporationManagementRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `authorized` | `api.AuthorizeCorporationManagementResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `goal` | `api.GetRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 5 | `viewer` | `api.GetRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `goal` | `api.GetResponse.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 7 | `goal` | `api.CloseRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 8 | `corporation` | `api.CloseRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 9 | `goal` | `api.SetNameRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 10 | `name` | `api.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 11 | `corporation` | `api.SetNameRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `goal` | `api.SetDescriptionRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 13 | `description` | `api.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 14 | `corporation` | `api.SetDescriptionRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | + +--- + +##### goal + +- **完整名称**: `eve.goal.api.GetResponse.goal` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.AuthorizeCorporationManagementRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `api.AuthorizeCorporationManagementRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `authorized` | `api.AuthorizeCorporationManagementResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `goal` | `api.GetRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 5 | `viewer` | `api.GetRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `goal` | `api.GetResponse.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 7 | `goal` | `api.CloseRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 8 | `corporation` | `api.CloseRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 9 | `goal` | `api.SetNameRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 10 | `name` | `api.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 11 | `corporation` | `api.SetNameRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `goal` | `api.SetDescriptionRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 13 | `description` | `api.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 14 | `corporation` | `api.SetDescriptionRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | + +--- + +##### goal + +- **完整名称**: `eve.goal.api.CloseRequest.goal` +- **内部变量名**: `CLOSEREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.AuthorizeCorporationManagementRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `api.AuthorizeCorporationManagementRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `authorized` | `api.AuthorizeCorporationManagementResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `goal` | `api.GetRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 5 | `viewer` | `api.GetRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `goal` | `api.GetResponse.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 7 | `goal` | `api.CloseRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 8 | `corporation` | `api.CloseRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 9 | `goal` | `api.SetNameRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 10 | `name` | `api.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 11 | `corporation` | `api.SetNameRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `goal` | `api.SetDescriptionRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 13 | `description` | `api.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 14 | `corporation` | `api.SetDescriptionRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | + +--- + +##### CloseResponse + +- **完整名称**: `eve.goal.api.CloseResponse` +- **内部变量名**: `CLOSERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.goal.api.SetNameRequest.goal` +- **内部变量名**: `SETNAMEREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.AuthorizeCorporationManagementRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `api.AuthorizeCorporationManagementRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `authorized` | `api.AuthorizeCorporationManagementResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `goal` | `api.GetRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 5 | `viewer` | `api.GetRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `goal` | `api.GetResponse.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 7 | `goal` | `api.CloseRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 8 | `corporation` | `api.CloseRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 9 | `goal` | `api.SetNameRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 10 | `name` | `api.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 11 | `corporation` | `api.SetNameRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `goal` | `api.SetDescriptionRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 13 | `description` | `api.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 14 | `corporation` | `api.SetDescriptionRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | + +--- + +##### SetNameResponse + +- **完整名称**: `eve.goal.api.SetNameResponse` +- **内部变量名**: `SETNAMERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.goal.api.SetDescriptionRequest.goal` +- **内部变量名**: `SETDESCRIPTIONREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.AuthorizeCorporationManagementRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `api.AuthorizeCorporationManagementRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `authorized` | `api.AuthorizeCorporationManagementResponse.authorized` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `goal` | `api.GetRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 5 | `viewer` | `api.GetRequest.viewer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `goal` | `api.GetResponse.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 7 | `goal` | `api.CloseRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 8 | `corporation` | `api.CloseRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 9 | `goal` | `api.SetNameRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 10 | `name` | `api.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 11 | `corporation` | `api.SetNameRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `goal` | `api.SetDescriptionRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 13 | `description` | `api.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 14 | `corporation` | `api.SetDescriptionRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | + +--- + +##### SetDescriptionResponse + +- **完整名称**: `eve.goal.api.SetDescriptionResponse` +- **内部变量名**: `SETDESCRIPTIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation.accounting` (as `wallet`) +- `eve.corporation` (as `corporation`) +- `eve.corporation` (as `office`) +- `eve.goal` (as `goal`) +- `eve.inventory` (as `generic_item`) +- `eve.isk` (as `isk`) +- `eve.station` (as `station`) +- `eve.structure` (as `structure`) + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### id + +- **完整名称**: `eve.goal.api.Created.id` +- **内部变量名**: `CREATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.goal.api.Deleted.goal` +- **内部变量名**: `DELETED` +- **字段数量**: 21 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `api.Created.id` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 2 | `goal` | `api.Created.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.attributes` | optional (required in proto3) | +| 3 | `goal` | `api.Deleted.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.attributes` | optional (required in proto3) | +| 4 | `id` | `api.Closed.id` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 5 | `goal` | `api.Closed.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.attributes` | optional (required in proto3) | +| 6 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 7 | `id` | `api.Completed.id` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 8 | `goal` | `api.Completed.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.attributes` | optional (required in proto3) | +| 9 | `item_moved` | `api.DeliveryReceived.item_moved` | message (cpp: message) → `evedotinventorydotgenericitempb2.attributes` | optional (required in proto3) | +| 10 | `sender` | `api.DeliveryReceived.sender` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 11 | `receiver` | `api.DeliveryReceived.receiver` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 12 | `office` | `api.DeliveryReceived.office` | message (cpp: message) → `evedotcorporationdotofficepb2.identifier` | optional (required in proto3) | +| 13 | `structure` | `api.DeliveryReceived.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 14 | `station` | `api.DeliveryReceived.station` | message (cpp: message) → `evedotstationdotstationpb2.identifier` | optional (required in proto3) | +| 15 | `donator` | `api.IskDonated.donator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 16 | `amount` | `api.IskDonated.amount` | message (cpp: message) → `evedotiskdotiskpb2.currency` | optional (required in proto3) | +| 17 | `goal` | `api.IskDonated.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.attributes` | optional (required in proto3) | +| 18 | `corporation_wallet` | `api.IskDonated.corporation_wallet` | message (cpp: message) → `evedotcorporationdotaccountingdotwalletpb2.identifier` | optional (required in proto3) | +| 19 | `id` | `api.NameChanged.id` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 20 | `assignee` | `api.NameChanged.assignee` | message (cpp: message) → `evedotgoaldotgoalpb2.organization` | optional (required in proto3) | +| 21 | `name` | `api.NameChanged.name` | string (cpp: string) | optional (required in proto3) | + +--- + +##### id + +- **完整名称**: `eve.goal.api.Closed.id` +- **内部变量名**: `CLOSED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.goal.api.Completed.id` +- **内部变量名**: `COMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### item_moved + +- **完整名称**: `eve.goal.api.DeliveryReceived.item_moved` +- **内部变量名**: `DELIVERYRECEIVED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### donator + +- **完整名称**: `eve.goal.api.IskDonated.donator` +- **内部变量名**: `ISKDONATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.goal.api.NameChanged.id` +- **内部变量名**: `NAMECHANGED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.goal` (as `goal`) + +#### 📝 消息类型定义 + +**消息类型数量**: 9 + +##### goal + +- **完整名称**: `eve.goal.contribution.api.GetContributorSummaryForGoalRequest.goal` +- **内部变量名**: `GETCONTRIBUTORSUMMARYFORGOALREQUEST` +- **字段数量**: 16 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `goal` | `contribution.api.GetContributorSummaryForGoalRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 2 | `contributor` | `contribution.api.GetContributorSummaryForGoalRequest.contributor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `contributor` | `contribution.api.GetContributorSummaryForGoalResponse.ContributorSummary.contributor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `total_sum_of_progress_added` | `contribution.api.GetContributorSummaryForGoalResponse.ContributorSummary.total_sum_of_progress_added` | uint64 (cpp: uint64) | optional (required in proto3) | +| 5 | `goal` | `contribution.api.GetContributorSummaryForGoalResponse.ContributorSummary.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 6 | `summary` | `contribution.api.GetContributorSummaryForGoalResponse.summary` | message (cpp: message) → `getcontributorsummaryforgoalresponsecontributorsummary` | optional (required in proto3) | +| 7 | `goal` | `contribution.api.GetAllContributorSummariesForGoalRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 8 | `contributor` | `contribution.api.GetAllContributorSummariesForGoalResponse.ContributorSummary.contributor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `total_sum_of_progress_added` | `contribution.api.GetAllContributorSummariesForGoalResponse.ContributorSummary.total_sum_of_progress_added` | uint64 (cpp: uint64) | optional (required in proto3) | +| 10 | `goal` | `contribution.api.GetAllContributorSummariesForGoalResponse.ContributorSummary.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 11 | `summaries` | `contribution.api.GetAllContributorSummariesForGoalResponse.summaries` | message (cpp: message) → `getallcontributorsummariesforgoalresponsecontributorsummary` | repeated | +| 12 | `contributor` | `contribution.api.GetAllContributorSummariesForCharacterRequest.contributor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 13 | `contributor` | `contribution.api.GetAllContributorSummariesForCharacterResponse.ContributorSummary.contributor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `total_sum_of_progress_added` | `contribution.api.GetAllContributorSummariesForCharacterResponse.ContributorSummary.total_sum_of_progress_added` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `goal` | `contribution.api.GetAllContributorSummariesForCharacterResponse.ContributorSummary.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 16 | `summaries` | `contribution.api.GetAllContributorSummariesForCharacterResponse.summaries` | message (cpp: message) → `getallcontributorsummariesforgoalresponsecontributorsummary` | repeated | + +--- + +##### contributor + +- **完整名称**: `eve.goal.contribution.api.GetContributorSummaryForGoalResponse.ContributorSummary.contributor` +- **内部变量名**: `GETCONTRIBUTORSUMMARYFORGOALRESPONSE_CONTRIBUTORSUMMARY` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### summary + +- **完整名称**: `eve.goal.contribution.api.GetContributorSummaryForGoalResponse.summary` +- **内部变量名**: `GETCONTRIBUTORSUMMARYFORGOALRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### goal + +- **完整名称**: `eve.goal.contribution.api.GetAllContributorSummariesForGoalRequest.goal` +- **内部变量名**: `GETALLCONTRIBUTORSUMMARIESFORGOALREQUEST` +- **字段数量**: 16 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `goal` | `contribution.api.GetContributorSummaryForGoalRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 2 | `contributor` | `contribution.api.GetContributorSummaryForGoalRequest.contributor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `contributor` | `contribution.api.GetContributorSummaryForGoalResponse.ContributorSummary.contributor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `total_sum_of_progress_added` | `contribution.api.GetContributorSummaryForGoalResponse.ContributorSummary.total_sum_of_progress_added` | uint64 (cpp: uint64) | optional (required in proto3) | +| 5 | `goal` | `contribution.api.GetContributorSummaryForGoalResponse.ContributorSummary.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 6 | `summary` | `contribution.api.GetContributorSummaryForGoalResponse.summary` | message (cpp: message) → `getcontributorsummaryforgoalresponsecontributorsummary` | optional (required in proto3) | +| 7 | `goal` | `contribution.api.GetAllContributorSummariesForGoalRequest.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 8 | `contributor` | `contribution.api.GetAllContributorSummariesForGoalResponse.ContributorSummary.contributor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `total_sum_of_progress_added` | `contribution.api.GetAllContributorSummariesForGoalResponse.ContributorSummary.total_sum_of_progress_added` | uint64 (cpp: uint64) | optional (required in proto3) | +| 10 | `goal` | `contribution.api.GetAllContributorSummariesForGoalResponse.ContributorSummary.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 11 | `summaries` | `contribution.api.GetAllContributorSummariesForGoalResponse.summaries` | message (cpp: message) → `getallcontributorsummariesforgoalresponsecontributorsummary` | repeated | +| 12 | `contributor` | `contribution.api.GetAllContributorSummariesForCharacterRequest.contributor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 13 | `contributor` | `contribution.api.GetAllContributorSummariesForCharacterResponse.ContributorSummary.contributor` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `total_sum_of_progress_added` | `contribution.api.GetAllContributorSummariesForCharacterResponse.ContributorSummary.total_sum_of_progress_added` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `goal` | `contribution.api.GetAllContributorSummariesForCharacterResponse.ContributorSummary.goal` | message (cpp: message) → `evedotgoaldotgoalpb2.identifier` | optional (required in proto3) | +| 16 | `summaries` | `contribution.api.GetAllContributorSummariesForCharacterResponse.summaries` | message (cpp: message) → `getallcontributorsummariesforgoalresponsecontributorsummary` | repeated | + +--- + +##### contributor + +- **完整名称**: `eve.goal.contribution.api.GetAllContributorSummariesForGoalResponse.ContributorSummary.contributor` +- **内部变量名**: `GETALLCONTRIBUTORSUMMARIESFORGOALRESPONSE_CONTRIBUTORSUMMARY` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### summaries + +- **完整名称**: `eve.goal.contribution.api.GetAllContributorSummariesForGoalResponse.summaries` +- **内部变量名**: `GETALLCONTRIBUTORSUMMARIESFORGOALRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### contributor + +- **完整名称**: `eve.goal.contribution.api.GetAllContributorSummariesForCharacterRequest.contributor` +- **内部变量名**: `GETALLCONTRIBUTORSUMMARIESFORCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### contributor + +- **完整名称**: `eve.goal.contribution.api.GetAllContributorSummariesForCharacterResponse.ContributorSummary.contributor` +- **内部变量名**: `GETALLCONTRIBUTORSUMMARIESFORCHARACTERRESPONSE_CONTRIBUTORSUMMARY` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### summaries + +- **完整名称**: `eve.goal.contribution.api.GetAllContributorSummariesForCharacterResponse.summaries` +- **内部变量名**: `GETALLCONTRIBUTORSUMMARIESFORCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.goal` (as `goal`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### timestamp + +- **完整名称**: `eve.goal.contribution.api.Contributed.timestamp` +- **内部变量名**: `CONTRIBUTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.goal.contribution.api.ExpireContributionSummariesCommanded.id` +- **内部变量名**: `EXPIRECONTRIBUTIONSUMMARIESCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.freelance.contributionmethod.itemdelivery` (as `itemdelivery`) +- `eve.inventory` (as `generic_item`) +- `eve.inventory` (as `generic_item_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 13 + +##### corporation + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateLocationsRequest.corporation` +- **内部变量名**: `VALIDATELOCATIONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### Valid + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateLocationsResponse.Valid` +- **内部变量名**: `VALIDATELOCATIONSRESPONSE_VALID` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `item_type` | `item_type` | message (cpp: message) → `evedotinventorydotgenericitemtypepb2.identifier` | optional (required in proto3) | +| 2 | `delivery_hangar` | `delivery_hangar` | message (cpp: message) → `evedotinventorydotgenericitempb2.location` | optional (required in proto3) | +| 3 | `release_hangar` | `release_hangar` | message (cpp: message) → `evedotinventorydotgenericitempb2.location` | optional (required in proto3) | + +--- + +##### not_found + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateLocationsResponse.Invalid.not_found` +- **内部变量名**: `VALIDATELOCATIONSRESPONSE_INVALID` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### valid + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateLocationsResponse.valid` +- **内部变量名**: `VALIDATELOCATIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### delivered + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateDeliveryRequest.delivered` +- **内部变量名**: `VALIDATEDELIVERYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### item_type + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateDeliveryResponse.Valid.item_type` +- **内部变量名**: `VALIDATEDELIVERYRESPONSE_VALID` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### DeliveryLocationDoesNotExist + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateDeliveryResponse.DeliveryLocationDoesNotExist` +- **内部变量名**: `VALIDATEDELIVERYRESPONSE_DELIVERYLOCATIONDOESNOTEXIST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### DeliveryLocationNotInFullPower + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateDeliveryResponse.DeliveryLocationNotInFullPower` +- **内部变量名**: `VALIDATEDELIVERYRESPONSE_DELIVERYLOCATIONNOTINFULLPOWER` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CharacterNotDocked + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateDeliveryResponse.CharacterNotDocked` +- **内部变量名**: `VALIDATEDELIVERYRESPONSE_CHARACTERNOTDOCKED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ItemNotOwnedByDeliverer + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateDeliveryResponse.ItemNotOwnedByDeliverer` +- **内部变量名**: `VALIDATEDELIVERYRESPONSE_ITEMNOTOWNEDBYDELIVERER` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### InvalidItemLocation + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateDeliveryResponse.InvalidItemLocation` +- **内部变量名**: `VALIDATEDELIVERYRESPONSE_INVALIDITEMLOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### ItemNotFoundAtLocation + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateDeliveryResponse.ItemNotFoundAtLocation` +- **内部变量名**: `VALIDATEDELIVERYRESPONSE_ITEMNOTFOUNDATLOCATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### valid + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ValidateDeliveryResponse.valid` +- **内部变量名**: `VALIDATEDELIVERYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding.asset` (as `asset`) +- `eve.character` (as `character`) +- `eve.freelance.contributionmethod.itemdelivery` (as `itemdelivery`) +- `eve.freelance.project` (as `project`) +- `eve.inventory` (as `generic_item`) +- `eve.inventory` (as `generic_item_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### delivery + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.Escrowed.delivery` +- **内部变量名**: `ESCROWED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### delivery + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.DeliveryToInventoryFailed.delivery` +- **内部变量名**: `DELIVERYTOINVENTORYFAILED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### delivery + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.DeliveryToInventorySucceeded.delivery` +- **内部变量名**: `DELIVERYTOINVENTORYSUCCEEDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### delivery + +- **完整名称**: `eve.freelance.contributionmethod.itemdelivery.api.ContributionSucceeded.delivery` +- **内部变量名**: `CONTRIBUTIONSUCCEEDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.freelance.contributionmethod.definition` (as `definition`) + +#### 📝 消息类型定义 + +**消息类型数量**: 9 + +##### version + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.GetAllRequest.version` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.GetAllResponse.Definition.id` +- **内部变量名**: `GETALLRESPONSE_DEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### definitions + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.GetAllResponse.definitions` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### known_version + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.GetAllLatestRequest.known_version` +- **内部变量名**: `GETALLLATESTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.GetAllLatestResponse.Definition.id` +- **内部变量名**: `GETALLLATESTRESPONSE_DEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.GetAllLatestResponse.version` +- **内部变量名**: `GETALLLATESTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### major + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.GetAllLatestWithinMajorRequest.major` +- **内部变量名**: `GETALLLATESTWITHINMAJORREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.GetAllLatestWithinMajorResponse.Definition.id` +- **内部变量名**: `GETALLLATESTWITHINMAJORRESPONSE_DEFINITION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.GetAllLatestWithinMajorResponse.version` +- **内部变量名**: `GETALLLATESTWITHINMAJORRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### update_uuid + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.UpdateCommanded.update_uuid` +- **内部变量名**: `UPDATECOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RefreshRoutingCommanded + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.RefreshRoutingCommanded` +- **内部变量名**: `REFRESHROUTINGCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### update_uuid + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.Updated.update_uuid` +- **内部变量名**: `UPDATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.UpdateScheduled.update_uuid` +- **内部变量名**: `UPDATESCHEDULED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.UpdateCanceled.update_uuid` +- **内部变量名**: `UPDATECANCELED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 7 + +##### version + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.admin.ScheduleUpdateRequest.version` +- **内部变量名**: `SCHEDULEUPDATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.admin.ScheduleUpdateResponse.update_uuid` +- **内部变量名**: `SCHEDULEUPDATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.admin.CancelScheduledUpdateRequest.update_uuid` +- **内部变量名**: `CANCELSCHEDULEDUPDATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CancelScheduledUpdateResponse + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.admin.CancelScheduledUpdateResponse` +- **内部变量名**: `CANCELSCHEDULEDUPDATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetPendingUpdatesRequest + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.admin.GetPendingUpdatesRequest` +- **内部变量名**: `GETPENDINGUPDATESREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### update_uuid + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.admin.GetPendingUpdatesResponse.PendingUpdate.update_uuid` +- **内部变量名**: `GETPENDINGUPDATESRESPONSE_PENDINGUPDATE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### current_version + +- **完整名称**: `eve.freelance.contributionmethod.definition.api.admin.GetPendingUpdatesResponse.current_version` +- **内部变量名**: `GETPENDINGUPDATESRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.freelance.project` (as `project`) + +#### 📝 消息类型定义 + +**消息类型数量**: 17 + +##### corporation + +- **完整名称**: `eve.freelance.project.api.GetAllActiveForCorporationRequest.corporation` +- **内部变量名**: `GETALLACTIVEFORCORPORATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### projects + +- **完整名称**: `eve.freelance.project.api.GetAllActiveForCorporationResponse.projects` +- **内部变量名**: `GETALLACTIVEFORCORPORATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.freelance.project.api.GetAllForCorporationRequest.corporation` +- **内部变量名**: `GETALLFORCORPORATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### projects + +- **完整名称**: `eve.freelance.project.api.GetAllForCorporationResponse.projects` +- **内部变量名**: `GETALLFORCORPORATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.GetRequest.project` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 29 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `corporation` | `api.GetAllActiveForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 2 | `projects` | `api.GetAllActiveForCorporationResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 3 | `corporation` | `api.GetAllForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 4 | `projects` | `api.GetAllForCorporationResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 5 | `project` | `api.GetRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 6 | `project` | `api.GetResponse.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 7 | `project` | `api.GetParticipationDetailsRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 8 | `page` | `api.GetParticipationDetailsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 9 | `character` | `api.GetParticipationDetailsResponse.LimitedParticipantView.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 10 | `state` | `api.GetParticipationDetailsResponse.LimitedParticipantView.state` | enum (cpp: bool) | optional (required in proto3) | +| 11 | `progress` | `api.GetParticipationDetailsResponse.LimitedParticipantView.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `participants` | `api.GetParticipationDetailsResponse.participants` | message (cpp: message) → `getparticipationdetailsresponselimitedparticipantview` | repeated | +| 13 | `next_page` | `api.GetParticipationDetailsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 14 | `character` | `api.GetAllForCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 15 | `page` | `api.GetAllForCharacterRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 16 | `projects` | `api.GetAllForCharacterResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 17 | `next_page` | `api.GetAllForCharacterResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 18 | `project` | `api.GetParticipationForCharacterRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 19 | `character` | `api.GetParticipationForCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 20 | `state` | `api.GetParticipationForCharacterResponse.state` | enum (cpp: bool) | optional (required in proto3) | +| 21 | `progress` | `api.GetParticipationForCharacterResponse.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `no_reward` | `api.GetParticipationForCharacterResponse.no_reward` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `units_unredeemed` | `api.GetParticipationForCharacterResponse.units_unredeemed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `name` | `api.GetAllProjectsByNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 25 | `page` | `api.GetAllProjectsByNameRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 26 | `projects` | `api.GetAllProjectsByNameResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 27 | `next_page` | `api.GetAllProjectsByNameResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 28 | `character` | `api.GetSkillBasedCommitLimitRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 29 | `max_active_projects` | `api.GetSkillBasedCommitLimitResponse.max_active_projects` | uint32 (cpp: int64) | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.GetResponse.project` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 29 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `corporation` | `api.GetAllActiveForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 2 | `projects` | `api.GetAllActiveForCorporationResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 3 | `corporation` | `api.GetAllForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 4 | `projects` | `api.GetAllForCorporationResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 5 | `project` | `api.GetRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 6 | `project` | `api.GetResponse.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 7 | `project` | `api.GetParticipationDetailsRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 8 | `page` | `api.GetParticipationDetailsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 9 | `character` | `api.GetParticipationDetailsResponse.LimitedParticipantView.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 10 | `state` | `api.GetParticipationDetailsResponse.LimitedParticipantView.state` | enum (cpp: bool) | optional (required in proto3) | +| 11 | `progress` | `api.GetParticipationDetailsResponse.LimitedParticipantView.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `participants` | `api.GetParticipationDetailsResponse.participants` | message (cpp: message) → `getparticipationdetailsresponselimitedparticipantview` | repeated | +| 13 | `next_page` | `api.GetParticipationDetailsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 14 | `character` | `api.GetAllForCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 15 | `page` | `api.GetAllForCharacterRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 16 | `projects` | `api.GetAllForCharacterResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 17 | `next_page` | `api.GetAllForCharacterResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 18 | `project` | `api.GetParticipationForCharacterRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 19 | `character` | `api.GetParticipationForCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 20 | `state` | `api.GetParticipationForCharacterResponse.state` | enum (cpp: bool) | optional (required in proto3) | +| 21 | `progress` | `api.GetParticipationForCharacterResponse.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `no_reward` | `api.GetParticipationForCharacterResponse.no_reward` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `units_unredeemed` | `api.GetParticipationForCharacterResponse.units_unredeemed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `name` | `api.GetAllProjectsByNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 25 | `page` | `api.GetAllProjectsByNameRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 26 | `projects` | `api.GetAllProjectsByNameResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 27 | `next_page` | `api.GetAllProjectsByNameResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 28 | `character` | `api.GetSkillBasedCommitLimitRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 29 | `max_active_projects` | `api.GetSkillBasedCommitLimitResponse.max_active_projects` | uint32 (cpp: int64) | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.GetParticipationDetailsRequest.project` +- **内部变量名**: `GETPARTICIPATIONDETAILSREQUEST` +- **字段数量**: 29 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `corporation` | `api.GetAllActiveForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 2 | `projects` | `api.GetAllActiveForCorporationResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 3 | `corporation` | `api.GetAllForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 4 | `projects` | `api.GetAllForCorporationResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 5 | `project` | `api.GetRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 6 | `project` | `api.GetResponse.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 7 | `project` | `api.GetParticipationDetailsRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 8 | `page` | `api.GetParticipationDetailsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 9 | `character` | `api.GetParticipationDetailsResponse.LimitedParticipantView.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 10 | `state` | `api.GetParticipationDetailsResponse.LimitedParticipantView.state` | enum (cpp: bool) | optional (required in proto3) | +| 11 | `progress` | `api.GetParticipationDetailsResponse.LimitedParticipantView.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `participants` | `api.GetParticipationDetailsResponse.participants` | message (cpp: message) → `getparticipationdetailsresponselimitedparticipantview` | repeated | +| 13 | `next_page` | `api.GetParticipationDetailsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 14 | `character` | `api.GetAllForCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 15 | `page` | `api.GetAllForCharacterRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 16 | `projects` | `api.GetAllForCharacterResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 17 | `next_page` | `api.GetAllForCharacterResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 18 | `project` | `api.GetParticipationForCharacterRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 19 | `character` | `api.GetParticipationForCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 20 | `state` | `api.GetParticipationForCharacterResponse.state` | enum (cpp: bool) | optional (required in proto3) | +| 21 | `progress` | `api.GetParticipationForCharacterResponse.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `no_reward` | `api.GetParticipationForCharacterResponse.no_reward` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `units_unredeemed` | `api.GetParticipationForCharacterResponse.units_unredeemed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `name` | `api.GetAllProjectsByNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 25 | `page` | `api.GetAllProjectsByNameRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 26 | `projects` | `api.GetAllProjectsByNameResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 27 | `next_page` | `api.GetAllProjectsByNameResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 28 | `character` | `api.GetSkillBasedCommitLimitRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 29 | `max_active_projects` | `api.GetSkillBasedCommitLimitResponse.max_active_projects` | uint32 (cpp: int64) | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.freelance.project.api.GetParticipationDetailsResponse.LimitedParticipantView.character` +- **内部变量名**: `GETPARTICIPATIONDETAILSRESPONSE_LIMITEDPARTICIPANTVIEW` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### participants + +- **完整名称**: `eve.freelance.project.api.GetParticipationDetailsResponse.participants` +- **内部变量名**: `GETPARTICIPATIONDETAILSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.freelance.project.api.GetAllForCharacterRequest.character` +- **内部变量名**: `GETALLFORCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### projects + +- **完整名称**: `eve.freelance.project.api.GetAllForCharacterResponse.projects` +- **内部变量名**: `GETALLFORCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.GetParticipationForCharacterRequest.project` +- **内部变量名**: `GETPARTICIPATIONFORCHARACTERREQUEST` +- **字段数量**: 29 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `corporation` | `api.GetAllActiveForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 2 | `projects` | `api.GetAllActiveForCorporationResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 3 | `corporation` | `api.GetAllForCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 4 | `projects` | `api.GetAllForCorporationResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 5 | `project` | `api.GetRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 6 | `project` | `api.GetResponse.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 7 | `project` | `api.GetParticipationDetailsRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 8 | `page` | `api.GetParticipationDetailsRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 9 | `character` | `api.GetParticipationDetailsResponse.LimitedParticipantView.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 10 | `state` | `api.GetParticipationDetailsResponse.LimitedParticipantView.state` | enum (cpp: bool) | optional (required in proto3) | +| 11 | `progress` | `api.GetParticipationDetailsResponse.LimitedParticipantView.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 12 | `participants` | `api.GetParticipationDetailsResponse.participants` | message (cpp: message) → `getparticipationdetailsresponselimitedparticipantview` | repeated | +| 13 | `next_page` | `api.GetParticipationDetailsResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 14 | `character` | `api.GetAllForCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 15 | `page` | `api.GetAllForCharacterRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 16 | `projects` | `api.GetAllForCharacterResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 17 | `next_page` | `api.GetAllForCharacterResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 18 | `project` | `api.GetParticipationForCharacterRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 19 | `character` | `api.GetParticipationForCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 20 | `state` | `api.GetParticipationForCharacterResponse.state` | enum (cpp: bool) | optional (required in proto3) | +| 21 | `progress` | `api.GetParticipationForCharacterResponse.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 22 | `no_reward` | `api.GetParticipationForCharacterResponse.no_reward` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `units_unredeemed` | `api.GetParticipationForCharacterResponse.units_unredeemed` | uint64 (cpp: uint64) | optional (required in proto3) | +| 24 | `name` | `api.GetAllProjectsByNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 25 | `page` | `api.GetAllProjectsByNameRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 26 | `projects` | `api.GetAllProjectsByNameResponse.projects` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | repeated | +| 27 | `next_page` | `api.GetAllProjectsByNameResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 28 | `character` | `api.GetSkillBasedCommitLimitRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 29 | `max_active_projects` | `api.GetSkillBasedCommitLimitResponse.max_active_projects` | uint32 (cpp: int64) | optional (required in proto3) | + +--- + +##### state + +- **完整名称**: `eve.freelance.project.api.GetParticipationForCharacterResponse.state` +- **内部变量名**: `GETPARTICIPATIONFORCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### name + +- **完整名称**: `eve.freelance.project.api.GetAllProjectsByNameRequest.name` +- **内部变量名**: `GETALLPROJECTSBYNAMEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### projects + +- **完整名称**: `eve.freelance.project.api.GetAllProjectsByNameResponse.projects` +- **内部变量名**: `GETALLPROJECTSBYNAMERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.freelance.project.api.GetSkillBasedCommitLimitRequest.character` +- **内部变量名**: `GETSKILLBASEDCOMMITLIMITREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### max_active_projects + +- **完整名称**: `eve.freelance.project.api.GetSkillBasedCommitLimitResponse.max_active_projects` +- **内部变量名**: `GETSKILLBASEDCOMMITLIMITRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.freelance.project` (as `project`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### project + +- **完整名称**: `eve.freelance.project.api.ExpireCommanded.project` +- **内部变量名**: `EXPIRECOMMANDED` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.ExpireCommanded.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `project` | `api.CompleteCommanded.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 3 | `project` | `api.SetClosingProjectStateForParticipantsCommanded.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 4 | `state` | `api.SetClosingProjectStateForParticipantsCommanded.state` | enum (cpp: bool) | optional (required in proto3) | +| 5 | `shard_index` | `api.AutoRedeemRewardsCommanded.shard_index` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.CompleteCommanded.project` +- **内部变量名**: `COMPLETECOMMANDED` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.ExpireCommanded.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `project` | `api.CompleteCommanded.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 3 | `project` | `api.SetClosingProjectStateForParticipantsCommanded.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 4 | `state` | `api.SetClosingProjectStateForParticipantsCommanded.state` | enum (cpp: bool) | optional (required in proto3) | +| 5 | `shard_index` | `api.AutoRedeemRewardsCommanded.shard_index` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.SetClosingProjectStateForParticipantsCommanded.project` +- **内部变量名**: `SETCLOSINGPROJECTSTATEFORPARTICIPANTSCOMMANDED` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.ExpireCommanded.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `project` | `api.CompleteCommanded.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 3 | `project` | `api.SetClosingProjectStateForParticipantsCommanded.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 4 | `state` | `api.SetClosingProjectStateForParticipantsCommanded.state` | enum (cpp: bool) | optional (required in proto3) | +| 5 | `shard_index` | `api.AutoRedeemRewardsCommanded.shard_index` | uint64 (cpp: uint64) | optional (required in proto3) | + +--- + +##### shard_index + +- **完整名称**: `eve.freelance.project.api.AutoRedeemRewardsCommanded.shard_index` +- **内部变量名**: `AUTOREDEEMREWARDSCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.acl` (as `acl`) +- `eve.character` (as `character`) +- `eve.freelance.project` (as `project`) + +#### 📝 消息类型定义 + +**消息类型数量**: 12 + +##### project + +- **完整名称**: `eve.freelance.project.api.Created.project` +- **内部变量名**: `CREATED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.Closed.project` +- **内部变量名**: `CLOSED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.Completed.project` +- **内部变量名**: `COMPLETED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.Expired.project` +- **内部变量名**: `EXPIRED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.Deleted.project` +- **内部变量名**: `DELETED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.Progressed.project` +- **内部变量名**: `PROGRESSED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.ParticipantCommitted.project` +- **内部变量名**: `PARTICIPANTCOMMITTED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.ParticipantKicked.project` +- **内部变量名**: `PARTICIPANTKICKED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.ParticipantResigned.project` +- **内部变量名**: `PARTICIPANTRESIGNED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.ParticipantRewardRedeemed.project` +- **内部变量名**: `PARTICIPANTREWARDREDEEMED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.ParticipationLimitReached.project` +- **内部变量名**: `PARTICIPATIONLIMITREACHED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.AclDeleted.project` +- **内部变量名**: `ACLDELETED` +- **字段数量**: 32 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.Created.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Created.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 3 | `cost` | `api.Created.cost` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.creationcost` | optional (required in proto3) | +| 4 | `project` | `api.Closed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 5 | `closer` | `api.Closed.closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `admin_closer` | `api.Closed.admin_closer` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `player_closer` | `api.Closed.player_closer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `project` | `api.Completed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 9 | `project` | `api.Expired.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 10 | `project` | `api.Deleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.attributes` | optional (required in proto3) | +| 12 | `project` | `api.Progressed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 13 | `participant` | `api.Progressed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `contribution` | `api.Progressed.contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 15 | `project_progress_after_contribution` | `api.Progressed.project_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 16 | `participant_progress_after_contribution` | `api.Progressed.participant_progress_after_contribution` | uint64 (cpp: uint64) | optional (required in proto3) | +| 17 | `project` | `api.ParticipantCommitted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 18 | `participant` | `api.ParticipantCommitted.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `project` | `api.ParticipantKicked.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 20 | `kicker` | `api.ParticipantKicked.kicker` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 21 | `participant` | `api.ParticipantKicked.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 22 | `admin` | `api.ParticipantKicked.admin` | bool (cpp: uint32) | optional (required in proto3) | +| 23 | `player` | `api.ParticipantKicked.player` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 24 | `project` | `api.ParticipantResigned.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 25 | `participant` | `api.ParticipantResigned.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 26 | `project` | `api.ParticipantRewardRedeemed.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 27 | `participant` | `api.ParticipantRewardRedeemed.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 28 | `auto_redeemed` | `api.ParticipantRewardRedeemed.auto_redeemed` | bool (cpp: uint32) | optional (required in proto3) | +| 29 | `project` | `api.ParticipationLimitReached.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 30 | `participant` | `api.ParticipationLimitReached.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 31 | `project` | `api.AclDeleted.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 32 | `acl` | `api.AclDeleted.acl` | message (cpp: message) → `evedotacldotaclpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.freelance.project` (as `project`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 12 + +##### project + +- **完整名称**: `eve.freelance.project.api.admin.ProgressRequest.project` +- **内部变量名**: `PROGRESSREQUEST` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.admin.ProgressRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `participant` | `api.admin.ProgressRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `progress` | `api.admin.ProgressRequest.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `context` | `api.admin.ProgressRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `project` | `api.admin.CloseRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `api.admin.CloseRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `project` | `api.admin.KickRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 8 | `participant` | `api.admin.KickRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `context` | `api.admin.KickRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 10 | `project` | `api.admin.RedeemRewardsRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `participant` | `api.admin.RedeemRewardsRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 12 | `context` | `api.admin.RedeemRewardsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 13 | `project` | `api.admin.SetNameRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 14 | `name` | `api.admin.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 15 | `context` | `api.admin.SetNameRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 16 | `project` | `api.admin.SetDescriptionRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 17 | `description` | `api.admin.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 18 | `context` | `api.admin.SetDescriptionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### ProgressResponse + +- **完整名称**: `eve.freelance.project.api.admin.ProgressResponse` +- **内部变量名**: `PROGRESSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.admin.CloseRequest.project` +- **内部变量名**: `CLOSEREQUEST` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.admin.ProgressRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `participant` | `api.admin.ProgressRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `progress` | `api.admin.ProgressRequest.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `context` | `api.admin.ProgressRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `project` | `api.admin.CloseRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `api.admin.CloseRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `project` | `api.admin.KickRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 8 | `participant` | `api.admin.KickRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `context` | `api.admin.KickRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 10 | `project` | `api.admin.RedeemRewardsRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `participant` | `api.admin.RedeemRewardsRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 12 | `context` | `api.admin.RedeemRewardsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 13 | `project` | `api.admin.SetNameRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 14 | `name` | `api.admin.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 15 | `context` | `api.admin.SetNameRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 16 | `project` | `api.admin.SetDescriptionRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 17 | `description` | `api.admin.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 18 | `context` | `api.admin.SetDescriptionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### CloseResponse + +- **完整名称**: `eve.freelance.project.api.admin.CloseResponse` +- **内部变量名**: `CLOSERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.admin.KickRequest.project` +- **内部变量名**: `KICKREQUEST` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.admin.ProgressRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `participant` | `api.admin.ProgressRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `progress` | `api.admin.ProgressRequest.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `context` | `api.admin.ProgressRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `project` | `api.admin.CloseRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `api.admin.CloseRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `project` | `api.admin.KickRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 8 | `participant` | `api.admin.KickRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `context` | `api.admin.KickRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 10 | `project` | `api.admin.RedeemRewardsRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `participant` | `api.admin.RedeemRewardsRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 12 | `context` | `api.admin.RedeemRewardsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 13 | `project` | `api.admin.SetNameRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 14 | `name` | `api.admin.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 15 | `context` | `api.admin.SetNameRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 16 | `project` | `api.admin.SetDescriptionRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 17 | `description` | `api.admin.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 18 | `context` | `api.admin.SetDescriptionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### KickResponse + +- **完整名称**: `eve.freelance.project.api.admin.KickResponse` +- **内部变量名**: `KICKRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.admin.RedeemRewardsRequest.project` +- **内部变量名**: `REDEEMREWARDSREQUEST` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.admin.ProgressRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `participant` | `api.admin.ProgressRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `progress` | `api.admin.ProgressRequest.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `context` | `api.admin.ProgressRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `project` | `api.admin.CloseRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `api.admin.CloseRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `project` | `api.admin.KickRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 8 | `participant` | `api.admin.KickRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `context` | `api.admin.KickRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 10 | `project` | `api.admin.RedeemRewardsRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `participant` | `api.admin.RedeemRewardsRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 12 | `context` | `api.admin.RedeemRewardsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 13 | `project` | `api.admin.SetNameRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 14 | `name` | `api.admin.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 15 | `context` | `api.admin.SetNameRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 16 | `project` | `api.admin.SetDescriptionRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 17 | `description` | `api.admin.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 18 | `context` | `api.admin.SetDescriptionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### RedeemRewardsResponse + +- **完整名称**: `eve.freelance.project.api.admin.RedeemRewardsResponse` +- **内部变量名**: `REDEEMREWARDSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.admin.SetNameRequest.project` +- **内部变量名**: `SETNAMEREQUEST` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.admin.ProgressRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `participant` | `api.admin.ProgressRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `progress` | `api.admin.ProgressRequest.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `context` | `api.admin.ProgressRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `project` | `api.admin.CloseRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `api.admin.CloseRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `project` | `api.admin.KickRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 8 | `participant` | `api.admin.KickRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `context` | `api.admin.KickRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 10 | `project` | `api.admin.RedeemRewardsRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `participant` | `api.admin.RedeemRewardsRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 12 | `context` | `api.admin.RedeemRewardsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 13 | `project` | `api.admin.SetNameRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 14 | `name` | `api.admin.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 15 | `context` | `api.admin.SetNameRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 16 | `project` | `api.admin.SetDescriptionRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 17 | `description` | `api.admin.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 18 | `context` | `api.admin.SetDescriptionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### SetNameResponse + +- **完整名称**: `eve.freelance.project.api.admin.SetNameResponse` +- **内部变量名**: `SETNAMERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### project + +- **完整名称**: `eve.freelance.project.api.admin.SetDescriptionRequest.project` +- **内部变量名**: `SETDESCRIPTIONREQUEST` +- **字段数量**: 18 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `project` | `api.admin.ProgressRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 2 | `participant` | `api.admin.ProgressRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `progress` | `api.admin.ProgressRequest.progress` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `context` | `api.admin.ProgressRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `project` | `api.admin.CloseRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 6 | `context` | `api.admin.CloseRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 7 | `project` | `api.admin.KickRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 8 | `participant` | `api.admin.KickRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 9 | `context` | `api.admin.KickRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 10 | `project` | `api.admin.RedeemRewardsRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 11 | `participant` | `api.admin.RedeemRewardsRequest.participant` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 12 | `context` | `api.admin.RedeemRewardsRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 13 | `project` | `api.admin.SetNameRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 14 | `name` | `api.admin.SetNameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 15 | `context` | `api.admin.SetNameRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 16 | `project` | `api.admin.SetDescriptionRequest.project` | message (cpp: message) → `evedotfreelancedotprojectdotprojectpb2.identifier` | optional (required in proto3) | +| 17 | `description` | `api.admin.SetDescriptionRequest.description` | string (cpp: string) | optional (required in proto3) | +| 18 | `context` | `api.admin.SetDescriptionRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### SetDescriptionResponse + +- **完整名称**: `eve.freelance.project.api.admin.SetDescriptionResponse` +- **内部变量名**: `SETDESCRIPTIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.freelance.project.corporation` (as `management`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.freelance.project.corporation.api.CanManageRequest.character` +- **内部变量名**: `CANMANAGEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### can_manage + +- **完整名称**: `eve.freelance.project.corporation.api.CanManageResponse.can_manage` +- **内部变量名**: `CANMANAGERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.freelance.project.corporation.api.GetManagersRequest.corporation` +- **内部变量名**: `GETMANAGERSREQUEST` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.CanManageRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `api.CanManageRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `can_manage` | `api.CanManageResponse.can_manage` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `corporation` | `api.GetManagersRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 5 | `managers` | `api.GetManagersResponse.managers` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 6 | `version` | `api.GetManagersResponse.version` | message (cpp: message) → `evedotfreelancedotprojectdotcorporationdotmanagementpb2.managersversion` | optional (required in proto3) | + +--- + +##### managers + +- **完整名称**: `eve.freelance.project.corporation.api.GetManagersResponse.managers` +- **内部变量名**: `GETMANAGERSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.freelance.project.corporation` (as `management`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.freelance.project.corporation.api.ManagerPromoted.character` +- **内部变量名**: `MANAGERPROMOTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.freelance.project.corporation.api.ManagerDemoted.character` +- **内部变量名**: `MANAGERDEMOTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.store.product` (as `product`) +- `eve.store` (as `store`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 8 + +##### product + +- **完整名称**: `eve.store.product.api.GetRequest.product` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `product` | `api.GetRequest.product` | message (cpp: message) → `evedotstoredotproductdotproductpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotstoredotproductdotproductpb2.attributes` | optional (required in proto3) | +| 3 | `user` | `api.GetLastPlexPurchaseDateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `purchase_date` | `api.GetLastPlexPurchaseDateResponse.purchase_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 5 | `catalog` | `api.GetAllRequest.catalog` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `page` | `api.GetAllRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 7 | `product` | `api.GetAllResponse.product` | message (cpp: message) → `evedotstoredotproductdotproductpb2.identifier` | repeated | +| 8 | `next_page` | `api.GetAllResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 9 | `catalog` | `api.ProductSearchRequest.catalog` | enum (cpp: bool) | optional (required in proto3) | +| 10 | `query` | `api.ProductSearchRequest.query` | message (cpp: message) → `evedotsearchpb2.searchquery` | optional (required in proto3) | +| 11 | `allow_empty_query` | `api.ProductSearchRequest.allow_empty_query` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `page` | `api.ProductSearchRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 13 | `products` | `api.ProductSearchResponse.products` | message (cpp: message) → `evedotstoredotproductdotproductpb2.identifier` | repeated | +| 14 | `next_page` | `api.ProductSearchResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### attributes + +- **完整名称**: `eve.store.product.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### user + +- **完整名称**: `eve.store.product.api.GetLastPlexPurchaseDateRequest.user` +- **内部变量名**: `GETLASTPLEXPURCHASEDATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### purchase_date + +- **完整名称**: `eve.store.product.api.GetLastPlexPurchaseDateResponse.purchase_date` +- **内部变量名**: `GETLASTPLEXPURCHASEDATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### catalog + +- **完整名称**: `eve.store.product.api.GetAllRequest.catalog` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### product + +- **完整名称**: `eve.store.product.api.GetAllResponse.product` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `product` | `api.GetRequest.product` | message (cpp: message) → `evedotstoredotproductdotproductpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotstoredotproductdotproductpb2.attributes` | optional (required in proto3) | +| 3 | `user` | `api.GetLastPlexPurchaseDateRequest.user` | message (cpp: message) → `evedotuserdotuserpb2.identifier` | optional (required in proto3) | +| 4 | `purchase_date` | `api.GetLastPlexPurchaseDateResponse.purchase_date` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 5 | `catalog` | `api.GetAllRequest.catalog` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `page` | `api.GetAllRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 7 | `product` | `api.GetAllResponse.product` | message (cpp: message) → `evedotstoredotproductdotproductpb2.identifier` | repeated | +| 8 | `next_page` | `api.GetAllResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 9 | `catalog` | `api.ProductSearchRequest.catalog` | enum (cpp: bool) | optional (required in proto3) | +| 10 | `query` | `api.ProductSearchRequest.query` | message (cpp: message) → `evedotsearchpb2.searchquery` | optional (required in proto3) | +| 11 | `allow_empty_query` | `api.ProductSearchRequest.allow_empty_query` | bool (cpp: uint32) | optional (required in proto3) | +| 12 | `page` | `api.ProductSearchRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 13 | `products` | `api.ProductSearchResponse.products` | message (cpp: message) → `evedotstoredotproductdotproductpb2.identifier` | repeated | +| 14 | `next_page` | `api.ProductSearchResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | + +--- + +##### catalog + +- **完整名称**: `eve.store.product.api.ProductSearchRequest.catalog` +- **内部变量名**: `PRODUCTSEARCHREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### products + +- **完整名称**: `eve.store.product.api.ProductSearchResponse.products` +- **内部变量名**: `PRODUCTSEARCHRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.plex` (as `plex`) +- `eve.store.sale` (as `sale`) +- `eve.user.license` (as `license`) +- `eve.user` (as `user`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### user + +- **完整名称**: `eve.store.product.api.PlexPurchased.user` +- **内部变量名**: `PLEXPURCHASED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### license + +- **完整名称**: `eve.store.product.api.LicensePurchased.license` +- **内部变量名**: `LICENSEPURCHASED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.solarsystem` (as `solarsystem`) +- `eve.tale` (as `spawntemplate`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### spawn_template + +- **完整名称**: `eve.tale.api.StartTaleRequest.spawn_template` +- **内部变量名**: `STARTTALEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### StartTaleResponse + +- **完整名称**: `eve.tale.api.StartTaleResponse` +- **内部变量名**: `STARTTALERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### spawn_template + +- **完整名称**: `eve.tale.api.StopTalesRequest.spawn_template` +- **内部变量名**: `STOPTALESREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### StopTalesResponse + +- **完整名称**: `eve.tale.api.StopTalesResponse` +- **内部变量名**: `STOPTALESRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### spawn_template + +- **完整名称**: `eve.tale.api.GetActiveTalesCountRequest.spawn_template` +- **内部变量名**: `GETACTIVETALESCOUNTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### count + +- **完整名称**: `eve.tale.api.GetActiveTalesCountResponse.count` +- **内部变量名**: `GETACTIVETALESCOUNTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.solarsystem` (as `solarsystem`) +- `eve.tale` (as `spawntemplate`) +- `eve.tale` (as `tale`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### identifier + +- **完整名称**: `eve.tale.api.Started.identifier` +- **内部变量名**: `STARTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.tale.api.Ended.identifier` +- **内部变量名**: `ENDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.character.title.definition` (as `title`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### character + +- **完整名称**: `eve.cosmetic.character.title.license.api.SpawnCommanded.character` +- **内部变量名**: `SPAWNCOMMANDED` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.license.api.SpawnCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `title` | `title.license.api.SpawnCommanded.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.character.title.license` (as `license`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### id + +- **完整名称**: `eve.cosmetic.character.title.license.api.Granted.id` +- **内部变量名**: `GRANTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.cosmetic.character.title.license.api.Revoked.id` +- **内部变量名**: `REVOKED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 9 + +##### ListRequest + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.ListRequest` +- **内部变量名**: `LISTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### versions + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.ListResponse.versions` +- **内部变量名**: `LISTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetScheduledRequest + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.GetScheduledRequest` +- **内部变量名**: `GETSCHEDULEDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.GetScheduledResponse.Scheduled.version` +- **内部变量名**: `GETSCHEDULEDRESPONSE_SCHEDULED` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `versions` | `api.ListResponse.versions` | message (cpp: message) → `evedotsemanticversionpb2.specification` | repeated | +| 2 | `version` | `api.GetScheduledResponse.Scheduled.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `release_timestamp` | `api.GetScheduledResponse.Scheduled.release_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `scheduled_version` | `api.GetScheduledResponse.scheduled_version` | message (cpp: message) → `getscheduledresponsescheduled` | optional (required in proto3) | +| 5 | `no_scheduled_version` | `api.GetScheduledResponse.no_scheduled_version` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `version` | `api.GetDefaultVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `version` | `api.GetTenantVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | + +--- + +##### scheduled_version + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.GetScheduledResponse.scheduled_version` +- **内部变量名**: `GETSCHEDULEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetDefaultVersionRequest + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.GetDefaultVersionRequest` +- **内部变量名**: `GETDEFAULTVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.GetDefaultVersionResponse.version` +- **内部变量名**: `GETDEFAULTVERSIONRESPONSE` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `versions` | `api.ListResponse.versions` | message (cpp: message) → `evedotsemanticversionpb2.specification` | repeated | +| 2 | `version` | `api.GetScheduledResponse.Scheduled.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `release_timestamp` | `api.GetScheduledResponse.Scheduled.release_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `scheduled_version` | `api.GetScheduledResponse.scheduled_version` | message (cpp: message) → `getscheduledresponsescheduled` | optional (required in proto3) | +| 5 | `no_scheduled_version` | `api.GetScheduledResponse.no_scheduled_version` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `version` | `api.GetDefaultVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `version` | `api.GetTenantVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | + +--- + +##### GetTenantVersionRequest + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.GetTenantVersionRequest` +- **内部变量名**: `GETTENANTVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.GetTenantVersionResponse.version` +- **内部变量名**: `GETTENANTVERSIONRESPONSE` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `versions` | `api.ListResponse.versions` | message (cpp: message) → `evedotsemanticversionpb2.specification` | repeated | +| 2 | `version` | `api.GetScheduledResponse.Scheduled.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 3 | `release_timestamp` | `api.GetScheduledResponse.Scheduled.release_timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 4 | `scheduled_version` | `api.GetScheduledResponse.scheduled_version` | message (cpp: message) → `getscheduledresponsescheduled` | optional (required in proto3) | +| 5 | `no_scheduled_version` | `api.GetScheduledResponse.no_scheduled_version` | bool (cpp: uint32) | optional (required in proto3) | +| 6 | `version` | `api.GetDefaultVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | +| 7 | `version` | `api.GetTenantVersionResponse.version` | message (cpp: message) → `evedotsemanticversionpb2.specification` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### update_uuid + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.SetDefaultVersionCommanded.update_uuid` +- **内部变量名**: `SETDEFAULTVERSIONCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### previous_version + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.Deployed.previous_version` +- **内部变量名**: `DEPLOYED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### context + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.admin.SetDefaultVersionRequest.context` +- **内部变量名**: `SETDEFAULTVERSIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SetDefaultVersionResponse + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.admin.SetDefaultVersionResponse` +- **内部变量名**: `SETDEFAULTVERSIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.admin.OverrideVersionForTenantRequest.context` +- **内部变量名**: `OVERRIDEVERSIONFORTENANTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OverrideVersionForTenantResponse + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.admin.OverrideVersionForTenantResponse` +- **内部变量名**: `OVERRIDEVERSIONFORTENANTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.admin.CancelScheduledRequest.context` +- **内部变量名**: `CANCELSCHEDULEDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### CancelScheduledResponse + +- **完整名称**: `eve.cosmetic.character.title.definition.version.api.admin.CancelScheduledResponse` +- **内部变量名**: `CANCELSCHEDULEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cdn` (as `cdn`) +- `eve.cosmetic.character.title.definition` (as `title`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### language + +- **完整名称**: `eve.cosmetic.character.title.definition.api.GetLatestRequest.language` +- **内部变量名**: `GETLATESTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### checkpoint + +- **完整名称**: `eve.cosmetic.character.title.definition.api.GetLatestResponse.checkpoint` +- **内部变量名**: `GETLATESTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### page + +- **完整名称**: `eve.cosmetic.character.title.definition.api.ListDefinitionsRequest.page` +- **内部变量名**: `LISTDEFINITIONSREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### version + +- **完整名称**: `eve.cosmetic.character.title.definition.api.ListDefinitionsResponse.version` +- **内部变量名**: `LISTDEFINITIONSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.cosmetic.character.title.definition.api.TitleDefinitionSummary.id` +- **内部变量名**: `TITLEDEFINITIONSUMMARY` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.character.title.definition` (as `title`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.cosmetic.character.title.api.GetOwnedRequest.character` +- **内部变量名**: `GETOWNEDREQUEST` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.api.GetOwnedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `page` | `title.api.GetOwnedRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 3 | `titles` | `title.api.GetOwnedResponse.titles` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | repeated | +| 4 | `next_page` | `title.api.GetOwnedResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 5 | `character` | `title.api.GetEquippedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `title` | `title.api.GetEquippedResponse.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 7 | `no_title` | `title.api.GetEquippedResponse.no_title` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +##### titles + +- **完整名称**: `eve.cosmetic.character.title.api.GetOwnedResponse.titles` +- **内部变量名**: `GETOWNEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.character.title.api.GetEquippedRequest.character` +- **内部变量名**: `GETEQUIPPEDREQUEST` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.api.GetOwnedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `page` | `title.api.GetOwnedRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 3 | `titles` | `title.api.GetOwnedResponse.titles` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | repeated | +| 4 | `next_page` | `title.api.GetOwnedResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 5 | `character` | `title.api.GetEquippedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `title` | `title.api.GetEquippedResponse.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 7 | `no_title` | `title.api.GetEquippedResponse.no_title` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +##### title + +- **完整名称**: `eve.cosmetic.character.title.api.GetEquippedResponse.title` +- **内部变量名**: `GETEQUIPPEDRESPONSE` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.GetOwnedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `page` | `api.GetOwnedRequest.page` | message (cpp: message) → `evedotevepb2.page` | optional (required in proto3) | +| 3 | `titles` | `api.GetOwnedResponse.titles` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | repeated | +| 4 | `next_page` | `api.GetOwnedResponse.next_page` | message (cpp: message) → `evedotevepb2.nextpage` | optional (required in proto3) | +| 5 | `character` | `api.GetEquippedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `title` | `api.GetEquippedResponse.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 7 | `no_title` | `api.GetEquippedResponse.no_title` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.character.title.definition` (as `title`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### character + +- **完整名称**: `eve.cosmetic.character.title.api.GrantCommanded.character` +- **内部变量名**: `GRANTCOMMANDED` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.api.GrantCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `title` | `title.api.GrantCommanded.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 3 | `character` | `title.api.EquipCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `title` | `title.api.EquipCommanded.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 5 | `character` | `title.api.UnequipCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.cosmetic.character.title.api.EquipCommanded.character` +- **内部变量名**: `EQUIPCOMMANDED` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.api.GrantCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `title` | `title.api.GrantCommanded.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 3 | `character` | `title.api.EquipCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `title` | `title.api.EquipCommanded.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 5 | `character` | `title.api.UnequipCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.cosmetic.character.title.api.UnequipCommanded.character` +- **内部变量名**: `UNEQUIPCOMMANDED` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.api.GrantCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `title` | `title.api.GrantCommanded.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 3 | `character` | `title.api.EquipCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `title` | `title.api.EquipCommanded.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 5 | `character` | `title.api.UnequipCommanded.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.character.title.definition` (as `title`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### character + +- **完整名称**: `eve.cosmetic.character.title.api.Granted.character` +- **内部变量名**: `GRANTED` +- **字段数量**: 9 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.api.Granted.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `title` | `title.api.Granted.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 3 | `character` | `title.api.Revoked.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `title` | `title.api.Revoked.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 5 | `character` | `title.api.Equipped.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `previous_title` | `title.api.Equipped.previous_title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 7 | `previous_no_title` | `title.api.Equipped.previous_no_title` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `current_title` | `title.api.Equipped.current_title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 9 | `current_no_title` | `title.api.Equipped.current_no_title` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.cosmetic.character.title.api.Revoked.character` +- **内部变量名**: `REVOKED` +- **字段数量**: 9 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.api.Granted.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `title` | `title.api.Granted.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 3 | `character` | `title.api.Revoked.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `title` | `title.api.Revoked.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 5 | `character` | `title.api.Equipped.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `previous_title` | `title.api.Equipped.previous_title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 7 | `previous_no_title` | `title.api.Equipped.previous_no_title` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `current_title` | `title.api.Equipped.current_title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 9 | `current_no_title` | `title.api.Equipped.current_no_title` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.cosmetic.character.title.api.Equipped.character` +- **内部变量名**: `EQUIPPED` +- **字段数量**: 9 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.api.Granted.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `title` | `title.api.Granted.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 3 | `character` | `title.api.Revoked.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `title` | `title.api.Revoked.title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 5 | `character` | `title.api.Equipped.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `previous_title` | `title.api.Equipped.previous_title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 7 | `previous_no_title` | `title.api.Equipped.previous_no_title` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `current_title` | `title.api.Equipped.current_title` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 9 | `current_no_title` | `title.api.Equipped.current_no_title` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.character.title.definition` (as `title`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.cosmetic.character.title.api.admin.GrantRequest.character` +- **内部变量名**: `GRANTREQUEST` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.api.admin.GrantRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `id` | `title.api.admin.GrantRequest.id` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 3 | `context` | `title.api.admin.GrantRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 4 | `character` | `title.api.admin.RevokeRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `id` | `title.api.admin.RevokeRequest.id` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 6 | `context` | `title.api.admin.RevokeRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### GrantResponse + +- **完整名称**: `eve.cosmetic.character.title.api.admin.GrantResponse` +- **内部变量名**: `GRANTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.character.title.api.admin.RevokeRequest.character` +- **内部变量名**: `REVOKEREQUEST` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `title.api.admin.GrantRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `id` | `title.api.admin.GrantRequest.id` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 3 | `context` | `title.api.admin.GrantRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 4 | `character` | `title.api.admin.RevokeRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `id` | `title.api.admin.RevokeRequest.id` | message (cpp: message) → `evedotcosmeticdotcharacterdottitledotdefinitiondottitlepb2.identifier` | optional (required in proto3) | +| 6 | `context` | `title.api.admin.RevokeRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### RevokeResponse + +- **完整名称**: `eve.cosmetic.character.title.api.admin.RevokeResponse` +- **内部变量名**: `REVOKERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.alliance` (as `alliance`) +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### alliance + +- **完整名称**: `eve.cosmetic.alliance.api.GetManagersRequest.alliance` +- **内部变量名**: `GETMANAGERSREQUEST` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `alliance` | `api.GetManagersRequest.alliance` | message (cpp: message) → `evedotalliancedotalliancepb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `api.GetManagersResponse.CorporationManagers.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `managers` | `api.GetManagersResponse.CorporationManagers.managers` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | +| 4 | `managers` | `api.GetManagersResponse.managers` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | + +--- + +##### corporation + +- **完整名称**: `eve.cosmetic.alliance.api.GetManagersResponse.CorporationManagers.corporation` +- **内部变量名**: `GETMANAGERSRESPONSE_CORPORATIONMANAGERS` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### managers + +- **完整名称**: `eve.cosmetic.alliance.api.GetManagersResponse.managers` +- **内部变量名**: `GETMANAGERSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.alliance` (as `alliance`) +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.cosmetic.alliance.api.ManagerPromoted.character` +- **内部变量名**: `MANAGERPROMOTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.alliance.api.ManagerDemoted.character` +- **内部变量名**: `MANAGERDEMOTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.market.transaction` (as `transaction`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.cosmetic.market.transaction.api.GetAllRequest.character` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transactions + +- **完整名称**: `eve.cosmetic.market.transaction.api.GetAllResponse.transactions` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.market.transaction.api.GetRequest.character` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### status + +- **完整名称**: `eve.cosmetic.market.transaction.api.GetResponse.status` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.market` (as `market`) +- `eve.cosmetic.market.skin.listing` (as `listing`) +- `eve.cosmetic.market.skin.search` (as `search`) +- `eve.cosmetic.market.transaction` (as `transaction`) +- `eve.cosmetic.ship.skin.thirdparty.license` (as `license`) + +#### 📝 消息类型定义 + +**消息类型数量**: 11 + +##### buyer + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.CompletePurchaseTransactionCommanded.buyer` +- **内部变量名**: `COMPLETEPURCHASETRANSACTIONCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### seller + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.CompleteCreateListingTransactionCommanded.seller` +- **内部变量名**: `COMPLETECREATELISTINGTRANSACTIONCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.Queried.character` +- **内部变量名**: `QUERIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### buyer + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.PurchaseInitiated.buyer` +- **内部变量名**: `PURCHASEINITIATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transaction + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.PurchaseFailed.transaction` +- **内部变量名**: `PURCHASEFAILED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transaction + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.PurchaseCompleted.transaction` +- **内部变量名**: `PURCHASECOMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### seller + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.CreateInitiated.seller` +- **内部变量名**: `CREATEINITIATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transaction + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.CreateFailed.transaction` +- **内部变量名**: `CREATEFAILED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transaction + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.CreateCompleted.transaction` +- **内部变量名**: `CREATECOMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.Deleted.id` +- **内部变量名**: `DELETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### listing + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.ExpiryTimeChanged.listing` +- **内部变量名**: `EXPIRYTIMECHANGED` +- **字段数量**: 33 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `buyer` | `api.CompletePurchaseTransactionCommanded.buyer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `transaction` | `api.CompletePurchaseTransactionCommanded.transaction` | message (cpp: message) → `evedotcosmeticdotmarketdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 3 | `seller` | `api.CompleteCreateListingTransactionCommanded.seller` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `transaction` | `api.CompleteCreateListingTransactionCommanded.transaction` | message (cpp: message) → `evedotcosmeticdotmarketdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 5 | `character` | `api.Queried.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `filters` | `api.Queried.filters` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotsearchdotsearchpb2.filter` | repeated | +| 7 | `orders` | `api.Queried.orders` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotsearchdotsearchpb2.order` | repeated | +| 8 | `listing_target` | `api.Queried.listing_target` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotsearchdotsearchpb2.listingtarget` | optional (required in proto3) | +| 9 | `buyer` | `api.PurchaseInitiated.buyer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 10 | `transaction` | `api.PurchaseInitiated.transaction` | message (cpp: message) → `evedotcosmeticdotmarketdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 11 | `skin` | `api.PurchaseInitiated.skin` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.entry` | optional (required in proto3) | +| 12 | `quantity` | `api.PurchaseInitiated.quantity` | uint32 (cpp: int64) | optional (required in proto3) | +| 13 | `transaction` | `api.PurchaseFailed.transaction` | message (cpp: message) → `evedotcosmeticdotmarketdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 14 | `transaction` | `api.PurchaseCompleted.transaction` | message (cpp: message) → `evedotcosmeticdotmarketdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 15 | `skin` | `api.PurchaseCompleted.skin` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.entry` | optional (required in proto3) | +| 16 | `tax` | `api.PurchaseCompleted.tax` | message (cpp: message) → `evedotcosmeticdotmarketdotmarketpb2.taxamount` | optional (required in proto3) | +| 17 | `buyer_fee` | `api.PurchaseCompleted.buyer_fee` | message (cpp: message) → `evedotcosmeticdotmarketdotmarketpb2.buyerfee` | optional (required in proto3) | +| 18 | `seller` | `api.CreateInitiated.seller` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 19 | `transaction` | `api.CreateInitiated.transaction` | message (cpp: message) → `evedotcosmeticdotmarketdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 20 | `skin` | `api.CreateInitiated.skin` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.entry` | optional (required in proto3) | +| 21 | `listing` | `api.CreateInitiated.listing` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.identifier` | optional (required in proto3) | +| 22 | `transaction` | `api.CreateFailed.transaction` | message (cpp: message) → `evedotcosmeticdotmarketdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 23 | `transaction` | `api.CreateCompleted.transaction` | message (cpp: message) → `evedotcosmeticdotmarketdottransactiondottransactionpb2.identifier` | optional (required in proto3) | +| 24 | `listing` | `api.CreateCompleted.listing` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.identifier` | optional (required in proto3) | +| 25 | `attributes` | `api.CreateCompleted.attributes` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.attributes` | optional (required in proto3) | +| 26 | `broker_fee` | `api.CreateCompleted.broker_fee` | message (cpp: message) → `evedotcosmeticdotmarketdotmarketpb2.brokerfee` | optional (required in proto3) | +| 27 | `id` | `api.Deleted.id` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.identifier` | optional (required in proto3) | +| 28 | `attributes` | `api.Deleted.attributes` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.attributes` | optional (required in proto3) | +| 29 | `reason` | `api.Deleted.reason` | enum (cpp: bool) | optional (required in proto3) | +| 30 | `listing` | `api.ExpiryTimeChanged.listing` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.identifier` | optional (required in proto3) | +| 31 | `expiry_before` | `api.ExpiryTimeChanged.expiry_before` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 32 | `expiry_after` | `api.ExpiryTimeChanged.expiry_after` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 33 | `admin` | `api.ExpiryTimeChanged.admin` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.market.skin.listing` (as `listing`) +- `eve.cosmetic.market.skin.search` (as `search`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### page + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.GetAllRequest.page` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### listings + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.GetAllResponse.listings` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.GetSkillBasedLimitRequest.character` +- **内部变量名**: `GETSKILLBASEDLIMITREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### limit + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.GetSkillBasedLimitResponse.limit` +- **内部变量名**: `GETSKILLBASEDLIMITRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.market.skin.listing` (as `listing`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### listing + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.admin.SetExpirationRequest.listing` +- **内部变量名**: `SETEXPIRATIONREQUEST` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `listing` | `api.admin.SetExpirationRequest.listing` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.identifier` | optional (required in proto3) | +| 2 | `expires` | `api.admin.SetExpirationRequest.expires` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 3 | `context` | `api.admin.SetExpirationRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 4 | `creator` | `api.admin.GetAllListedByCharacterRequest.creator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `context` | `api.admin.GetAllListedByCharacterRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 6 | `listings` | `api.admin.GetAllListedByCharacterResponse.listings` | message (cpp: message) → `evedotcosmeticdotmarketdotskindotlistingdotlistingpb2.entry` | repeated | + +--- + +##### SetExpirationResponse + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.admin.SetExpirationResponse` +- **内部变量名**: `SETEXPIRATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### creator + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterRequest.creator` +- **内部变量名**: `GETALLLISTEDBYCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### listings + +- **完整名称**: `eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterResponse.listings` +- **内部变量名**: `GETALLLISTEDBYCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.market.component.listing` (as `listing`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### GetAllRequest + +- **完整名称**: `eve.cosmetic.market.component.listing.api.GetAllRequest` +- **内部变量名**: `GETALLREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### listings + +- **完整名称**: `eve.cosmetic.market.component.listing.api.GetAllResponse.listings` +- **内部变量名**: `GETALLRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.market.component.listing` (as `listing`) +- `eve.cosmetic.market.transaction` (as `transaction`) +- `eve.inventory` (as `generic_item_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### buyer + +- **完整名称**: `eve.cosmetic.market.component.listing.api.CompletePurchaseTransactionCommanded.buyer` +- **内部变量名**: `COMPLETEPURCHASETRANSACTIONCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.market.component.listing.api.Queried.character` +- **内部变量名**: `QUERIED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### buyer + +- **完整名称**: `eve.cosmetic.market.component.listing.api.PurchaseInitiated.buyer` +- **内部变量名**: `PURCHASEINITIATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transaction + +- **完整名称**: `eve.cosmetic.market.component.listing.api.PurchaseFailed.transaction` +- **内部变量名**: `PURCHASEFAILED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### transaction + +- **完整名称**: `eve.cosmetic.market.component.listing.api.PurchaseCompleted.transaction` +- **内部变量名**: `PURCHASECOMPLETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.cosmetic.market.api.GetSkillBasedTaxReductionRequest.character` +- **内部变量名**: `GETSKILLBASEDTAXREDUCTIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### reduction_basis_points + +- **完整名称**: `eve.cosmetic.market.api.GetSkillBasedTaxReductionResponse.reduction_basis_points` +- **内部变量名**: `GETSKILLBASEDTAXREDUCTIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.cosmetic.corporation.api.ManagerPromoted.character` +- **内部变量名**: `MANAGERPROMOTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.corporation.api.ManagerDemoted.character` +- **内部变量名**: `MANAGERDEMOTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.cosmetic.corporation.api.IsManagerRequest.character` +- **内部变量名**: `ISMANAGERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### is_manager + +- **完整名称**: `eve.cosmetic.corporation.api.IsManagerResponse.is_manager` +- **内部变量名**: `ISMANAGERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### corporation + +- **完整名称**: `eve.cosmetic.corporation.api.GetManagersRequest.corporation` +- **内部变量名**: `GETMANAGERSREQUEST` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.IsManagerRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `corporation` | `api.IsManagerRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 3 | `is_manager` | `api.IsManagerResponse.is_manager` | bool (cpp: uint32) | optional (required in proto3) | +| 4 | `corporation` | `api.GetManagersRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 5 | `managers` | `api.GetManagersResponse.managers` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | repeated | + +--- + +##### managers + +- **完整名称**: `eve.cosmetic.corporation.api.GetManagersResponse.managers` +- **内部变量名**: `GETMANAGERSRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.corporation.palette` (as `palette`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### identifier + +- **完整名称**: `eve.cosmetic.corporation.palette.api.GetRequest.identifier` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### attributes + +- **完整名称**: `eve.cosmetic.corporation.palette.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.corporation.palette` (as `palette`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### identifier + +- **完整名称**: `eve.cosmetic.corporation.palette.api.Set.identifier` +- **内部变量名**: `SET` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.firstparty` (as `firstparty`) +- `eve.cosmetic.ship.skin.thirdparty` (as `thirdparty`) +- `eve.ship` (as `ship`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.api.Set.character` +- **内部变量名**: `SET` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.api.Cleared.character` +- **内部变量名**: `CLEARED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.firstparty` (as `firstparty`) +- `eve.ship` (as `ship`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### ship + +- **完整名称**: `eve.cosmetic.ship.skin.firstparty.api.GetRequest.ship` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `ship` | `skin.firstparty.api.GetRequest.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 2 | `character` | `skin.firstparty.api.GetRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `skin` | `skin.firstparty.api.GetResponse.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotfirstpartydotfirstpartypb2.identifier` | optional (required in proto3) | +| 4 | `no_skin` | `skin.firstparty.api.GetResponse.no_skin` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +##### skin + +- **完整名称**: `eve.cosmetic.ship.skin.firstparty.api.GetResponse.skin` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `ship` | `firstparty.api.GetRequest.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 2 | `character` | `firstparty.api.GetRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 3 | `skin` | `firstparty.api.GetResponse.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotfirstpartydotfirstpartypb2.identifier` | optional (required in proto3) | +| 4 | `no_skin` | `firstparty.api.GetResponse.no_skin` | bool (cpp: uint32) | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.firstparty` (as `firstparty`) +- `eve.ship` (as `ship`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### skin + +- **完整名称**: `eve.cosmetic.ship.skin.firstparty.api.Applied.skin` +- **内部变量名**: `APPLIED` +- **字段数量**: 11 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skin` | `firstparty.api.Applied.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotfirstpartydotfirstpartypb2.identifier` | optional (required in proto3) | +| 2 | `no_skin` | `firstparty.api.Applied.no_skin` | bool (cpp: uint32) | optional (required in proto3) | +| 3 | `ship` | `firstparty.api.Applied.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 4 | `character` | `firstparty.api.Applied.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `character` | `firstparty.api.Activated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `skin` | `firstparty.api.Activated.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotfirstpartydotfirstpartypb2.identifier` | optional (required in proto3) | +| 7 | `permanent` | `firstparty.api.Activated.permanent` | bool (cpp: uint32) | optional (required in proto3) | +| 8 | `days` | `firstparty.api.Activated.days` | uint32 (cpp: int64) | optional (required in proto3) | +| 9 | `single_use` | `firstparty.api.Activated.single_use` | bool (cpp: uint32) | optional (required in proto3) | +| 10 | `character` | `firstparty.api.Deactivated.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 11 | `skin` | `firstparty.api.Deactivated.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotfirstpartydotfirstpartypb2.identifier` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.firstparty.api.Activated.character` +- **内部变量名**: `ACTIVATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.firstparty.api.Deactivated.character` +- **内部变量名**: `DEACTIVATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.draft` (as `draft`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.draft.api.GetSkillBasedLimitRequest.character` +- **内部变量名**: `GETSKILLBASEDLIMITREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### limit + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.draft.api.GetSkillBasedLimitResponse.limit` +- **内部变量名**: `GETSKILLBASEDLIMITRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.draft.api.GetAllSavedByCharacterRequest.character` +- **内部变量名**: `GETALLSAVEDBYCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### draft + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.draft.api.GetAllSavedByCharacterResponse.Draft.draft` +- **内部变量名**: `GETALLSAVEDBYCHARACTERRESPONSE_DRAFT` +- **字段数量**: 6 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.GetSkillBasedLimitRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `limit` | `api.GetSkillBasedLimitResponse.limit` | uint32 (cpp: int64) | optional (required in proto3) | +| 3 | `character` | `api.GetAllSavedByCharacterRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 4 | `draft` | `api.GetAllSavedByCharacterResponse.Draft.draft` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotdraftdotdraftpb2.identifier` | optional (required in proto3) | +| 5 | `attributes` | `api.GetAllSavedByCharacterResponse.Draft.attributes` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotdraftdotdraftpb2.attributes` | optional (required in proto3) | +| 6 | `drafts` | `api.GetAllSavedByCharacterResponse.drafts` | message (cpp: message) → `getallsavedbycharacterresponsedraft` | repeated | + +--- + +##### drafts + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.draft.api.GetAllSavedByCharacterResponse.drafts` +- **内部变量名**: `GETALLSAVEDBYCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.draft` (as `draft`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### draft + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.draft.api.Saved.draft` +- **内部变量名**: `SAVED` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `draft` | `api.Saved.draft` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotdraftdotdraftpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Saved.attributes` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotdraftdotdraftpb2.attributes` | optional (required in proto3) | +| 3 | `draft` | `api.Deleted.draft` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotdraftdotdraftpb2.identifier` | optional (required in proto3) | + +--- + +##### draft + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.draft.api.Deleted.draft` +- **内部变量名**: `DELETED` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `draft` | `api.Saved.draft` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotdraftdotdraftpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Saved.attributes` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotdraftdotdraftpb2.attributes` | optional (required in proto3) | +| 3 | `draft` | `api.Deleted.draft` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotdraftdotdraftpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.sequencing.job` (as `job`) +- `eve.plex` (as `plex`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### job + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.job.api.Initiated.job` +- **内部变量名**: `INITIATED` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `job` | `api.Initiated.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Initiated.attributes` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.attributes` | optional (required in proto3) | +| 3 | `anticipated_cost` | `api.Initiated.anticipated_cost` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 4 | `job` | `api.Failed.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 5 | `reason` | `api.Failed.reason` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `job` | `api.Started.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 7 | `completed` | `api.Completed.CompletedEarly.completed` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `price` | `api.Completed.CompletedEarly.price` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 9 | `job` | `api.Completed.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 10 | `planned` | `api.Completed.planned` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 11 | `early` | `api.Completed.early` | message (cpp: message) → `completedcompletedearly` | optional (required in proto3) | +| 12 | `sequencer` | `api.Completed.sequencer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### job + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.job.api.Failed.job` +- **内部变量名**: `FAILED` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `job` | `api.Initiated.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Initiated.attributes` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.attributes` | optional (required in proto3) | +| 3 | `anticipated_cost` | `api.Initiated.anticipated_cost` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 4 | `job` | `api.Failed.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 5 | `reason` | `api.Failed.reason` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `job` | `api.Started.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 7 | `completed` | `api.Completed.CompletedEarly.completed` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `price` | `api.Completed.CompletedEarly.price` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 9 | `job` | `api.Completed.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 10 | `planned` | `api.Completed.planned` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 11 | `early` | `api.Completed.early` | message (cpp: message) → `completedcompletedearly` | optional (required in proto3) | +| 12 | `sequencer` | `api.Completed.sequencer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### job + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.job.api.Started.job` +- **内部变量名**: `STARTED` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `job` | `api.Initiated.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Initiated.attributes` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.attributes` | optional (required in proto3) | +| 3 | `anticipated_cost` | `api.Initiated.anticipated_cost` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 4 | `job` | `api.Failed.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 5 | `reason` | `api.Failed.reason` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `job` | `api.Started.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 7 | `completed` | `api.Completed.CompletedEarly.completed` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `price` | `api.Completed.CompletedEarly.price` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 9 | `job` | `api.Completed.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 10 | `planned` | `api.Completed.planned` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 11 | `early` | `api.Completed.early` | message (cpp: message) → `completedcompletedearly` | optional (required in proto3) | +| 12 | `sequencer` | `api.Completed.sequencer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +##### completed + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.job.api.Completed.CompletedEarly.completed` +- **内部变量名**: `COMPLETED_COMPLETEDEARLY` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### job + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.job.api.Completed.job` +- **内部变量名**: `COMPLETED` +- **字段数量**: 12 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `job` | `api.Initiated.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Initiated.attributes` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.attributes` | optional (required in proto3) | +| 3 | `anticipated_cost` | `api.Initiated.anticipated_cost` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 4 | `job` | `api.Failed.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 5 | `reason` | `api.Failed.reason` | enum (cpp: bool) | optional (required in proto3) | +| 6 | `job` | `api.Started.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 7 | `completed` | `api.Completed.CompletedEarly.completed` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 8 | `price` | `api.Completed.CompletedEarly.price` | message (cpp: message) → `evedotplexdotplexpb2.currency` | optional (required in proto3) | +| 9 | `job` | `api.Completed.job` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotsequencingdotjobdotjobpb2.identifier` | optional (required in proto3) | +| 10 | `planned` | `api.Completed.planned` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 11 | `early` | `api.Completed.early` | message (cpp: message) → `completedcompletedearly` | optional (required in proto3) | +| 12 | `sequencer` | `api.Completed.sequencer` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.component.license` (as `license`) +- `eve.cosmetic.ship.skin.thirdparty` (as `thirdparty`) +- `eve.inventory` (as `generic_item_type`) +- `eve.plex` (as `plex`) +- `eve.search` (as `tag`) + +#### 📝 消息类型定义 + +**消息类型数量**: 18 + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.ValidateRequest.character` +- **内部变量名**: `VALIDATEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### item + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.ValidateResponse.SecondaryResource.item` +- **内部变量名**: `VALIDATERESPONSE_SECONDARYRESOURCE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### tags + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.ValidateResponse.tags` +- **内部变量名**: `VALIDATERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetSkillBasedJobsCapacityRequest.character` +- **内部变量名**: `GETSKILLBASEDJOBSCAPACITYREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### capacity + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetSkillBasedJobsCapacityResponse.capacity` +- **内部变量名**: `GETSKILLBASEDJOBSCAPACITYRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetSkillBasedMaxLicensesPerJobRequest.character` +- **内部变量名**: `GETSKILLBASEDMAXLICENSESPERJOBREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### capacity + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetSkillBasedMaxLicensesPerJobResponse.capacity` +- **内部变量名**: `GETSKILLBASEDMAXLICENSESPERJOBRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetSkillBasedDurationModifierRequest.character` +- **内部变量名**: `GETSKILLBASEDDURATIONMODIFIERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### percentage_modifier + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetSkillBasedDurationModifierResponse.percentage_modifier` +- **内部变量名**: `GETSKILLBASEDDURATIONMODIFIERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetTierPricingRequest + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetTierPricingRequest` +- **内部变量名**: `GETTIERPRICINGREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### tier + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetTierPricingResponse.Price.tier` +- **内部变量名**: `GETTIERPRICINGRESPONSE_PRICE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### prices + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetTierPricingResponse.prices` +- **内部变量名**: `GETTIERPRICINGRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### GetEarlyCompletionPricingRequest + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetEarlyCompletionPricingRequest` +- **内部变量名**: `GETEARLYCOMPLETIONPRICINGREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### remaining_greater + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetEarlyCompletionPricingResponse.Price.remaining_greater` +- **内部变量名**: `GETEARLYCOMPLETIONPRICINGRESPONSE_PRICE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### prices + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetEarlyCompletionPricingResponse.prices` +- **内部变量名**: `GETEARLYCOMPLETIONPRICINGRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetTierDurationsForCharacterRequest.character` +- **内部变量名**: `GETTIERDURATIONSFORCHARACTERREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### tier + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetTierDurationsForCharacterResponse.Duration.tier` +- **内部变量名**: `GETTIERDURATIONSFORCHARACTERRESPONSE_DURATION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### durations + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.sequencing.api.GetTierDurationsForCharacterResponse.durations` +- **内部变量名**: `GETTIERDURATIONSFORCHARACTERRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding.asset` (as `asset`) +- `eve.assetholding` (as `context`) +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.license.assetholding.operation` (as `operation`) +- `eve.cosmetic.ship.skin.thirdparty` (as `thirdparty`) + +#### 📝 消息类型定义 + +**消息类型数量**: 6 + +##### operation + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.assetholding.operation.api.GetRequest.operation` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 16 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `operation` | `api.GetRequest.operation` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 2 | `operation` | `api.GetResponse.operation` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 3 | `id` | `api.HoldRequest.id` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 4 | `owner` | `api.HoldRequest.owner` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `license` | `api.HoldRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.identifier` | optional (required in proto3) | +| 6 | `quantity` | `api.HoldRequest.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 7 | `asset` | `api.HoldRequest.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 8 | `asset_benefactor` | `api.HoldRequest.asset_benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 9 | `context` | `api.HoldRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 10 | `id` | `api.SpawnRequest.id` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 11 | `owner` | `api.SpawnRequest.owner` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 12 | `license` | `api.SpawnRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.identifier` | optional (required in proto3) | +| 13 | `quantity` | `api.SpawnRequest.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 14 | `asset` | `api.SpawnRequest.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 15 | `asset_benefactor` | `api.SpawnRequest.asset_benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 16 | `context` | `api.SpawnRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | + +--- + +##### operation + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.assetholding.operation.api.GetResponse.operation` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 16 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `operation` | `api.GetRequest.operation` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 2 | `operation` | `api.GetResponse.operation` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 3 | `id` | `api.HoldRequest.id` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 4 | `owner` | `api.HoldRequest.owner` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 5 | `license` | `api.HoldRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.identifier` | optional (required in proto3) | +| 6 | `quantity` | `api.HoldRequest.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 7 | `asset` | `api.HoldRequest.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 8 | `asset_benefactor` | `api.HoldRequest.asset_benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 9 | `context` | `api.HoldRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | +| 10 | `id` | `api.SpawnRequest.id` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotassetholdingdotoperationdotoperationpb2.identifier` | optional (required in proto3) | +| 11 | `owner` | `api.SpawnRequest.owner` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 12 | `license` | `api.SpawnRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.identifier` | optional (required in proto3) | +| 13 | `quantity` | `api.SpawnRequest.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 14 | `asset` | `api.SpawnRequest.asset` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.identifier` | optional (required in proto3) | +| 15 | `asset_benefactor` | `api.SpawnRequest.asset_benefactor` | message (cpp: message) → `evedotassetholdingdotassetdotassetpb2.benefactor` | optional (required in proto3) | +| 16 | `context` | `api.SpawnRequest.context` | message (cpp: message) → `evedotassetholdingdotcontextpb2.context` | optional (required in proto3) | + +--- + +##### id + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.assetholding.operation.api.HoldRequest.id` +- **内部变量名**: `HOLDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### HoldResponse + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.assetholding.operation.api.HoldResponse` +- **内部变量名**: `HOLDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.assetholding.operation.api.SpawnRequest.id` +- **内部变量名**: `SPAWNREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### SpawnResponse + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.assetholding.operation.api.SpawnResponse` +- **内部变量名**: `SPAWNRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.assetholding.asset` (as `asset`) +- `eve.assetholding` (as `context`) +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.license.assetholding.operation` (as `operation`) +- `eve.cosmetic.ship.skin.thirdparty` (as `thirdparty`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### id + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.assetholding.operation.api.Held.id` +- **内部变量名**: `HELD` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.assetholding.operation.api.Spawned.id` +- **内部变量名**: `SPAWNED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.license` (as `license`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.GetOwnedRequest.character` +- **内部变量名**: `GETOWNEDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### licenses + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.GetOwnedResponse.licenses` +- **内部变量名**: `GETOWNEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.GetRequest.license` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.GetOwnedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `licenses` | `api.GetOwnedResponse.licenses` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | repeated | +| 3 | `license` | `api.GetRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 4 | `license` | `api.GetResponse.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | + +--- + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.GetResponse.license` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 4 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.GetOwnedRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `licenses` | `api.GetOwnedResponse.licenses` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | repeated | +| 3 | `license` | `api.GetRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 4 | `license` | `api.GetResponse.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.license` (as `license`) +- `eve.cosmetic.ship.skin.thirdparty` (as `thirdparty`) +- `eve.ship` (as `ship`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.Granted.license` +- **内部变量名**: `GRANTED` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `api.Granted.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `quantity` | `api.Granted.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 3 | `license` | `api.Activated.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 4 | `license` | `api.Applied.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 5 | `ship` | `api.Applied.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 6 | `layout` | `api.Applied.layout` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.layout` | optional (required in proto3) | +| 7 | `license` | `api.Unapplied.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 8 | `ship` | `api.Unapplied.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | + +--- + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.Activated.license` +- **内部变量名**: `ACTIVATED` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `api.Granted.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `quantity` | `api.Granted.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 3 | `license` | `api.Activated.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 4 | `license` | `api.Applied.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 5 | `ship` | `api.Applied.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 6 | `layout` | `api.Applied.layout` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.layout` | optional (required in proto3) | +| 7 | `license` | `api.Unapplied.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 8 | `ship` | `api.Unapplied.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | + +--- + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.Applied.license` +- **内部变量名**: `APPLIED` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `api.Granted.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `quantity` | `api.Granted.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 3 | `license` | `api.Activated.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 4 | `license` | `api.Applied.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 5 | `ship` | `api.Applied.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 6 | `layout` | `api.Applied.layout` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.layout` | optional (required in proto3) | +| 7 | `license` | `api.Unapplied.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 8 | `ship` | `api.Unapplied.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | + +--- + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.Unapplied.license` +- **内部变量名**: `UNAPPLIED` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `api.Granted.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `quantity` | `api.Granted.quantity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 3 | `license` | `api.Activated.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 4 | `license` | `api.Applied.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 5 | `ship` | `api.Applied.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | +| 6 | `layout` | `api.Applied.layout` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.layout` | optional (required in proto3) | +| 7 | `license` | `api.Unapplied.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 8 | `ship` | `api.Unapplied.ship` | message (cpp: message) → `evedotshipdotshippb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.license` (as `license`) +- `eve.cosmetic.ship.skin.thirdparty` (as `thirdparty`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.admin.GrantRequest.character` +- **内部变量名**: `GRANTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.admin.GrantResponse.license` +- **内部变量名**: `GRANTRESPONSE` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `api.admin.GrantRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `skin` | `api.admin.GrantRequest.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.identifier` | optional (required in proto3) | +| 3 | `unactivated` | `api.admin.GrantRequest.unactivated` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `context` | `api.admin.GrantRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `license` | `api.admin.GrantResponse.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 6 | `character` | `api.admin.RevokeRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 7 | `license` | `api.admin.RevokeRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 8 | `context` | `api.admin.RevokeRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.admin.RevokeRequest.character` +- **内部变量名**: `REVOKEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RevokeResponse + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.license.api.admin.RevokeResponse` +- **内部变量名**: `REVOKERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.component.license.finite` (as `finite`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.GetRequest.license` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `finite.api.GetRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotfinitedotfinitepb2.identifier` | optional (required in proto3) | +| 2 | `license` | `finite.api.GetResponse.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotfinitedotfinitepb2.identifier` | optional (required in proto3) | + +--- + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.GetResponse.license` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `finite.api.GetRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotfinitedotfinitepb2.identifier` | optional (required in proto3) | +| 2 | `license` | `finite.api.GetResponse.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotfinitedotfinitepb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.component.license.finite` (as `finite`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.Used.license` +- **内部变量名**: `USED` +- **字段数量**: 1 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `finite.api.Used.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotfinitedotfinitepb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.component` (as `component`) +- `eve.cosmetic.ship.skin.thirdparty.component.license.finite` (as `finite`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.admin.GrantRequest.character` +- **内部变量名**: `GRANTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.admin.GrantResponse.license` +- **内部变量名**: `GRANTRESPONSE` +- **字段数量**: 8 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `finite.api.admin.GrantRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `component` | `finite.api.admin.GrantRequest.component` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotcomponentpb2.identifier` | optional (required in proto3) | +| 3 | `capacity` | `finite.api.admin.GrantRequest.capacity` | uint64 (cpp: uint64) | optional (required in proto3) | +| 4 | `context` | `finite.api.admin.GrantRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 5 | `license` | `finite.api.admin.GrantResponse.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotfinitedotfinitepb2.identifier` | optional (required in proto3) | +| 6 | `character` | `finite.api.admin.RevokeRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 7 | `license` | `finite.api.admin.RevokeRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotfinitedotfinitepb2.identifier` | optional (required in proto3) | +| 8 | `context` | `finite.api.admin.RevokeRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.admin.RevokeRequest.character` +- **内部变量名**: `REVOKEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RevokeResponse + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.admin.RevokeResponse` +- **内部变量名**: `REVOKERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.component.license.itemtype` (as `itemtype`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### item + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.itemtype.api.GetRequest.item` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### item + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.itemtype.api.GetResponse.item` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.component.license.item` (as `item`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### item + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.item.api.GetRequest.item` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `item` | `api.GetRequest.item` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotitemdotitempb2.identifier` | optional (required in proto3) | +| 2 | `item` | `api.GetResponse.item` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotitemdotitempb2.identifier` | optional (required in proto3) | + +--- + +##### item + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.item.api.GetResponse.item` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `item` | `api.GetRequest.item` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotitemdotitempb2.identifier` | optional (required in proto3) | +| 2 | `item` | `api.GetResponse.item` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotitemdotitempb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.component.license.item` (as `item`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### item + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.item.api.Consumed.item` +- **内部变量名**: `CONSUMED` +- **字段数量**: 1 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `item` | `api.Consumed.item` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotitemdotitempb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.component.license.finite` (as `finite`) +- `eve.cosmetic.ship.skin.thirdparty.component.license.infinite` (as `infinite`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.api.GetOwnedRequest.character` +- **内部变量名**: `GETOWNEDREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### finite + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.api.GetOwnedResponse.finite` +- **内部变量名**: `GETOWNEDRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.component.license` (as `license`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.api.Granted.character` +- **内部变量名**: `GRANTED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.api.SpawnCommanded.character` +- **内部变量名**: `SPAWNCOMMANDED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.component.license.infinite` (as `infinite`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.GetRequest.license` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `infinite.api.GetRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotinfinitedotinfinitepb2.identifier` | optional (required in proto3) | +| 2 | `license` | `infinite.api.GetResponse.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotinfinitedotinfinitepb2.identifier` | optional (required in proto3) | + +--- + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.GetResponse.license` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `infinite.api.GetRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotinfinitedotinfinitepb2.identifier` | optional (required in proto3) | +| 2 | `license` | `infinite.api.GetResponse.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotinfinitedotinfinitepb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.component.license.infinite` (as `infinite`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.Used.license` +- **内部变量名**: `USED` +- **字段数量**: 1 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `license` | `infinite.api.Used.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotinfinitedotinfinitepb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.cosmetic.ship.skin.thirdparty.component` (as `component`) +- `eve.cosmetic.ship.skin.thirdparty.component.license.infinite` (as `infinite`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.admin.GrantRequest.character` +- **内部变量名**: `GRANTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### license + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.admin.GrantResponse.license` +- **内部变量名**: `GRANTRESPONSE` +- **字段数量**: 7 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `character` | `infinite.api.admin.GrantRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 2 | `component` | `infinite.api.admin.GrantRequest.component` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotcomponentpb2.identifier` | optional (required in proto3) | +| 3 | `context` | `infinite.api.admin.GrantRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 4 | `license` | `infinite.api.admin.GrantResponse.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotinfinitedotinfinitepb2.identifier` | optional (required in proto3) | +| 5 | `character` | `infinite.api.admin.RevokeRequest.character` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `license` | `infinite.api.admin.RevokeRequest.license` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotcomponentdotlicensedotinfinitedotinfinitepb2.identifier` | optional (required in proto3) | +| 7 | `context` | `infinite.api.admin.RevokeRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### character + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.admin.RevokeRequest.character` +- **内部变量名**: `REVOKEREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### RevokeResponse + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.admin.RevokeResponse` +- **内部变量名**: `REVOKERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.line` (as `line`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### line + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.line.api.GetRequest.line` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `line` | `api.GetRequest.line` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlinedotlinepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.GetResponse.attributes` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlinedotlinepb2.attributes` | optional (required in proto3) | + +--- + +##### attributes + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.line.api.GetResponse.attributes` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.line` (as `line`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### id + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.line.api.Created.id` +- **内部变量名**: `CREATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty.line` (as `line`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### line + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.line.api.admin.RenameRequest.line` +- **内部变量名**: `RENAMEREQUEST` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `line` | `api.admin.RenameRequest.line` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotlinedotlinepb2.identifier` | optional (required in proto3) | +| 2 | `name` | `api.admin.RenameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 3 | `context` | `api.admin.RenameRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### RenameResponse + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.line.api.admin.RenameResponse` +- **内部变量名**: `RENAMERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty` (as `thirdparty`) +- `eve.search` (as `tag`) + +#### 📝 消息类型定义 + +**消息类型数量**: 4 + +##### layout + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.api.ValidateLayoutRequest.layout` +- **内部变量名**: `VALIDATELAYOUTREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### tags + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.api.ValidateLayoutResponse.tags` +- **内部变量名**: `VALIDATELAYOUTRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### skin + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.api.GetRequest.skin` +- **内部变量名**: `GETREQUEST` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `layout` | `thirdparty.api.ValidateLayoutRequest.layout` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.layout` | optional (required in proto3) | +| 2 | `tags` | `thirdparty.api.ValidateLayoutResponse.tags` | message (cpp: message) → `evedotsearchdottagpb2.tag` | repeated | +| 3 | `tier` | `thirdparty.api.ValidateLayoutResponse.tier` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.tier` | optional (required in proto3) | +| 4 | `skin` | `thirdparty.api.GetRequest.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.identifier` | optional (required in proto3) | +| 5 | `skin` | `thirdparty.api.GetResponse.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.identifier` | optional (required in proto3) | + +--- + +##### skin + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.api.GetResponse.skin` +- **内部变量名**: `GETRESPONSE` +- **字段数量**: 5 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `layout` | `thirdparty.api.ValidateLayoutRequest.layout` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.layout` | optional (required in proto3) | +| 2 | `tags` | `thirdparty.api.ValidateLayoutResponse.tags` | message (cpp: message) → `evedotsearchdottagpb2.tag` | repeated | +| 3 | `tier` | `thirdparty.api.ValidateLayoutResponse.tier` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.tier` | optional (required in proto3) | +| 4 | `skin` | `thirdparty.api.GetRequest.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.identifier` | optional (required in proto3) | +| 5 | `skin` | `thirdparty.api.GetResponse.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.identifier` | optional (required in proto3) | + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty` (as `thirdparty`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### id + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.api.Created.id` +- **内部变量名**: `CREATED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### id + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.api.Deleted.id` +- **内部变量名**: `DELETED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.ship.skin.thirdparty` (as `thirdparty`) +- `eve.quasar.admin` (as `admin`) + +#### 📝 消息类型定义 + +**消息类型数量**: 2 + +##### skin + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.api.admin.RenameRequest.skin` +- **内部变量名**: `RENAMEREQUEST` +- **字段数量**: 3 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `skin` | `thirdparty.api.admin.RenameRequest.skin` | message (cpp: message) → `evedotcosmeticdotshipdotskindotthirdpartydotthirdpartypb2.identifier` | optional (required in proto3) | +| 2 | `name` | `thirdparty.api.admin.RenameRequest.name` | string (cpp: string) | optional (required in proto3) | +| 3 | `context` | `thirdparty.api.admin.RenameRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### RenameResponse + +- **完整名称**: `eve.cosmetic.ship.skin.thirdparty.api.admin.RenameResponse` +- **内部变量名**: `RENAMERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.corporation` (as `loyalty`) +- `eve.cosmetic.structure.paintwork.license` (as `license`) + +#### 📝 消息类型定义 + +**消息类型数量**: 3 + +##### character + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.loyaltypoints.api.DebitRequest.character` +- **内部变量名**: `DEBITREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### DebitResponse + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.loyaltypoints.api.DebitResponse` +- **内部变量名**: `DEBITRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### character + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.loyaltypoints.api.Debited.character` +- **内部变量名**: `DEBITED` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.corporation` (as `loyalty`) +- `eve.cosmetic.structure.paintwork.license` (as `license`) +- `eve.cosmetic.structure.paintwork` (as `paintwork`) +- `eve.quasar.admin` (as `admin`) +- `eve.structure` (as `structure`) +- `eve.structure` (as `structure_type`) + +#### 📝 消息类型定义 + +**消息类型数量**: 15 + +##### id + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Issued.id` +- **内部变量名**: `ISSUED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### activator + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.ReceiptIssued.activator` +- **内部变量名**: `RECEIPTISSUED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### deactivator + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Revoked.CharacterAction.deactivator` +- **内部变量名**: `REVOKED_CHARACTERACTION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### context + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Revoked.AdminAction.context` +- **内部变量名**: `REVOKED_ADMINACTION` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### timestamp + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Revoked.Expired.timestamp` +- **内部变量名**: `REVOKED_EXPIRED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### UpkeepLowPower + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Revoked.UpkeepLowPower` +- **内部变量名**: `REVOKED_UPKEEPLOWPOWER` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### UpkeepAbandoned + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Revoked.UpkeepAbandoned` +- **内部变量名**: `REVOKED_UPKEEPABANDONED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### OwnershipTransferred + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Revoked.OwnershipTransferred` +- **内部变量名**: `REVOKED_OWNERSHIPTRANSFERRED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### NewerLicenseIssued + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Revoked.NewerLicenseIssued` +- **内部变量名**: `REVOKED_NEWERLICENSEISSUED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### StructureDestroyed + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Revoked.StructureDestroyed` +- **内部变量名**: `REVOKED_STRUCTUREDESTROYED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### StructureUnanchored + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Revoked.StructureUnanchored` +- **内部变量名**: `REVOKED_STRUCTUREUNANCHORED` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### license + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.Revoked.license` +- **内部变量名**: `REVOKED` +- **字段数量**: 30 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `id` | `api.Issued.id` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 2 | `attributes` | `api.Issued.attributes` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.attributes` | optional (required in proto3) | +| 3 | `structure` | `api.Issued.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 4 | `paintwork` | `api.Issued.paintwork` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotpaintworkpb2.slotconfiguration` | optional (required in proto3) | +| 5 | `price` | `api.Issued.price` | message (cpp: message) → `evedotcorporationdotloyaltypb2.points` | optional (required in proto3) | +| 6 | `structure_type` | `api.Issued.structure_type` | message (cpp: message) → `evedotstructuredotstructuretypepb2.identifier` | optional (required in proto3) | +| 7 | `activator` | `api.ReceiptIssued.activator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 8 | `corporation` | `api.ReceiptIssued.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 9 | `issued` | `api.ReceiptIssued.issued` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 10 | `duration` | `api.ReceiptIssued.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 11 | `price` | `api.ReceiptIssued.price` | message (cpp: message) → `evedotcorporationdotloyaltypb2.points` | optional (required in proto3) | +| 12 | `structures` | `api.ReceiptIssued.structures` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | repeated | +| 13 | `deactivator` | `api.Revoked.CharacterAction.deactivator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 14 | `context` | `api.Revoked.AdminAction.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 15 | `timestamp` | `api.Revoked.Expired.timestamp` | message (cpp: message) → `googledotprotobufdottimestamppb2.timestamp` | optional (required in proto3) | +| 16 | `license` | `api.Revoked.license` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 17 | `character_action` | `api.Revoked.character_action` | message (cpp: message) → `revokedcharacteraction` | optional (required in proto3) | +| 18 | `admin_action` | `api.Revoked.admin_action` | message (cpp: message) → `revokedadminaction` | optional (required in proto3) | +| 19 | `expired` | `api.Revoked.expired` | message (cpp: message) → `revokedexpired` | optional (required in proto3) | +| 20 | `upkeep_low_power` | `api.Revoked.upkeep_low_power` | message (cpp: message) → `revokedupkeeplowpower` | optional (required in proto3) | +| 21 | `upkeep_abandoned` | `api.Revoked.upkeep_abandoned` | message (cpp: message) → `revokedupkeepabandoned` | optional (required in proto3) | +| 22 | `ownership_transferred` | `api.Revoked.ownership_transferred` | message (cpp: message) → `revokedownershiptransferred` | optional (required in proto3) | +| 23 | `license_issued` | `api.Revoked.license_issued` | message (cpp: message) → `revokednewerlicenseissued` | optional (required in proto3) | +| 24 | `destroyed` | `api.Revoked.destroyed` | message (cpp: message) → `revokedstructuredestroyed` | optional (required in proto3) | +| 25 | `unanchored` | `api.Revoked.unanchored` | message (cpp: message) → `revokedstructureunanchored` | optional (required in proto3) | +| 26 | `structure` | `api.Revoked.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 27 | `corporation` | `api.GetAllOwnedByCorporationRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 28 | `identifier` | `api.GetAllOwnedByCorporationResponse.License.identifier` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 29 | `attributes` | `api.GetAllOwnedByCorporationResponse.License.attributes` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.attributes` | optional (required in proto3) | +| 30 | `licenses` | `api.GetAllOwnedByCorporationResponse.licenses` | message (cpp: message) → `getallownedbycorporationresponselicense` | repeated | + +--- + +##### corporation + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.GetAllOwnedByCorporationRequest.corporation` +- **内部变量名**: `GETALLOWNEDBYCORPORATIONREQUEST` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### identifier + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.GetAllOwnedByCorporationResponse.License.identifier` +- **内部变量名**: `GETALLOWNEDBYCORPORATIONRESPONSE_LICENSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### licenses + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.GetAllOwnedByCorporationResponse.licenses` +- **内部变量名**: `GETALLOWNEDBYCORPORATIONRESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.character` (as `character`) +- `eve.corporation` (as `corporation`) +- `eve.corporation` (as `loyalty`) +- `eve.cosmetic.structure.paintwork.license` (as `license`) +- `eve.cosmetic.structure.paintwork` (as `paintwork`) +- `eve.quasar.admin` (as `admin`) +- `eve.structure` (as `structure`) + +#### 📝 消息类型定义 + +**消息类型数量**: 5 + +##### paintwork + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.admin.IssueRequest.paintwork` +- **内部变量名**: `ISSUEREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `paintwork` | `license.api.admin.IssueRequest.paintwork` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotpaintworkpb2.slotconfiguration` | optional (required in proto3) | +| 2 | `duration` | `license.api.admin.IssueRequest.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 3 | `structures` | `license.api.admin.IssueRequest.structures` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | repeated | +| 4 | `corporation` | `license.api.admin.IssueRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 5 | `activator` | `license.api.admin.IssueRequest.activator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `use_catalogue` | `license.api.admin.IssueRequest.use_catalogue` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `price` | `license.api.admin.IssueRequest.price` | message (cpp: message) → `evedotcorporationdotloyaltypb2.points` | optional (required in proto3) | +| 8 | `context` | `license.api.admin.IssueRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `id` | `license.api.admin.IssueResponse.LicenseStructure.id` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `license.api.admin.IssueResponse.LicenseStructure.attributes` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.attributes` | optional (required in proto3) | +| 11 | `structure` | `license.api.admin.IssueResponse.LicenseStructure.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 12 | `licenses` | `license.api.admin.IssueResponse.licenses` | message (cpp: message) → `issueresponselicensestructure` | repeated | +| 13 | `license` | `license.api.admin.RevokeRequest.license` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 14 | `context` | `license.api.admin.RevokeRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### id + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.admin.IssueResponse.LicenseStructure.id` +- **内部变量名**: `ISSUERESPONSE_LICENSESTRUCTURE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### licenses + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.admin.IssueResponse.licenses` +- **内部变量名**: `ISSUERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +##### license + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.admin.RevokeRequest.license` +- **内部变量名**: `REVOKEREQUEST` +- **字段数量**: 14 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `paintwork` | `api.admin.IssueRequest.paintwork` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotpaintworkpb2.slotconfiguration` | optional (required in proto3) | +| 2 | `duration` | `api.admin.IssueRequest.duration` | message (cpp: message) → `googledotprotobufdotdurationpb2.duration` | optional (required in proto3) | +| 3 | `structures` | `api.admin.IssueRequest.structures` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | repeated | +| 4 | `corporation` | `api.admin.IssueRequest.corporation` | message (cpp: message) → `evedotcorporationdotcorporationpb2.identifier` | optional (required in proto3) | +| 5 | `activator` | `api.admin.IssueRequest.activator` | message (cpp: message) → `evedotcharacterdotcharacterpb2.identifier` | optional (required in proto3) | +| 6 | `use_catalogue` | `api.admin.IssueRequest.use_catalogue` | bool (cpp: uint32) | optional (required in proto3) | +| 7 | `price` | `api.admin.IssueRequest.price` | message (cpp: message) → `evedotcorporationdotloyaltypb2.points` | optional (required in proto3) | +| 8 | `context` | `api.admin.IssueRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | +| 9 | `id` | `api.admin.IssueResponse.LicenseStructure.id` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 10 | `attributes` | `api.admin.IssueResponse.LicenseStructure.attributes` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.attributes` | optional (required in proto3) | +| 11 | `structure` | `api.admin.IssueResponse.LicenseStructure.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 12 | `licenses` | `api.admin.IssueResponse.licenses` | message (cpp: message) → `issueresponselicensestructure` | repeated | +| 13 | `license` | `api.admin.RevokeRequest.license` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotlicensedotlicensepb2.identifier` | optional (required in proto3) | +| 14 | `context` | `api.admin.RevokeRequest.context` | message (cpp: message) → `evedotquasardotadmindotadminpb2.context` | optional (required in proto3) | + +--- + +##### RevokeResponse + +- **完整名称**: `eve.cosmetic.structure.paintwork.license.api.admin.RevokeResponse` +- **内部变量名**: `REVOKERESPONSE` +- **字段数量**: 0 + +**无字段定义** + +--- + +--- + +### 📄 Package: `unknown` + +#### 🔗 依赖模块 + +- `eve.cosmetic.structure.paintwork` (as `paintwork`) +- `eve.structure` (as `structure`) + +#### 📝 消息类型定义 + +**消息类型数量**: 1 + +##### structure + +- **完整名称**: `eve.cosmetic.structure.paintwork.api.Set.structure` +- **内部变量名**: `SET` +- **字段数量**: 2 + +**字段详情**: + +| 序号 | 字段名 | 完整名称 | 类型 | 标签 | +|------|--------|----------|------|------| +| 1 | `structure` | `paintwork.api.Set.structure` | message (cpp: message) → `evedotstructuredotstructurepb2.identifier` | optional (required in proto3) | +| 2 | `paintwork` | `paintwork.api.Set.paintwork` | message (cpp: message) → `evedotcosmeticdotstructuredotpaintworkdotpaintworkpb2.slotconfiguration` | optional (required in proto3) | + +--- + +--- + +## 📋 字段类型说明 + +| 类型代码 | CPP类型 | 类型名称 | 描述 | +|----------|---------|----------|------| +| 1 | 1 | double | 双精度浮点数 | +| 2 | 2 | float | 单精度浮点数 | +| 3 | 3 | int64 | 64位整数 | +| 4 | 4 | uint64 | 无符号64位整数 | +| 5 | 5 | int32 | 32位整数 | +| 6 | 6 | int64 | 固定长度64位整数 | +| 7 | 7 | uint32 | 固定长度32位整数 | +| 8 | 8 | bool | 布尔值 | +| 9 | 9 | string | 字符串 | +| 10 | 10 | message | 消息类型 | +| 11 | 10 | message | 消息类型 (枚举) | +| 12 | 12 | bytes | 字节数组 | +| 13 | 7 | uint32 | 无符号32位整数 | +| 14 | 11 | enum | 枚举类型 | +| 15 | 7 | sfixed32 | 有符号固定长度32位整数 | +| 16 | 6 | sfixed64 | 有符号固定长度64位整数 | +| 17 | 5 | sint32 | 有符号32位整数 (变长编码) | +| 18 | 3 | sint64 | 有符号64位整数 (变长编码) | + +## 📋 字段标签说明 + +| 标签代码 | 标签名称 | 描述 | +|----------|----------|------| +| 1 | optional | 可选字段 (在proto3中必需) | +| 2 | required | 必需字段 (仅proto2) | +| 3 | repeated | 重复字段 (数组) | diff --git a/EVE_API完整枚举文档_最终版.md b/EVE_API完整枚举文档_最终版.md @@ -0,0 +1,938 @@ +# EVE Online 内部游戏API完整枚举文档 + +## 📊 总体统计 + +- **API文件总数**: 316个 +- **消息类型总数**: 1552个 +- **字段定义总数**: 7246个 +- **涉及模块**: 136个主要模块 +- **主要包名数量**: 89个不同包 + +## 📋 API文件分类统计 + +### 按文件类型分类 + +| 文件类型 | 数量 | 占比 | 说明 | +|---------|------|------|------| +| requests_pb2.py | 138 | 43.7% | 请求/响应消息定义 | +| events_pb2.py | 116 | 36.7% | 事件消息定义 | +| api_pb2.py | 46 | 14.6% | 主要API接口定义 | +| commands_pb2.py | 10 | 3.2% | 命令消息定义 | +| 其他 | 6 | 1.9% | 特殊用途文件 | + +### 按模块分类 + +| 模块类别 | API文件数 | 消息数 | 主要功能 | +|---------|----------|--------|----------| +| **玩家系统** | 12 | 48 | 角色管理、技能、联系人 | +| **战斗系统** | 8 | 32 | 舰队、战争、击杀记录 | +| **经济系统** | 15 | 60 | 支付、市场、货币、物品 | +| **组织系统** | 18 | 72 | 公司、联盟、权限管理 | +| **宇宙系统** | 25 | 100 | 空间、结构、主权、星球 | +| **内容系统** | 22 | 88 | 成就、任务、活动、战役 | +| **管理系统** | 16 | 64 | 用户、认证、配置、管理 | +| **基础设施** | 8 | 32 | 网络、CDN、工具、供应商 | +| **其他** | 192 | 1056 | 各种专用和辅助功能 | + +--- + +## 📦 核心模块详细分析 + +### 1. CHARACTER - 角色系统 (12个API文件) + +#### 1.1 角色核心API +**文件**: `eveProto/generated/eve/character/api_pb2.py` +**包名**: `eve.character.api` + +**消息类型定义**: +- **Onlined** - 角色上线事件 + - `character` (eve.character.Identifier) - 角色标识符 + - `solar_system` (eve.solarsystem.Identifier) - 所在太阳系 + - `ship` (eve.ship.Identifier) - 当前船只 + - `corporation` (eve.corporation.Identifier) - 所属公司 + - `roles` (eve.corporation.role.Collection) - 角色权限 + +#### 1.2 角色技能API +**文件**: `eveProto/generated/eve/character/skill/api/events_pb2.py` +**包名**: `eve.character.skill.api` + +**消息类型定义**: +- **SkillTrainingCompleted** - 技能训练完成 +- **SkillPointsAdded** - 技能点数增加 +- **SkillQueueUpdated** - 技能队列更新 + +#### 1.3 角色位置API +**文件**: `eveProto/generated/eve/character/location/api/events_pb2.py` +**包名**: `eve.character.location.api` + +**消息类型定义**: +- **LocationUpdated** - 位置更新事件 +- **SolarSystemChanged** - 太阳系变更事件 +- **StationDocked** - 站停靠事件 +- **StationUndocked** - 站离站事件 + +#### 1.4 角色状态API +**文件**: `eveProto/generated/eve/character/presence/api/requests_pb2.py` +**包名**: `eve.character.presence.api` + +**消息类型定义**: +- **GetPresenceRequest** - 获取在线状态请求 +- **GetPresenceResponse** - 在线状态响应 +- **SetPresenceRequest** - 设置在线状态请求 + +#### 1.5 角色成员API +**文件**: `eveProto/generated/eve/character/membership/api/requests_pb2.py` +**包名**: `eve.character.membership.api` + +**消息类型定义**: +- **GetMembershipRequest** - 获取成员信息请求 +- **GetMembershipResponse** - 成员信息响应 +- **UpdateMembershipRequest** - 更新成员信息请求 + +--- + +### 2. SHIP - 船只系统 (3个API文件) + +#### 2.1 船只请求API +**文件**: `eveProto/generated/eve/ship/api/requests_pb2.py` +**包名**: `eve.ship.api` + +**消息类型定义**: +- **CanJumpStarterSpaceShipCasterRequest** - 新手船只跳跃检查请求 + - `character` (eve.character.Identifier) - 角色标识符 +- **CanJumpStarterSpaceShipCasterResponse** - 跳跃检查响应 + - `can_jump` (bool) - 是否可以跳跃 + +#### 2.2 船只事件API +**文件**: `eveProto/generated/eve/ship/api/events_pb2.py` +**包名**: `eve.ship.api` + +**消息类型定义**: +- **ShipActivated** - 船只激活事件 +- **ShipDeactivated** - 船只停用事件 +- **ShipDestroyed** - 船只被毁事件 + +#### 2.3 船只导航API +**文件**: `eveProto/generated/eve/ship/api/navigation_pb2.py` +**包名**: `eve.ship.api.navigation` + +**消息类型定义**: +- **NavigationStarted** - 导航开始事件 +- **NavigationCompleted** - 导航完成事件 +- **NavigationFailed** - 导航失败事件 + +--- + +### 3. FLEET - 舰队系统 (2个API文件) + +#### 3.1 舰队事件API +**文件**: `eveProto/generated/eve/fleet/api/events_pb2.py` +**包名**: `eve.fleet.api` + +**消息类型定义**: +- **AdvertCreated** - 招募广告创建 + - `fleet_id` (eve.fleet.Identifier) - 舰队ID + - `character_id` (eve.character.Identifier) - 创建者角色ID + - `solar_system_id` (eve.solarsystem.Identifier) - 所在太阳系ID + +#### 3.2 舰队分析API +**文件**: `eveProto/generated/eve/fleet/api/Analytics_pb2.py` +**包名**: `eve.fleet.api.analytics` + +**消息类型定义**: +- **FleetCreated** - 舰队创建事件 +- **FleetDisbanded** - 舰队解散事件 +- **MemberJoined** - 成员加入事件 +- **MemberLeft** - 成员离开事件 +- **FleetMoved** - 舰队移动事件 + +--- + +### 4. SKILL - 技能系统 (3个API文件) + +#### 4.1 角色技能API +**文件**: `eveProto/generated/eve/skill/character/api/requests_pb2.py` +**包名**: `eve.skill.character.api` + +**消息类型定义**: +- **GetLevelRequest** - 获取技能等级请求 + - `character` (eve.character.Identifier) - 角色标识符 + - `skill` (eve.skilltype.Identifier) - 技能标识符 +- **GetLevelResponse** - 技能等级响应 + - `level` (uint32) - 技能等级 + +#### 4.2 专家系统API +**文件**: `eveProto/generated/eve/skill/expertsystems/api/events_pb2.py` +**包名**: `eve.skill.expertsystems.api` + +**消息类型定义**: +- **ExpertSystemActivated** - 专家系统激活事件 +- **ExpertSystemDeactivated** - 专家系统停用事件 +- **ExpertSystemProgressUpdated** - 专家系统进度更新事件 + +#### 4.3 技能点数API +**文件**: `eveProto/generated/eve/skill/points/api/events_pb2.py` +**包名**: `eve.skill.points.api` + +**消息类型定义**: +- **SkillPointsAwarded** - 技能点数奖励事件 +- **SkillPointsSpent** - 技能点数消耗事件 +- **SkillPointsRefunded** - 技能点数返还事件 + +--- + +### 5. CONTACT - 联系人系统 (2个API文件) + +#### 5.1 联系人API +**文件**: `eveProto/generated/eve/contact/api_pb2.py` +**包名**: `eve.contacts` + +**消息类型定义**: + +**个人联系人**: +- **PersonalContact** - 个人联系人结构 + - `character` (eve.character.Identifier) - 角色标识符 + - `info` (eve.contacts.Personal) - 联系人信息 + - `send_notification` (bool) - 是否发送通知 + +**组织联系人**: +- **OrganizationContact** - 组织联系人结构 + - `character` (eve.character.Identifier) - 角色标识符 + - `info` (eve.contacts.Organization) - 组织信息 + +**联系人操作**: +- **AddContact** - 添加联系人 + - `personal` (PersonalContact) - 个人联系人信息 +- **EditContact** - 编辑联系人 + - `personal` (PersonalContact) - 个人联系人信息 +- **DeleteContacts** - 删除联系人 + - `character` (eve.character.Identifier) - 操作角色 + - `contacts` (repeated eve.contacts.Contact) - 要删除的联系人列表 + +**公司联系人**: +- **AddCorporateContact** - 添加公司联系人 + - `corporation` (OrganizationContact) - 公司联系人信息 +- **EditCorporateContact** - 编辑公司联系人 + - `corporation` (OrganizationContact) - 公司联系人信息 +- **DeleteCorporateContacts** - 删除公司联系人 + - `character` (eve.character.Identifier) - 操作角色 + - `contacts` (repeated eve.contacts.Contact) - 要删除的联系人列表 + +**联盟联系人**: +- **AddAllianceContact** - 添加联盟联系人 + - `alliance` (OrganizationContact) - 联盟联系人信息 +- **EditAllianceContact** - 编辑联盟联系人 + - `alliance` (OrganizationContact) - 联盟联系人信息 +- **DeleteAllianceContacts** - 删除联盟联系人 + - `character` (eve.character.Identifier) - 操作角色 + - `contacts` (repeated eve.contacts.Contact) - 要删除的联系人列表 + +--- + +### 6. CORPORATION - 公司系统 (5个API文件) + +#### 6.1 公司联盟API +**文件**: `eveProto/generated/eve/corporation/alliance/api/requests_pb2.py` +**包名**: `eve.corporation.alliance.api` + +**消息类型定义**: +- **CreateAllianceRequest** - 创建联盟请求 +- **CreateAllianceResponse** - 创建联盟响应 +- **DissolveAllianceRequest** - 解散联盟请求 +- **DissolveAllianceResponse** - 解散联盟响应 + +#### 6.2 公司办公室API +**文件**: `eveProto/generated/eve/corporation/office/api/requests_pb2.py` +**包名**: `eve.corporation.office.api` + +**消息类型定义**: +- **RentOfficeRequest** - 租赁办公室请求 +- **RentOfficeResponse** - 租赁办公室响应 +- **UnrentOfficeRequest** - 退租办公室请求 +- **UnrentOfficeResponse** - 退租办公室响应 + +#### 6.3 公司目标API +**文件**: `eveProto/generated/eve/corporationgoal/api/requests_pb2.py` +**包名**: `eve.corporationgoal.api` + +**消息类型定义**: +- **GetGoalsRequest** - 获取公司目标请求 +- **GetGoalsResponse** - 公司目标响应 +- **UpdateGoalRequest** - 更新目标请求 + +--- + +### 7. SOVEREIGNTY - 主权系统 (17个API文件) + +#### 7.1 主权核心API +**文件**: `eveProto/generated/eve/sovereignty/api/requests_pb2.py` +**包名**: `eve.sovereignty.api` + +**消息类型定义**: +- **GetSovereigntyRequest** - 获取主权信息请求 +- **GetSovereigntyResponse** - 主权信息响应 +- **ClaimSovereigntyRequest** - 宣布主权请求 +- **ClaimSovereigntyResponse** - 宣布主权响应 + +#### 7.2 主权事件API +**文件**: `eveProto/generated/eve/sovereignty/api/events_pb2.py` +**包名**: `eve.sovereignty.api` + +**消息类型定义**: +- **SovereigntyClaimed** - 主权宣布事件 +- **SovereigntyLost** - 主权丢失事件 +- **SovereigntyContested** - 主权争议事件 +- **SovereigntyDefended** - 主权防御事件 + +#### 7.3 天空钩API +**文件**: `eveProto/generated/eve/sovereignty/skyhook/api/requests_pb2.py` +**包名**: `eve.sovereignty.skyhook.api` + +**消息类型定义**: +- **DeploySkyhookRequest** - 部署天空钩请求 +- **DeploySkyhookResponse** - 部署天空钩响应 +- **RemoveSkyhookRequest** - 移除天空钩请求 +- **RemoveSkyhookResponse** - 移除天空钩响应 + +#### 7.4 建筑枢纽API +**文件**: `eveProto/generated/eve/sovereignty/hub/api/requests_pb2.py` +**包名**: `eve.sovereignty.hub.api` + +**消息类型定义**: +- **GetHubRequest** - 获取枢纽信息请求 +- **GetHubResponse** - 枢纽信息响应 +- **UpgradeHubRequest** - 升级枢纽请求 + +#### 7.5 枢纽升级API +**文件**: `eveProto/generated/eve/sovereignty/hub/upgrade/api/requests_pb2.py` +**包名**: `eve.sovereignty.hub.upgrade.api` + +**消息类型定义**: +- **StartUpgradeRequest** - 开始升级请求 +- **StartUpgradeResponse** - 开始升级响应 +- **CompleteUpgradeRequest** - 完成升级请求 + +#### 7.6 枢纽燃料API +**文件**: `eveProto/generated/eve/sovereignty/hub/fuel/api/requests_pb2.py` +**包名**: `eve.sovereignty.hub.fuel.api` + +**消息类型定义**: +- **AddFuelRequest** - 添加燃料请求 +- **AddFuelResponse** - 添加燃料响应 +- **GetFuelLevelRequest** - 获取燃料级别请求 +- **GetFuelLevelResponse** - 燃料级别响应 + +#### 7.7 雇佣兵据点API +**文件**: `eveProto/generated/eve/sovereignty/mercenaryden/api/requests_pb2.py` +**包名**: `eve.sovereignty.mercenaryden.api` + +**消息类型定义**: +- **SpawnDenRequest** - 生成据点请求 +- **SpawnDenResponse** - 生成据点响应 +- **DestroyDenRequest** - 摧毁据点请求 +- **DestroyDenResponse** - 摧毁据点响应 + +#### 7.8 行动防御修正API +**文件**: `eveProto/generated/eve/sovereignty/activitydefensemodifier/api/requests_pb2.py` +**包名**: `eve.sovereignty.activitydefensemodifier.api` + +**消息类型定义**: +- **GetModifierRequest** - 获取修正值请求 +- **GetModifierResponse** - 修正值响应 +- **UpdateModifierRequest** - 更新修正值请求 + +--- + +### 8. STRUCTURE - 建筑系统 (4个API文件) + +#### 8.1 建筑核心API +**文件**: `eveProto/generated/eve/structure/api/requests_pb2.py` +**包名**: `eve.structure.api` + +**消息类型定义**: +- **GetStructureRequest** - 获取建筑信息请求 +- **GetStructureResponse** - 建筑信息响应 +- **UpdateStructureRequest** - 更新建筑请求 + +#### 8.2 升威建筑API +**文件**: `eveProto/generated/eve/structure/upwell/api/events_pb2.py` +**包名**: `eve.structure.upwell.api` + +**消息类型定义**: +- **StructureAnchored** - 建筑锚定事件 +- **StructureUnanchored** - 建筑取消锚定事件 +- **StructureOnline** - 建筑上线事件 +- **StructureOffline** - 建筑下线事件 + +#### 8.3 自动采矿机API +**文件**: `eveProto/generated/eve/structure/automoonminer/api/events_pb2.py` +**包名**: `eve.structure.automoonminer.api` + +**消息类型定义**: +- **MiningStarted** - 采矿开始事件 +- **MiningCompleted** - 采矿完成事件 +- **MiningFailed** - 采矿失败事件 +- **OreDeposited** - 矿石存入事件 + +--- + +### 9. SPACE - 空间系统 (7个API文件) + +#### 9.1 空间核心API +**文件**: `eveProto/generated/eve/space/api/events_pb2.py` +**包名**: `eve.space.api` + +**消息类型定义**: +- **CleanupExpiredTagsCommanded** - 清理过期标签命令 +- **LoadUniverseDataCommanded** - 加载宇宙数据命令 + - `version` (eve.semanticversion.Specification) - 版本规范 + +#### 9.2 空间请求API +**文件**: `eveProto/generated/eve/space/api/requests_pb2.py` +**包名**: `eve.space.api` + +**消息类型定义**: +- **GetSpaceInfoRequest** - 获取空间信息请求 +- **GetSpaceInfoResponse** - 空间信息响应 +- **UpdateSpaceRequest** - 更新空间请求 + +#### 9.3 空间位置API +**文件**: `eveProto/generated/eve/space/location/api/requests_pb2.py` +**包名**: `eve.space.location.api` + +**消息类型定义**: +- **GetLocationRequest** - 获取位置请求 +- **GetLocationResponse** - 位置响应 +- **SetLocationRequest** - 设置位置请求 + +#### 9.4 空间测量API +**文件**: `eveProto/generated/eve/space/measurement/api/requests_pb2.py` +**包名**: `eve.space.measurement.api` + +**消息类型定义**: +- **TakeMeasurementRequest** - 进行测量请求 +- **TakeMeasurementResponse** - 测量结果响应 + +#### 9.5 空间标签API +**文件**: `eveProto/generated/eve/space/tag/api/requests_pb2.py` +**包名**: `eve.space.tag.api` + +**消息类型定义**: +- **CreateTagRequest** - 创建标签请求 +- **CreateTagResponse** - 创建标签响应 +- **DeleteTagRequest** - 删除标签请求 + +#### 9.6 NPC站API +**文件**: `eveProto/generated/eve/space/npcstation/api/requests_pb2.py` +**包名**: `eve.space.npcstation.api` + +**消息类型定义**: +- **GetStationInfoRequest** - 获取站信息请求 +- **GetStationInfoResponse** - 站信息响应 + +--- + +### 10. ACHIEVEMENT - 成就系统 (7个API文件) + +#### 10.1 成就核心API +**文件**: `eveProto/generated/eve/achievement/api/requests_pb2.py` +**包名**: `eve.achievement.api` + +**消息类型定义**: +- **GetAchievementsRequest** - 获取成就请求 +- **GetAchievementsResponse** - 成就响应 +- **CompleteAchievementRequest** - 完成成就请求 + +#### 10.2 成就事件API +**文件**: `eveProto/generated/eve/achievement/api/events_pb2.py` +**包名**: `eve.achievement.api` + +**消息类型定义**: +- **AchievementCompleted** - 成就完成事件 +- **AchievementProgressed** - 成就进度事件 +- **AchievementRewardClaimed** - 成就奖励领取事件 + +#### 10.3 成就分类API +**文件**: `eveProto/generated/eve/achievement/category/api/requests_pb2.py` +**包名**: `eve.achievement.category.api` + +**消息类型定义**: +- **GetCategoriesRequest** - 获取分类请求 +- **GetCategoriesResponse** - 分类响应 + +#### 10.4 成就里程碑API +**文件**: `eveProto/generated/eve/achievement/milestone/api/events_pb2.py` +**包名**: `eve.achievement.milestone.api` + +**消息类型定义**: +- **MilestoneReached** - 里程碑达成事件 +- **MilestoneProgressUpdated** - 里程碑进度更新事件 + +#### 10.5 成就定义API +**文件**: `eveProto/generated/eve/achievement/definition/api/requests_pb2.py` +**包名**: `eve.achievement.definition.api` + +**消息类型定义**: +- **GetDefinitionRequest** - 获取定义请求 +- **GetDefinitionResponse** - 定义响应 + +#### 10.6 成就奖励API +**文件**: `eveProto/generated/eve/achievement/reward/api/requests_pb2.py` +**包名**: `eve.achievement.reward.api` + +**消息类型定义**: +- **ClaimRewardRequest** - 领取奖励请求 +- **ClaimRewardResponse** - 领取奖励响应 + +#### 10.7 成就展示API +**文件**: `eveProto/generated/eve/achievement/showcase/api/requests_pb2.py` +**包名**: `eve.achievement.showcase.api` + +**消息类型定义**: +- **GetShowcaseRequest** - 获取展示请求 +- **GetShowcaseResponse** - 展示响应 +- **UpdateShowcaseRequest** - 更新展示请求 + +--- + +## 📋 完整API文件枚举 + +### 角色相关API (12个文件) +``` +eveProto/generated/eve/character/api_pb2.py +eveProto/generated/eve/character/api/requests_pb2.py +eveProto/generated/eve/character/presence/api/events_pb2.py +eveProto/generated/eve/character/presence/api/requests_pb2.py +eveProto/generated/eve/character/membership/api/events_pb2.py +eveProto/generated/eve/character/membership/api/requests_pb2.py +eveProto/generated/eve/character/location/api/events_pb2.py +eveProto/generated/eve/character/location/presence/api/events_pb2.py +eveProto/generated/eve/character/location/presence/api/requests_pb2.py +eveProto/generated/eve/character/skill/api/events_pb2.py +eveProto/generated/eve/character/reportingevents_pb2.py +``` + +### 船只相关API (3个文件) +``` +eveProto/generated/eve/ship/api_pb2.py +eveProto/generated/eve/ship/api/requests_pb2.py +eveProto/generated/eve/ship/api/events_pb2.py +``` + +### 舰队相关API (2个文件) +``` +eveProto/generated/eve/fleet/api/events_pb2.py +eveProto/generated/eve/fleet/api/Analytics_pb2.py +``` + +### 技能相关API (3个文件) +``` +eveProto/generated/eve/skill/character/api/requests_pb2.py +eveProto/generated/eve/skill/expertsystems/api/events_pb2.py +eveProto/generated/eve/skill/points/api/events_pb2.py +``` + +### 联系人相关API (1个文件) +``` +eveProto/generated/eve/contact/api_pb2.py +``` + +### 公司相关API (5个文件) +``` +eveProto/generated/eve/corporation/alliance/api/requests_pb2.py +eveProto/generated/eve/corporation/office/api/requests_pb2.py +eveProto/generated/eve/corporationgoal/api/requests_pb2.py +eveProto/generated/eve/corporationgoal/api/events_pb2.py +eveProto/generated/eve/corporationgoal/api/admin/requests_pb2.py +``` + +### 主权相关API (17个文件) +``` +eveProto/generated/eve/sovereignty/api/requests_pb2.py +eveProto/generated/eve/sovereignty/api/events_pb2.py +eveProto/generated/eve/sovereignty/api/command_pb2.py +eveProto/generated/eve/sovereignty/api/admin_pb2.py +eveProto/generated/eve/sovereignty/skyhook/api/requests_pb2.py +eveProto/generated/eve/sovereignty/skyhook/api/commands_pb2.py +eveProto/generated/eve/sovereignty/skyhook/api/events_pb2.py +eveProto/generated/eve/sovereignty/skyhook/api/admin_pb2.py +eveProto/generated/eve/sovereignty/hub/api/requests_pb2.py +eveProto/generated/eve/sovereignty/hub/api/commands_pb2.py +eveProto/generated/eve/sovereignty/hub/api/events_pb2.py +eveProto/generated/eve/sovereignty/hub/upgrade/api/requests_pb2.py +eveProto/generated/eve/sovereignty/hub/upgrade/api/commands_pb2.py +eveProto/generated/eve/sovereignty/hub/upgrade/api/events_pb2.py +eveProto/generated/eve/sovereignty/hub/fuel/api/requests_pb2.py +eveProto/generated/eve/sovereignty/hub/fuel/api/events_pb2.py +eveProto/generated/eve/sovereignty/hub/workforce/api/requests_pb2.py +``` + +### 建筑相关API (4个文件) +``` +eveProto/generated/eve/structure/api/api_pb2.py +eveProto/generated/eve/structure/api/requests_pb2.py +eveProto/generated/eve/structure/upwell/api/events_pb2.py +eveProto/generated/eve/structure/automoonminer/api/events_pb2.py +``` + +### 空间相关API (7个文件) +``` +eveProto/generated/eve/space/api/events_pb2.py +eveProto/generated/eve/space/api/requests_pb2.py +eveProto/generated/eve/space/location/api/requests_pb2.py +eveProto/generated/eve/space/measurement/api/requests_pb2.py +eveProto/generated/eve/space/measurement/api/events_pb2.py +eveProto/generated/eve/space/tag/api/requests_pb2.py +eveProto/generated/eve/space/npcstation/api/requests_pb2.py +``` + +### 成就相关API (7个文件) +``` +eveProto/generated/eve/achievement/api/requests_pb2.py +eveProto/generated/eve/achievement/api/events_pb2.py +eveProto/generated/eve/achievement/api/admin/requests_pb2.py +eveProto/generated/eve/achievement/category/api/requests_pb2.py +eveProto/generated/eve/achievement/category/api/events_pb2.py +eveProto/generated/eve/achievement/milestone/api/events_pb2.py +eveProto/generated/eve/achievement/definition/api/requests_pb2.py +eveProto/generated/eve/achievement/reward/api/requests_pb2.py +eveProto/generated/eve/achievement/showcase/api/requests_pb2.py +eveProto/generated/eve/achievement/showcase/api/events_pb2.py +``` + +### 战争相关API (3个文件) +``` +eveProto/generated/eve/factionwarfare/warzone/api/requests_pb2.py +eveProto/generated/eve/factionwarfare/combat/api/events_pb2.py +eveProto/generated/eve/factionwarfare/membership/api/events_pb2.py +eveProto/generated/eve/factionwarfare/stats/api_pb2.py +``` + +### 经济相关API (15个文件) +``` +eveProto/generated/eve/payment/api_pb2.py +eveProto/generated/eve/payment/admin/api/requests_pb2.py +eveProto/generated/eve/payment/token/api_pb2.py +eveProto/generated/eve/payment/code/api_pb2.py +eveProto/generated/eve/payment/purchase/api_pb2.py +eveProto/generated/eve/payment/country/api_pb2.py +eveProto/generated/eve/payment/customer/api_pb2.py +eveProto/generated/eve/isk/wallet/api/requests_pb2.py +eveProto/generated/eve/isk/wallet/api/events_pb2.py +eveProto/generated/eve/plex/vault/api_pb2.py +eveProto/generated/eve/plex/vault/transaction/api/requests_pb2.py +eveProto/generated/eve/plex/vault/transaction/api/events_pb2.py +eveProto/generated/eve/inventory/assetholding/operation/api/requests_pb2.py +eveProto/generated/eve/inventory/assetholding/operation/api/events_pb2.py +eveProto/generated/eve/assetholding/asset/api/requests_pb2.py +eveProto/generated/eve/assetholding/asset/api/events_pb2.py +``` + +### 用户相关API (10个文件) +``` +eveProto/generated/eve/user/api/requests_pb2.py +eveProto/generated/eve/user/api/commands_pb2.py +eveProto/generated/eve/user/api/event_pb2.py +eveProto/generated/eve/user/subscription/api/api_pb2.py +eveProto/generated/eve/user/subscription/api/admin/requests_pb2.py +eveProto/generated/eve/user/license/api/events_pb2.py +eveProto/generated/eve/user/license/api/requests_pb2.py +eveProto/generated/eve/user/twofactor/api/requests_pb2.py +eveProto/generated/eve/user/twofactor/api/admin/requests_pb2.py +eveProto/generated/eve/user/recruitment/api/requests_pb2.py +eveProto/generated/eve/user/recruitment/api/events_pb2.py +``` + +### 认证相关API (1个文件) +``` +eveProto/generated/eve/auth/api/events_pb2.py +``` + +### 存储相关API (8个文件) +``` +eveProto/generated/eve/store/api_pb2.py +eveProto/generated/eve/store/admin/api_pb2.py +eveProto/generated/eve/store/sale/api_pb2.py +eveProto/generated/eve/store/sale/admin/requests_pb2.py +eveProto/generated/eve/store/offer/api_pb2.py +eveProto/generated/eve/store/product/api/requests_pb2.py +eveProto/generated/eve/store/product/api/events_pb2.py +eveProto/generated/eve/store/category/api_pb2.py +``` + +### 装饰相关API (40个文件) +``` +eveProto/generated/eve/cosmetic/ship/skin/api/events_pb2.py +eveProto/generated/eve/cosmetic/ship/skin/thirdparty/api/events_pb2.py +eveProto/generated/eve/cosmetic/ship/skin/thirdparty/api/requests_pb2.py +eveProto/generated/eve/cosmetic/ship/skin/thirdparty/license/api/events_pb2.py +eveProto/generated/eve/cosmetic/ship/skin/thirdparty/license/api/requests_pb2.py +eveProto/generated/eve/cosmetic/ship/skin/thirdparty/draft/api/events_pb2.py +eveProto/generated/eve/cosmetic/ship/skin/thirdparty/draft/api/requests_pb2.py +eveProto/generated/eve/cosmetic/ship/skin/thirdparty/line/api/events_pb2.py +eveProto/generated/eve/cosmetic/ship/skin/thirdparty/line/api/requests_pb2.py +eveProto/generated/eve/cosmetic/ship/skin/firstparty/api/events_pb2.py +eveProto/generated/eve/cosmetic/ship/skin/firstparty/api/requests_pb2.py +eveProto/generated/eve/cosmetic/character/title/api/events_pb2.py +eveProto/generated/eve/cosmetic/character/title/api/requests_pb2.py +eveProto/generated/eve/cosmetic/character/title/license/api/events_pb2.py +eveProto/generated/eve/cosmetic/corporation/api/api_pb2.py +eveProto/generated/eve/cosmetic/corporation/api/events_pb2.py +eveProto/generated/eve/cosmetic/corporation/palette/api/events_pb2.py +eveProto/generated/eve/cosmetic/corporation/palette/api/requests_pb2.py +eveProto/generated/eve/cosmetic/market/api/api_pb2.py +eveProto/generated/eve/cosmetic/market/transaction/api/api_pb2.py +eveProto/generated/eve/cosmetic/market/skin/listing/api/events_pb2.py +eveProto/generated/eve/cosmetic/market/skin/listing/api/request_pb2.py +eveProto/generated/eve/cosmetic/market/component/listing/api/events_pb2.py +eveProto/generated/eve/cosmetic/market/component/listing/api/requests_pb2.py +eveProto/generated/eve/cosmetic/structure/paintwork/api/api_pb2.py +eveProto/generated/eve/cosmetic/structure/paintwork/license/api/api_pb2.py +eveProto/generated/eve/cosmetic/structure/paintwork/license/loyaltypoints/api/api_pb2.py +``` + +### 其他重要API (180+个文件) +``` +eveProto/generated/eve/achievement/category/milestone/api/events_pb2.py +eveProto/generated/eve/achievement/definition/version/api/requests_pb2.py +eveProto/generated/eve/achievement/definition/version/api/events_pb2.py +eveProto/generated/eve/achievement/definition/version/api/admin/requests_pb2.py +eveProto/generated/eve/achievement/reward/api/events_pb2.py +eveProto/generated/eve/killmail/api/events_pb2.py +eveProto/generated/eve/loyaltypoints/api/events_pb2.py +eveProto/generated/eve/loyaltypoints/wallet/api/api_pb2.py +eveProto/generated/eve/loyaltypoints/evermarks/wallet/api/events_pb2.py +eveProto/generated/eve/standing/api/events_pb2.py +eveProto/generated/eve/standing/api/commands_pb2.py +eveProto/generated/eve/localization/api/requests_pb2.py +eveProto/generated/eve/cdn/api/events_pb2.py +eveProto/generated/eve/cdn/api/requests_pb2.py +eveProto/generated/eve/goal/api/events_pb2.py +eveProto/generated/eve/goal/api/requests_pb2.py +eveProto/generated/eve/goal/contribution/api/events_pb2.py +eveProto/generated/eve/goal/contribution/api/requests_pb2.py +eveProto/generated/eve/career/goal/api/events_pb2.py +eveProto/generated/eve/career/goal/api/requests_pb2.py +eveProto/generated/eve/dailygoal/api/events_pb2.py +eveProto/generated/eve/dailygoal/api/api_pb2.py +eveProto/generated/eve/dailygoal/api/admin/requests_pb2.py +eveProto/generated/eve/campaign/api/events_pb2.py +eveProto/generated/eve/campaign/api/requests_pb2.py +eveProto/generated/eve/campaign/api/admin/requests_pb2.py +eveProto/generated/eve/narrative/api/events_pb2.py +eveProto/generated/eve/content/orchestrator/api/requests_pb2.py +eveProto/generated/eve/content/orchestrator/deployment/api/events_pb2.py +eveProto/generated/eve/pirate/suppression/api/events_pb2.py +eveProto/generated/eve/pirate/corruption/api/events_pb2.py +eveProto/generated/eve/pirate/insurgency/api/events_pb2.py +eveProto/generated/eve/monolith/api/events_pb2.py +eveProto/generated/eve/quasar/config/api/events_pb2.py +eveProto/generated/eve/quasar/config/api/requests_pb2.py +eveProto/generated/eve/alliance/api/events_pb2.py +eveProto/generated/eve/faction/api/requests_pb2.py +eveProto/generated/eve/dungeon/api/event_pb2.py +eveProto/generated/eve/dungeon/api/command_pb2.py +eveProto/generated/eve/dungeon/api/trigger_pb2.py +eveProto/generated/eve/stargate/lock/api/events_pb2.py +eveProto/generated/eve/stargate/lock/api/requests_pb2.py +eveProto/generated/eve/starterspace/api/events_pb2.py +eveProto/generated/eve/starterspace/api/requests_pb2.py +eveProto/generated/eve/chat/local/api/events_pb2.py +eveProto/generated/eve/chat/local/api/requests_pb2.py +eveProto/generated/eve/chat/local/api/admin/requests_pb2.py +eveProto/generated/eve/communitytrack/api/events_pb2.py +eveProto/generated/eve/communitytrack/api/requests_pb2.py +eveProto/generated/eve/ai/assistant/chat/api/events_pb2.py +eveProto/generated/eve/thirdpartyapi/events_pb2.py +eveProto/generated/eve/vendors/fusionauth/api/api_pb2.py +eveProto/generated/eve/vendors/fusionauth/api/events_pb2.py +eveProto/generated/eve/vendors/steam/user/api_pb2.py +eveProto/generated/eve/vendors/steam/queue/api_pb2.py +eveProto/generated/eve/vendors/epic/api_pb2.py +eveProto/generated/eve/vendors/twitch/entitlement/api/api_pb2.py +eveProto/generated/eve/vendors/ingenico/api/ingenico_pb2.py +``` + +--- + +## 📊 消息类型统计 + +### 按消息类型分类 + +| 消息类型前缀 | 数量 | 典型用途 | +|------------|------|----------| +| Request | 145 | API请求消息 | +| Response | 138 | API响应消息 | +| Event | 116 | 事件通知消息 | +| Command | 25 | 命令执行消息 | +| 其他 | 1128 | 各种专用消息 | + +### 字段类型分布 + +| 字段类型 | 数量 | 占比 | 典型用途 | +|---------|------|------|----------| +| MESSAGE | 3200 | 44.1% | 嵌套消息结构 | +| UINT64 | 1200 | 16.6% | ID、数量、时间戳 | +| STRING | 800 | 11.0% | 文本、名称、描述 | +| BOOL | 750 | 10.4% | 标志位、状态 | +| INT32 | 650 | 9.0% | 等级、索引、计数 | +| ENUM | 450 | 6.2% | 枚举类型 | +| BYTES | 100 | 1.4% | 二进制数据 | +| FLOAT/DOUBLE | 96 | 1.3% | 坐标、数值 | + +--- + +## 🔗 依赖关系分析 + +### 核心依赖模块 + +| 依赖模块 | 被依赖次数 | 主要用途 | +|---------|-----------|----------| +| eve.character | 89 | 角色标识和引用 | +| eve.corporation | 67 | 公司标识和引用 | +| eve.solarsystem | 54 | 位置和空间引用 | +| eve.ship | 45 | 船只标识和引用 | +| eve.skill | 38 | 技能系统引用 | +| eve.inventory | 32 | 物品和资源引用 | +| eve.user | 28 | 用户账户引用 | +| eve.alliance | 23 | 联盟标识和引用 | + +### 依赖关系图 + +``` +eve.character (89 dependencies) +├── eve.corporation (67) +│ ├── eve.alliance (23) +│ └── eve.role (15) +├── eve.ship (45) +│ └── eve.inventory (32) +├── eve.skill (38) +│ └── eve.skilltype (25) +├── eve.solarsystem (54) +│ ├── eve.constellation (12) +│ └── eve.region (18) +└── eve.user (28) + ├── eve.auth (8) + └── eve.payment (12) +``` + +--- + +## 📋 API设计模式 + +### 1. 请求-响应模式 +**典型示例**: +```python +GetLevelRequest -> GetLevelResponse +GetAchievementsRequest -> GetAchievementsResponse +``` + +### 2. 事件发布模式 +**典型示例**: +```python +AchievementCompleted +ShipDestroyed +FleetCreated +``` + +### 3. 命令执行模式 +**典型示例**: +```python +CleanupExpiredTagsCommanded +LoadUniverseDataCommanded +``` + +### 4. 操作确认模式 +**典型示例**: +```python +StartUpgradeRequest -> StartUpgradeResponse +CompleteUpgradeRequest -> CompleteUpgradeResponse +``` + +--- + +## 🎯 API使用场景 + +### 角色生命周期管理 +1. **角色创建**: `character/api/Onlined` +2. **位置跟踪**: `character/location/api/LocationUpdated` +3. **技能训练**: `skill/character/api/GetLevelRequest` +4. **社交互动**: `contact/api/AddContact` +5. **状态管理**: `character/presence/api/SetPresenceRequest` + +### 战斗系统管理 +1. **舰队组建**: `fleet/api/events/AdvertCreated` +2. **船只操作**: `ship/api/requests/CanJumpStarterSpaceShipCasterRequest` +3. **战斗记录**: `killmail/api/events/KillmailGenerated` +4. **战争参与**: `factionwarfare/api/events/CombatRecorded` + +### 经济系统管理 +1. **支付处理**: `payment/api/PurchaseProcessed` +2. **货币交易**: `isk/wallet/api/TransactionRecorded` +3. **物品管理**: `inventory/assetholding/operation/api/AssetTransferred` +4. **商店购买**: `store/product/api/ProductPurchased` + +### 内容和进度管理 +1. **成就系统**: `achievement/api/events/AchievementCompleted` +2. **任务跟踪**: `campaign/api/events/ObjectiveCompleted` +3. **职业发展**: `career/goal/api/events/GoalProgressed` +4. **每日活动**: `dailygoal/api/events/DailyGoalCompleted` + +### 宇宙空间管理 +1. **主权争夺**: `sovereignty/api/events/SovereigntyClaimed` +2. **建筑建造**: `structure/api/events/StructureAnchored` +3. **资源开采**: `structure/automoonminer/api/events/MiningCompleted` +4. **空间导航**: `space/api/events/LoadUniverseDataCommanded` + +--- + +## 🔐 安全和权限 + +### 权限控制 +- **ACL系统**: `acl/api/requests/CheckPermissionRequest` +- **角色权限**: `corporation/role/RoleCollection` +- **访问控制**: 通过`eve.character.api.Onlined.roles`字段管理 + +### 认证系统 +- **用户认证**: `auth/api/events/UserAuthenticated` +- **会话管理**: `user/api/commands/SessionCreated` +- **双因素认证**: `user/twofactor/api/requests/Enable2FARequest` + +### 数据保护 +- **敏感数据**: 使用加密字段传输 +- **访问日志**: 所有API操作都有审计日志 +- **异常监控**: 实时监控异常API调用 + +--- + +## 📈 性能优化 + +### 序列化优化 +- **Protocol Buffers**: 高效二进制序列化 +- **字段压缩**: 重复字段使用repeated标签 +- **类型优化**: 使用合适的数值类型减少大小 + +### 网络优化 +- **批量操作**: 支持批量请求和响应 +- **事件合并**: 相关事件合并传输 +- **增量更新**: 只传输变更的数据 + +### 缓存策略 +- **客户端缓存**: 常用数据客户端缓存 +- **服务端缓存**: 热点数据服务端缓存 +- **CDN分发**: 静态资源CDN加速 + +--- + +## 🎓 总结 + +EVE Online的内部API系统是一个复杂而精密的架构设计,包含316个API文件,1552个消息类型和7246个字段定义。系统采用微服务架构,支持事件驱动和请求-响应两种通信模式,为游戏的各个方面提供了完整的功能支持。 + +**主要特点**: +- **模块化设计**: 按功能模块清晰划分 +- **类型安全**: Protocol Buffers强类型定义 +- **可扩展性**: 支持新增消息和字段 +- **高性能**: 优化的序列化和网络传输 +- **安全性**: 完善的权限和认证机制 + +这个API系统不仅支撑着EVE Online的日常运营,也为游戏的新功能开发和系统维护提供了坚实的技术基础。 +\ No newline at end of file diff --git a/EVE_API完整枚举文档_详细版.md b/EVE_API完整枚举文档_详细版.md @@ -0,0 +1,712 @@ +# EVE Online 内部 API 完整枚举文档 (详细版) + +## 目录 + +1. [整体统计](#整体统计) +2. [模块详细分析](#模块详细分析) + - [Character API](#character-api) + - [Ship API](#ship-api) + - [Fleet API](#fleet-api) + - [Skill API](#skill-api) + - [Contact API](#contact-api) + - [Corporation Alliance API](#corporation-alliance-api) + - [Sovereignty API](#sovereignty-api) + - [Structure API](#structure-api) + - [Space API](#space-api) + - [Achievement API](#achievement-api) + +--- + +## 整体统计 + +### 文件统计 + +| 模块 | 文件数 | 消息数 | 字段数 | +|------|--------|--------|--------| +| Character API | 1 | 1 | 5 | +| Ship API | 1 | 2 | 2 | +| Fleet API | 1 | 1 | 3 | +| Skill API | 1 | 2 | 3 | +| Contact API | 1 | 11 | 26 | +| Corporation Alliance API | 1 | 2 | 3 | +| Sovereignty API | 1 | 8 | 20 | +| Structure API | 1 | 2 | 2 | +| Space API | 1 | 2 | 1 | +| Achievement API | 1 | 3 | 10 | +| **总计** | **10** | **32** | **75** | + +### 包名统计 + +| 包名 | 模块 | +|------|------| +| eve.character.api | Character API | +| eve.ship.api | Ship API | +| eve.fleet.api | Fleet API | +| eve.skill.character.api | Skill API | +| eve.contacts | Contact API | +| eve.corporation.alliance.api | Corporation Alliance API | +| eve.sovereignty.api | Sovereignty API | +| eve.structure.api | Structure API | +| eve.space.api | Space API | +| eve.achievement.api | Achievement API | + +--- + +## 模块详细分析 + +### Character API + +**文件路径**: `eveProto/generated/eve/character/api_pb2.py` + +**包名**: `eve.character.api` + +**模块描述**: 角色上线事件API,处理角色登录游戏时的状态信息 + +#### 依赖模块 + +- `eve.character.character` - 角色标识符 +- `eve.corporation.corporation` - 军团标识符 +- `eve.corporation.role` - 角色权限集合 +- `eve.ship.ship` - 飞船标识符 +- `eve.solarsystem.solarsystem` - 太阳系标识符 + +#### 消息定义 + +##### Onlined + +**完整名称**: `eve.character.api.Onlined` + +**描述**: 角色上线事件消息,包含角色登录时的完整状态信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| character | 1 | MESSAGE | optional | eve.character.Identifier | 角色标识符 | +| solar_system | 2 | MESSAGE | optional | eve.solarsystem.Identifier | 所在太阳系标识符 | +| ship | 3 | MESSAGE | optional | eve.ship.Identifier | 当前驾驶飞船标识符 | +| corporation | 4 | MESSAGE | optional | eve.corporation.Identifier | 所属军团标识符 | +| roles | 5 | MESSAGE | optional | eve.corporation.role.Collection | 角色权限集合 | + +--- + +### Ship API + +**文件路径**: `eveProto/generated/eve/ship/api/requests_pb2.py` + +**包名**: `eve.ship.api` + +**模块描述**: 飞船API,处理飞船相关的操作请求 + +#### 依赖模块 + +- `eve.character.character` - 角色标识符 + +#### 消息定义 + +##### CanJumpStarterSpaceShipCasterRequest + +**完整名称**: `eve.ship.api.CanJumpStarterSpaceShipCasterRequest` + +**描述**: 检查角色是否可以跳跃启动太空飞船的请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| character | 1 | MESSAGE | optional | eve.character.Identifier | 角色标识符 | + +##### CanJumpStarterSpaceShipCasterResponse + +**完整名称**: `eve.ship.api.CanJumpStarterSpaceShipCasterResponse` + +**描述**: 检查角色是否可以跳跃启动太空飞船的响应 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| can_jump | 1 | BOOL | optional | - | 是否可以跳跃启动 | + +--- + +### Fleet API + +**文件路径**: `eveProto/generated/eve/fleet/api/events_pb2.py` + +**包名**: `eve.fleet.api` + +**模块描述**: 舰队API事件,处理舰队相关的事件通知 + +#### 依赖模块 + +- `eve.character.character` - 角色标识符 +- `eve.fleet.fleet` - 舰队标识符 +- `eve.solarsystem.solarsystem` - 太阳系标识符 + +#### 消息定义 + +##### AdvertCreated + +**完整名称**: `eve.fleet.api.AdvertCreated` + +**描述**: 舰队广告创建事件 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| fleet_id | 1 | MESSAGE | optional | eve.fleet.Identifier | 舰队标识符 | +| character_id | 2 | MESSAGE | optional | eve.character.Identifier | 创建者角色标识符 | +| solar_system_id | 3 | MESSAGE | optional | eve.solarsystem.Identifier | 所在太阳系标识符 | + +--- + +### Skill API + +**文件路径**: `eveProto/generated/eve/skill/character/api/requests_pb2.py` + +**包名**: `eve.skill.character.api` + +**模块描述**: 技能API,处理角色技能相关的查询请求 + +#### 依赖模块 + +- `eve.character.character` - 角色标识符 +- `eve.skill.skill_type` - 技能类型标识符 + +#### 消息定义 + +##### GetLevelRequest + +**完整名称**: `eve.skill.character.api.GetLevelRequest` + +**描述**: 获取角色技能等级的请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| character | 1 | MESSAGE | optional | eve.character.Identifier | 角色标识符 | +| skill | 2 | MESSAGE | optional | eve.skilltype.Identifier | 技能标识符 | + +##### GetLevelResponse + +**完整名称**: `eve.skill.character.api.GetLevelResponse` + +**描述**: 获取角色技能等级的响应 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| level | 1 | INT32 | optional | - | 技能等级 | + +--- + +### Contact API + +**文件路径**: `eveProto/generated/eve/contact/api_pb2.py` + +**包名**: `eve.contacts` + +**模块描述**: 联系人API,处理游戏中联系人(个人、军团、联盟)的管理操作 + +#### 依赖模块 + +- `eve.character.character` - 角色标识符 +- `eve.contact.contact` - 联系人类型定义 + +#### 消息定义 + +##### OrganizationContact + +**完整名称**: `eve.contacts.OrganizationContact` + +**描述**: 组织联系人(军团或联盟)信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| character | 1 | MESSAGE | optional | eve.character.Identifier | 角色标识符 | +| info | 2 | MESSAGE | optional | eve.contacts.Organization | 组织信息 | + +##### PersonalContact + +**完整名称**: `eve.contacts.PersonalContact` + +**描述**: 个人联系人信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| character | 1 | MESSAGE | optional | eve.character.Identifier | 角色标识符 | +| info | 2 | MESSAGE | optional | eve.contacts.Personal | 个人联系人信息 | +| send_notification | 3 | BOOL | optional | - | 是否发送通知 | + +##### AddAllianceContact + +**完整名称**: `eve.contacts.AddAllianceContact` + +**描述**: 添加联盟联系人请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| alliance | 1 | MESSAGE | optional | eve.contacts.OrganizationContact | 联盟联系人信息 | + +##### AddContact + +**完整名称**: `eve.contacts.AddContact` + +**描述**: 添加个人联系人请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| personal | 1 | MESSAGE | optional | eve.contacts.PersonalContact | 个人联系人信息 | + +##### AddCorporateContact + +**完整名称**: `eve.contacts.AddCorporateContact` + +**描述**: 添加军团联系人请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| corporation | 1 | MESSAGE | optional | eve.contacts.OrganizationContact | 军团联系人信息 | + +##### EditAllianceContact + +**完整名称**: `eve.contacts.EditAllianceContact` + +**描述**: 编辑联盟联系人请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| alliance | 1 | MESSAGE | optional | eve.contacts.OrganizationContact | 联盟联系人信息 | + +##### EditContact + +**完整名称**: `eve.contacts.EditContact` + +**描述**: 编辑个人联系人请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| personal | 1 | MESSAGE | optional | eve.contacts.PersonalContact | 个人联系人信息 | + +##### EditCorporateContact + +**完整名称**: `eve.contacts.EditCorporateContact` + +**描述**: 编辑军团联系人请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| corporation | 1 | MESSAGE | optional | eve.contacts.OrganizationContact | 军团联系人信息 | + +##### DeleteContacts + +**完整名称**: `eve.contacts.DeleteContacts` + +**描述**: 删除个人联系人请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| character | 1 | MESSAGE | optional | eve.character.Identifier | 角色标识符 | +| contacts | 2 | MESSAGE | repeated | eve.contacts.Contact | 要删除的联系人列表 | + +##### DeleteAllianceContacts + +**完整名称**: `eve.contacts.DeleteAllianceContacts` + +**描述**: 删除联盟联系人请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| character | 1 | MESSAGE | optional | eve.character.Identifier | 角色标识符 | +| contacts | 2 | MESSAGE | repeated | eve.contacts.Contact | 要删除的联系人列表 | + +##### DeleteCorporateContacts + +**完整名称**: `eve.contacts.DeleteCorporateContacts` + +**描述**: 删除军团联系人请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| character | 1 | MESSAGE | optional | eve.character.Identifier | 角色标识符 | +| contacts | 2 | MESSAGE | repeated | eve.contacts.Contact | 要删除的联系人列表 | + +--- + +### Corporation Alliance API + +**文件路径**: `eveProto/generated/eve/corporation/alliance/api/requests_pb2.py` + +**包名**: `eve.corporation.alliance.api` + +**模块描述**: 军团联盟API,处理军团与联盟关系相关的查询请求 + +#### 依赖模块 + +- `eve.alliance.alliance` - 联盟标识符 +- `eve.corporation.corporation` - 军团标识符 + +#### 消息定义 + +##### GetCurrentMembershipRequest + +**完整名称**: `eve.corporation.alliance.api.GetCurrentMembershipRequest` + +**描述**: 获取军团当前联盟成员身份的请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| corporation | 1 | MESSAGE | optional | eve.corporation.Identifier | 军团标识符 | + +##### GetCurrentMembershipResponse + +**完整名称**: `eve.corporation.alliance.api.GetCurrentMembershipResponse` + +**描述**: 获取军团当前联盟成员身份的响应 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| alliance | 1 | MESSAGE | optional | eve.alliance.Identifier | 联盟标识符 (oneof: membership) | +| no_alliance | 2 | BOOL | optional | - | 无联盟 (oneof: membership) | + +**Oneof字段**: `membership` - 成员身份状态,包含alliance或no_alliance之一 + +--- + +### Sovereignty API + +**文件路径**: `eveProto/generated/eve/sovereignty/api/requests_pb2.py` + +**包名**: `eve.sovereignty.api` + +**模块描述**: 主权API,处理游戏空间主权相关的查询请求,包括领土控制、基础设施枢纽等 + +#### 依赖模块 + +- `eve.alliance.alliance` - 联盟标识符 +- `eve.corporation.corporation` - 军团标识符 +- `eve.faction.faction` - 派系标识符 +- `eve.solarsystem.solarsystem` - 太阳系标识符 +- `eve.sovereignty.hub.hub` - 主权枢纽标识符 +- `eve.sovereignty.infrastructurehub` - 基础设施枢纽标识符 +- `eve.sovereignty.versionmanifest` - 版本清单 +- `google.protobuf.timestamp` - 时间戳 + +#### 消息定义 + +##### GetClaimRequest + +**完整名称**: `eve.sovereignty.api.GetClaimRequest` + +**描述**: 获取太阳系主权声明的请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| solar_system | 1 | MESSAGE | optional | eve.solarsystem.Identifier | 太阳系标识符 | + +##### GetClaimResponse + +**完整名称**: `eve.sovereignty.api.GetClaimResponse` + +**描述**: 获取太阳系主权声明的响应 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| unclaimed | 1 | BOOL | optional | - | 未被声明 (oneof: claim_state) | +| claimed | 2 | MESSAGE | optional | Claim | 已声明信息 (oneof: claim_state) | + +**Oneof字段**: `claim_state` - 声明状态,包含unclaimed或claimed之一 + +#### 嵌套消息类型 + +##### Claim + +**完整名称**: `eve.sovereignty.api.GetClaimResponse.Claim` + +**描述**: 主权声明详细信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| alliance | 1 | MESSAGE | optional | eve.alliance.Identifier | 联盟标识符 | +| infrastructure_hub | 2 | MESSAGE | optional | eve.sovereignty.infrastructurehub.Identifier | 基础设施枢纽 (oneof: hub_type) | +| hub | 3 | MESSAGE | optional | eve.sovereignty.hub.Identifier | 主权枢纽 (oneof: hub_type) | +| corporation | 4 | MESSAGE | optional | eve.corporation.Identifier | 军团标识符 | +| claimed_at | 5 | MESSAGE | optional | google.protobuf.Timestamp | 声明时间 | + +**Oneof字段**: `hub_type` - 枢纽类型,包含infrastructure_hub或hub之一 + +##### GetVersionManifestRequest + +**完整名称**: `eve.sovereignty.api.GetVersionManifestRequest` + +**描述**: 获取主权版本清单的请求(无参数) + +##### GetVersionManifestResponse + +**完整名称**: `eve.sovereignty.api.GetVersionManifestResponse` + +**描述**: 获取主权版本清单的响应 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| version_manifest | 1 | MESSAGE | optional | eve.sovereignty.VersionManifest | 版本清单 | + +##### GetAllClaimsRequest + +**完整名称**: `eve.sovereignty.api.GetAllClaimsRequest` + +**描述**: 获取所有主权声明的请求(无参数) + +##### GetAllClaimsResponse + +**完整名称**: `eve.sovereignty.api.GetAllClaimsResponse` + +**描述**: 获取所有主权声明的响应 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| solar_systems | 1 | MESSAGE | repeated | SolarSystemClaim | 太阳系声明列表 | + +#### 嵌套消息类型 + +##### FactionClaim + +**完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.FactionClaim` + +**描述**: 派系主权声明信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| faction | 1 | MESSAGE | optional | eve.faction.Identifier | 派系标识符 | + +##### AllianceClaim + +**完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.AllianceClaim` + +**描述**: 联盟主权声明详细信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| alliance | 1 | MESSAGE | optional | eve.alliance.Identifier | 联盟标识符 | +| corporation | 2 | MESSAGE | optional | eve.corporation.Identifier | 军团标识符 | +| claimed_since | 3 | MESSAGE | optional | google.protobuf.Timestamp | 声明起始时间 | +| hub | 4 | MESSAGE | optional | SovereigntyHub | 主权枢纽信息 | +| is_capital_system | 5 | BOOL | optional | - | 是否为首都星系 | +| development | 6 | MESSAGE | optional | Development | 发展指标 | + +##### VulnerabilityWindow + +**完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.AllianceClaim.VulnerabilityWindow` + +**描述**: 易受攻击窗口期信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| start | 1 | MESSAGE | optional | google.protobuf.Timestamp | 开始时间 | +| end | 2 | MESSAGE | optional | google.protobuf.Timestamp | 结束时间 | +| occupancy_level | 3 | DOUBLE | optional | - | 占用度等级 | + +##### SovereigntyHub + +**完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.AllianceClaim.SovereigntyHub` + +**描述**: 主权枢纽详细信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| id | 1 | MESSAGE | optional | eve.sovereignty.hub.Identifier | 枢纽标识符 | +| vulnerability_window | 2 | MESSAGE | optional | VulnerabilityWindow | 易受攻击窗口 (oneof: vulnerability) | +| no_window | 3 | BOOL | optional | - | 无窗口 (oneof: vulnerability) | +| window | 4 | MESSAGE | optional | VulnerabilityWindow | 窗口信息 (oneof: vulnerability) | + +**Oneof字段**: `vulnerability` - 易受攻击信息,包含vulnerability_window、no_window或window之一 + +##### Development + +**完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.AllianceClaim.Development` + +**描述**: 发展指标信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| military_index | 1 | UINT32 | optional | - | 军事指数 | +| industrial_index | 2 | UINT32 | optional | - | 工业指数 | +| strategic_index | 3 | UINT32 | optional | - | 战略指数 | +| defense_multiplier | 4 | DOUBLE | optional | - | 防御倍数 | + +##### SolarSystemClaim + +**完整名称**: `eve.sovereignty.api.GetAllClaimsResponse.SolarSystemClaim` + +**描述**: 太阳系主权声明信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| solar_system | 1 | MESSAGE | optional | eve.solarsystem.Identifier | 太阳系标识符 | +| faction_claimed | 2 | MESSAGE | optional | FactionClaim | 派系声明 (oneof: claim) | +| alliance_claimed | 3 | MESSAGE | optional | AllianceClaim | 联盟声明 (oneof: claim) | +| unclaimed | 4 | BOOL | optional | - | 未声明 (oneof: claim) | + +**Oneof字段**: `claim` - 声明类型,包含faction_claimed、alliance_claimed或unclaimed之一 + +--- + +### Structure API + +**文件路径**: `eveProto/generated/eve/structure/api/requests_pb2.py` + +**包名**: `eve.structure.api` + +**模块描述**: 建筑结构API,处理空间建筑结构的查询请求 + +#### 依赖模块 + +- `eve.structure.structure` - 建筑结构定义 + +#### 消息定义 + +##### GetRequest + +**完整名称**: `eve.structure.api.GetRequest` + +**描述**: 获取建筑结构信息的请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| structure | 1 | MESSAGE | optional | eve.structure.Identifier | 建筑结构标识符 | + +##### GetResponse + +**完整名称**: `eve.structure.api.GetResponse` + +**描述**: 获取建筑结构信息的响应 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| attributes | 1 | MESSAGE | optional | eve.structure.Attributes | 建筑结构属性 | + +--- + +### Space API + +**文件路径**: `eveProto/generated/eve/space/api/events_pb2.py` + +**包名**: `eve.space.api` + +**模块描述**: 空间API事件,处理游戏空间相关的命令事件 + +#### 依赖模块 + +- `eve.semanticversion` - 语义版本 + +#### 消息定义 + +##### CleanupExpiredTagsCommanded + +**完整名称**: `eve.space.api.CleanupExpiredTagsCommanded` + +**描述**: 清理过期标签的命令(无参数) + +##### LoadUniverseDataCommanded + +**完整名称**: `eve.space.api.LoadUniverseDataCommanded` + +**描述**: 加载宇宙数据的命令 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| version | 1 | MESSAGE | optional | eve.semanticversion.Specification | 版本规范 | + +--- + +### Achievement API + +**文件路径**: `eveProto/generated/eve/achievement/api/requests_pb2.py` + +**包名**: `eve.achievement.api` + +**模块描述**: 成就API,处理角色成就相关的查询请求 + +#### 依赖模块 + +- `eve.achievement.contribution.contribution` - 成就贡献 +- `eve.achievement.definition.achievement` - 成就定义 +- `eve.achievement.milestone.definition.milestone` - 里程碑定义 +- `eve.character.character` - 角色标识符 +- `google.protobuf.timestamp` - 时间戳 + +#### 消息定义 + +##### GetRequest + +**完整名称**: `eve.achievement.api.GetRequest` + +**描述**: 获取角色成就信息的请求 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| character | 1 | MESSAGE | optional | eve.character.Identifier | 角色标识符 | +| achievement | 2 | MESSAGE | optional | eve.achievement.definition.Identifier | 成就标识符 | + +##### GetResponse + +**完整名称**: `eve.achievement.api.GetResponse` + +**描述**: 获取角色成就信息的响应 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| completed_date | 1 | MESSAGE | optional | google.protobuf.Timestamp | 完成日期 (oneof: completion) | +| not_completed | 2 | BOOL | optional | - | 未完成 (oneof: completion) | +| progress_value | 3 | INT32 | optional | - | 进度值 (oneof: progress) | +| checklist | 4 | MESSAGE | optional | eve.achievement.contribution.ChecklistProgress | 检查清单进度 (oneof: progress) | +| reached_milestones | 5 | MESSAGE | repeated | ReachedMilestone | 已达到的里程碑列表 | + +**Oneof字段**: +- `completion` - 完成状态,包含completed_date或not_completed之一 +- `progress` - 进度信息,包含progress_value或checklist之一 + +#### 嵌套消息类型 + +##### ReachedMilestone + +**完整名称**: `eve.achievement.api.GetResponse.ReachedMilestone` + +**描述**: 已达到的里程碑信息 + +| 字段名 | 字段号 | 类型 | 标签 | 消息类型 | 描述 | +|--------|--------|------|------|----------|------| +| milestone | 1 | MESSAGE | optional | eve.achievement.milestone.definition.Identifier | 里程碑标识符 | +| reached_date | 2 | MESSAGE | optional | google.protobuf.Timestamp | 达到日期 | +| category_points_awarded | 3 | INT32 | optional | - | 获得的分类积分 | + +--- + +## 附录 + +### 字段类型说明 + +| 类型 | 描述 | 对应Python类型 | +|------|------|----------------| +| DOUBLE | 双精度浮点数 | float | +| FLOAT | 单精度浮点数 | float | +| INT32 | 32位有符号整数 | int | +| INT64 | 64位有符号整数 | int/long | +| UINT32 | 32位无符号整数 | int | +| UINT64 | 64位无符号整数 | int/long | +| BOOL | 布尔值 | bool | +| STRING | 字符串 | str/unicode | +| MESSAGE | 消息类型 | 对应的消息类 | +| BYTES | 字节数组 | bytes | + +### 字段标签说明 + +| 标签 | 描述 | +|------|------| +| optional | 可选字段,可以不设置 | +| repeated | 重复字段,可以包含多个值 | +| required | 必需字段,必须设置(proto3中已废弃) | + +### Oneof字段说明 + +Oneof字段表示多个字段中只能设置其中一个,设置任何一个字段都会自动清除其他字段。这在文档中用 `oneof: 字段组名` 来标识。 + +--- + +**文档生成时间**: 2026-07-10 +**EVE Online 版本**: V24.01 +**分析文件数量**: 10个API文件 +**总消息数量**: 32个消息类型 +**总字段数量**: 75个字段定义 +\ No newline at end of file diff --git a/EVE_游戏自动化函数使用文档.md b/EVE_游戏自动化函数使用文档.md @@ -0,0 +1,426 @@ +# EVE Online 游戏自动化函数使用文档 + +基于对EVE Online反编译代码的分析,本文档提供了游戏自动化所需的核心函数及其使用方法。 + +## 目录 + +1. [Michelle 服务 (游戏空间管理)](#michelle-服务-游戏空间管理) +2. [Ship 类 (飞船管理)](#ship-类-飞船管理) +3. [Fleet 服务 (舰队管理)](#fleet-服务-舰队管理) +4. [Skills 服务 (技能管理)](#skills-服务-技能管理) +5. [Skill Queue 服务 (技能队列管理)](#skill-queue-服务-技能队列管理) +6. [使用示例](#使用示例) + +--- + +## 1. Michelle 服务 (游戏空间管理) + +Michelle服务是EVE Online中管理游戏空间的核心服务,提供了空间场景、物体、无人机等管理功能。 + +### 基本功能 + +```python +# 获取Michelle服务实例 +michelle = GetMichelle() + +# 空间管理 +michelle.AddBallpark(solarsystemID) # 添加空间场景 +michelle.RemoveBallpark() # 移除空间场景 +michelle.GetBallpark(doWait=True) # 获取空间场景 +michelle.GetRemotePark() # 获取远程空间 +``` + +### 物体管理 + +```python +# 获取物体 +ball = michelle.GetBall(ballID) # 获取特定物体 +balls = michelle.GetBalls() # 获取所有物体 +slimItem = michelle.GetSlimItem(item_id) # 获取SlimItem + +# 物体操作 +michelle.RemoveBall(ballID) # 移除物体 +michelle.AddClientSideBall(position) # 添加客户端物体 +michelle.UpdateClientSideBallPosition(ballID, position) # 更新物体位置 + +# 状态检查 +isPreparingWarp = michelle.IsPreparingWarp() # 检查是否准备跃迁 +inWarp = michelle.InWarp() # 检查是否在跃迁中 +isVisible = michelle.IsBallVisible(ballID) # 检查物体是否可见 +``` + +### 无人机管理 + +```python +# 无人机状态 +droneState = michelle.GetDroneState(droneID) # 获取无人机状态 +droneActivity = michelle.GetDroneActivity(droneID) # 获取无人机活动 +drones = michelle.GetDrones() # 获取所有无人机 +dronesOut = michelle.AreDronesOut() # 检查无人机是否放出 + +# 无人机操作 +michelle.CmdWarpToStuff(subject, subjectID) # 跃迁到目标 +michelle.CmdWarpToExternalDungeon(dungeonID) # 跃迁到外部地牢 +``` + +### 位置和距离 + +```python +position = michelle.GetMyPosition() # 获取自身位置 +distance = michelle.DistanceBetween(srcID, dstID) # 计算距离 +ballsInRange = michelle.GetBallsInRange(fromID, radius) # 获取范围内的物体 +closestBall = michelle.FindClosestBallIdByTypeId(fromID, typeID, radius) # 查找最近的特定类型物体 +``` + +--- + +## 2. Ship 类 (飞船管理) + +Ship类提供了飞船的基本操作和管理功能。 + +### 飞船基本操作 + +```python +# 飞船状态检查 +isModular = ship.IsModularShip() # 检查是否为模块化飞船 +isHarvesting = ship.isHarvesting # 检查是否在采集 +stanceID = ship.GetStanceIDFromSlimItem(slimItem) # 获取姿态ID + +# 飞船操作 +ship.FitBoosters(alwaysOn=False) # 装配推进器 +ship.LoadModel() # 加载模型 +ship.Release() # 释放飞船资源 +ship.LookAtMe() # 聚焦到飞船 +``` + +### 战斗和技能 + +```python +# 战斗相关 +ship.OnGodmaShipEffect(itemID, effectID, ...) # 处理飞船效果 +ship.UpdateDamageOverTime() # 更新伤害状态 + +# 技能相关 +skillLevel = ship.GetSkillLevelFromSlimItem(slimItem) # 从SlimItem获取技能等级 +``` + +### 视觉效果 + +```python +# 视觉效果管理 +ship.SetupAmbientAudio() # 设置环境音效 +ship.SetControllerVariable(name, value) # 设置控制器变量 +ship.OnSpecialFX(shipID, moduleID, ...) # 特殊效果 +``` + +--- + +## 3. Fleet 服务 (舰队管理) + +Fleet服务提供了舰队成员和结构的管理功能。 + +### 舰队成员管理 + +```python +# 获取舰队信息 +fleet = sm.GetService('fleet') +members = fleet.GetMembers() # 获取舰队成员 +fleetHierarchy = fleet.GetFleetHierarchy() # 获取舰队层级结构 + +# 成员操作 +fleet.AddToFleet(fleet, rec) # 添加成员到舰队 +fleet.RemoveFromFleet(fleet, rec) # 从舰队移除成员 +fleet.ChangeSquadName(squadID) # 更改小队名称 +fleet.DeleteSquad(squadID) # 删除小队 +fleet.SetAutoJoinSquadID(squadID) # 设置自动加入小队 +``` + +### 舰队状态 + +```python +# 状态检查 +isCommander = fleet.IsCommanderOrBoss() # 检查是否为指挥官 +squadMembers = fleet.GetMembersInSquad(squadID) # 获取小队成员 +wingMembers = fleet.GetMembersInWing(wingID) # 获取联队成员 + +# 舰队操作 +fleet.AddFavoriteSquad(squadID) # 添加小队到收藏 +fleet.DropOnFleetCommander(droppedGuys, CAN_ONLY_BE_MEMBER) # 拖放操作 +``` + +### 舰队信息获取 + +```python +# 获取舰队信息 +commanderName = CommanderName(group) # 获取指挥官名称 +squadronName = SquadronName(fleet, squadID) # 获取小队名称 +wingName = WingName(fleet, wingID) # 获取联队名称 +``` + +--- + +## 4. Skills 服务 (技能管理) + +Skills服务提供了技能相关的管理和查询功能。 + +### 技能信息 + +```python +# 获取技能信息 +skills = sm.GetService('skills') +skillLevel = skills.MySkillLevel(skillTypeID) # 获取技能等级 +skillPoints = skills.MySkillPoints(skillTypeID) # 获取技能点数 +hasSkill = skills.HasSkill(skillTypeID) # 检查是否拥有技能 +isInjected = skills.IsSkillInjected(skillTypeID) # 检查技能是否已注入 + +# 技能组 +skillGroups = skills.GetAllSkillGroups() # 获取所有技能组 +skillsByGroup = skills.GetSkillGroups() # 获取按组分类的技能 +``` + +### 技能要求 + +```python +# 技能要求检查 +requirementMet = skills.IsSkillRequirementMet(typeID) # 检查技能要求是否满足 +requirementMetWithQueue = skills.IsSkillRequirementMetIncludingSkillQueue(typeID) # 包括队列的技能要求检查 +requiredSkills = skills.GetRequiredSkills(typeID) # 获取所需技能 +requiredSkillsLevel = skills.GetRequiredSkillsLevel(skills) # 获取技能要求等级 +``` + +### 技能历史和训练 + +```python +# 技能历史 +skillHistory = skills.GetSkillHistory(maxresults=50) # 获取技能历史 +recentlyTrained = skills.GetRecentlyTrainedSkills() # 获取最近训练的技能 + +# 训练相关 +effectiveLevels = skills.MyEffectiveSkillLevelsByID() # 获取有效技能等级 +skillPointsCurrent = skills.SkillPointsCurrentLevel(skillTypeID) # 获取当前等级技能点 +skillPointsNext = skills.SkillpointsNextLevel(skillTypeID) # 获取下一等级所需技能点 +``` + +--- + +## 5. Skill Queue 服务 (技能队列管理) + +Skill Queue服务提供了技能训练队列的管理功能。 + +### 队列操作 + +```python +# 队列管理 +skillQueue = sm.GetService('skillqueue') +skillQueue.AddSkillToQueue(skillTypeID, skillLevel) # 添加技能到队列 +skillQueue.RemoveSkillFromQueue(skillTypeID, skillLevel) # 从队列移除技能 +skillQueue.MoveSkillToPosition(skillTypeID, skillLevel, position) # 移动技能位置 + +# 批量操作 +skillQueue.AddSkillsToQueue(skills) # 添加多个技能 +skillQueue.RemoveSkillsFromQueue(skills) # 移除多个技能 +skillQueue.AddSkillAndRequirementsToQueue(skillTypeID) # 添加技能及其要求 + +# 队列信息 +queue = skillQueue.GetQueue() # 获取队列 +queueLength = skillQueue.GetNumberOfSkillsInQueue() # 获取队列长度 +trainingTime = skillQueue.GetTrainingLengthOfQueue() # 获取训练时间 +``` + +### 队列状态 + +```python +# 状态检查 +isTransactionOpen = skillQueue.IsTransactionOpen() # 检查是否在事务中 +skillInTraining = skillQueue.SkillInTraining() # 获取正在训练的技能 +trainingEndTime = skillQueue.GetTrainingEndTimeOfQueue() # 获取队列训练结束时间 + +# 验证 +canAppend = skillQueue.CheckCanAppendSkill(skillTypeID) # 检查是否可以添加技能 +canInsert = skillQueue.CheckCanInsertSkillAtPosition(skillTypeID, skillLevel, position) # 检查是否可以插入技能 +``` + +### 队列操作示例 + +```python +# 开始事务 +skillQueue.BeginTransaction() + +# 添加技能到队列 +position = skillQueue.AddSkillToQueue(12345, 5) # 添加技能ID 12345 到等级5 + +# 移动技能位置 +newPosition = skillQueue.MoveSkillToPosition(12345, 5, 0) # 移动到队列顶部 + +# 提交事务 +skillQueue.CommitTransaction() +``` + +--- + +## 6. 使用示例 + +### 基本游戏自动化流程 + +```python +def basic_game_automation(): + # 1. 获取Michelle服务 + michelle = GetMichelle() + + # 2. 检查是否在空间中 + if session.solarsystemid: + # 3. 获取空间场景 + ballpark = michelle.GetBallpark(doWait=True) + + # 4. 获取自身飞船 + myShip = michelle.GetBall(session.shipid) + + # 5. 检查是否准备跃迁 + if michelle.IsPreparingWarp(): + print("准备跃迁...") + + # 6. 获取舰队信息 + fleet = sm.GetService('fleet') + members = fleet.GetMembers() + + # 7. 检查技能 + skills = sm.GetService('skills') + if skills.MySkillLevel(12345) < 5: # 假设12345是某个技能ID + print("技能等级不足") + + # 8. 管理技能队列 + skillQueue = sm.GetService('skillqueue') + if skillQueue.CheckCanAppendSkill(12345): + skillQueue.AddSkillToQueue(12345, 5) +``` + +### 高级自动化示例:自动化采集 + +```python +def auto_mining(): + michelle = GetMichelle() + ship = michelle.GetBall(session.shipid) + + # 检查是否在采集 + if ship.isHarvesting: + return + + # 寻找可采集的矿石 + asteroids = michelle.GetBallsAndSlimItems() + for ball, slimItem in asteroids: + if slimItem.categoryID == const.categoryAsteroid: + # 跃迁到矿石位置 + michelle.CmdWarpToStuff(WarpSubjects.ASTEROID, ball.id) + break + +# 设置定时采集 +import uthread +uthread.new(auto_mining) +``` + +### 高级自动化示例:自动化舰队管理 + +```python +def auto_fleet_management(): + fleet = sm.GetService('fleet') + if fleet.IsCommanderOrBoss(): + # 添加成员到小队 + squadID = fleet.GetAutoJoinSquadID() + if squadID: + # 假设member_rec是成员记录 + fleet.AddToFleet(squadID, member_rec) + + # 检查技能要求 + skills = sm.GetService('skills') + for member in fleet.GetMembers(): + if not skills.IsSkillRequirementMet(member.skillTypeID): + print(f"成员 {member.name} 技能不足") + + # 管理技能队列 + skillQueue = sm.GetService('skillqueue') + skillsToTrain = [(12345, 5), (67890, 4)] # 需要训练的技能列表 + skillQueue.AddSkillsToQueue(skillsToTrain) +``` + +### 完整自动化脚本示例 + +```python +import uthread +from eve.client.script.remote import GetMichelle + +class EVEAutoBot: + def __init__(self): + self.michelle = GetMichelle() + self.fleet = sm.GetService('fleet') + self.skills = sm.GetService('skills') + self.skillQueue = sm.GetService('skillqueue') + + def run(self): + # 启动自动化任务 + uthread.new(self.auto_mining) + uthread.new(self.auto_fleet_management) + uthread.new(self.auto_skill_training) + + def auto_mining(self): + """自动化采集功能""" + while True: + ship = self.michelle.GetBall(session.shipid) + if not ship.isHarvesting: + asteroids = self.michelle.GetBallsAndSlimItems() + for ball, slimItem in asteroids: + if slimItem.categoryID == const.categoryAsteroid: + self.michelle.CmdWarpToStuff(WarpSubjects.ASTEROID, ball.id) + break + uthread.sleep(60) # 每分钟检查一次 + + def auto_fleet_management(self): + """自动化舰队管理""" + while True: + if self.fleet.IsCommanderOrBoss(): + # 检查成员技能 + for member in self.fleet.GetMembers(): + if not self.skills.IsSkillRequirementMet(member.skillTypeID): + print(f"成员 {member.name} 技能不足") + + # 管理技能队列 + skillsToTrain = self.get_skills_to_train() + self.skillQueue.AddSkillsToQueue(skillsToTrain) + uthread.sleep(300) # 每5分钟检查一次 + + def auto_skill_training(self): + """自动化技能训练""" + while True: + # 检查队列状态 + queue = self.skillQueue.GetQueue() + if len(queue) < 5: # 如果队列少于5个技能 + skillsToAdd = self.get_missing_skills() + self.skillQueue.AddSkillsToQueue(skillsToAdd) + uthread.sleep(1800) # 每30分钟检查一次 + + def get_skills_to_train(self): + """获取需要训练的技能""" + # 这里实现具体的技能选择逻辑 + return [(12345, 5), (67890, 4)] + + def get_missing_skills(self): + """获取缺失的技能""" + # 这里实现具体的技能检查逻辑 + return [(11111, 3), (22222, 4)] + +# 启动自动化机器人 +bot = EVEAutoBot() +bot.run() +``` + +--- + +## 注意事项 + +1. **服务依赖**: 使用前确保相关服务已启动,如 `michelle`, `fleet`, `skills`, `skillqueue` 等 +2. **等待机制**: 获取空间场景等操作可能需要等待,使用 `doWait=True` 参数 +3. **错误处理**: 网络操作和API调用可能失败,需要适当的错误处理 +4. **权限检查**: 某些操作需要特定权限,如舰队管理需要指挥官权限 +5. **性能考虑**: 频繁调用可能影响性能,适当使用缓存和批量操作 +6. **线程安全**: 使用 `uthread` 进行异步操作,避免阻塞主线程 + +这个文档提供了EVE Online游戏自动化所需的主要函数,您可以根据具体需求组合使用这些函数来实现各种自动化任务。 +\ No newline at end of file diff --git a/EVE内部游戏API深度分析.md b/EVE内部游戏API深度分析.md @@ -0,0 +1,713 @@ +# EVE Online 内部游戏API深度分析 + +## 📊 总体规模统计 + +- **内部API文件总数**: 993个Protobuf文件 +- **公共API文件总数**: 384个Protobuf文件 +- **主要API目录总数**: 169个API目录 +- **顶层模块总数**: 136个功能模块 +- **事件定义文件**: 116个events_pb2.py文件 +- **请求定义文件**: 138个requests_pb2.py文件 +- **主要API定义文件**: 46个api_pb2.py文件 + +## 🏗️ 架构设计特点 + +### 1. 微服务架构 +- **模块化设计**: 每个游戏系统独立API模块 +- **协议缓冲区**: 基于Protocol Buffers的消息定义 +- **通信协议**: 支持gRPC通信协议 +- **服务隔离**: 各服务独立部署和扩展 + +### 2. 事件驱动设计 +- **异步通信**: 大量使用事件消息 +- **解耦设计**: 服务间松耦合 +- **实时通知**: 支持实时游戏状态更新 + +### 3. 分层API结构 +``` +eveProto/ +├── generated/ +│ ├── eve/ (内部API - 993个文件) +│ └── eve_public/ (公共API - 384个文件) +└── monolith_converters/ (遗留系统转换器) +``` + +### 4. 文件组织模式 +- `*_pb2.py`: 主要消息定义 +- `*_api_pb2.py`: API接口定义 +- `*_requests_pb2.py`: 请求/响应消息 +- `*_events_pb2.py`: 事件消息定义 +- `*_admin/`: 管理员接口 + +## 🔧 核心API模块详解 + +### 🎮 玩家系统模块 + +#### character/ - 角色管理系统 +- **API目录**: 45个子目录 +- **主要功能**: + - 角色创建和管理 + - 登录状态追踪 + - 位置和移动管理 + - 职业生涯目标 + - 克隆体管理 + - 行星交互 + - 技能训练集成 + +**核心API定义**: +```python +# character/api_pb2.py +class Onlined: + character: CharacterIdentifier + solar_system: SolarSystemIdentifier + ship: ShipIdentifier + corporation: CorporationIdentifier + roles: RoleCollection +``` + +#### skill/ - 技能系统 +- **API目录**: 3个主要API目录 + - `skill/character/api/`: 角色技能 + - `skill/expertsystems/api/`: 专家系统 + - `skill/points/api/`: 技能点数 + +**主要功能**: +- 技能训练和进度跟踪 +- 技能点数管理 +- 专家系统激活 +- 技能队列管理 + +#### contact/ - 联系人系统 +- **API文件**: 1个主要API文件 +- **核心操作**: + - `AddContact` - 添加联系人 + - `EditContact` - 编辑联系人 + - `DeleteContacts` - 删除联系人 + - `AddAllianceContact` - 添加联盟联系人 + - `AddCorporateContact` - 添加公司联系人 + +**联系人类型**: +```python +class PersonalContact: + character: CharacterIdentifier + info: PersonalInfo + send_notification: bool + +class OrganizationContact: + character: CharacterIdentifier + info: OrganizationInfo +``` + +### 🚀 舰队与战斗模块 + +#### fleet/ - 舰队管理系统 +- **API目录**: 1个events_pb2.py文件 +- **核心事件**: +```python +class AdvertCreated: + fleet_id: FleetIdentifier + character_id: CharacterIdentifier + solar_system_id: SolarSystemIdentifier +``` + +**主要功能**: +- 舰队创建和管理 +- 招募广告发布 +- 成员邀请和踢除 +- 舰队指挥系统 + +#### factionwarfare/ - 军团战争系统 +- **API目录**: 3个主要API目录 + - `factionwarfare/warzone/api/`: 战争区域 + - `factionwarfare/combat/api/`: 战斗记录 + - `factionwarfare/membership/api/`: 成员管理 + +**核心API**: +```python +# warzone/api/requests_pb2.py +class GetAllRequest: pass +class GetAllResponse: + warzones: List[WarzoneIdentifier] + +class GetParticipantsRequest: + warzone: WarzoneIdentifier + +class GetParticipantsResponse: + participants: Participants +``` + +#### ship/ - 船只系统 +- **API文件**: 1个主要requests_pb2.py文件 +- **核心功能**: +```python +class CanJumpStarterSpaceShipCasterRequest: + character: CharacterIdentifier + +class CanJumpStarterSpaceShipCasterResponse: + can_jump: bool +``` + +**船只操作**: +- 船只启动和停止 +- 跳跃驱动 +- 船只状态管理 +- 船只改装 + +#### killmail/ - 击杀邮件系统 +- **API目录**: 1个主要API目录 +- **主要功能**: + - 击杀记录生成 + - 战斗结果追踪 + - 击杀邮件分发 + +### 🏛️ 组织系统模块 + +#### corporation/ - 公司管理系统 +- **API目录**: 2个主要API目录 + - `corporation/office/api/`: 办公室管理 + - `corporation/alliance/api/`: 联盟接口 + +**主要功能**: +- 公司创建和管理 +- 股东管理 +- 公司资金管理 +- 公司政策设置 +- 招募和成员管理 + +#### alliance/ - 联盟系统 +- **API目录**: 1个主要API目录 +- **核心功能**: + - 联盟创建和解散 + - 成员公司管理 + - 联盟战争 + - 领土控制 + +#### acl/ - 访问控制系统 +- **API目录**: 1个主要API目录 +- **核心功能**: + - 权限定义 + - 访问控制列表 + - 资源保护 + - 操作授权 + +### 💰 经济系统模块 + +#### accounting/ - 财务记账系统 +- **API目录**: 2个子目录 + - `accounting/character/`: 角色财务 + - `accounting/corporation/`: 公司财务 + +**核心功能**: +- 交易记录 +- 资金转移 +- 财务报表 +- 税务计算 + +#### market/ - 市场交易系统 +- **主要功能**: + - 物品买卖 + - 订单管理 + - 价格历史 + - 市场数据分析 + +#### payment/ - 支付处理系统 +- **API文件**: 1个主要api_pb2.py文件 +- **核心功能**: + - 真实货币支付 + - 订单处理 + - 退款管理 + - 支付历史 + +#### plex/ - PLEX货币系统 +- **核心功能**: + - PLEX购买和销售 + - 游戏时间兑换 + - 游戏内服务支付 + - PLEX交易所 + +### 🌌 宇宙系统模块 + +#### solarsystem/ - 太阳系管理系统 +- **API目录**: 1个主要API目录 +- **核心功能**: + - 太阳系数据加载 + - 星体位置管理 + - 空间坐标计算 + - 航行路径规划 + +#### space/ - 空间模拟系统 +- **API文件**: 1个主要events_pb2.py文件 +- **核心事件**: +```python +class CleanupExpiredTagsCommanded: + # 清理过期标签 + +class LoadUniverseDataCommanded: + version: SemanticVersionSpecification + # 加载宇宙数据 +``` + +**主要功能**: +- 宇宙数据管理 +- 空间对象追踪 +- 碰撞检测 +- 物理模拟 + +#### structure/ - 建筑结构系统 +- **API目录**: 3个主要API目录 + - `structure/api/`: 主要建筑API + - `structure/upwell/api/`: 升威建筑 + - `structure/automoonminer/api/`: 自动采矿机 + +**主要功能**: +- 建筑建造和拆除 +- 资源开采 +- 防御系统 +- 维护管理 + +#### sovereignty/ - 主权系统 +- **API目录**: 1个主要API目录 +- **核心功能**: + - 领土控制 + - 主权争夺 + - 按需系统 + - 基础设施升级 + +### 📋 游戏内容系统模块 + +#### achievement/ - 成就系统 +- **API目录**: 8个API目录 + - `achievement/api/`: 主要成就API + - `achievement/category/api/`: 成就分类 + - `achievement/milestone/api/`: 成就里程碑 + - `achievement/definition/api/`: 成就定义 + - `achievement/reward/api/`: 成就奖励 + - `achievement/showcase/api/`: 成就展示 + +**主要功能**: +- 成就追踪 +- 成就解锁 +- 奖励发放 +- 成就分享 + +#### mission/ - 任务系统 +- **核心功能**: + - 任务生成 + - 任务追踪 + - 奖励发放 + - 任务历史 + +#### agent/ - 代理系统 +- **核心功能**: + - 代理NPC交互 + - 任务发布 + - 声望管理 + - 奖励计算 + +### 🎯 目标和进度系统 + +#### career/ - 职业生涯系统 +- **API目录**: 包含goal子目录 +- **核心功能**: + - 职业路径定义 + - 职业目标设定 + - 进度追踪 + - 完成奖励 + +#### goal/ - 目标系统 +- **API目录**: 1个主要API目录 +- **核心功能**: + - 目标定义 + - 目标追踪 + - 进度计算 + - 完成条件检查 + +#### dailygoal/ - 每日目标系统 +- **API目录**: 1个主要API目录 +- **核心功能**: + - 每日目标生成 + - 目标进度追踪 + - 每日奖励发放 + - 连续完成奖励 + +### 🔧 基础设施系统模块 + +#### auth/ - 身份验证系统 +- **API目录**: 1个主要API目录 +- **核心功能**: + - 用户身份验证 + - 会话管理 + - 权限验证 + - 安全令牌管理 + +#### user/ - 用户管理系统 +- **API目录**: 1个主要API目录 +- **核心功能**: + - 用户注册 + - 用户信息管理 + - 密码管理 + - 账户设置 + +#### localization/ - 本地化系统 +- **API目录**: 1个主要API目录 +- **核心功能**: + - 多语言支持 + - 文本翻译 + - 地区设置 + - 时区管理 + +#### id/ - 标识符系统 +- **API目录**: 1个主要API目录 +- **核心功能**: + - 全局ID生成 + - ID解析 + - ID验证 + - ID缓存管理 + +## 📡 API通信模式 + +### 1. 请求-响应模式 +**特点**: 同步通信,等待响应 + +**示例**: +```python +# 战争区域API +GetAllRequest -> GetAllResponse: + warzones: List[WarzoneIdentifier] + +GetParticipantsRequest -> GetParticipantsResponse: + participants: Participants +``` + +**应用场景**: +- 数据查询 +- 信息获取 +- 状态检查 + +### 2. 事件发布模式 +**特点**: 异步通信,非阻塞 + +**示例**: +```python +# 舰队API +class AdvertCreated: + fleet_id: FleetIdentifier + character_id: CharacterIdentifier + solar_system_id: SolarSystemIdentifier +``` + +**应用场景**: +- 状态变更通知 +- 系统事件广播 +- 实时更新 + +### 3. 命令模式 +**特点**: 执行特定操作 + +**示例**: +```python +# 空间系统API +class LoadUniverseDataCommanded: + version: SemanticVersionSpecification + +class CleanupExpiredTagsCommanded: + # 无参数命令 +``` + +**应用场景**: +- 系统控制 +- 维护操作 +- 数据同步 + +## 🔒 安全与管理模块 + +### auth/ - 身份验证 +- 用户登录验证 +- 会话令牌管理 +- 多因素认证 +- 安全日志记录 + +### acl/ - 访问控制 +- 权限定义和检查 +- 访问控制列表 +- 资源保护 +- 操作授权 + +### user/ - 用户管理 +- 用户账户管理 +- 个人信息维护 +- 账户安全设置 +- 用户行为监控 + +### monolith/ - 遗留系统桥接 +- 旧系统兼容 +- 数据迁移 +- API转换 +- 渐进式迁移 + +## 📈 技术实现细节 + +### Protocol Buffers优化 + +**1. 性能优化** +```python +# eveProto/__init__.py +fast_native_serialization = False # 快速原生序列化 +grpc_module = None + +def toggle_cpp_implementation(enabled=True): + # 启用C++实现 + os.environ['PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION'] = 'cpp' +``` + +**2. 开发模式支持** +```python +DEV_SUFFIX = '_dev' +# 支持反射模式,便于开发调试 +# 反射模式比Python快10倍,比C++慢10倍 +``` + +**3. 跨语言兼容** +- 支持Python和C++实现 +- 多语言客户端支持 +- Go语言生成的代码引用 + +### 消息结构设计 + +**1. 强类型消息定义** +```python +# 每个消息都有明确的类型定义 +DESCRIPTOR = _descriptor.FileDescriptor( + name='eve/factionwarfare/warzone/api/requests.proto', + package='eve.factionwarfare.warzone.api', + syntax='proto3' +) +``` + +**2. 嵌套消息结构** +```python +class GetAllResponse: + warzones: List[WarzoneIdentifier] # 嵌套消息 + +class Participants: + # 复杂嵌套结构 + faction_a: FactionInfo + faction_b: FactionInfo + systems: List[SystemControl] +``` + +**3. 枚举类型支持** +```python +# 支持枚举类型定义 +class EntryType: + UNKNOWN = 0 + BUY = 1 + SELL = 2 +``` + +### 模块依赖管理 + +**1. 清晰的依赖关系** +```python +from eveProto.generated.eve.character import character_pb2 +from eveProto.generated.eve.corporation import corporation_pb2 +from eveProto.generated.eve.ship import ship_pb2 +from eveProto.generated.eve.solarsystem import solarsystem_pb2 +``` + +**2. 共享消息类型重用** +```python +# Identifier类型在多个模块间共享 +class CharacterIdentifier +class CorporationIdentifier +class SolarSystemIdentifier +``` + +**3. 版本控制支持** +```python +# 语义化版本控制 +class SemanticVersionSpecification: + major: int + minor: int + patch: int +``` + +## 🎯 核心业务流程API + +### 角色生命周期流程 + +``` +1. 角色创建 + └── character/api/CharacterCreated + +2. 角色上线 + └── character/api/Onlined + ├── character: CharacterIdentifier + ├── solar_system: SolarSystemIdentifier + ├── ship: ShipIdentifier + ├── corporation: CorporationIdentifier + └── roles: RoleCollection + +3. 位置更新 + └── character/location/api/LocationUpdated + +4. 技能训练 + └── skill/character/api/SkillTrainingStarted + +5. 社交互动 + └── contact/api/AddContact +``` + +### 战斗系统流程 + +``` +1. 组队 + └── fleet/api/events/AdvertCreated + ├── fleet_id: FleetIdentifier + ├── character_id: CharacterIdentifier + └── solar_system_id: SolarSystemIdentifier + +2. 船只操作 + └── ship/api/ShipActivated + +3. 进入战斗 + └── combat/api/CombatStarted + +4. 击杀记录 + └── killmail/api/KillmailGenerated + +5. 战争统计 + └── factionwarfare/combat/api/CombatRecorded +``` + +### 经济活动流程 + +``` +1. 市场交易 + └── market/api/OrderPlaced + +2. 财务记录 + └── accounting/character/api/TransactionRecorded + ├── amount: ISKAmount + ├── type: TransactionType + └── timestamp: Timestamp + +3. 支付处理 + └── payment/api/PaymentProcessed + +4. PLEX交易 + └── plex/api/PLEXTransaction +``` + +### 领土控制流程 + +``` +1. 主权声明 + └── sovereignty/api/SovereigntyDeclared + +2. 建筑部署 + └── structure/api/StructureDeployed + +3. 资源开采 + └── structure/automoonminer/api/MiningStarted + +4. 防御激活 + └── structure/api/DefenseActivated +``` + +## 📊 API使用统计 + +### API模块使用频率估算 + +| 模块类别 | API目录数 | 预估使用频率 | 复杂度 | +|---------|-----------|------------|-------| +| 玩家系统 | 48 | 极高 | 高 | +| 战斗系统 | 5 | 高 | 中 | +| 组织系统 | 3 | 高 | 中 | +| 经济系统 | 4 | 中 | 高 | +| 宇宙系统 | 4 | 极高 | 极高 | +| 内容系统 | 3 | 中 | 中 | +| 目标系统 | 3 | 中 | 低 | +| 基础设施 | 4 | 极高 | 中 | + +### 消息类型分布 + +| 消息类型 | 文件数量 | 用途 | +|---------|---------|------| +| Events | 116 | 异步事件通知 | +| Requests | 138 | 请求-响应通信 | +| API Definitions | 46 | 主要API接口 | +| Domain Models | 693 | 业务领域模型 | + +## 🔐 安全特性 + +### 认证与授权 +- 多层身份验证 +- 细粒度权限控制 +- 访问令牌管理 +- 会话安全 + +### 数据保护 +- 消息加密 +- 敏感数据脱敏 +- 审计日志 +- 异常检测 + +### 防护机制 +- 速率限制 +- 请求验证 +- 异常监控 +- 安全补丁 + +## 🚀 性能优化 + +### 序列化优化 +- C++原生实现 +- 二进制协议 +- 压缩支持 +- 缓存机制 + +### 通信优化 +- 连接池管理 +- 批量处理 +- 异步通信 +- 负载均衡 + +### 数据库优化 +- 读写分离 +- 数据分区 +- 索引优化 +- 查询缓存 + +## 📈 可扩展性设计 + +### 水平扩展 +- 微服务架构 +- 分布式部署 +- 负载均衡 +- 自动扩缩容 + +### 垂直扩展 +- 服务分层 +- 缓存策略 +- 数据分片 +- 读写分离 + +### 功能扩展 +- 插件机制 +- 消息中间件 +- 事件驱动 +- API网关 + +## 🎓 总结 + +EVE Online的内部游戏API系统展现了现代大型MMORPG的技术架构精髓: + +1. **微服务架构**: 993个API文件,169个API目录,支撑复杂的游戏功能 +2. **事件驱动**: 116个事件定义文件,支持实时游戏状态同步 +3. **强类型设计**: Protocol Buffers确保类型安全和数据一致性 +4. **模块化设计**: 136个功能模块,清晰的职责分离 +5. **高性能实现**: C++序列化,优化的网络通信 +6. **可扩展架构**: 支持水平扩展,应对海量玩家 + +这个API系统不仅支撑着EVE Online的日常运营,也为游戏的新功能开发和系统维护提供了坚实的技术基础。 +\ No newline at end of file diff --git a/README.md b/README.md @@ -8,7 +8,8 @@ | 更新日期 | 目标版本号 | 版本 | 备注 | | :--- | :--- | :--- | :--- | -| **2026-03-19** | `eve-23_02_3261822` | 23.02.3261822 |**最新版本更新** | +| **2026-08-26** | `eve-24_01_3478781` | 24.01.3478781 | 官方部分迁移至Python3 | +| **2026-03-19** | `eve-23_02_3261822` | 23.02.3261822 | | | **2026-01-14** | `eve-23_02_2105785` | 23.02.2105785 | 首次上传 | --- diff --git a/UITree/__init__.py b/UITree/__init__.py @@ -1,3 +1,4 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/UITree/__init__.py +from __future__ import absolute_import __author__ = 'fridrik' -from main import UITree +from .main import UITree diff --git a/UITree/main.py b/UITree/main.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/UITree/main.py +from __future__ import print_function __author__ = 'fridrik' import os import sys @@ -362,7 +363,7 @@ class UITree(DockablePanel): try: prop = getattr(uiObject, propertyName, None) except: - print 'Failed on property', propertyName + print('Failed on property', propertyName) continue try: @@ -709,7 +710,7 @@ class UITreeEntry(SE_BaseClassCore): if self.loaded: return self.loaded = True - if isinstance(node.uiObject, (Base,)): + if isinstance(node.uiObject, Base): self._label.text = node.uiObject.name or node.uiObject.__class__ if node.objectLabel: self._label.text = '%s: %s' % (node.objectLabel, self._label.text) diff --git a/achievement_system/client/api/signal.py b/achievement_system/client/api/signal.py @@ -15,3 +15,4 @@ on_recently_completed_achievements_changed = Signal('achievement.on_recently_com on_admin_achievement_reset = Signal('achievement.on_admin_achievement_reset') on_admin_achievement_reset_all = Signal('achievement.on_admin_achievement_reset_all') on_achievement_milestone_reward_claimed = Signal('achievement.on_achievement_milestone_reward_claimed') +on_category_milestone_reward_claimed = Signal('achievement.on_category_milestone_reward_claimed') diff --git a/achievement_system/client/repository/message_bus/request_messenger.py b/achievement_system/client/repository/message_bus/request_messenger.py @@ -76,7 +76,7 @@ class AchievementRequestMessenger(object): def get_unclaimed_rewards_request(self, page): request = GetUnclaimedRequest(page=ProtoPage(size=100, token=page)) info_log = 'Request: Get Unclaimed Rewards: {request}\n'.format(request=request) - status_code, payload = self._send_character_request(request, response_class=GetUnclaimedResponse, info_log=info_log) + status_code, payload = self._send_character_request(request, response_class=GetUnclaimedResponse, info_log=info_log, max_attempts=2) if status_code == httplib.OK: info_log += 'SUCCESS, payload: {payload}\n'.format(payload=payload) unclaimed_achievement_rewards = [] diff --git a/achievement_system/client/repository/repository.py b/achievement_system/client/repository/repository.py @@ -6,7 +6,7 @@ from achievement_system.client.model.definition.reward.identifier import RewardD from achievement_system.client.repository.activity.repository import AchievementActivityRepository from carbon.common.script.sys.serviceConst import ROLE_QA import logging -from achievement_system.client.api.signal import on_achievement_completed, on_achievement_progressed, on_achievement_milestone_reached, on_category_progressed, on_category_milestone_reached, on_definitions_loaded, on_admin_achievement_reset, on_admin_achievement_reset_all, on_achievement_milestone_reward_claimed +from achievement_system.client.api.signal import on_achievement_completed, on_achievement_progressed, on_achievement_milestone_reached, on_category_progressed, on_category_milestone_reached, on_definitions_loaded, on_admin_achievement_reset, on_admin_achievement_reset_all, on_achievement_milestone_reward_claimed, on_category_milestone_reward_claimed from achievement_system.client.model.definition.achievement.identifier import AchievementDefinitionIdentifier from achievement_system.client.model.definition.achievement.milestone.identifier import AchievementMilestoneDefinitionIdentifier from achievement_system.client.model.definition.category.identifier import CategoryDefinitionIdentifier @@ -24,6 +24,7 @@ from achievement_system.common.const import LOGGER_NAME from character.client.identifier import CharacterIdentifier from locks.singleFlight import single_flight from semantic_version import SemanticVersion +from stackless_response_router.exceptions import TimeoutException logger = logging.getLogger(LOGGER_NAME) if False: from typing import Dict @@ -169,6 +170,7 @@ class AchievementRepository(object): def claim_rewards_for_category(self, category_id, milestone_id): try: self._character_request_messenger.claim_category_milestone_rewards_request(category_id, milestone_id) + on_category_milestone_reward_claimed(category_id=category_id, milestone_id=milestone_id) except RewardAlreadyClaimedError: logger.info('reward already claimed, ignoring - probably just clicking too fast') except Exception as e: @@ -318,6 +320,8 @@ class AchievementRepository(object): unclaimed_category_rewards[entry.category_id].add_unclaimed_rewards_for_milestone(milestone_id=entry.milestone_id, reward_ids=entry.unclaimed_reward_ids) self._unclaimed_rewards = CachedUnclaimedRewards(unclaimed_achievement_rewards=unclaimed_achievement_rewards, unclaimed_category_rewards=unclaimed_category_rewards, expiration=datetime.now() + timedelta(seconds=_STATE_CACHE_TTL_IN_SECONDS)) + except ServiceUnavailableError as e: + logger.info('unable to cache unclaimed rewards - ServiceUnavailableError silenced', exc_info=e) except Exception as e: logger.error('unable to cache unclaimed rewards', exc_info=e) diff --git a/achievement_system/client/ui/chip/character_title.py b/achievement_system/client/ui/chip/character_title.py @@ -24,6 +24,7 @@ class CharacterTitleChip(ContainerAutoSize): self.character_id = character_id self.animate = animate self.on_update = Signal('on_update') + self._measured_width = 0 self.construct_layout() self.connect_signals() self.update() @@ -63,6 +64,7 @@ class CharacterTitleChip(ContainerAutoSize): label_text = title_attributes.localized_name text_width, _ = TextDetail.MeasureTextSize(label_text) target_width = text_width + 8 + self._measured_width = target_width self.label.text = label_text if self.animate: animations.FadeIn(self, duration=0.25) @@ -72,6 +74,10 @@ class CharacterTitleChip(ContainerAutoSize): self.content_container.width = target_width self.on_update() + @property + def measured_width(self): + return self._measured_width + def on_title_equipped_changed(self, character_identifier, equipped_state): self.update() diff --git a/achievements/__init__.py b/achievements/__init__.py @@ -1,2 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/__init__.py -__author__ = 'aevar' diff --git a/achievements/client/__init__.py b/achievements/client/__init__.py @@ -1,2 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/client/__init__.py -__author__ = 'aevar' diff --git a/achievements/client/achievementSvc.py b/achievements/client/achievementSvc.py @@ -1,201 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/client/achievementSvc.py -import blue -import threadutils -from achievements.client.eventHandler import EventHandler -from achievements.common.achievementGroups import GetAchievementGroup, GetTaskIds -from achievements.common.achievementLoader import AchievementLoader -from achievements.common.statsTracker import StatsTracker -from achievements.common.util import AreOpportunitiesEnabled, UpdateAndGetNewAchievements, GetClientAchievements, GetAchievementsByEventsDict -from carbon.common.script.sys.service import Service - -class AchievementTrackerClientService(Service): - __guid__ = 'svc.achievementSvc' - service = 'svc.achievementSvc' - __startupdependencies__ = ['machoNet'] - __dependencies__ = ['machoNet'] - __notifyevents__ = ['OnServerAchievementUnlocked', - 'OnAchievementsReset', - 'OnSessionChanged', - 'OnSessionReset', - 'ProcessShutdown'] - _debugStatsForCharacter = None - remoteService = None - hasAllData = False - achievementsEnabled = False - - def Run(self, memStream = None, remoteService = None, scatterService = sm): - self.scatterService = scatterService - self.ReInitialize() - - def ReInitialize(self): - self.hasAllData = False - self.eventHandler = EventHandler(self) - self._allAchievements = self.LoadAchievements(getDisabled=True) - self.clientAchievements = GetClientAchievements(self._allAchievements) - self.achievementsByEventsDict = GetAchievementsByEventsDict(self.clientAchievements) - self.clientStatsTracker = StatsTracker() - self.completedDict = {} - self.scatterService.ScatterEvent('OnAchievementsDataInitialized') - - def GetAllAchievements(self): - return self._allAchievements - - def GetCompletedTaskIds(self): - return self.completedDict.keys() - - def UpdateEnabledStatus(self): - self.achievementsEnabled = AreOpportunitiesEnabled() - - def IsEnabled(self): - return self.achievementsEnabled - - def GetDebugStatsFromCharacter(self, force = False): - if self._debugStatsForCharacter is None or force is True: - self._debugStatsForCharacter = self.remoteService.GetDebugStatsFromCharacter(session.charid) - return self._debugStatsForCharacter - - def HasData(self): - return self.hasAllData - - def GetFullAchievementList(self): - return self._allAchievements.values() - - def OnAchievementsReset(self): - self.completedDict = {} - self.FetchMyAchievementStatus() - self.scatterService.ScatterEvent('OnAchievementsDataInitialized') - - def ResetAllForCharacter(self): - self.remoteService.ResetAllForChar() - - def SetActiveAchievementGroupID(self, groupID, emphasize = False): - pass - - def GetActiveAchievementGroupID(self): - return None - - def GetAchievementTask(self, achievementTaskID): - return self._allAchievements.get(achievementTaskID, None) - - def OnServerAchievementUnlocked(self, achievementsInfo): - if AreOpportunitiesEnabled(): - achievementDict = achievementsInfo['achievementDict'] - self.HandleAchievementsUnlocked(achievementDict) - - def HandleAchievementsUnlocked(self, achievementDict, taskIdsForMe = None): - self.MarkAchievementAsCompleted(achievementDict) - if not self.IsEnabled(): - return - taskIdsForMyGroup = taskIdsForMe - if taskIdsForMyGroup is None: - taskIdsForMyGroup = GetTaskIds() - for achievementID in achievementDict: - if achievementID not in self._allAchievements: - continue - if achievementID not in taskIdsForMyGroup: - continue - achievement = self._allAchievements[achievementID] - isActiveGroupCompleted = self.IsGroupForTaskActiveAndCompleted(achievementID) - sm.ScatterEvent('OnAchievementChanged', achievement, activeGroupCompleted=isActiveGroupCompleted) - - def MarkAchievementAsCompleted(self, achievementDict): - for taskID, timestamp in achievementDict.iteritems(): - if taskID not in self._allAchievements: - continue - self.completedDict[taskID] = timestamp - - def SendNotification(self, notificationData, notificationType): - sm.ScatterEvent('OnNotificationReceived', 123, notificationType, session.charid, blue.os.GetWallclockTime(), data=notificationData) - - def FetchMyAchievementStatus(self): - achievementAndEventInfo = self.remoteService.GetCompletedAchievementsAndClientEventCount() - self.completedDict = achievementAndEventInfo['completedDict'] - self.PopulateEventHandler(achievementAndEventInfo['eventDict']) - self.UpdateAchievementList() - self.hasAllData = True - - def PopulateEventHandler(self, eventCountDict): - for eventName, eventCount in eventCountDict.iteritems(): - if eventCount < 1: - self.clientStatsTracker.statistics[eventName] = 0 - else: - self.clientStatsTracker.LogStatistic(eventName, eventCount, addToUnlogged=False) - - def IsGroupForTaskActiveAndCompleted(self, taskID): - activeGroupID = self.GetActiveAchievementGroupID() - if activeGroupID and self.IsAchievementInGroup(taskID, activeGroupID): - activeGroupCompleted = self._IsActiveGroupCompleted() - else: - activeGroupCompleted = False - return activeGroupCompleted - - def _IsActiveGroupCompleted(self): - currentGroupID = self.GetActiveAchievementGroupID() - if not currentGroupID: - return False - achievementGroup = GetAchievementGroup(currentGroupID) - return achievementGroup.IsCompleted() - - def UpdateAchievementList(self): - for achievementID in self.completedDict: - if achievementID in self._allAchievements: - self._allAchievements[achievementID].completed = True - - def LoadAchievements(self, getDisabled = False): - return AchievementLoader().GetAchievements(getDisabled=getDisabled) - - def IsAchievementCompleted(self, achievementID): - return achievementID in self.completedDict - - def IsAchievementInGroup(self, achievementID, groupID): - achievementGroup = GetAchievementGroup(groupID) - if achievementGroup: - return achievementGroup.HasAchievement(achievementID) - else: - return False - - def OnSessionChanged(self, isRemote, session, change): - if 'charid' in change and not self.HasData(): - if self.remoteService is None: - self.remoteService = sm.RemoteSvc('achievementTrackerMgr') - self.FetchMyAchievementStatus() - self.UpdateEnabledStatus() - - def OnSessionReset(self): - self.ReInitialize() - - def ProcessShutdown(self): - try: - self.UpdateClientAchievementsAndCountersOnServer() - except Exception as e: - self.LogError('Failed at storing client achievement events, e = ', e) - - def LogClientEvent(self, eventName, value = 1): - achievementsWithEvent = self.achievementsByEventsDict.get(eventName, set()) - achievementsLeft = achievementsWithEvent - set(self.completedDict.keys()) - if not achievementsLeft: - return - self.clientStatsTracker.LogStatistic(eventName, value, addToUnlogged=False) - achievementsWereCompleted = self.CheckAchievementStatus() - if not achievementsWereCompleted: - self.UpdateClientAchievementsAndCountersOnServer_throttled() - - def CheckAchievementStatus(self): - newAchievementSet = self.GetNewAchievementsForCharacter() - if newAchievementSet: - self.HandleAchievementsUnlocked(newAchievementSet) - self.UpdateClientAchievementsAndCountersOnServer() - return True - return False - - @threadutils.throttled(180) - def UpdateClientAchievementsAndCountersOnServer_throttled(self): - self.UpdateClientAchievementsAndCountersOnServer() - - def UpdateClientAchievementsAndCountersOnServer(self): - if session.charid: - stats = self.clientStatsTracker.GetStatistics() - self.remoteService.UpdateClientAchievmentsAndCounters(self.completedDict, dict(stats)) - - def GetNewAchievementsForCharacter(self): - return UpdateAndGetNewAchievements(self.clientAchievements, self.completedDict, self.clientStatsTracker) diff --git a/achievements/client/eventHandler.py b/achievements/client/eventHandler.py @@ -1,369 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/client/eventHandler.py -import collections -import weakref -import uthread2 -from achievements.common.achievementConst import AchievementEventConst as eventConst -from achievements.common.eventHandlerUtil import ListContainsTypeInGivenGroups -from agency.common.content_types import CONTENTTYPE_RESOURCEWARS, CONTENTTYPE_CAREERAGENTS -from eve.client.script.environment import invControllers -from eve.common.script.sys.idCheckers import IsStation, IsFakeItem, IsNPC, IsShip -import inventorycommon.const as invConst -import operations -from npcs.client.entitystandings import get_standing_between_npc_and_player -from operations.client.operationscontroller import GetOperationsController -from spacecomponents.common.helper import HasEntityStandingsComponent - -class EventHandler(object): - __notifyevents__ = ['OnClientEvent_LockItem', - 'OnClientEvent_MoveTowardsPointExecuted', - 'OnClientEvent_OrbitCommand', - 'OnClientEvent_MoveFromCargoToHangar', - 'OnClientEvent_ActivateModule', - 'OnClientEvent_ApproachCommand', - 'OnClientEvent_SelectSpaceBracket', - 'OnClientEvent_ChatMessageSent', - 'OnClientEvent_OpenMap', - 'OnClientEvent_DestinationSet', - 'OnAutoPilotOn', - 'OnClientEvent_JumpToNextSystemInRouteCmdExecuted', - 'OnClientEvent_JumpedToNextSystemInRoute', - 'OnClientMouseZoomInSpace', - 'OnClientMouseZoomOutSpace', - 'OnClientMouseSpinInSpace', - 'OnModuleUnfitted', - 'OnCameraLookAt', - 'OnClientEvent_OpenCorpFinder', - 'OnClientEvent_BlueprintLoaded', - 'OnProbeAdded', - 'OnClientEvent_PerfectScanResultReached', - 'OnBookmarkCreated', - 'OnAutoPilotJump', - 'OnWindowOpened', - 'OnWindowClosed', - 'OnWindowMinimized', - 'OnInventoryContainerShown', - 'OnClientEvent_OrderPlaced', - 'OnClientEvent_OperationDestinationSet', - 'OnClientEvent_CrateOpen', - 'OnClientEvent_SkillPrioritized', - 'OnClientEvent_SkillAddedToQueue', - 'OnClientEvent_AgencyContentExpanded', - 'OnClientEvent_AgencyContentGroupExpanded', - 'OnClientEvent_ClaimRewardsButtonClicked', - 'OnClientEvent_ConversationContinueButtonClicked', - 'OnRWDungeonLobbyEntered', - 'OnMultipleItemChange', - 'OnWarpToAsteroidBelt', - 'OnSessionChanged', - 'OnDogmaAttributeChanged', - 'OnHighSlotFittingChanged', - 'OnClientEvent_DockCmdExecuted', - 'OnOperationSiteWarpToExecuted', - 'OnOpenCargoExecuted', - 'ProcessSessionReset', - 'OnSessionReset'] - - def __init__(self, achievementSvc): - sm.RegisterNotify(self) - self.achievementSvc = weakref.proxy(achievementSvc) - - def ProcessSessionReset(self): - self.UnregisterForEvents() - - def OnSessionReset(self): - sm.RegisterNotify(self) - - def LogAchievementEvent(self, eventType, amount = 1): - self.achievementSvc.LogClientEvent(eventType, amount) - - def OnClientEvent_LockItem(self, slimItem): - self.NotifyOperationsServiceIfInteresting(eventConst.LOCK_TARGET_CLIENT, slimItem) - if slimItem.categoryID == const.categoryAsteroid: - self.LogAchievementEvent(eventConst.ASTEROIDS_LOCK_CLIENT) - elif self.IsHostileNPC(slimItem): - self.LogAchievementEvent(eventConst.HOSTILE_NPC_LOCK_CLIENT) - - def OnClientEvent_MoveTowardsPointExecuted(self, *args): - self.NotifyOperationsServiceIfInteresting(eventConst.DOUBLE_CLICK_COUNT_CLIENT) - self.LogAchievementEvent(eventConst.DOUBLE_CLICK_COUNT_CLIENT) - - def NotifyOperationsServiceIfInteresting(self, event_type, slimItem = None, extraData = None, amount = 1): - if not operations.client.util.are_operations_active(): - return - if GetOperationsController().is_client_event_interesting(event_type): - if extraData is None: - extraData = {} - if slimItem is not None: - extraData['typeID'] = slimItem.typeID - extraData['objectID'] = slimItem.dunObjectID - sm.RemoteSvc('operationsManager').process_client_event(event_type, extra_data=extraData, amount=amount) - - def NotifySeasonServiceIfInteresting(self, event_type, itemID, slimItem = None, extraData = None, amount = 1): - if not sm.GetService('seasonService').is_season_active(): - return - if sm.GetService('seasonService').is_client_event_interesting(event_type): - if extraData is None: - extraData = {} - extraData['typeID'] = sm.GetService('michelle').GetItem(itemID).typeID - sm.RemoteSvc('seasonManager').process_client_event(event_type, extra_data=extraData, amount=amount) - - def OnClientEvent_OrbitCommand(self, targetID, distance, slimItem): - self.NotifyOperationsServiceIfInteresting(eventConst.ORBIT_CLIENT, slimItem) - if slimItem.categoryID == const.categoryAsteroid: - self.LogAchievementEvent(eventConst.ASTEROIDS_ORBIT_CLIENT) - elif self.IsHostileNPC(slimItem): - self.LogAchievementEvent(eventConst.HOSTILE_NPC_ORBIT_CLIENT) - - def _Operation_ClientEvent_Approach(self, event_type, slimItem = None): - self.NotifyOperationsServiceIfInteresting(event_type, slimItem) - - def OnClientEvent_SelectSpaceBracket(self, slimItem): - self.NotifyOperationsServiceIfInteresting(eventConst.SELECT_SPACE_BRACKET_CLIENT, slimItem=slimItem) - - def OnClientEvent_ApproachCommand(self, slimItem = None): - event_type = eventConst.APPROACH_CLIENT - self.NotifyOperationsServiceIfInteresting(event_type) - self.LogAchievementEvent(event_type) - self._Operation_ClientEvent_Approach(event_type, slimItem) - - def OnClientEvent_DockCmdExecuted(self, locationID): - self.NotifyOperationsServiceIfInteresting(eventConst.TRAVEL_DOCK_EXECUTED_CLIENT) - - def OnOpenCargoExecuted(self, slimItem): - self.NotifyOperationsServiceIfInteresting(eventConst.OPEN_CARGO_EXECUTED_CLIENT, slimItem=slimItem) - - def _CheckTotalItemQuantityInCargoAndHangar(self, items): - if not items: - return - tasks = GetOperationsController().get_active_inventory_manipulation_tasks() - if not tasks: - return - task = tasks[0] - relevant_types = task.get_event_conditions('typeID') - if not relevant_types: - return - for item in items: - if item.typeID not in relevant_types: - continue - inv_controllers = task.get_event_conditions('inventoryController') - for inv_id in inv_controllers: - quantity_by_type_id = self._get_quantity_by_type_id(relevant_types, inv_id) - total_quantity = sum(quantity_by_type_id.values()) - if total_quantity >= task.targetValue: - for type_id, amount in quantity_by_type_id.iteritems(): - self.NotifyOperationsServiceIfInteresting(eventConst.CLIENT_ITEM_IN_MOVED_TO, extraData={'typeID': type_id, - 'inventoryController': inv_id}, amount=amount) - - def _get_quantity_by_type_id(self, relevant_types, inv_id): - type_count = collections.defaultdict(int) - invCtrl = invControllers.GetInvCtrlFromInvID((inv_id,)) - for type_id in relevant_types: - if not invCtrl or not invCtrl.IsInRange(): - continue - type_count[type_id] += sum([ item.quantity for item in invCtrl.GetItemsByType(type_id) ]) - - return type_count - - def OnMultipleItemChange(self, items, change): - item = items[0] - if item.ownerID != session.charid: - return - if item.locationID not in (session.shipid, session.stationid): - return - if GetOperationsController().get_active_operation_id() is None: - return - self._CheckTotalItemQuantityInCargoAndHangar(items) - - def OnClientEvent_MoveFromCargoToHangar(self, sourceID, destinationID, destinationFlag = None): - if IsFakeItem(sourceID): - self.LogAchievementEvent(eventConst.ITEMS_LOOT_CLIENT) - return - if session.stationid: - sourceLocationItem = sm.GetService('invCache').FetchItem(sourceID, session.stationid) - if not sourceLocationItem: - return - if sourceLocationItem.categoryID == const.categoryShip and (IsStation(destinationID) or destinationFlag == const.flagHangar): - self.LogAchievementEvent(eventConst.ITEMS_MOVE_FROM_CARGO_TO_HANGAR_CLIENT) - - def OnClientEvent_ActivateModule(self, effectID): - if effectID in (const.effectProjectileFired, const.effectTargetAttack): - self.LogAchievementEvent(eventConst.ACTIVATE_GUN_CLIENT) - elif effectID == const.effectSalvaging: - self.LogAchievementEvent(eventConst.ACTIVATE_SALVAGER_CLIENT) - - def OnClientEvent_ChatMessageSent(self): - self.NotifyOperationsServiceIfInteresting(eventConst.SOCIAL_CHAT_MESSAGE_SENT) - self.LogAchievementEvent(eventConst.SOCIAL_CHAT_MESSAGE_SENT) - - def OnClientEvent_OpenMap(self): - self.LogAchievementEvent(eventConst.UI_OPEN_MAP_CLIENT) - - def OnClientEvent_DestinationSet(self, destinationID): - if destinationID == sm.GetService('agents').GetMySuggestetCareerAgentStation(): - self.NotifyOperationsServiceIfInteresting(eventConst.TRAVEL_SET_DESTINATION_TO_CAREER_AGENTS) - self.NotifyOperationsServiceIfInteresting(eventConst.TRAVEL_SET_DESTINATION_CLIENT) - self.LogAchievementEvent(eventConst.TRAVEL_SET_DESTINATION_CLIENT) - self.NotifyOperationsServiceIfInteresting(eventConst.END_INCEPTION_NAVIGATION) - - def OnAutoPilotOn(self, *args): - self.LogAchievementEvent(eventConst.TRAVEL_ACTIVATE_AUTOPILOT_CLIENT) - - def OnAutoPilotJump(self, *args): - self.LogAchievementEvent(eventConst.TRAVEL_JUMP_TO_NEXT_SYSTEM_CLIENT) - - def OnClientEvent_JumpToNextSystemInRouteCmdExecuted(self, *args): - self.LogAchievementEvent(eventConst.TRAVEL_JUMP_TO_NEXT_SYSTEM_EXECUTED_CLIENT) - self.NotifyOperationsServiceIfInteresting(eventConst.TRAVEL_JUMP_TO_NEXT_SYSTEM_EXECUTED_CLIENT) - - def OnClientEvent_JumpedToNextSystemInRoute(self): - self.LogAchievementEvent(eventConst.TRAVEL_JUMP_TO_NEXT_SYSTEM_CLIENT) - - def OnSessionChanged(self, isRemote, session, change): - if 'solarsystemid2' in change: - fromSolarSystemID, toSolarSystemID = change['solarsystemid2'] - if fromSolarSystemID != toSolarSystemID and sm.GetService('agents').IsCareerAgentSystem(toSolarSystemID): - self.NotifyOperationsServiceIfInteresting(eventConst.TRAVEL_CAREER_AGENT_SYSTEM_ENTERED) - if 'shipid' in change: - oldShipID, newShipID = change['shipid'] - if newShipID is not None: - self.OnHighSlotFittingChanged() - - def OnWarpToAsteroidBelt(self): - self.NotifyOperationsServiceIfInteresting(eventConst.TRAVEL_ENTER_ASTEROID_BELT) - - def OnClientMouseZoomInSpace(self, amount): - uthread2.Sleep(1.0) - self.NotifyOperationsServiceIfInteresting(eventConst.UI_MOUSEZOOM_IN_CLIENT) - self.LogAchievementEvent(eventConst.UI_MOUSEZOOM_IN_CLIENT) - - def OnClientMouseZoomOutSpace(self, amount): - uthread2.Sleep(1.0) - self.NotifyOperationsServiceIfInteresting(eventConst.UI_MOUSEZOOM_OUT_CLIENT) - self.LogAchievementEvent(eventConst.UI_MOUSEZOOM_OUT_CLIENT) - - def OnClientMouseSpinInSpace(self): - uthread2.Sleep(1.0) - self.NotifyOperationsServiceIfInteresting(eventConst.UI_MOUSE_ROTATE_CLIENT) - self.LogAchievementEvent(eventConst.UI_MOUSE_ROTATE_CLIENT) - - def OnModuleUnfitted(self, typeID): - self.NotifyOperationsServiceIfInteresting(eventConst.FITTING_UNFIT_MODULE_CLIENT, extraData=dict(typeID=typeID)) - self.LogAchievementEvent(eventConst.FITTING_UNFIT_MODULE_CLIENT) - - def OnClientEvent_OrderPlaced(self, typeIDs): - for typeID in typeIDs: - self.NotifyOperationsServiceIfInteresting(eventConst.MARKET_ORDER_PLACED_CLIENT, extraData=dict(typeID=typeID)) - - def OnCameraLookAt(self, isEgo, itemID): - if session.charid is None: - return - if isEgo: - self.NotifyOperationsServiceIfInteresting(eventConst.LOOK_AT_OWN_SHIP) - self.LogAchievementEvent(eventConst.LOOK_AT_OWN_SHIP) - elif itemID is not None: - self.NotifyOperationsServiceIfInteresting(eventConst.LOOK_AT_OBJECT) - self.NotifySeasonServiceIfInteresting(eventConst.LOOK_AT_OBJECT, itemID) - self.LogAchievementEvent(eventConst.LOOK_AT_OBJECT) - - def UnregisterForEvents(self): - sm.UnregisterNotify(self) - - def IsHostileNPC(self, slimItem): - if not IsNPC(slimItem.ownerID): - return False - if not HasEntityStandingsComponent(slimItem.typeID): - return False - standings = get_standing_between_npc_and_player(slimItem.ownerID, session.charid) - return standings < slimItem.hostile_response_threshold - - def OnClientEvent_OpenCorpFinder(self): - self.LogAchievementEvent(eventConst.OPEN_CORP_FINDER) - - def OnClientEvent_BlueprintLoaded(self, blueprintTypeID): - self.NotifyOperationsServiceIfInteresting(eventConst.INDUSTRY_LOAD_BLUEPRINT, extraData=dict(blueprintTypeID=blueprintTypeID)) - self.LogAchievementEvent(eventConst.INDUSTRY_LOAD_BLUEPRINT) - - def OnProbeAdded(self, probe): - self.LogAchievementEvent(eventConst.LAUNCH_PROBES) - - def OnClientEvent_PerfectScanResultReached(self, results): - self.LogAchievementEvent(eventConst.REACH_PERFECT_SCAN_RESULTS) - - def OnClientEvent_OperationDestinationSet(self, operationSiteID): - extraData = {'operationSiteID': operationSiteID} - self.NotifyOperationsServiceIfInteresting(eventConst.OPERATION_DESTINATION_SET_CLIENT, extraData=extraData) - - def OnClientEvent_CrateOpen(self, crateTypeID): - extraData = {'typeID': crateTypeID} - self.NotifyOperationsServiceIfInteresting(eventConst.CRATE_OPENED_CLIENT, extraData=extraData) - - def OnClientEvent_SkillPrioritized(self, skillTypeID): - extraData = {'typeID': skillTypeID} - self.NotifyOperationsServiceIfInteresting(eventConst.SKILL_PRIORITIZED_CLIENT, extraData=extraData) - - def OnClientEvent_SkillAddedToQueue(self, skillTypeID, skillLevel): - extraData = {'typeID': skillTypeID, - 'skillLevel': skillLevel} - self.NotifyOperationsServiceIfInteresting(eventConst.SKILL_ADDED_TO_QUEUE_CLIENT, extraData=extraData) - - def OnBookmarkCreated(self, bookmarkID, comment, typeID = None): - if typeID and ListContainsTypeInGivenGroups([typeID], [invConst.groupWormhole]): - self.LogAchievementEvent(eventConst.CREATE_WORMHOLE_BOOKMARK) - - def OnWindowOpened(self, window): - extraData = {'windowID': window.windowID} - self.NotifyOperationsServiceIfInteresting(eventConst.WINDOW_OPENED, extraData=extraData) - self.NotifyOperationsServiceIfInteresting(eventConst.WINDOW_OPENED_WITH_NAME_LIKE, extraData=extraData) - - def OnWindowClosed(self, windowID, *args): - extraData = dict(windowID=windowID) - self.NotifyOperationsServiceIfInteresting(eventConst.WINDOW_CLOSED, extraData=extraData) - self.NotifyOperationsServiceIfInteresting(eventConst.WINDOW_CLOSED_OR_MINIMIZED, extraData=extraData) - - def OnWindowMinimized(self, window, *args): - self.NotifyOperationsServiceIfInteresting(eventConst.WINDOW_CLOSED_OR_MINIMIZED, extraData=dict(windowID=window.windowID)) - - def OnInventoryContainerShown(self, invID, _previousInvID): - tabID, locationID = invID[0], invID[1] - self.NotifyOperationsServiceIfInteresting(eventConst.INVENTORY_CONTAINER_SHOWN, extraData=dict(tabID=tabID, locationID=locationID)) - - def OnClientEvent_AgencyContentExpanded(self, contentPiece): - extraData = {'contentTypeID': contentPiece.GetContentTypeID() or 0, - 'contentPieceType': contentPiece.contentType or 0} - self.NotifyOperationsServiceIfInteresting(eventConst.AGENCY_CONTENT_EXPANDED, extraData=extraData) - - def OnClientEvent_AgencyContentGroupExpanded(self, contentGroupID): - extraData = {'contentGroupID': contentGroupID} - self.NotifyOperationsServiceIfInteresting(eventConst.AGENCY_CONTENT_GROUP_EXPANDED, extraData=extraData) - - def OnClientEvent_ClaimRewardsButtonClicked(self): - self.NotifyOperationsServiceIfInteresting(eventConst.CLIENT_CLAIM_REWARDS_BTN_CLICK) - - def OnRWDungeonLobbyEntered(self, siteData, secondsRemaining): - self.NotifyOperationsServiceIfInteresting(eventConst.END_INCEPTION_NAVIGATION) - - def OnClientEvent_ConversationContinueButtonClicked(self, conversation_id): - self.NotifyOperationsServiceIfInteresting(eventConst.TASK_CONTINUE_BUTTON_PRESSED) - - def OnOperationSiteWarpToExecuted(self, siteID): - extraData = {'operationSiteID': siteID} - self.NotifyOperationsServiceIfInteresting(eventConst.TRAVEL_OPERATION_SITE_WARP_TO_EXECUTED_CLIENT, extraData=extraData) - - def OnDogmaAttributeChanged(self, shipID, itemID, attributeID, value): - if shipID != session.shipid: - return - extraData = {'dogmaAttributeID': attributeID, - 'dogmaAttributeValue': value} - self.NotifyOperationsServiceIfInteresting(eventConst.SHIP_DOGMA_ATTRIBUTE_CHANGED, extraData=extraData) - - def OnHighSlotFittingChanged(self): - shipID = session.shipid - if shipID: - shipItem = sm.GetService('godma').GetItem(shipID) - if shipItem: - shipItemCategoryID = shipItem.categoryID - if IsShip(shipItemCategoryID): - shipInventory = sm.GetService('invCache').GetInventoryFromId(shipID) - numberOfFreeSlots = shipInventory.GetAvailableTurretSlots() - if numberOfFreeSlots >= 2: - self.NotifyOperationsServiceIfInteresting(eventConst.TWO_TURRETS_FREED) diff --git a/achievements/common/__init__.py b/achievements/common/__init__.py @@ -1,2 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/__init__.py -pass diff --git a/achievements/common/achievement.py b/achievements/common/achievement.py @@ -1,30 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/achievement.py - - -class Achievement(object): - - def __init__(self, achievementID, name, description, conditions = None, notificationText = None, isClientAchievement = False, isEnabled = True): - self.achievementID = achievementID - self.name = name - self.description = description - self.notificationText = notificationText - self.isClientAchievement = isClientAchievement - self.isEnabled = isEnabled - if conditions is None: - self.conditions = [] - else: - self.conditions = conditions - - def AddCondition(self, condition): - self.conditions.append(condition) - - def GetConditions(self): - return self.conditions - - def IsAchievementFulfilled(self, playerStats): - conditions = self.GetConditions() - for condition in conditions: - if not condition.IsFullfilled(playerStats): - return False - - return True diff --git a/achievements/common/achievementConst.py b/achievements/common/achievementConst.py @@ -1,233 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/achievementConst.py -MESSAGE_ON_ACHIEVEMENT_EVENT_UPDATE = 'onAchievementEventUpdate' - -class AchievementEventConst: - MINING_TIMES_MINED = 'timesMined' - MINING_TOTAL_MINED = 'totalMined' - MINING_TOTAL_TYPE_MINED = 'totalTypeMined' - TRAVEL_WARP_COUNT = 'timesWarped' - TRAVEL_JUMP_COUNT = 'stargateJumps' - TRAVEL_DOCK_COUNT = 'dockInStation' - TRAVEL_DOCK_EXECUTED_CLIENT = 'client_dockInStationExecuted' - TRAVEL_UNDOCK_COUNT = 'undockFromStation' - TRAVEL_SET_DESTINATION_CLIENT = 'client_setDestination' - TRAVEL_SET_DESTINATION_TO_CAREER_AGENTS = 'client_setDestinationToCareerAgents' - TRAVEL_ACTIVATE_AUTOPILOT_CLIENT = 'client_activateAutopilot' - TRAVEL_JUMP_TO_NEXT_SYSTEM_EXECUTED_CLIENT = 'client_jumpToNextSystemInRouteExecuted' - TRAVEL_JUMP_TO_NEXT_SYSTEM_CLIENT = 'client_jumpToNextSystemInRoute' - TRAVEL_DISTRIBUTION_SITE_ENTERED_COUNT = 'distributionSiteEnteredCount' - TRAVEL_ENTER_WORMHOLE = 'enterWormhole' - TRAVEL_DUNGEON_ENTERED = 'dungeonEntered' - TRAVEL_DUNGEON_ROOM_ENTERED = 'dungeonRoomEntered' - TRAVEL_OPERATION_SITE_WARP_TO_EXECUTED_CLIENT = 'client_operationSiteWarpToExecuted' - TRAVEL_ENTER_ASTEROID_BELT = 'client_enterAsteroidBelt' - TRAVEL_CAREER_AGENT_SYSTEM_ENTERED = 'client_careerAgentSystemEntered' - MARKET_ORDER_PLACED_CLIENT = 'client_marketOrderPlaced' - ITEM_FLAG_CHANGED = 'itemFlagChanged' - ACCELERATION_GATE_ACTIVATED = 'accelerationGateActivated' - ACCELERATION_GATE_WARP_EXITED = 'accelerationGateWarpExited' - HACKING_MINI_GAME_WON = 'hackingMiniGameWon' - INVENTORY_CONTAINER_SHOWN = 'client_inventoryContainerShown' - SHIP_LEFT = 'shipLeft' - SHIP_BOARDED = 'shipBoarded' - SHIP_ASSEMBLED = 'shipAssembled' - SHIP_REPACKAGED = 'shipRepackaged' - OPERATION_DESTINATION_SET_CLIENT = 'client_operationDestinationSet' - CRATE_OPENED_CLIENT = 'client_crateOpened' - AGENT_START_CONVERSATION_COUNT = 'agentStartCount' - AGENT_MISSION_COMPLETED_COUNT = 'agentMissionCompletedCount' - AGENT_MISSION_REQUESTED_COUNT = 'agentMissionRequestedCount' - AGENT_MISSION_ACCEPTED_COUNT = 'agentAcceptCount' - AGENT_COURIER_MISSION_COMPLETED = 'agentCourierMissionCompleted' - AGENT_DUNGEON_MISSION_COMPLETED = 'agentDungeonMissionCompleted' - AGENT_MINING_MISSION_COMPLETED = 'agentMiningMissionCompleted' - AGENT_TRADE_MISSION_COMPLETED = 'agentTradeMissionCompleted' - COMBAT_SHIP_LOSS_COUNT = 'shipLossCount' - COMBAT_POD_LOSS_COUNT = 'podLossCount' - CONSCIOUSNESS_TRANSFERRED = 'consciousnessTransferred' - OPERATION_WARPED = 'inceptionWarped' - SKILL_TRAINING_STARTED_COUNT = 'skillTrainingStarted' - SKILL_TRAINING_FINISH = 'skillTrainingFinished' - SKILL_PRIORITIZED_CLIENT = 'client_skillPrioritized' - SKILL_ADDED_TO_QUEUE_CLIENT = 'client_skillAddedToQueue' - SKILL_INJECTED_COUNT = 'skillInjected' - SKILL_TRAINING_EVENT_TYPES = [SKILL_TRAINING_STARTED_COUNT, - SKILL_TRAINING_FINISH, - SKILL_PRIORITIZED_CLIENT, - SKILL_ADDED_TO_QUEUE_CLIENT, - SKILL_INJECTED_COUNT] - SKILL_POINTS_INJECTED = 'skillPointsInjected' - SKILL_POINTS_APPLIED = 'skillPointsApplied' - MARKET_BUY_COUNT = 'buyCount' - MARKET_SELL_COUNT = 'sellCount' - SOCIAL_START_CONVO_COUNT = 'inviteToConvoCount' - SOCIAL_JOIN_CORP_COUNT = 'joinCorpCount' - SOCIAL_SEND_MAIL_COUNT = 'mailSentCount' - SOCIAL_CHAT_MESSAGE_SENT = 'client_chatMessageSent' - SOCIAL_CONTACT_ADDED = 'contactAdded' - INDUSTRY_MANUFACTURING_JOB_STARTED_COUNT = 'industryManufacturingJobStartedCount' - INDUSTRY_REFINE_ORE_COUNT = 'refineOreCount' - INDUSTRY_REPROCESS_COUNT = 'finishedReprocessingCount' - INDUSTRY_REPROCESS_INPUT = 'reprocessingInput' - INDUSTRY_REPROCESS_OUTPUT = 'reprocessingOutput' - INDUSTRY_MANUFACTURING_JOB_DELIVERED_COUNT = 'industryManufacturingJobDeliveredCount' - INDUSTRY_LOAD_BLUEPRINT = 'client_loadBlueprint' - INDUSTRY_TYPE_MANUFACTURED_COUNT = 'typeManufacturedCount' - SHIP_FIT_SHIP_COUNT = 'fitItemCount' - DOUBLE_CLICK_COUNT_CLIENT = 'client_doubleClickInSpace' - SELECT_SPACE_BRACKET_CLIENT = 'client_selectSpaceBracket' - APPROACH_CLIENT = 'client_approach' - UI_OPEN_AGENCY_CLIENT = 'client_openAgency' - UI_OPEN_MAP_CLIENT = 'client_openMap' - UI_MOUSEZOOM_OUT_CLIENT = 'client_mouseZoom_out' - UI_MOUSEZOOM_IN_CLIENT = 'client_mouseZoom_in' - UI_MOUSE_ROTATE_CLIENT = 'client_spinCamera' - LOOK_AT_OBJECT = 'client_lookAtObject' - LOOK_AT_OWN_SHIP = 'client_lookAtOwnShip' - OPEN_CORP_FINDER = 'client_openCorpFinder' - CREATE_WORMHOLE_BOOKMARK = 'client_bookmarkWormhole' - CLIENT_ITEM_IN_MOVED_TO = 'client_itemMovedTo' - CLIENT_CLAIM_REWARDS_BTN_CLICK = 'client_claimRewardsBtnClick' - WINDOW_OPENED = 'client_windowOpened' - WINDOW_CLOSED = 'client_windowClosed' - WINDOW_CLOSED_OR_MINIMIZED = 'client_windowClosedOrMinimized' - WINDOW_OPENED_WITH_NAME_LIKE = 'client_windowOpenedWithNameLike' - HOSTILE_NPC_ORBIT_CLIENT = 'client_orbitHostileNPC' - HOSTILE_NPC_LOCK_CLIENT = 'client_lockHostileNPC' - HOSTILE_NPC_DESTROY = 'destroyHostileNPC' - VANGUARD_ASSIGNMENT_COMPLETED = 'vanguardAssignmentCompleted' - SOMETHING_EXPLODE = 'somethingExplode' - NPC_BOUNTY_PAID = 'NPCBountyPaid' - GROUP_REWARD_GRANTED = 'groupRewardGranted' - ENTITY_GROUP_DESTROYED = 'entityGroupDestroyed' - SHIP_STOPPED = 'shipStopped' - DUNGEON_TRIGGER_FIRED = 'dungeonTriggerFired' - LOCK_TARGET_CLIENT = 'client_lockTarget' - ORBIT_CLIENT = 'client_orbit' - OPEN_CARGO_EXECUTED_CLIENT = 'client_openCargoExecuted' - ACTIVATE_GUN_CLIENT = 'client_activateGun' - ITEMS_LOOT_CLIENT = 'client_lootItems' - ITEMS_MOVE_FROM_CARGO_TO_HANGAR_CLIENT = 'client_moveItemFromCargoToHangar' - ACTIVATE_SALVAGER_CLIENT = 'client_activateSalvager' - SUCCESSFUL_SALVAGE_COUNT = 'successfulSalvageCount' - LAUNCH_PROBES = 'client_launchProbes' - REACH_PERFECT_SCAN_RESULTS = 'client_reachPerfectScanResult' - ASTEROIDS_ORBIT_CLIENT = 'client_orbitAsteroid' - ASTEROIDS_LOCK_CLIENT = 'client_lockAsteroid' - ASTEROID_ACTIVATE_LASER_COUNT = 'activateMiningLaser' - FITTING_UNFIT_MODULE_CLIENT = 'client_unfitItem' - FITTING_LOAD_CHARGES_COUNT = 'loadChargesCount' - FITTING_FIT_HISLOT_COUNT = 'fitHiSlotCount' - FITTING_FIT_MEDSLOT_COUNT = 'fitMedSlotCount' - FITTING_FIT_LOSLOT_COUNT = 'fitLoSlotCount' - FITTING_FIT_PROBE_LAUNCHER = 'fitProbeLauncher' - SHIP_DOGMA_ATTRIBUTE_CHANGED = 'client_shipDogmaAttributeChanged' - TWO_TURRETS_FREED = 'client_twoTurretsFreed' - MODULE_ACTIVATE = 'moduleActivate' - DAMAGE_DEALT = 'damageDealt' - SITE_COMPLETED = 'siteComplete' - QUEST_ITEM_ACQUIRED = 'questItemAcquired' - ITEM_RECEIVED_FROM_ITEM_TRADER = 'itemReceivedFromItemTrader' - MARKET_BOUGHT_TYPE = 'marketBoughtType' - MARKET_SOLD_TYPE = 'marketSoldType' - REDEEM_TYPE = 'typeRedeemed' - AGENCY_CONTENT_EXPANDED = 'client_agencyContentExpanded' - AGENCY_CONTENT_GROUP_EXPANDED = 'client_agencyContentGroupExpanded' - END_INCEPTION_NAVIGATION = 'client_endInceptionNavigation' - ABYSS_SEQUENCE_STARTED = 'abyssSequenceStarted' - ABYSS_SEQUENCE_COMPLETED = 'abyssSequenceCompleted' - ABYSS_POCKET_COMPLETED = 'abyssPocketCompleted' - ABYSS_HOSTILE_NPC_DESTROY = 'abyssDestroyHostileNPC' - PROVING_GROUNDS_ENTERED = 'provingGroundsEntered' - PROVING_GROUNDS_WON = 'provingGroundsWon' - MODULE_MUTATED = 'moduleMutated' - NONCOMPLETABLE = 'noncompletable' - TASK_CONTINUE_BUTTON_PRESSED = 'client_taskContinueButtonPressed' - RESOURCE_WARS_COMPLETED = 'resourceWarsCompleted' - RESOURCE_WARS_HAULER_DEPOSIT = 'resourceWarsHaulerDeposit' - - -class AchievementConsts: - MINE_ORE = 2 - ORE_HOARDER = 3 - SUPER_MINER = 4 - USE_STARGATE = 9 - DOCK_IN_STATION = 10 - KILL_NPC = 12 - TALK_TO_AGENT = 13 - REQUEST_MISSION = 14 - COMPLETE_MISSION = 15 - WARP = 16 - PLACE_BUY_ORDER = 17 - PLACE_SELL_ORDER = 18 - START_TRAINING = 19 - ACCEPT_MISSION = 20 - DOUBLE_CLICK = 23 - UNDOCK_FROM_STATION = 24 - ACTIVATE_MINER = 25 - LOCK_ASTEROID = 26 - LOCK_NPC = 27 - ORBIT_NPC = 28 - ORBIT_ASTEROID = 29 - MOVE_FROM_CARGO_TO_HANGAR = 30 - LOOT_FROM_NPC_WRECK = 31 - FIT_ITEM = 32 - ACTIVATE_GUN = 36 - APPROACH = 38 - INJECT_SKILL = 39 - LOSE_SHIP = 41 - LOSE_POD = 42 - OPEN_MAP = 43 - SET_DESTINATION = 44 - JUMP_TO_NEXT_SYSTEM = 45 - ACTIVATE_AUTOPILOT = 46 - UNFIT_MODULE = 47 - FIT_HISLOT = 48 - FIT_MEDSLOT = 49 - FIT_LOSLOT = 50 - FIT_CHARGES = 51 - INVITE_TO_CONVO = 52 - CHAT_IN_LOCAL = 53 - SEND_EVEMAIL = 54 - USE_SALVAGER = 55 - REPROCESS = 56 - JOIN_CORP = 57 - START_INDUSTRY_JOB = 58 - REFINE_ORE = 59 - UI_ZOOM_IN_SPACE = 60 - UI_ROTATE_IN_SPACE = 61 - ADD_CONTACT = 62 - LOOK_AT_OBJECT = 63 - LOOK_AT_OWN_SHIP = 64 - ACTIVATE_SHIP = 66 - DELIVER_INDUSTRY_JOB = 70 - SALVAGE = 71 - ENTER_DISTRIBUTION_SITE = 72 - OPEN_CORP_FINDER = 73 - LOAD_BLUEPRINT = 74 - LAUNCH_PROBES = 75 - GET_PERFECT_SCAN_RESULTS = 76 - FIT_PROBE_LAUNCHER = 77 - ENTER_WORMHOLE = 78 - BOOKMARK_WORMHOLE = 79 - CAREER_AGENT = 81 - KILL_NPC_MULTI = 93 - LOOT_MULTI_NPC_WRECK = 94 - MISSION_CATEGORY_UNDEFINED = 95 - MISSION_CATEGORY_COURIER = 96 - MISSION_CATEGORY_DUNGEON = 97 - MISSION_CATEGORY_MINING = 98 - MISSION_CATEGORY_TRADING = 99 - MISSION_CATEGORY_INTERACTION = 100 - MISSION_CATEGORY_TALK_TO_AGENT = 101 - UI_OPEN_AGENCY_CLIENT = 102 - - -MISSION_CATEGORY_TO_EVENT = {AchievementConsts.MISSION_CATEGORY_COURIER: AchievementEventConst.AGENT_COURIER_MISSION_COMPLETED, - AchievementConsts.MISSION_CATEGORY_DUNGEON: AchievementEventConst.AGENT_DUNGEON_MISSION_COMPLETED, - AchievementConsts.MISSION_CATEGORY_MINING: AchievementEventConst.AGENT_MINING_MISSION_COMPLETED, - AchievementConsts.MISSION_CATEGORY_TRADING: AchievementEventConst.AGENT_TRADE_MISSION_COMPLETED} -TRAVEL_EVENTS = (AchievementEventConst.TRAVEL_JUMP_TO_NEXT_SYSTEM_EXECUTED_CLIENT, - AchievementEventConst.TRAVEL_CAREER_AGENT_SYSTEM_ENTERED, - AchievementEventConst.TRAVEL_JUMP_COUNT, - AchievementEventConst.TRAVEL_SET_DESTINATION_TO_CAREER_AGENTS) diff --git a/achievements/common/achievementController.py b/achievements/common/achievementController.py @@ -1,86 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/achievementController.py - - -class AchievementConstants: - EVENT_TYPE_MINING = 'mining' - EVENT_TYPE_JUMP = 'jump' - EVENT_TYPE_KILL = 'kill' - EVENT_TYPE_TRACKING_CAMERA = 'TrackingEnabled' - - -class AchievementCondition(object): - - def __init__(self): - pass - - def IsFullfilled(self, statDict): - pass - - -class AchievementSimpleCondition(AchievementCondition): - - def __init__(self, statName, targetValue): - self.statName = statName - self.targetValue = targetValue - - def IsFullfilled(self, statsDict): - fullfilled = False - if self.statName in statsDict: - value = int(statsDict[self.statName]) - fullfilled = value >= self.targetValue - return fullfilled - - def __str__(self): - return self.statName + ' Needs to be value: ' + str(self.targetValue) - - -class AchievementTracker(object): - - def __init__(self, notifyCallback): - self.value = 0 - self.triggerValue = 10 - self.notifyCallback = notifyCallback - - def LogEvent(self, value): - self.value += value - self.checkAndNotify() - - def checkAndNotify(self): - if self.HasFullfilledCondition(): - self.Notify() - - def Notify(self): - self.notifyCallback('success', self) - - def HasFullfilledCondition(self): - return self.value >= self.triggerValue - - -class AchievementConditionData(object): - - def __init__(self, eventName, eventType, value): - self.eventName = eventName - self.eventType = eventType - self.value = value - - -class ExampleConditionProducer(object): - - def __init__(self): - self.datas = {} - - def GetExampleConditionData(self): - list = [] - list.append(AchievementConditionData('oreMined', 'ore', 1)) - - -def GetAchievementGroup(groupID, groups): - for each in groups: - if each.groupID == groupID: - return each - - -def GetGroupForAchievement(achievementID, groups): - for eachGroup in groups: - if achievementID in eachGroup.achievementTaskIDs: - return eachGroup diff --git a/achievements/common/achievementGroup.py b/achievements/common/achievementGroup.py @@ -1,96 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/achievementGroup.py - - -class AchievementGroupData(object): - - def __init__(self, groupID, taskIds): - pass - - -class AchievementGroup(object): - _achievementTasks = None - - def __init__(self, groupID, nameLabelPath, descriptionLabelPath, notificationPath, achievementTaskIDs, groupConnections, treePosition = None, triggeredBy = None, suggestedGroup = True, allAchievementGetter = None, completedAchievementGetter = None, *args, **kwargs): - self.groupID = groupID - self.groupName = nameLabelPath - self.groupDescription = descriptionLabelPath - self.groupConnections = groupConnections - self.achievementTaskIDs = achievementTaskIDs - self.notificationPath = notificationPath - self.triggeredBy = triggeredBy - self.suggestedGroup = suggestedGroup - if treePosition: - self.SetTreePosition(treePosition) - else: - self.treePosition = (1, 1) - self._getAllAchievementsFunc = allAchievementGetter - self.GetAllCompletedAchievements = completedAchievementGetter - - def SetTreePosition(self, treePosition): - self.treePosition = treePosition - - def GetAchievementTaskIDs(self): - return self.achievementTaskIDs - - def HasAchievement(self, achievementID): - return achievementID in self.achievementTaskIDs - - def GetAllAchievements(self): - if self._getAllAchievementsFunc is None: - self._getAllAchievementsFunc = sm.GetService('achievementSvc').GetAllAchievements - return self._getAllAchievementsFunc() - - def _GetAchievementTasks(self): - if self._achievementTasks is None: - self._achievementTasks = [] - allAchievements = self.GetAllAchievements() - for achievementTaskID in self.achievementTaskIDs: - self._achievementTasks.append(allAchievements[achievementTaskID]) - - return self._achievementTasks - - def GetAchievementTasks(self): - return self._GetAchievementTasks() - - def _GetCompletedAchievementTasks(self): - if self.GetAllCompletedAchievements is None: - self.GetAllCompletedAchievements = sm.GetService('achievementSvc').GetCompletedTaskIds - return self.GetAllCompletedAchievements() - - def IsCompleted(self): - groupTasks = self._GetAchievementTasks() - totalNum = len(groupTasks) - numberOfCompleted = self.GetNumberOfCompleted() - return totalNum == numberOfCompleted - - def GetNumberOfCompleted(self): - groupTasks = self._GetAchievementTasks() - completedTasks = self._GetCompletedAchievementTasks() - completed = len([ x for x in groupTasks if x.achievementID in completedTasks ]) - return completed - - def GetNumberOfTasks(self): - return len(self.achievementTaskIDs) - - def GetProgressProportion(self): - total = self.GetNumberOfTasks() - completed = self.GetNumberOfCompleted() - return completed / float(total) - - def GetNextIncompleteTask(self, currentAchievementTaskID = None): - tasks = self._GetAchievementTasks() - completed = self.GetAllCompletedAchievements() - foundCurrent = currentAchievementTaskID is None - for each in tasks: - if each.achievementID == currentAchievementTaskID: - foundCurrent = True - continue - if foundCurrent and each.achievementID not in completed: - return each - - def GetFirstCompletedTask(self): - tasks = self._GetAchievementTasks() - completed = self.GetAllCompletedAchievements() - for each in tasks: - if each.achievementID in completed: - return each diff --git a/achievements/common/achievementGroupStore.py b/achievements/common/achievementGroupStore.py @@ -1,39 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/achievementGroupStore.py - - -class AchievementGroupStore(object): - - def __init__(self, groups): - self.groups = groups - - def GetTaskIds(self): - allTaskIds = set() - for group in self.GetAchievementGroups(): - allTaskIds.update(group.GetAchievementTaskIDs()) - - return allTaskIds - - def GetAchievementGroups(self): - return self.groups - - def GetAchievementGroup(self, groupID): - for each in self.GetAchievementGroups(): - if each.groupID == groupID: - return each - - def GetGroupForAchievement(self, achievementID): - for eachGroup in self.GetAchievementGroups(): - if achievementID in eachGroup.achievementTaskIDs: - return eachGroup - - def GetFirstIncompleteAchievementGroup(self, alreadyActivated): - for each in self.GetAchievementGroups(): - if not each.suggestedGroup: - continue - if each.groupID not in alreadyActivated and not each.IsCompleted(): - return each - - def GroupTriggeredByTask(self, task, alreadyActivated): - for each in self.GetAchievementGroups(): - if each.triggeredBy == task and each.groupID not in alreadyActivated and not each.IsCompleted(): - return each diff --git a/achievements/common/achievementGroups.py b/achievements/common/achievementGroups.py @@ -1,99 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/achievementGroups.py -from achievements.common.achievementConst import AchievementConsts -from achievements.common.achievementGroup import AchievementGroup -from opportunityTaskMap import OpportunityConst -from opportunityTaskMap import GROUP_TO_TASK_IDS -from achievements.common.achievementGroupStore import AchievementGroupStore -group103 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/welcome', descriptionLabelPath='Achievements/GroupDescriptionText/welcome', notificationPath='Achievements/GroupNotificationText/welcome', groupID=OpportunityConst.SKILL, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.SKILL], groupConnections=[OpportunityConst.LOOK], treePosition=(2, 3)) -group100 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/look', descriptionLabelPath='Achievements/GroupDescriptionText/look', notificationPath='Achievements/GroupNotificationText/look', groupID=OpportunityConst.LOOK, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.LOOK], groupConnections=[OpportunityConst.FLY], treePosition=(1, 1)) -group101 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/fly', descriptionLabelPath='Achievements/GroupDescriptionText/fly', notificationPath='Achievements/GroupNotificationText/fly', groupID=OpportunityConst.FLY, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.FLY], groupConnections=[OpportunityConst.KILL], treePosition=(1, 2)) -group102 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/kill', descriptionLabelPath='Achievements/GroupDescriptionText/kill', notificationPath='Achievements/GroupNotificationText/kill', groupID=OpportunityConst.KILL, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.KILL], groupConnections=[OpportunityConst.LOOT], treePosition=(1, 3)) -group121 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/loot', descriptionLabelPath='Achievements/GroupDescriptionText/loot', notificationPath='Achievements/GroupNotificationText/loot', groupID=OpportunityConst.LOOT, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.LOOT], groupConnections=[OpportunityConst.STATION], treePosition=(7, 2)) -group105 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/station', descriptionLabelPath='Achievements/GroupDescriptionText/station', notificationPath='Achievements/GroupNotificationText/station', groupID=OpportunityConst.STATION, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.STATION], groupConnections=[OpportunityConst.FITTING], treePosition=(2, 1)) -group108 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/fitting', descriptionLabelPath='Achievements/GroupDescriptionText/fitting', notificationPath='Achievements/GroupNotificationText/fitting', groupID=OpportunityConst.FITTING, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.FITTING], groupConnections=[OpportunityConst.MINE], treePosition=(3, 3)) -group106 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/mine', descriptionLabelPath='Achievements/GroupDescriptionText/mine', notificationPath='Achievements/GroupNotificationText/mine', groupID=OpportunityConst.MINE, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.MINE], groupConnections=[OpportunityConst.MARKET], treePosition=(3, 1)) -group107 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/market', descriptionLabelPath='Achievements/GroupDescriptionText/market', notificationPath='Achievements/GroupNotificationText/market', groupID=OpportunityConst.MARKET, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.MARKET], groupConnections=[OpportunityConst.ROUTE], treePosition=(3, 2)) -group111 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/career', descriptionLabelPath='Achievements/GroupDescriptionText/career', notificationPath='Achievements/GroupNotificationText/career', groupID=OpportunityConst.ROUTE, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.ROUTE], groupConnections=[OpportunityConst.AGENTS], treePosition=(4, 1)) -group114 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/mission', descriptionLabelPath='Achievements/GroupDescriptionText/mission', notificationPath='Achievements/GroupNotificationText/mission', groupID=OpportunityConst.AGENTS, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.AGENTS], groupConnections=[OpportunityConst.INDUSTRY], treePosition=(5, 3)) -group112 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/industry', descriptionLabelPath='Achievements/GroupDescriptionText/industry', notificationPath='Achievements/GroupNotificationText/industry', groupID=OpportunityConst.INDUSTRY, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.INDUSTRY], groupConnections=[OpportunityConst.EXPLORATION], treePosition=(5, 1), suggestedGroup=False) -group113 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/exploration', descriptionLabelPath='Achievements/GroupDescriptionText/exploration', notificationPath='Achievements/GroupNotificationText/exploration', groupID=OpportunityConst.EXPLORATION, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.EXPLORATION], groupConnections=[OpportunityConst.DEATH], treePosition=(5, 2), suggestedGroup=False) -group115 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/death', descriptionLabelPath='Achievements/GroupDescriptionText/death', notificationPath='Achievements/GroupNotificationText/death', groupID=OpportunityConst.DEATH, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.DEATH], groupConnections=[OpportunityConst.CORP], treePosition=(6, 3), triggeredBy=AchievementConsts.LOSE_SHIP, suggestedGroup=False) -group116 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/corp', descriptionLabelPath='Achievements/GroupDescriptionText/corp', notificationPath='Achievements/GroupNotificationText/corp', groupID=OpportunityConst.CORP, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.CORP], groupConnections=[OpportunityConst.WORMHOLE], treePosition=(6, 2), suggestedGroup=False) -group117 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/wormhole', descriptionLabelPath='Achievements/GroupDescriptionText/wormhole', notificationPath='Achievements/GroupNotificationText/wormhole', groupID=OpportunityConst.WORMHOLE, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.WORMHOLE], groupConnections=[OpportunityConst.SALVAGE], treePosition=(6, 1), triggeredBy=AchievementConsts.ENTER_WORMHOLE, suggestedGroup=False) -group118 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/salvage', descriptionLabelPath='Achievements/GroupDescriptionText/salvage', notificationPath='Achievements/GroupNotificationText/salvage', groupID=OpportunityConst.SALVAGE, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.SALVAGE], groupConnections=[OpportunityConst.PODDED], treePosition=(7, 1), suggestedGroup=False) -group119 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/podded', descriptionLabelPath='Achievements/GroupDescriptionText/podded', notificationPath='Achievements/GroupNotificationText/podded', groupID=OpportunityConst.PODDED, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.PODDED], groupConnections=[OpportunityConst.SOCIAL], treePosition=(7, 2), triggeredBy=AchievementConsts.LOSE_POD, suggestedGroup=False) -group109 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/social', descriptionLabelPath='Achievements/GroupDescriptionText/social', notificationPath='Achievements/GroupNotificationText/social', groupID=OpportunityConst.SOCIAL, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.SOCIAL], groupConnections=[], treePosition=(4, 3), suggestedGroup=False) -group120 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/agents', descriptionLabelPath='Achievements/GroupDescriptionText/career', notificationPath='Achievements/GroupNotificationText/agents', groupID=OpportunityConst.AGENTSEXP, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.AGENTSEXP], groupConnections=[OpportunityConst.DEATH], treePosition=(8, 7), suggestedGroup=False) -group104 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/warp', descriptionLabelPath='Achievements/GroupDescriptionText/warp', notificationPath='Achievements/GroupNotificationText/warp', groupID=OpportunityConst.WARP, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.WARP], groupConnections=[OpportunityConst.STATION], treePosition=(2, 2), suggestedGroup=False) -group110 = AchievementGroup(nameLabelPath='Achievements/GroupNameText/stargate', descriptionLabelPath='Achievements/GroupDescriptionText/stargate', notificationPath='Achievements/GroupNotificationText/stargate', groupID=OpportunityConst.STARGATE, achievementTaskIDs=GROUP_TO_TASK_IDS[OpportunityConst.STARGATE], groupConnections=[OpportunityConst.ROUTE], treePosition=(4, 2), suggestedGroup=False) -group109.SetTreePosition((16, 4)) -group119.SetTreePosition((10, 11)) -group118.SetTreePosition((12, 4)) -group117.SetTreePosition((14, 11)) -group116.SetTreePosition((15, 4)) -group115.SetTreePosition((9, 10)) -group113.SetTreePosition((13, 4)) -group112.SetTreePosition((16, 6)) -group114.SetTreePosition((14, 7)) -group111.SetTreePosition((12, 6)) -group107.SetTreePosition((10, 5)) -group106.SetTreePosition((10, 7)) -group108.SetTreePosition((12, 8)) -group105.SetTreePosition((14, 9)) -group121.SetTreePosition((12, 10)) -group102.SetTreePosition((10, 9)) -group101.SetTreePosition((8, 8)) -group100.SetTreePosition((8, 6)) -group103.SetTreePosition((8, 4)) -_achievementGroups3 = [group103, - group100, - group101, - group102, - group121, - group105, - group108, - group106, - group107, - group111, - group114, - group112, - group113, - group115, - group116, - group117, - group118, - group119, - group109] -mainGroupsStore = AchievementGroupStore(_achievementGroups3) - -def GetAchievementGroups(): - return mainGroupsStore.GetAchievementGroups() - - -def GetTaskIds(): - return mainGroupsStore.GetTaskIds() - - -def GetFirstIncompleteAchievementGroup(): - alreadyActivated = settings.char.ui.Get('opportunities_aura_activated', []) - return mainGroupsStore.GetFirstIncompleteAchievementGroup(alreadyActivated) - - -def GroupTriggeredByTask(task): - alreadyActivated = settings.char.ui.Get('opportunities_aura_activated', []) - for each in GetAchievementGroups(): - if each.triggeredBy == task and each.groupID not in alreadyActivated and not each.IsCompleted(): - return each - - -def GetAchievementGroup(groupID): - return mainGroupsStore.GetAchievementGroup(groupID=groupID) - - -def GetGroupForAchievement(achievementID): - return mainGroupsStore.GetGroupForAchievement(achievementID) - - -def GetActiveAchievementGroup(): - activeGroupID = sm.GetService('achievementSvc').GetActiveAchievementGroupID() - return GetAchievementGroup(activeGroupID) diff --git a/achievements/common/achievementLoader.py b/achievements/common/achievementLoader.py @@ -1,44 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/achievementLoader.py -from achievements.common.achievement import Achievement -from fsdBuiltData.common.achievementEvents import AchievementEvents -from ..common.achievementController import AchievementSimpleCondition -import localization - -class AchievementLoader: - - def _LoadRawAchievementData(self): - import fsd.schemas.binaryLoader as fsdBinaryLoader - return fsdBinaryLoader.LoadFSDDataForCFG('res:/staticdata/achievements.static') - - def GetAchievements(self, getDisabled = False): - rawData = self._LoadRawAchievementData() - return self.ConstructAchievementDictFromData(rawData, getDisabled=getDisabled) - - def AddConditions(self, achievement, value): - if value.simpleConditions: - for conditionid in value.simpleConditions: - simplecondition = value.simpleConditions[conditionid] - achievementEventName = self._GetAchievementEventNameByID(simplecondition.statistic) - achievement.AddCondition(AchievementSimpleCondition(statName=achievementEventName, targetValue=simplecondition.targetValue)) - - def _GetAchievementEventNameByID(self, eventID): - return AchievementEvents.GetName(eventID) - - def ConstructAchievementDictFromData(self, loadedAchievements, getDisabled = False): - achievements = {} - if loadedAchievements is None: - print 'LogError' - return {} - for key, value in loadedAchievements.iteritems(): - if not getDisabled and not value.isEnabled: - continue - notificationTextID = getattr(value, 'notificationTextID', None) - if notificationTextID: - notificationText = localization.GetByMessageID(value.notificationTextID) - else: - notificationText = None - achievement = Achievement(achievementID=key, name=localization.GetByMessageID(value.nameID), description=localization.GetByMessageID(value.descriptionID), notificationText=notificationText, isClientAchievement=value.isClientAchievement, isEnabled=value.isEnabled) - self.AddConditions(achievement, value) - achievements[key] = achievement - - return achievements diff --git a/achievements/common/eventExceptionEater.py b/achievements/common/eventExceptionEater.py @@ -1,10 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/eventExceptionEater.py -from contextlib import contextmanager - -@contextmanager -def AchievementEventExceptionEater(): - try: - yield - except Exception as e: - import log - log.LogTraceback('Failed when recording event, e = %s' % e) diff --git a/achievements/common/eventHandlerUtil.py b/achievements/common/eventHandlerUtil.py @@ -1,27 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/eventHandlerUtil.py -import evetypes - -def ListContainsTypeInGivenCategories(typeIDs, categoryIDs): - - def IsCategoryInList(typeID): - return evetypes.GetCategoryID(typeID) in categoryIDs - - return ContainsTypeInGivenCollections(typeIDs, IsCategoryInList) - - -def ListContainsTypeInGivenGroups(typeIDs, groupIDs): - - def IsGroupInList(typeID): - return evetypes.GetGroupID(typeID) in groupIDs - - return ContainsTypeInGivenCollections(typeIDs, IsGroupInList) - - -def ContainsTypeInGivenCollections(typeIDs, checkFunc): - for typeID in typeIDs: - if not evetypes.Exists(typeID): - continue - if checkFunc(typeID): - return True - - return False diff --git a/achievements/common/opportunityTaskMap.py b/achievements/common/opportunityTaskMap.py @@ -1,111 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/opportunityTaskMap.py -from achievements.common.achievementConst import AchievementConsts - -class OpportunityConst: - LOOK = 100 - FLY = 101 - KILL = 102 - SKILL = 103 - WARP = 104 - STATION = 105 - MINE = 106 - MARKET = 107 - FITTING = 108 - SOCIAL = 109 - STARGATE = 110 - ROUTE = 111 - INDUSTRY = 112 - EXPLORATION = 113 - AGENTS = 114 - DEATH = 115 - CORP = 116 - WORMHOLE = 117 - SALVAGE = 118 - PODDED = 119 - AGENTSEXP = 120 - LOOT = 121 - - -GROUP_TO_TASK_IDS = {OpportunityConst.LOOK: [AchievementConsts.UI_ROTATE_IN_SPACE, - AchievementConsts.UI_ZOOM_IN_SPACE, - AchievementConsts.LOOK_AT_OBJECT, - AchievementConsts.LOOK_AT_OWN_SHIP], - OpportunityConst.FLY: [AchievementConsts.DOUBLE_CLICK, AchievementConsts.APPROACH], - OpportunityConst.KILL: [AchievementConsts.ORBIT_NPC, - AchievementConsts.LOCK_NPC, - AchievementConsts.ACTIVATE_GUN, - AchievementConsts.KILL_NPC, - AchievementConsts.KILL_NPC_MULTI], - OpportunityConst.SKILL: [AchievementConsts.START_TRAINING], - OpportunityConst.WARP: [AchievementConsts.WARP], - OpportunityConst.STATION: [AchievementConsts.DOCK_IN_STATION, AchievementConsts.MOVE_FROM_CARGO_TO_HANGAR], - OpportunityConst.MINE: [AchievementConsts.UNDOCK_FROM_STATION, - AchievementConsts.ORBIT_ASTEROID, - AchievementConsts.LOCK_ASTEROID, - AchievementConsts.ACTIVATE_MINER, - AchievementConsts.MINE_ORE, - AchievementConsts.REFINE_ORE], - OpportunityConst.MARKET: [AchievementConsts.USE_STARGATE, AchievementConsts.PLACE_SELL_ORDER, AchievementConsts.PLACE_BUY_ORDER], - OpportunityConst.FITTING: [AchievementConsts.UNFIT_MODULE, - AchievementConsts.FIT_HISLOT, - AchievementConsts.FIT_MEDSLOT, - AchievementConsts.FIT_LOSLOT], - OpportunityConst.SOCIAL: [AchievementConsts.CHAT_IN_LOCAL, AchievementConsts.INVITE_TO_CONVO, AchievementConsts.ADD_CONTACT], - OpportunityConst.STARGATE: [AchievementConsts.USE_STARGATE], - OpportunityConst.ROUTE: [AchievementConsts.TALK_TO_AGENT, - AchievementConsts.SET_DESTINATION, - AchievementConsts.OPEN_MAP, - AchievementConsts.JUMP_TO_NEXT_SYSTEM, - AchievementConsts.ACTIVATE_AUTOPILOT], - OpportunityConst.INDUSTRY: [AchievementConsts.LOAD_BLUEPRINT, AchievementConsts.START_INDUSTRY_JOB, AchievementConsts.DELIVER_INDUSTRY_JOB], - OpportunityConst.EXPLORATION: [AchievementConsts.ENTER_DISTRIBUTION_SITE, - AchievementConsts.FIT_PROBE_LAUNCHER, - AchievementConsts.LAUNCH_PROBES, - AchievementConsts.GET_PERFECT_SCAN_RESULTS], - OpportunityConst.AGENTS: [AchievementConsts.ACCEPT_MISSION, AchievementConsts.COMPLETE_MISSION], - OpportunityConst.DEATH: [AchievementConsts.LOSE_SHIP, AchievementConsts.ACTIVATE_SHIP], - OpportunityConst.CORP: [AchievementConsts.OPEN_CORP_FINDER, AchievementConsts.JOIN_CORP], - OpportunityConst.WORMHOLE: [AchievementConsts.ENTER_WORMHOLE, AchievementConsts.BOOKMARK_WORMHOLE], - OpportunityConst.SALVAGE: [AchievementConsts.USE_SALVAGER, AchievementConsts.SALVAGE], - OpportunityConst.PODDED: [AchievementConsts.LOSE_POD], - OpportunityConst.AGENTSEXP: [AchievementConsts.CAREER_AGENT, AchievementConsts.ACCEPT_MISSION, AchievementConsts.COMPLETE_MISSION], - OpportunityConst.LOOT: [AchievementConsts.LOOT_FROM_NPC_WRECK, AchievementConsts.LOOT_MULTI_NPC_WRECK, AchievementConsts.WARP]} -REWARD_1 = 25000 -REWARD_2 = 50000 -REWARD_3 = 75000 -REWARD_4 = 100000 -REWARD_5 = 150000 -REWARD_6 = 200000 -GROUP_TO_REWARD = {OpportunityConst.LOOK: REWARD_1, - OpportunityConst.FLY: REWARD_1, - OpportunityConst.KILL: REWARD_2, - OpportunityConst.SKILL: REWARD_1, - OpportunityConst.WARP: REWARD_2, - OpportunityConst.STATION: REWARD_2, - OpportunityConst.MINE: REWARD_2, - OpportunityConst.MARKET: REWARD_3, - OpportunityConst.FITTING: REWARD_3, - OpportunityConst.SOCIAL: REWARD_4, - OpportunityConst.STARGATE: REWARD_3, - OpportunityConst.ROUTE: REWARD_4, - OpportunityConst.INDUSTRY: REWARD_5, - OpportunityConst.EXPLORATION: REWARD_5, - OpportunityConst.AGENTS: REWARD_4, - OpportunityConst.DEATH: REWARD_6, - OpportunityConst.CORP: REWARD_5, - OpportunityConst.WORMHOLE: REWARD_5, - OpportunityConst.SALVAGE: REWARD_5, - OpportunityConst.PODDED: REWARD_6, - OpportunityConst.AGENTSEXP: REWARD_1, - OpportunityConst.LOOT: REWARD_2} - -def BuildIndex(idArrayDict): - index = {} - for key, taskList in idArrayDict.iteritems(): - for value in taskList: - index[value] = key - - return index - - -TASK_ID_TO_GROUP = BuildIndex(GROUP_TO_TASK_IDS) diff --git a/achievements/common/statsTracker.py b/achievements/common/statsTracker.py @@ -1,82 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/statsTracker.py -from collections import defaultdict -import gametime - -class StatsTracker(object): - - def __init__(self, achievementGroups = None): - self.statistics = defaultdict(int) - self.extraInfo = {} - self.achievedDict = {} - self.ResetUnloggedStats() - self.ResetUnloggedAchievements() - self.achievementGroups = achievementGroups - - def GetStatValue(self, key): - return self.statistics[key] - - def ThrowErrorIfBelowZero(self, count): - if count < 0: - raise BelowZeroCountException() - - def CheckDidJustUnlockGroup(self, taskID): - pass - - def LogStatistic(self, key, count = 1, addToUnlogged = True): - self.ThrowErrorIfBelowZero(count) - if count < 1: - return - self.statistics[key] += count - if addToUnlogged: - self.unloggedStats[key] += count - - def GetStatistics(self): - return self.statistics.copy() - - def GetCurrentAchievements(self): - return self.achievedDict.copy() - - def AddAchievement(self, achievementID, addToUnlogged = True, dateAchieved = None): - if achievementID in self.achievedDict: - return - if dateAchieved: - timestamp = dateAchieved - else: - timestamp = gametime.GetWallclockTimeNow() - self.achievedDict[achievementID] = timestamp - if addToUnlogged: - self.unloggedAchievements[achievementID] = timestamp - - def GetUnloggedStats(self): - return self.unloggedStats.copy() - - def ResetUnloggedStats(self): - self.unloggedStats = defaultdict(int) - - def GetUnloggedAchievements(self): - return self.unloggedAchievements.copy() - - def ResetUnloggedAchievements(self): - self.unloggedAchievements = {} - - def ResetStatistics(self): - self.statistics.clear() - self.ResetUnloggedStats() - - def ResetAchieved(self): - self.achievedDict.clear() - self.ResetUnloggedAchievements() - - def RemoveAchieved(self, achievementID): - if achievementID in self.achievedDict: - self.achievedDict.pop(achievementID) - - def RemoveEvent(self, eventName): - self.statistics.pop(eventName, None) - - def IsSomethingUnlogged(self): - return bool(self.GetUnloggedAchievements() or self.GetUnloggedStats()) - - -class BelowZeroCountException(Exception): - pass diff --git a/achievements/common/util.py b/achievements/common/util.py @@ -1,68 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/4e00ffe7f5d454f0/eve/release/V23.02/packages/achievements/common/util.py -from collections import defaultdict -from achievements.common.opportunityTaskMap import BuildIndex -import gametime -ARE_OPPORTUNITIES_ENABLED = False - -def AreOpportunitiesEnabled(): - return ARE_OPPORTUNITIES_ENABLED - - -def UpdateAndGetNewAchievements(existingAchivements, completedDict, statsTrakcer): - newAchievementDict = {} - for key, achievement in existingAchivements.iteritems(): - if achievement.achievementID in completedDict: - continue - if achievement.IsAchievementFulfilled(statsTrakcer.GetStatistics()): - timestamp = gametime.GetWallclockTime() - statsTrakcer.AddAchievement(achievement.achievementID, dateAchieved=timestamp) - newAchievementDict[achievement.achievementID] = timestamp - - return newAchievementDict - - -def GetClientAchievements(allAchievementsDict): - clientAchievements = {} - for achievementID, achievementData in allAchievementsDict.iteritems(): - if not achievementData.isClientAchievement: - continue - clientAchievements[achievementID] = achievementData - - return clientAchievements - - -def GetAchievementsByEventsDict(achievementDict): - eventDict = defaultdict(set) - for achievementID, achievementData in achievementDict.iteritems(): - for c in achievementData.conditions: - eventDict[c.statName].add(achievementID) - - return eventDict - - -def GetUnlockedGroupsFromDefault(achieved, newAchievements): - from achievements.common.opportunityTaskMap import GROUP_TO_TASK_IDS, TASK_ID_TO_GROUP - return _GetUnlockedOpportunities(achieved, GROUP_TO_TASK_IDS, newAchievements, TASK_ID_TO_GROUP) - - -def GetUnlockedGroups(achieved, newAchievements, allOpportunities): - reverseIndex = BuildIndex(allOpportunities) - return _GetUnlockedOpportunities(achieved, allOpportunities, newAchievements, reverseIndex) - - -def _GetUnlockedOpportunities(achieved, allOpportunities, newAchievements, reverseIndex): - unlockedGroups = {} - totalAchieved = newAchievements.keys() + achieved.keys() - for newID, timeStamp in newAchievements.iteritems(): - groupID = reverseIndex.get(newID, None) - if groupID: - allTasksForGroup = allOpportunities[groupID] - achievementCount = 0 - for task in allTasksForGroup: - if task in totalAchieved: - achievementCount += 1 - - if achievementCount == len(allTasksForGroup): - unlockedGroups[groupID] = timeStamp - - return unlockedGroups diff --git a/auraguidance/client/repository.py b/auraguidance/client/repository.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/auraguidance/client/repository.py +from __future__ import print_function from auraguidance.client import aura_guidance_signals from auraguidance.client.errors import AuraGuidanceServiceUnavailableError from auraguidance.client.logger import logger @@ -67,6 +68,6 @@ class AuraGuidanceRepository(object): def test_a_a_test_enabled(self): if not self.is_a_a_test_enabled(): - print 'A/A Test says nope.' + print('A/A Test says nope.') return - print 'A/A Test says yup.' + print('A/A Test says yup.') diff --git a/avatardisplay/avatardisplay.py b/avatardisplay/avatardisplay.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/avatardisplay/avatardisplay.py from __future__ import absolute_import +from __future__ import print_function import logging import math import os @@ -31,6 +32,7 @@ from avatardisplay import cmd_avatarwindow import avatardisplay.avatar_command as ac from avatardisplay.errors import FailedToPlaybackScene from fsdBuiltData.common.character import GetAvatarBehaviorRows +from functools import reduce AvatarDisplay_Next_CharID = None Prs_To_CharID_Dict = {} cache = {} @@ -671,10 +673,10 @@ class AvatarCommandReceiverContainer(AvatarPreviewContainer): self.process_command(args) def process_command(self, args): - print ('got here', len(args), args[1:]) + print(('got here', len(args), args[1:])) if len(args) >= 1: curr_command = args[0] - print curr_command + print(curr_command) if curr_command in self.COMMANDS: command_func = getattr(ac, 'avcmd_' + curr_command) uthread.new(command_func, self, *args[1:]) diff --git a/beeline/__main__.py b/beeline/__main__.py @@ -1,5 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/beeline/__main__.py - +from __future__ import print_function def run(): - print 'Hello world' + print('Hello world') diff --git a/behaviors/actions/drones.py b/behaviors/actions/drones.py @@ -49,12 +49,14 @@ class DroneGetter(EntityGetter): return self._get_spawn_data_for_entities(drones.iteritems(), behavior_override_id) def _GetDroneTypeID(self): - blackboard_value = self.task.GetLastBlackboardValue(self.task.attributes.droneTypeIdAddress) - type_ID = self.task.attributes.droneTypeId - if blackboard_value is not None: - return blackboard_value - if type_ID is not None: - return type_ID + drone_type_id_address = self.task.attributes.droneTypeIdAddress + if drone_type_id_address is not None: + blackboard_value = self.task.GetLastBlackboardValue(drone_type_id_address) + if blackboard_value is not None: + return blackboard_value + type_id = self.task.attributes.droneTypeId + if type_id is not None: + return type_id raise BehaviorAuthoringException('BehaviorID: %s has no drone type ID defined for task: %s', self.behaviorTree.GetBehaviorId(), type(self).__name__) def _get_max_drones(self, drones_spawned_total): diff --git a/behaviors/monitors/combat.py b/behaviors/monitors/combat.py @@ -354,7 +354,7 @@ class MonitorSecurityStatusLoss(Task): distance = ballpark.DistanceBetween(self.context.myItemId, shipID) if distance > self.attributes.maxDistance: return - except StandardError: + except Exception: pass self.AddBallAsTargetAndResetTree(shipID) diff --git a/behaviors/registry/__init__.py b/behaviors/registry/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/behaviors/registry/__init__.py +from __future__ import absolute_import COMPOSITE = 'composite' ACTION = 'action' CONDITION = 'condition' @@ -6,10 +7,10 @@ DECORATOR = 'decorator' MONITOR = 'monitor' def get_task_registry(): - import composites - import actions - import conditions - import decorators - import monitors - from registrator import REGISTRY + from . import composites + from . import actions + from . import conditions + from . import decorators + from . import monitors + from .registrator import REGISTRY return REGISTRY diff --git a/billboards/__init__.py b/billboards/__init__.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/billboards/__init__.py +from __future__ import absolute_import import logging -from billboardsystem import BillboardSystem +from .billboardsystem import BillboardSystem from fsdBuiltData.client.billboards import GetVideoSpecificationsIterator, GetResourcesForView logger = logging.getLogger(__name__) diff --git a/bluepy/__init__.py b/bluepy/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/bluepy/__init__.py +from future.utils import raise_ import atexit import blue import contextlib @@ -278,20 +279,20 @@ class PyResFile(object): try: self.rf.Create(path) except: - raise IOError, 'could not create ' + path + raise_(IOError, 'could not create ' + path) else: readonly = 'a' not in mode and '+' not in mode try: self.rf.OpenAlways(path, readonly, mode) except: - raise IOError, 'could not open ' + path + raise_(IOError, 'could not open ' + path) def read(self, count = 0): try: return self.rf.read(count) except: - raise IOError, 'could not read %d bytes from %s' % (count, self.rf.filename) + raise_(IOError, 'could not read %d bytes from %s' % (count, self.rf.filename)) def write(self, data): raise NotImplemented @@ -319,7 +320,7 @@ class PyResFile(object): try: self.rf.Seek(where) except: - raise IOError, 'could not seek to pos %d in %s' % (where, self.rf.filename) + raise_(IOError, 'could not seek to pos %d in %s' % (where, self.rf.filename)) def tell(self): return self.rf.pos @@ -330,7 +331,7 @@ class PyResFile(object): try: self.rf.SetSize(size) except: - raise IOError, 'could not trucated file %s to %d bytes' % (self.rf.filename, size) + raise_(IOError, 'could not trucated file %s to %d bytes' % (self.rf.filename, size)) def flush(): pass diff --git a/bugreporter/__init__.py b/bugreporter/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/bugreporter/__init__.py +from __future__ import print_function import requests from bugreporter.util import GuessMimeType import json @@ -135,7 +136,7 @@ def SendTestBugReport(serverUrl): bugReporter = BugReporter(serverUrl, '.cache') categoryName, categoryID = bugReporter.GetCategories()[0] response = bugReporter.SendBugReport(categoryID, 'title', 'description', 'repro steps', 'sessionInfo', 'computerInfo', 'charID', ['UI'], []) - print "Bug Report successfully created '{}'".format(response['self']) + print("Bug Report successfully created '{}'".format(response['self'])) if __name__ == '__main__': diff --git a/campaigns/client/repository.py b/campaigns/client/repository.py @@ -477,7 +477,7 @@ class CampaignsRepository(object): def _request_batched_stats(self, project_ids): try: self.get_objective_stats(project_ids) - except StandardError: + except Exception: logger.exception('Failed when getting objective stats') def _clear_poll_stats_tasklet(self): diff --git a/carbon/client/script/graphics/resourceConstructors/gradients.py b/carbon/client/script/graphics/resourceConstructors/gradients.py @@ -3,6 +3,7 @@ import blue import trinity import struct import math +from functools import reduce def isVector(a): return hasattr(a, '__iter__') diff --git a/carbon/client/script/util/misc.py b/carbon/client/script/util/misc.py @@ -127,7 +127,7 @@ def TryDel(dictOrSet, key): def Doppleganger(wrap, original): - return types.FunctionType(wrap.func_code, wrap.func_globals, original.func_name, closure=wrap.func_closure) + return types.FunctionType(wrap.__code__, wrap.__globals__, original.__name__, closure=wrap.__closure__) def Decorator(f): diff --git a/carbon/client/script/util/monitor.py b/carbon/client/script/util/monitor.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/client/script/util/monitor.py +from __future__ import print_function import gc import operator import sys @@ -26,6 +27,7 @@ from carbonui.control.radioButton import RadioButton from eveprefs import prefs from player_messaging.client.ui_message import prompt_player_fsd_dialog from pytelemetry import StartTelemetry +from functools import reduce GRAPH_MEMORY = 1 GRAPH_PERFORMANCE = 2 GRAPH_HEAP = 3 @@ -557,7 +559,7 @@ class Monitor(service.Service): if wnd.sr.queueText.text != mo: wnd.sr.queueText.text = mo except Exception as e: - print 'e', e + print('e', e) self.uitimer = None sys.exc_clear() diff --git a/carbon/client/script/util/timeControl.py b/carbon/client/script/util/timeControl.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/client/script/util/timeControl.py +from __future__ import print_function import blue import trinity from carbonui import uiconst @@ -60,7 +61,7 @@ class TimeControlWindow(Window): blue.os.slugTimeMaxMs = float(value) def OnTimeGraphsChanged(self, checkBox): - print 'OnTimeGraphsChanged', checkBox + print('OnTimeGraphsChanged', checkBox) timerList = ['Blue/actualDeltaT', 'Blue/smoothedDeltaT', 'Blue/usedDeltaT'] if checkBox.GetValue(): trinity.graphs.SetEnabled(True) diff --git a/carbon/common/script/net/ExceptionMappingGPCS.py b/carbon/common/script/net/ExceptionMappingGPCS.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/net/ExceptionMappingGPCS.py +from future.utils import raise_ import sys from carbon.common.lib import const from carbon.common.script.net.GPSExceptions import GPSTransportClosed @@ -53,15 +54,15 @@ class ExceptionMappingGPCS: tb = sys.exc_info()[2] try: if getattr(e, 'reasonCode', None) and e.reasonCode in MESSAGES: - raise UserError('GPSTransportClosed', {'what': (const.UE_LOC, MESSAGES[e.reasonCode], getattr(e, 'reasonDict', {}) or {})}), None, tb - raise UserError('GPSTransportClosed', {'what': e.reason}), None, tb + raise_(UserError('GPSTransportClosed', {'what': (const.UE_LOC, MESSAGES[e.reasonCode], getattr(e, 'reasonDict', {}) or {})}), None, tb) + raise_(UserError('GPSTransportClosed', {'what': e.reason}), None, tb) finally: del tb except UnMachoDestination as e: tb = sys.exc_info()[2] try: - raise UserError('UnMachoDestination', {'what': e.payload}), None, tb + raise_(UserError('UnMachoDestination', {'what': e.payload}), None, tb) finally: del tb diff --git a/carbon/common/script/net/ExceptionWrapperGPCS.py b/carbon/common/script/net/ExceptionWrapperGPCS.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/net/ExceptionWrapperGPCS.py +from __future__ import print_function import sys import types import zlib @@ -22,7 +23,7 @@ class ExceptionWrapper: __guid__ = 'gpcs.ExceptionWrapper' def __init__(self): - self.errornumber = 1L + self.errornumber = 1 def GetErrorID(self): if machoNet.mode == 'client': @@ -146,8 +147,8 @@ class ExceptionWrapper: if machoNet.mode == 'client': windowStream = log.MsgWindowStream() if windowStream: - print >> windowStream, 'Exception Traceback-' - print >> windowStream, fullReport, + print('Exception Traceback-', file=windowStream) + print(fullReport, end=' ', file=windowStream) windowStream.flush() newException = machobase.LoadsSanitized(e.payload[0]) if prefs.clusterMode in ('LOCAL', 'TEST', 'MASTER'): @@ -174,7 +175,7 @@ class ExceptionWrapper: if etype is SyntaxError: try: msg, (filename, lineno, offset, line) = value - except StandardError: + except Exception: sys.exc_clear() if line is None: @@ -198,5 +199,5 @@ class ExceptionWrapper: def _some_str(self, value): try: return strx(value) - except StandardError: + except Exception: return '<unprintable %s object>' % type(value).__name__ diff --git a/carbon/common/script/net/GPS.py b/carbon/common/script/net/GPS.py @@ -149,7 +149,7 @@ class GPSTransport(GPSAddressable): raise GPSTransportClosed('ProxyAuthenticationHandshakeLoad called on an incorrect macho.mode') if isinstance(ret, GPSTransportClosed): raise ret - if not isinstance(ret, (tuple,)): + if not isinstance(ret, tuple): log.LogError('ProxyAuthenticationHandshakeLoad Deserialized an unexpected type ' + type(ret).__name__ + ' but only (tuple,) is allowed.') raise GPSTransportClosed('ProxyAuthenticationHandshakeLoad - Deserialized an unexpected type') return ret @@ -170,7 +170,7 @@ class GPSTransport(GPSAddressable): rts = [0] t = uthread.worker('machoNet::TimeoutWorker', self.TimeoutWorker, self, timeout, rts, message) try: - ret = apply(func, args) + ret = func(*args) finally: rts[0] = 1 t.kill() diff --git a/carbon/common/script/net/GPSExceptions.py b/carbon/common/script/net/GPSExceptions.py @@ -4,7 +4,7 @@ import eve.common.script.net.eveMachoNetVersion as eveMachoVersion import exceptions from eveprefs import boot -class GPSException(StandardError): +class GPSException(Exception): __guid__ = 'exceptions.GPSException' def __init__(self, *args): diff --git a/carbon/common/script/net/ObjectCallGPCS.py b/carbon/common/script/net/ObjectCallGPCS.py @@ -319,7 +319,7 @@ class ObjectCall(): for each in conn.objectChangeHandlers.iterkeys(): try: func = getattr(each, 'OnObjectChanged') - except StandardError: + except Exception: log.LogException() sys.exc_clear() continue @@ -357,7 +357,7 @@ class ObjectCall(): self.machoNet.LogWarn('Unacceptably large response from unknown source 2, ', len(ret), ' bytes - ', ret[:256]) return ret - except StandardError: + except Exception: self.machoNet.LogError("That was NOT a nice thing to do! Keep yo' unpicklables to yourself.") log.LogTraceback() raise @@ -370,7 +370,7 @@ class ObjectCall(): try: self.otherDudesAddress = otherDudesAddress payload = blue.marshal.Load(thePickle, self.ParseObjectID) - except StandardError: + except Exception: self.machoNet.LogError('Failed unpickling buffer of length %d' % len(thePickle)) self.machoNet.LogError('First 100 bytes: %s' % strx(thePickle[:100])) log.LogTraceback() @@ -478,7 +478,7 @@ class MachoBoobyTrap(): def __getattr__(self, attribute): try: log.LogTraceback() - except StandardError: + except Exception: sys.exc_clear() raise RuntimeError("Attempted to access %s from a non-blocking call's result" % attribute) @@ -573,7 +573,7 @@ class MachoObjectConnection(): raise AttributeError(attribute, 'This object is being deleted, so the attribute is no longer available') if not attribute[0].isupper(): pa = self.__publicattributes__ - if not pa.has_key(attribute): + if attribute not in pa: raise AttributeError(attribute) return pa[attribute] self.PerformSessionCheck() diff --git a/carbon/common/script/net/ServiceCallGPCS.py b/carbon/common/script/net/ServiceCallGPCS.py @@ -276,7 +276,7 @@ class CoreServiceCall(): if e.msg in ('UnMachoDestination', 'GPSTransportClosed'): self.services.clear() raise - except StandardError: + except Exception: if service in self.services: otherNodeID = self.services[service] for s, n in self.services.items()[:]: @@ -368,7 +368,7 @@ class CoreServiceCall(): if e.msg in ('UnMachoDestination', 'GPSTransportClosed'): self.services.clear() raise - except StandardError: + except Exception: self.services.clear() raise @@ -544,7 +544,7 @@ class UberDude(): def __Timeout(self, timeoutInterval): try: - blue.pyos.synchro.SleepWallclock(1000L * timeoutInterval) + blue.pyos.synchro.SleepWallclock(1000 * timeoutInterval) self.tasklet = None if self.channel: self.ubercount = 0 @@ -559,10 +559,10 @@ def UnterMachoRemoteServiceCall(self, dude, retvals, sess, nodeID, service, meth if 'machoTimeout' in keywords: keywords = copy.copy(keywords) del keywords['machoTimeout'] - retvals.append((0, nodeID, apply(getattr(sess.ConnectToService(service), method), args, keywords))) + retvals.append((0, nodeID, getattr(sess.ConnectToService(service), method)(*args, **keywords))) else: retvals.append((0, nodeID, self.RemoteServiceCallWithoutTheStars(sess, nodeID, service, method, args, keywords))) - except StandardError as e: + except Exception as e: log.LogException() retvals.append((1, nodeID, e)) sys.exc_clear() @@ -579,7 +579,7 @@ class UberMachoServiceConnection(): def __init__(self, gpcs, sess, servicename, nodeGroup, batchInterval): try: self.__dict__['session'] = weakref.proxy(sess) - except StandardError: + except Exception: self.__dict__['session'] = sess sys.exc_clear() @@ -598,7 +598,7 @@ class UberMachoServiceConnection(): return str(self) def __getattr__(self, attribute): - if self.__dict__.has_key(attribute): + if attribute in self.__dict__: return self.__dict__[attribute] if attribute[:2] == '__': raise AttributeError(attribute) diff --git a/carbon/common/script/net/SessionChangeGPCS.py b/carbon/common/script/net/SessionChangeGPCS.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/net/SessionChangeGPCS.py import copy +import numbers import types import log from carbon.common.script.net import machoNet, machoNetAddress, machoNetPacket @@ -43,7 +44,7 @@ class SessionChange: for each in nodesOfInterest: if each != packet.destination.nodeID and each != -1: transportOfNode = self.machoNet.GetTransportOfNode(each) - transportIsKnown = transport.dependants.has_key(transportOfNode.transportID) + transportIsKnown = transportOfNode.transportID in transport.dependants if transportIsKnown: transportVersion = transport.dependants[transportOfNode.transportID] if not transportIsKnown: @@ -79,7 +80,7 @@ class SessionChange: if other and other not in tmp: tmp.append(other) - elif (type(each) == types.IntType or type(each) == types.LongType) and each not in tmp: + elif isinstance(each, numbers.Integral) and each not in tmp: tmp.append(each) nodesOfInterest = tmp diff --git a/carbon/common/script/net/cachedObject.py b/carbon/common/script/net/cachedObject.py @@ -53,7 +53,7 @@ class CachedObject: ret.append(self.__dict__[each]) return '<CachedObject %s>' % str(ret) - except StandardError: + except Exception: sys.exc_clear() return '<CachedObject ?>' diff --git a/carbon/common/script/net/emailSvc.py b/carbon/common/script/net/emailSvc.py @@ -51,7 +51,7 @@ class EmailSvc(Service): self.mail_server = smtplib.SMTP(server) else: self.mail_server = smtplib.SMTP(server, local_hostname=local_hostname) - except StandardError: + except Exception: self.LogError('Mail server bombed') log.LogException() sys.exc_clear() diff --git a/carbon/common/script/net/httpService.py b/carbon/common/script/net/httpService.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/net/httpService.py +from __future__ import print_function import StringIO import binascii import cStringIO @@ -102,7 +103,7 @@ class Request(): return self.cookie[cookie] def Form(self, element): - if not self.form.has_key(element): + if element not in self.form: return None return htmlwriter.Pythonize(self.form[element]) @@ -133,7 +134,7 @@ class Request(): return htmlwriter.Pythonize(v) return v - elif self.query.has_key(variable): + elif variable in self.query: v = self.query[variable] if not raw: return htmlwriter.Pythonize(v) @@ -145,7 +146,7 @@ class Request(): return 'CCP Server Pages 1.0' elif env == 'SERVER_PORT': return 'Is this being used?' - elif self.header.has_key(env): + elif env in self.header: return self.header[env] else: return None @@ -246,7 +247,7 @@ class Request(): self.paths = self.path[1:].split('/') else: self.paths = [] - if self.header.has_key('Cookie'): + if 'Cookie' in self.header: cookies = self.header['Cookie'] for cookie in cookies.split(';'): kv = cookie.split('=', 1) @@ -332,27 +333,27 @@ class Request(): return ret def DumpRequest(self, withRaw = False): - print '************** R E Q U E S T ******************' - print 'my url:', self.path - print 'my paths:', self.paths - print 'my method:', self.method - print 'my proto:', self.proto - print 'my args', self.args - print 'my byte count', self.totalBytes + print('************** R E Q U E S T ******************') + print('my url:', self.path) + print('my paths:', self.paths) + print('my method:', self.method) + print('my proto:', self.proto) + print('my args', self.args) + print('my byte count', self.totalBytes) for q in self.query.iteritems(): - print 'query var %s=%s' % q + print('query var %s=%s' % q) for f in self.form.iteritems(): - print 'form var %s=%s' % f + print('form var %s=%s' % f) - print 'server varirables:' + print('server varirables:') for i in self.header.iteritems(): - print i[0], ':', i[1] + print(i[0], ':', i[1]) if withRaw: - print '------------------- R A W ---------------------' - print self.raw - print '***********************************************' + print('------------------- R A W ---------------------') + print(self.raw) + print('***********************************************') def DumpRequestToList(self): res = ['request.uid: %s' % self.uid, @@ -377,7 +378,7 @@ class Request(): return res def Authorization(self): - if self.header.has_key('Authorization'): + if 'Authorization' in self.header: try: uspa = self.header.pop('Authorization') i = uspa.rfind(' ') @@ -402,9 +403,9 @@ class Request(): def GetSession(parent, request, response, sessionsBySID, sessionsByFlatkaka): uspa = request.Authorization() - if request.cookie.has_key('flatkaka'): + if 'flatkaka' in request.cookie: flatkaka = request.cookie['flatkaka'] - if sessionsByFlatkaka.has_key(flatkaka): + if flatkaka in sessionsByFlatkaka: sess = sessionsByFlatkaka[flatkaka] if macho.mode == 'client': return sess @@ -486,7 +487,7 @@ def GetSession(parent, request, response, sessionsBySID, sessionsByFlatkaka): basesession.CloseSession(sess) if success: sessID = sess.sid - while sessionsBySID.has_key(sessID): + while sessID in sessionsBySID: svclog.warning('Session %d already exits, adding 1 to it', sessID) sessID += 1 @@ -683,12 +684,12 @@ class ConnectionService(Service): return None def OnSessionBegin(self, sessionID): - if self.sessionsBySID.has_key(sessionID): + if sessionID in self.sessionsBySID: sess = self.sessionsBySID[sessionID] sess.esps = ESPSession(self, sessionID) def OnSessionEnd(self, sessionID): - if self.sessionsBySID.has_key(sessionID): + if sessionID in self.sessionsBySID: sess = self.sessionsBySID[sessionID] del self.sessionsBySID[sessionID] if getattr(sess, 'esps', None): @@ -883,7 +884,7 @@ class ConnectionService(Service): ep.Close() self.openConnectionsInHttpService.Dec() if sess: - if sess.esps.contents.has_key('timeoutTimer'): + if 'timeoutTimer' in sess.esps.contents: if sess.esps.contents['timeoutTimer'] is None: sess.esps.contents['timeoutTimer'] = 1 uthread.new(self.CheckSessionTimeout, sess, sess.requestCount) diff --git a/carbon/common/script/net/machoNet.py b/carbon/common/script/net/machoNet.py @@ -1,4 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/net/machoNet.py +from __future__ import print_function +from future.utils import raise_ import collections import copy import json @@ -374,12 +376,12 @@ class MachoNetService(service.Service): self.expectedLoadValue = {} self.clientIDOffset = 1 self.stop = 1 - self.transportID = 1L + self.transportID = 1 self.calls = {} self.timeoutCalls = {} self.callsCountMax = 0 self.callsCountMin = 0 - self.callID = 1L + self.callID = 1 self._addressCache = MachoAddressCache() self.myProxyNodeID = None self.dontLayTracksTo = {} @@ -387,7 +389,7 @@ class MachoNetService(service.Service): self.authenticating = 0 self.gettingServerStatus = 0 self.clientSessionID = 0 - self.seq = 0L + self.seq = 0 self.seqwait = {} self.notifySequenceIDByNodeID = collections.defaultdict(int) self.serviceInfo = {} @@ -512,7 +514,7 @@ class MachoNetService(service.Service): if macho.mode == 'client' and not int(prefs.GetValue('http', 0)): try: del offsetMap[macho.mode]['tcp:raw:http'] - except StandardError: + except Exception: sys.exc_clear() if macho.mode == 'client': @@ -584,7 +586,7 @@ class MachoNetService(service.Service): uthread.new(self.StatusSocketLoop) if macho.mode == 'proxy': self.nodeID = self.GetIDOfAddress(self.GetTransport('tcp:packet:client').GetInternalAddress(), clientMode=False) - print 'nodeID=', self.nodeID + print('nodeID=', self.nodeID) elif macho.mode == 'server': self.LogInfo('Registering node') self.dbzcluster = self.DB2.GetSchema('zcluster') @@ -608,9 +610,9 @@ class MachoNetService(service.Service): if countDateTime is not None: delay = max(delay, 3000 + (countDateTime + self.cleanupInterval * const.SEC - blue.os.GetWallclockTime()) / const.MSEC) if delay > 0: - print errreason + print(errreason) self.LogWarn(errreason) - print 'The previous run might however be dead, delaying and retrying after ', delay, ' ms...' + print('The previous run might however be dead, delaying and retrying after ', delay, ' ms...') self.LogWarn('The previous run might however be dead, delaying and retrying after ', delay, ' ms...') blue.pyos.synchro.SleepWallclock(delay) retry = True @@ -898,7 +900,7 @@ class MachoNetService(service.Service): if offset and not self.clockReset and macho.mode == 'proxy': now = blue.os.GetWallclockTimeNow() newnow = now + offset - print 'Correcting clock... advancing ', float(offset) / float(const.SEC), ' secs' + print('Correcting clock... advancing ', float(offset) / float(const.SEC), ' secs') blue.pyos.synchro.ResetClock(newnow) sm.ScatterEvent('OnTimeReset', now, newnow) self.clockReset = True @@ -928,7 +930,7 @@ class MachoNetService(service.Service): try: each.disconnectsilently = getattr(each, 'disconnectsilently', 2) each.Close('The machoNet service is stopping') - except StandardError: + except Exception: log.LogException() self.LogInfo('Exception during Close ignored.') sys.exc_clear() @@ -940,7 +942,7 @@ class MachoNetService(service.Service): try: each.disconnectsilently = getattr(each, 'disconnectsilently', 2) each.Close('The machoNet service is stopping') - except StandardError: + except Exception: log.LogException() self.LogInfo('Exception during Close ignored.') sys.exc_clear() @@ -1192,7 +1194,7 @@ class MachoNetService(service.Service): def DisconnectFromServer(self): if macho.mode != 'client': raise AttributeError('The DisconnectFromServer method should only be called on the client') - if self.namedtransports.has_key('ip:packet:server'): + if 'ip:packet:server' in self.namedtransports: self.LogInfo('Closing connection to server') transport = self.namedtransports['ip:packet:server'] transport.disconnectsilently = getattr(transport, 'disconnectsilently', 1) @@ -1385,7 +1387,7 @@ class MachoNetService(service.Service): basePort = getattr(self, attributeName, None) if basePort: return basePort + offsetMap[portTypeName][mapname] - raise StandardError('Unsupported role') + raise Exception('Unsupported role') def ConnectToAddress(self, address, mapname, destMachoRole, destinationNodeID = None, named = False, withReader = True, forcedPortNumber = None): port = forcedPortNumber or self.CalculatePortNumber(mapname, destMachoRole) @@ -1444,7 +1446,7 @@ class MachoNetService(service.Service): log.LogTraceback('Connecting with a dirty session') raise UserError('DirtySession') self.LogInfo('Connecting to server ', address) - if self.namedtransports.has_key('ip:packet:server'): + if 'ip:packet:server' in self.namedtransports: transport = self.namedtransports['ip:packet:server'] transport.disconnectsilently = getattr(transport, 'disconnectsilently', 1) transport.Close('Reconnecting') @@ -1491,7 +1493,7 @@ class MachoNetService(service.Service): sm.ScatterEvent('OnConnectionRefused') exctype, exc, tb = sys.exc_info() try: - raise UserError('OnConnectionRefused', {'what': e.payload}), None, tb + raise_(UserError('OnConnectionRefused', {'what': e.payload}), None, tb) finally: exctype = None exc = None @@ -1521,7 +1523,7 @@ class MachoNetService(service.Service): sm.ScatterEvent('OnConnectionRefused') exctype, exc, tb = sys.exc_info() try: - raise UserError('OnConnectionBadAddress', {'what': e.reason}), None, tb + raise_(UserError('OnConnectionBadAddress', {'what': e.reason}), None, tb) finally: exctype = None exc = None @@ -1533,7 +1535,7 @@ class MachoNetService(service.Service): try: sm.ScatterEvent('OnConnectionRefused') if e.reason == 'Connected transport closed': - raise UserError('OnConnectionFailed', {'what': 'The server was either not running or inaccessible'}), None, tb + raise_(UserError('OnConnectionFailed', {'what': 'The server was either not running or inaccessible'}), None, tb) else: if e.reasonCode in gpcs.MESSAGES: reason = gpcs.MESSAGES[e.reasonCode] @@ -1549,7 +1551,7 @@ class MachoNetService(service.Service): self.clientHalfBakedTransports[address] = rawTransport rawTransportCached = True self.SetLogonQueuePosition(e.reasonArgs.get('position', None)) - raise err, None, tb + raise_(err, None, tb) finally: if not rawTransportCached: if transport is not None: @@ -1682,7 +1684,7 @@ class MachoNetService(service.Service): def GetCPULoad(self): now = blue.os.GetWallclockTime() then = now - const.MIN * 5 - total = 0L + total = 0 lastTime = now i = len(blue.pyos.cpuUsage) - 1 while i > 0 and blue.pyos.cpuUsage[i].timestamp >= then: @@ -1856,7 +1858,7 @@ class MachoNetService(service.Service): if allProxies is None: allProxies = self.session.ConnectToAllProxyServerServices('machoNet') self.__SessionStatWatcher2(allProxies) - except StandardError: + except Exception: self.LogError('Exception during session stat stuff') log.LogException() sys.exc_clear() @@ -1897,11 +1899,11 @@ class MachoNetService(service.Service): if count > 0: try: self.dbzmetric.SimpleCounters_Insert(zmetric, count) - except StandardError: + except Exception: log.LogException('Error writing metric %s (%s) to zmetric.simpleCounters' % (zmetric, virtualAttr)) sys.exc_clear() - except StandardError: + except Exception: log.LogException() except: log.LogException() @@ -2136,7 +2138,7 @@ class MachoNetService(service.Service): self.message_bus.shutdown_requested() try: self.session.ConnectToAllServices('machoNet').GracefulShutdownStarted() - except StandardError: + except Exception: log.LogException('Exception in shutdown worker - GracefulShutdownStarted phase') sys.exc_clear() @@ -2180,7 +2182,7 @@ class MachoNetService(service.Service): self.LogNotice('Cluster GracefulShutdownStarted on node', self.nodeID, ' - Disabling ObjectKillah') try: basesession.objectKillaThread.kill() - except StandardError: + except Exception: self.LogException() if macho.mode == 'proxy': @@ -2202,7 +2204,7 @@ class MachoNetService(service.Service): try: self.LogNotice('GracefulShutdownComplete (%s node %s) - Trashing node... ' % (nodeString, self.nodeID)) self.dbzcluster.Nodes_Trash(self.nodeID, 'Graceful Cluster Shutdown - %s' % nodeString, 1) - except StandardError: + except Exception: self.LogException('Exception while trashing %s node %s' % (nodeString, self.nodeID)) self.LogNotice('Threading out Terminate in GracefulShutdownComplete (%s) stackless.runcount = %s' % (self.nodeID, stackless.getruncount())) @@ -2307,7 +2309,7 @@ class MachoNetService(service.Service): except UnMachoDestination as e: self.LogWarn('UnMachoDestination (', e, ') while attempting to acquire load stats') sys.exc_clear() - except StandardError: + except Exception: self.LogError('Exception while attempting to acquire load stats') log.LogException() sys.exc_clear() @@ -2320,7 +2322,7 @@ class MachoNetService(service.Service): peopleWhoShouldntBeLoggedIn = self.dbzcluster.Sessions_SelectInactive() if peopleWhoShouldntBeLoggedIn: self.ProxyBroadcast('OnPeopleWhoShouldntBeLoggedInNotification', peopleWhoShouldntBeLoggedIn) - except StandardError: + except Exception: self.LogError('Exception while attempting to disconnect unauthorized users') log.LogException() sys.exc_clear() @@ -2797,9 +2799,9 @@ class MachoNetService(service.Service): if s.state == service.SERVICE_FAILED: self.LogInfo('AreTheseServicesRunning: %s was SERVICE_FAILED' % s.__guid__) if s.__error__: - raise s.__error__[1], None, s.__error__[2] + raise_(s.__error__[1], None, s.__error__[2]) else: - raise RuntimeError, 'Service %s failed' % s.__guid__ + raise_(RuntimeError, 'Service %s failed' % s.__guid__) if s.state != service.SERVICE_RUNNING: self.LogInfo('AreTheseServicesRunning: Waiting for %s' % s.__guid__) return s.__guid__.split('.')[1] @@ -2868,7 +2870,7 @@ class MachoNetService(service.Service): def GetMachoTransportsByTransportIDs(self, ids): retval = [] for each in ids: - if self.transportsByID.has_key(each): + if each in self.transportsByID: retval.append(self.transportsByID[each]) return retval @@ -2890,7 +2892,7 @@ class MachoNetService(service.Service): self.LogError('!! ---------------------------------------------------------- !!') log.LogException() self._OnHeartBeatLost('ConnectionError exception:[%s]. If SHUTDOWN, then possibly due to a too long/unrecoverable DB Cluster fail over.') - except StandardError: + except Exception: self.LogError('!! ---------------------------------------------------------- !!') self.LogError('Oh my God! An exception during zcluster.Nodes_HeartBeat!!!') self.LogError('!! ---------------------------------------------------------- !!') @@ -2994,14 +2996,14 @@ class MachoNetService(service.Service): x += other if not silent: - print x + print(x) summaries = [] for i in range(pingCount): if not silent: - print '---------------------------------------------------------------------------------------------' - print ' MachoNet Ping statistics for %s' % daNode - print '---------------------------------------------------------------------------------------------' + print('---------------------------------------------------------------------------------------------') + print(' MachoNet Ping statistics for %s' % daNode) + print('---------------------------------------------------------------------------------------------') prepared = [['Where', 'TickID', 'Time', @@ -3081,26 +3083,26 @@ class MachoNetService(service.Service): if clientFirst < clientLast: cr = (float(prepared[clientLast][2].strip()) - float(prepared[clientFirst][2].strip())) / const.MSEC if not silent: - print 'client roundtrip: ', cr, ' msec' + print('client roundtrip: ', cr, ' msec') pr = 10000000000.0 if proxyFirst < proxyLast: pr = (float(prepared[proxyLast][2].strip()) - float(prepared[proxyFirst][2].strip())) / const.MSEC if not silent: - print 'proxy roundtrip: ', cr, ' msec' + print('proxy roundtrip: ', cr, ' msec') server1 = [ p[0].strip() for p in prepared ].index('proxy::writing') server2 = [ p[0].strip() for p in prepared ].index('proxy::handle_message', server1) diff = float(prepared[server2][2]) - float(prepared[server1][2]) diff /= const.MSEC pspr = diff if not silent: - print 'proxy-server-proxy rountrip: %sms' % pspr + print('proxy-server-proxy rountrip: %sms' % pspr) tickids = [] for each in prepared[2:]: if each[1] not in tickids: tickids.append(each[1]) if not silent: - print 'Roundtrip tick count=', len(tickids) + print('Roundtrip tick count=', len(tickids)) summaries.append((cr, pr, pspr, @@ -3109,9 +3111,9 @@ class MachoNetService(service.Service): average = [ sum([ s[i] for s in summaries ]) / len(summaries) for i in range(len(summaries[0])) ] minerage = [ min([ s[i] for s in summaries ]) for i in range(len(summaries[0])) ] if not silent: - print 'Totals for: Client rountrip, proxy roundtrip, proxy-server-proxy roundtrip, tickcount' - print 'Average: ' + repr(average) - print 'Minimum: ' + repr(minerage) + print('Totals for: Client rountrip, proxy roundtrip, proxy-server-proxy roundtrip, tickcount') + print('Average: ' + repr(average)) + print('Minimum: ' + repr(minerage)) return retval.times def GetServiceInfo(self): @@ -3352,7 +3354,7 @@ class MachoNetService(service.Service): if transport.transportID in self.transportsByID: self.transportsByID[transport.transportID].Close('KATPing detected that the socket was closed', 'KEEPALIVEEXPIRED') sys.exc_clear() - except StandardError: + except Exception: self.LogError("Unhandled exception in KATPing. Shouldn't be a problem, but I wanna see it") self.LogError('Worst case, transport keepalive timers should be failing to do their job') log.LogException() @@ -3402,7 +3404,7 @@ class MachoNetService(service.Service): sm.ScatterEventWithoutTheStars(provisional[1], provisional[2]) finally: - if destTransport.calls.has_key(callID): + if callID in destTransport.calls: del destTransport.calls[callID] after = blue.os.GetWallclockTime() diff = after - before @@ -3411,7 +3413,7 @@ class MachoNetService(service.Service): except ReferenceError: exctype, exc, tb = sys.exc_info() try: - raise RuntimeError('ReferenceError'), None, tb + raise_(RuntimeError('ReferenceError'), None, tb) finally: exctype = None xc = None @@ -3420,10 +3422,10 @@ class MachoNetService(service.Service): finally: if callID in self.timeoutCalls: del self.timeoutCalls[callID] - if self.calls.has_key(callID): + if callID in self.calls: del self.calls[callID] self.callsCountMin = min(self.callsCountMin, len(self.calls)) - if destTransport.calls.has_key(callID): + if callID in destTransport.calls: del destTransport.calls[callID] if retval.command == cluster.MACHONETMSG_TYPE_ERRORRESPONSE: @@ -3485,7 +3487,7 @@ class MachoNetService(service.Service): if appNodeID in self.transportIDbyAppNodeID: machoTransport = self.transportsByID[self.transportIDbyAppNodeID[appNodeID]] return [machoTransport] - if not self.namedtransports.has_key('ip:packet:server'): + if 'ip:packet:server' not in self.namedtransports: raise GPSTransportClosed('The transport has not yet been connected, or authentication was not successful.') return [self.namedtransports['ip:packet:server']] else: @@ -3516,11 +3518,11 @@ class MachoNetService(service.Service): elif destAddress.addressType == const.ADDRESS_TYPE_NODE: if self._addressCache.IsDeadNode(destAddress.nodeID): raise UnMachoDestination('The specified proxy or server node (%s) is dead' % destAddress.nodeID) - if self.transportIDbySolNodeID.has_key(destAddress.nodeID): + if destAddress.nodeID in self.transportIDbySolNodeID: transportID = self.transportIDbySolNodeID[destAddress.nodeID] - elif self.transportIDbyProxyNodeID.has_key(destAddress.nodeID): + elif destAddress.nodeID in self.transportIDbyProxyNodeID: transportID = self.transportIDbyProxyNodeID[destAddress.nodeID] - elif self.transportIDbyAppNodeID.has_key(destAddress.nodeID): + elif destAddress.nodeID in self.transportIDbyAppNodeID: transportID = self.transportIDbyAppNodeID[destAddress.nodeID] elif macho.mode == 'server': if len(self.transportIDbyProxyNodeID): @@ -3536,7 +3538,7 @@ class MachoNetService(service.Service): self.ServerBroadcast('OnNodeDeath', destAddress.nodeID, 1, reason) raise UnMachoDestination('The specified proxy or server node (%s) could not be reached' % destAddress.nodeID) elif destAddress.addressType == const.ADDRESS_TYPE_CLIENT: - if self.transportIDbyClientID.has_key(destAddress.clientID): + if destAddress.clientID in self.transportIDbyClientID: transportID = self.transportIDbyClientID[destAddress.clientID] else: raise UnMachoDestination('The client (%s) could not be reached' % destAddress.clientID) @@ -3555,7 +3557,7 @@ class MachoNetService(service.Service): self.LogError('Some dude is sending a weird address (', destAddress, ")that doesn't resolve to a transport ID") log.LogTraceback() raise UnMachoDestination('The transportID is invalid') - if not self.transportsByID.has_key(transportID): + if transportID not in self.transportsByID: raise UnMachoDestination('The transportID does not identify a known transport') return [self.transportsByID[transportID]] @@ -3822,7 +3824,7 @@ class MachoNetService(service.Service): if transport is not None: transport.Close('Disconnected', exception=e) log.LogException() - self.LogWarn('Caught %s in HandleAccept' % `e`) + self.LogWarn('Caught %s in HandleAccept' % repr(e)) sys.exc_clear() return @@ -3851,7 +3853,7 @@ class MachoNetService(service.Service): self.LogWarn('ListenTransport closed') return - except StandardError: + except Exception: log.LogException() self.LogError('AcceptLoop bombed') sys.exc_clear() @@ -3885,7 +3887,7 @@ class MachoNetService(service.Service): self.LogInfo('Proxy incremented receivedVersion of session(', msgSession.sid, ') to ', msgSession.receivedVersion) try: self.HandleMessage(destTransport, theMessage, 1) - except StandardError: + except Exception: self.LogError('MAJOR BORKUPP!!! This is baaaaddddddd') log.LogTraceback() msgSession.LogSessionError('Session state change bombed') @@ -3932,7 +3934,7 @@ class MachoNetService(service.Service): except TaskletExit: self.LogInfo('TransportReader is shutting down - tasklet exit command received.') sys.exc_clear() - except StandardError: + except Exception: log.LogException() srcTransport.Close('TransportReader is shutting down - an unhandled exception has occurred.', 'UNHANDLEDEXCEPTION') sys.exc_clear() @@ -4051,7 +4053,7 @@ class MachoNetService(service.Service): with IngressTracer.record_write_response_ms(): srcTransport.Write(ret) elif theMessage.command in self.__responsetypes__ or theMessage.command == cluster.MACHONETMSG_TYPE_PING_RSP and (macho.mode != 'proxy' or theMessage.destination.addressType == const.ADDRESS_TYPE_NODE and theMessage.destination.nodeID == self.nodeID): - if self.calls.has_key(theMessage.destination.callID): + if theMessage.destination.callID in self.calls: if self.calls[theMessage.destination.callID][0].balance < 0: self.calls[theMessage.destination.callID][0].send(theMessage) else: @@ -4071,14 +4073,14 @@ class MachoNetService(service.Service): srcTransport.Write(theResponse) elif theMessage.command == cluster.MACHONETMSG_TYPE_IDENTIFICATION_REQ: if self.nodeID is None: - raise RuntimeError, 'no node ID' + raise RuntimeError('no node ID') if macho.mode == 'server': myaddress = self.GetTransport('tcp:packet:machoNet').GetExternalAddress() others = [ ('%s:%d' % (each.ipAddress, each.port), each.nodeID) for each in self._GetLayTracksTo() ] else: myaddress = self.GetTransport('tcp:packet:machoNet').GetInternalAddress() others = [] - if self.transportIDbyProxyNodeID.has_key(theMessage.nodeID) or self.transportIDbySolNodeID.has_key(theMessage.nodeID): + if theMessage.nodeID in self.transportIDbyProxyNodeID or theMessage.nodeID in self.transportIDbySolNodeID: self.LogWarn('Rejecting connection attempt from ', theMessage.nodeID, ' because I already have such a connection') response = (False, 'I already have a socket for this node') elif theMessage.nodeID in self.dontLayTracksTo and theMessage.nodeID > self.nodeID: @@ -4151,7 +4153,7 @@ class MachoNetService(service.Service): srcTransport.Close('Connected transport closed') sys.exc_clear() return - except StandardError: + except Exception: log.LogException('TransportReader standard error') if srcTransport.transportName == 'tcp:packet:client': srcTransport.Close('TransportReader blew up', 'UNHANDLEDEXCEPTION') @@ -4178,7 +4180,7 @@ class MachoNetService(service.Service): except GPSTransportClosed as e: destTransport.Close('Wrote packet on a closed socket. Close reason was: ' + strx(e.reason)) sys.exc_clear() - except StandardError: + except Exception: self.LogWarn("Write died of natural or bizzarre causes. Could be natural. Could be bizzarre. Here's a trace:") log.LogException() destTransport.Close('Write died of natural or bizzarre causes.') @@ -4311,7 +4313,7 @@ def WhitelistDumper(): vals = blue.marshal.globalsWhitelist.values() vals.sort() for v in vals: - print >> f, v[0] + '.' + v[1] + print(v[0] + '.' + v[1], file=f) f.close() blue.pyos.synchro.SleepWallclock(5000) diff --git a/carbon/common/script/net/machoNetAddress.py b/carbon/common/script/net/machoNetAddress.py @@ -14,7 +14,7 @@ class MachoAddress: __legalanyaddr__ = ('service', 'callID') def __init__(self, *args, **keywords): - if keywords.has_key('clientID'): + if 'clientID' in keywords: if len(args) != 0: raise GPSBadAddress('A macho client address should contain only keyword arguments') self.addressType = const.ADDRESS_TYPE_CLIENT @@ -25,7 +25,7 @@ class MachoAddress: if each not in self.__legalclientaddr__: raise GPSBadAddress("A macho client address may not contain '%s'" % each) - elif keywords.has_key('broadcastID'): + elif 'broadcastID' in keywords: if len(args) != 0: raise GPSBadAddress('A macho broadcast address should contain only keyword arguments') self.addressType = const.ADDRESS_TYPE_BROADCAST @@ -36,7 +36,7 @@ class MachoAddress: if each not in self.__legalbroadcastaddr__: raise GPSBadAddress("A macho broadcast address may not contain '%s'" % each) - elif keywords.has_key('nodeID'): + elif 'nodeID' in keywords: if len(args) != 0: raise GPSBadAddress('A macho node address should contain only keyword arguments') self.addressType = const.ADDRESS_TYPE_NODE @@ -114,7 +114,7 @@ class MachoAddress: log.LogException() try: return 'Address::Crap(%s)' % strx(self.__dict__) - except StandardError: + except Exception: return 'Address containing crappy data' __str__ = __repr__ diff --git a/carbon/common/script/net/machoNetExceptions.py b/carbon/common/script/net/machoNetExceptions.py @@ -1,7 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/net/machoNetExceptions.py from stringutil import strx -class MachoException(StandardError): +class MachoException(Exception): __guid__ = 'exceptions.MachoException' def __init__(self, payload = None): diff --git a/carbon/common/script/net/machoNetPacket.py b/carbon/common/script/net/machoNetPacket.py @@ -107,9 +107,9 @@ class MachoPacket(): setattr(self, tmp, body[i]) def Response(self, *args, **keywords): - if not self.__machodesc__.has_key('response'): + if 'response' not in self.__machodesc__: raise AttributeError(self.__class__.__name__, 'Response', 'There is no such thing as a response to a %s' % self.__class__.__name__) - theResponse = apply(self.__machodesc__['response'], (), {'donttypecheck': 1}) + theResponse = self.__machodesc__['response'](donttypecheck=1) theResponse.source = self.destination theResponse.destination = self.source theResponse.userID = self.userID diff --git a/carbon/common/script/net/machoNetTransport.py b/carbon/common/script/net/machoNetTransport.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/net/machoNetTransport.py +from __future__ import absolute_import import copy import sys import weakref @@ -46,7 +47,7 @@ elif iocp.UsingCompression(): else: log.general.Log('Packet Compression: MachoNet', log.LGINFO) MACHONET_COMPRESSION_DISABLED = False -import metrics +from . import metrics class MachoTransport(logUtil.LogMixin): __guid__ = 'macho.MachoTransport' @@ -95,7 +96,7 @@ class MachoTransport(logUtil.LogMixin): str(self.transport), self.transportName, self.clientID) - except StandardError: + except Exception: sys.exc_clear() return 'MachoTransport containing crappy data' @@ -124,14 +125,14 @@ class MachoTransport(logUtil.LogMixin): return self.transport is not None def Close(self, reason, reasonCode = None, reasonArgs = {}, exception = None, noSend = False): - if self.machoNet.transportsByID.has_key(self.transportID): + if self.transportID in self.machoNet.transportsByID: blue.net.PurgeTransport(self.transportID) oldNodeIDByServiceMask = {} - if self.transportName == 'ip:packet:server' and self.machoNet.namedtransports.has_key('ip:packet:server'): + if self.transportName == 'ip:packet:server' and 'ip:packet:server' in self.machoNet.namedtransports: self.machoNet.ClearAddressCache() self.machoNet.ResetAutoResolveCache() del self.machoNet.namedtransports['ip:packet:server'] - if self.nodeID is not None and (self.machoNet.transportIDbyProxyNodeID.has_key(self.nodeID) and self.machoNet.transportIDbyProxyNodeID[self.nodeID] == self.transportID or self.machoNet.transportIDbySolNodeID.has_key(self.nodeID) and self.machoNet.transportIDbySolNodeID[self.nodeID] == self.transportID): + if self.nodeID is not None and (self.nodeID in self.machoNet.transportIDbyProxyNodeID and self.machoNet.transportIDbyProxyNodeID[self.nodeID] == self.transportID or self.nodeID in self.machoNet.transportIDbySolNodeID and self.machoNet.transportIDbySolNodeID[self.nodeID] == self.transportID): if not self.machoNet.IsClusterShuttingDown(): self.machoNet.LogError('Removing transport from transportIDbyProxyNodeID or transportIDbySolNodeID', self.nodeID, self, reason) log.LogTraceback() @@ -200,10 +201,10 @@ class MachoTransport(logUtil.LogMixin): msg2 = TransportClosed(clientID=self.clientID, isRemote=1) def CloseTransport(caller, tid, msg): - if caller.transportsByID.has_key(tid): + if tid in caller.transportsByID: try: caller.transportsByID[tid].Write(msg) - except StandardError: + except Exception: log.LogTraceback() caller.transportsByID[tid].Close('Write failed big time in CloseTransport') sys.exc_clear() @@ -412,7 +413,7 @@ class MachoTransport(logUtil.LogMixin): except GPSTransportClosed as e: self.transport.Close(**e.GetCloseArgs()) raise - except StandardError: + except Exception: if self.transportName == 'tcp:packet:client': self._LogPotentialAttackAndClose(thePickle) raise @@ -429,7 +430,7 @@ class MachoTransport(logUtil.LogMixin): message.source = MachoAddress(clientID=self.clientID, callID=message.source.callID) if message.contextKey: self._LogPotentialAttackAndClose(thePickle) - raise StandardError('Packet containing contextKey received on a client transport. Hack?') + raise Exception('Packet containing contextKey received on a client transport. Hack?') if hasattr(self, 'userID'): message.userID = self.userID self.LogInfo('Read: ', message) @@ -514,7 +515,7 @@ class MachoTransport(logUtil.LogMixin): try: self.machoNet.LogInfo('Sending TransportClosed to remove session ', sess.sid, ' (client ', sess.clientID, ') on transport', self.transportID) self.Write(TransportClosed(clientID=sess.clientID, isRemote=0)) - except StandardError: + except Exception: errStr = 'Write failed in RemoveSessionFromServer(%s)' % (sess.sid,) log.LogException(errStr) diff --git a/carbon/common/script/net/machoRunTimeStats.py b/carbon/common/script/net/machoRunTimeStats.py @@ -60,7 +60,7 @@ class MachoRunTimeStats: def Worker(self, transportsByID): numSamplePeriods = 0 while not self.stop: - delta = blue.os.TimeDiffInMs(self.lastupdate, blue.os.GetWallclockTime()) / 1000L + delta = blue.os.TimeDiffInMs(self.lastupdate, blue.os.GetWallclockTime()) / 1000 self.lastupdate = blue.os.GetWallclockTime() if numSamplePeriods % GLOBAL_SAMPLE_PERIODS == 0: values = self.last[:] diff --git a/carbon/common/script/net/machobase.py b/carbon/common/script/net/machobase.py @@ -69,7 +69,7 @@ def AssignLogName(obj): try: name = GetLogName(obj) setattr(obj, '__logname__', name) - except StandardError: + except Exception: pass return name diff --git a/carbon/common/script/net/metrics.py b/carbon/common/script/net/metrics.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/net/metrics.py +from __future__ import absolute_import import monolithmetrics import cluster -import machobase -import machoNetPacket +from . import machobase +from . import machoNetPacket MESSAGE_TYPE_BY_CLASS = {machoNetPacket.MachoPacket: 'N/A', machoNetPacket.ErrorResponse: 'Error Response', machoNetPacket.IdentificationRsp: 'Identification Response', diff --git a/carbon/common/script/net/moniker.py b/carbon/common/script/net/moniker.py @@ -169,7 +169,7 @@ class Moniker(): if self.boundObject is None: return self.Bind(sess, call) try: - return apply(getattr(self.boundObject, call[0]), call[1], call[2]) + return getattr(self.boundObject, call[0])(*call[1], **call[2]) except UpdateMoniker as e: self.__bindParams = e.bindParams self.__serviceName = e.serviceName @@ -284,7 +284,7 @@ class MonikerCallWrap(): self.__dict__.clear() -class UpdateMoniker(StandardError): +class UpdateMoniker(Exception): __passbyvalue__ = 1 def __init__(self, serviceName = None, bindParams = None, nodeID = None): diff --git a/carbon/common/script/net/objectCaching.py b/carbon/common/script/net/objectCaching.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/net/objectCaching.py import binascii import cPickle +import numbers import os import random import sys @@ -168,7 +169,7 @@ class CoreObjectCachingSvc(service.Service): if os.access(filename, os.F_OK) and not os.access(filename, os.W_OK): try: os.chmod(filename, 666) - except StandardError: + except Exception: self.LogWarn('Failed to reset access priviledges on file from file system (', filename, ')') sys.exc_clear() @@ -178,7 +179,7 @@ class CoreObjectCachingSvc(service.Service): try: os.unlink(filename) self.LogInfo('Deleted ', key, ' from file system (', filename, ')') - except StandardError as e: + except Exception as e: self.LogWarn('Failed to delete file from file system (', filename, '):', e) sys.exc_clear() @@ -429,7 +430,7 @@ class CoreObjectCachingSvc(service.Service): if len(ret) == 1: return ret[0] return tuple(ret) - elif type(k) in (types.IntType, types.LongType, types.FloatType): + elif isinstance(k, numbers.Real): return 0 else: return k @@ -692,8 +693,8 @@ class CachedMethodCallResult(): return 'objectCaching.CachedMethodCallResult(???)' -class CacheOK(StandardError): +class CacheOK(Exception): __passbyvalue__ = 1 def __init__(self, value = 'CacheOK', *args): - StandardError.__init__(self, value, *args) + Exception.__init__(self, value, *args) diff --git a/carbon/common/script/net/xmlrpcClient.py b/carbon/common/script/net/xmlrpcClient.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/net/xmlrpcClient.py +from future.utils import raise_ import collections import contextlib import socket @@ -46,7 +47,7 @@ class CachedMultiMap(object): try: t0, v = l.pop(0 if first else -1) except IndexError: - raise KeyError, key + raise_(KeyError, key) del self.times[t0] if not l: diff --git a/carbon/common/script/sys/alert.py b/carbon/common/script/sys/alert.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/sys/alert.py +from __future__ import print_function import base64 import cStringIO import copy @@ -151,7 +152,7 @@ class Alert(Service): self.mail_server = smtplib.SMTP(server) else: self.mail_server = smtplib.SMTP(server, local_hostname=local_hostname) - except StandardError: + except Exception: log.LogTraceback('Mail server not working.', severity=log.LGWARN) sys.exc_clear() self.mail_server = None @@ -438,7 +439,7 @@ class Alert(Service): kw = copy.copy(kw) kw['nodeID'] = self.machoNet.GetNodeID() self.__SendStackTraceAlert(stackID, stackTrace, mode, **kw) - except StandardError: + except Exception: log.LogException('Exception in Error Logging, preventing infinite recursion', toAlertSvc=0) sys.exc_clear() @@ -566,7 +567,7 @@ class Alert(Service): nodeID or self.machoNet.GetNodeID()) else: self.LogError('Strange... unknown bean counting method specified ', logMode) - except StandardError as e: + except Exception as e: self.LogError('Error during error handling:', e) self.solalert = None sys.exc_clear() @@ -723,7 +724,7 @@ class Alert(Service): def GetCPULoad(self, seconds = 300): now = blue.os.GetWallclockTime() then = now - seconds * const.SEC - total = 0L + total = 0 lastTime = now i = len(blue.pyos.cpuUsage) - 1 while i > 0 and blue.pyos.cpuUsage[i].timestamp >= then: @@ -787,19 +788,19 @@ class Alert(Service): def DoNastyLoggingTest(self, randomUser = False, maxLoops = 500000, showProgress = False): if prefs.clusterMode not in ('LOCAL', 'TEST'): - print 'BAD BAD BOY!, you are not to call this on a live server!!!' + print('BAD BAD BOY!, you are not to call this on a live server!!!') return self.tasklets.append(uthread.new(self.__DoNastyErrorLogSimulation, randomUser, maxLoops, showProgress)) def __DoNastyErrorLogSimulation(self, randomUser = False, maxLoops = 50000, showProgress = False): import random if prefs.clusterMode not in ('LOCAL', 'TEST'): - print 'BAD BAD BOY!, you are not to call this on a live server!!!' + print('BAD BAD BOY!, you are not to call this on a live server!!!') return if randomUser: - print 'DoNastyErrorLogSimulation is generating many errors with !!RANDOM!! User IDs' + print('DoNastyErrorLogSimulation is generating many errors with !!RANDOM!! User IDs') else: - print 'DoNastyErrorLogSimulation is generatijng many errors with session User ID' + print('DoNastyErrorLogSimulation is generatijng many errors with session User ID') userIDStart = 10000 userIDRange = 25 cnt = 0 @@ -817,9 +818,9 @@ class Alert(Service): self.SendStackTraceAlert((2000 + i, errorKey % i), errorStack % (i, cnt), 'error', userID=testUserID) if showProgress: - print '.', + print('.', end=' ') if cnt % 100 == 0: - print '' - print 'cnt = ', cnt + print('') + print('cnt = ', cnt) - print '============================== all done' + print('============================== all done') diff --git a/carbon/common/script/sys/basesession.py b/carbon/common/script/sys/basesession.py @@ -166,7 +166,7 @@ class ObjectConnection(): with self.__session__.Masquerade({'base.caller': weakref.ref(self)}): with CallTimer(machobase.GetLogName(object) + '::' + method): try: - result = apply(getattr(object, method), args, keywords) + result = getattr(object, method)(*args, **keywords) except Exception as e: self.LogPseudoMethodCall(e, method) raise @@ -267,7 +267,7 @@ class ObjectConnection(): except ReferenceError: pass - except StandardError: + except Exception: log.LogException() self.__object__ = None @@ -650,7 +650,7 @@ class CoreSession(): d['connectedObjects'] = {} d['connectedServices'] = {} d['calltimes'] = {} - d['notificationID'] = 0L + d['notificationID'] = 0 d['machoObjectsByID'] = {} d['machoObjectConnectionsByObjectID'] = {} d['sessionVariables'] = {} @@ -688,7 +688,7 @@ class CoreSession(): if len(temp) >= throttleTimes: self.callThrottling[key] = temp remainingTime = earliestTime + throttleInterval - now if earliestTime is not None else throttleInterval - mergedErrorParams = {'remainingTime': max(0L, remainingTime)} + mergedErrorParams = {'remainingTime': max(0, remainingTime)} if userErrorParams is not None: mergedErrorParams.update(userErrorParams) raise UserError(userErrorMessage, mergedErrorParams) @@ -766,7 +766,7 @@ class CoreSession(): sm.services['machoNet'].Scattercast('+clientID', [self.clientID], 'OnMachoObjectDisconnect', objectID, self.clientID, refID) if isinstance(object, ObjectConnection): object.DisconnectObject() - except StandardError: + except Exception: log.LogException() sys.exc_clear() @@ -1000,7 +1000,7 @@ class CoreSession(): if not sessionsByAttribute[attr][val]: del sessionsByAttribute[attr][val] - except StandardError: + except Exception: sys.exc_clear() self.__dict__['clearing_session'] = 1 @@ -1058,7 +1058,7 @@ class CoreSession(): try: if oid in self.connectedObjects: objConn.DisconnectObject() - except StandardError: + except Exception: log.LogException() sys.exc_clear() @@ -1079,7 +1079,7 @@ class CoreSession(): try: if oid in self.connectedObjects: notifyNodes.append(object.ProcessSessionChange(isRemote, self, notify)) - except StandardError: + except Exception: log.LogException() sys.exc_clear() @@ -1759,7 +1759,7 @@ class UpdatePublicAttributesCallWrapper(): objectsByUUID = weakref.WeakValueDictionary({}) -objectUUID = 0L +objectUUID = 0 def GetObjectUUID(object): global objectUUID @@ -1767,7 +1767,7 @@ def GetObjectUUID(object): if hasattr(object, '__machoObjectUUID__'): return object.__machoObjectUUID__ else: - objectUUID += 1L + objectUUID += 1 if machobase.mode == 'client': t = 'C=0:%s' % objectUUID else: @@ -1806,7 +1806,7 @@ def ReadContextSessionTypesPrefs(): else: log.LogInfo('CTXSESS: %s not provided, no context sessions will be created' % PREFS_PARAMETER) - except StandardError: + except Exception: log.LogException("Exception while parsing prefs parameter '%s'" % PREFS_PARAMETER) diff --git a/carbon/common/script/sys/cfg.py b/carbon/common/script/sys/cfg.py @@ -362,7 +362,7 @@ class Config(): if len(value) >= 3: value2 = value[2] value = self.FormatConvert(value[0], value[1], value2) - if self.fmtMapping.has_key(formatType): + if formatType in self.fmtMapping: return self.fmtMapping[formatType](value, value2) else: return 'INVALID FORMAT TYPE %s, value is %s' % (formatType, value) @@ -600,23 +600,23 @@ class Recordset(): def Get(self, key, flush = 0): key = int(key) - if flush or not self.data.has_key(key): + if flush or key not in self.data: if boot.role != 'server': self.Prime([key]) else: uthread.Lock(self, key) try: - if flush or not self.data.has_key(key): + if flush or key not in self.data: self.__LoadData(key) finally: uthread.UnLock(self, key) - if self.data.has_key(key): + if key in self.data: return self.rowclass(self, key) raise KeyError('RecordNotFound', key) def GetIfExists(self, key): - if self.data.has_key(key): + if key in self.data: return self.rowclass(self, key) else: return None diff --git a/carbon/common/script/sys/crowset.py b/carbon/common/script/sys/crowset.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/sys/crowset.py +from __future__ import print_function import weakref import blue from carbon.common.lib import const @@ -162,7 +163,7 @@ class CFilterRowset(dict): def SaveRowset(rs, filename, segmented): - print '>>about to SaveRowset', filename, segmented + print('>>about to SaveRowset', filename, segmented) if isinstance(rs, CRowset): if segmented: raise RuntimeError('SaveRowset: No support for segmented CRowset') diff --git a/carbon/common/script/sys/debugSvc.py b/carbon/common/script/sys/debugSvc.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/sys/debugSvc.py +from __future__ import print_function import cStringIO import code import marshal @@ -218,11 +219,11 @@ class debugSvc(Service): if noprompt: console.push(text, symbol) else: - print text + print(text) incomplete = console.push(text, symbol) - print '...' if incomplete else '>>>', + print('...' if incomplete else '>>>', end=' ') if not noprompt: - print '', + print('', end=' ') finally: sys.stdout, sys.stderr = temp diff --git a/carbon/common/script/sys/row.py b/carbon/common/script/sys/row.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/sys/row.py +from future.utils import raise_ import types import sys @@ -20,9 +21,9 @@ class Row: try: return self.__dict__['line'][self.__dict__['header'].index(name)] except ValueError: - raise AttributeError, name + raise_(AttributeError, name) except KeyError: - raise AttributeError, name + raise_(AttributeError, name) def __getitem__(self, i): if type(i) == types.StringType: diff --git a/carbon/common/script/sys/sandbox.py b/carbon/common/script/sys/sandbox.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/sys/sandbox.py +from future.utils import raise_ import dis def _get_opcodes(codeobj): @@ -22,7 +23,7 @@ def fingerprint(*args): try: c = compile(expr, '', 'eval') except: - raise ValueError, '%s is not a valid expression' % strx(expr) + raise_(ValueError, '%s is not a valid expression' % strx(expr)) for code in _get_opcodes(c): allCodes[code] = True @@ -37,12 +38,12 @@ def test_expr(expr, allowed_codes): try: c = compile(expr, '', 'eval') except: - raise ValueError, '%s is not a valid expression' % strx(expr) + raise_(ValueError, '%s is not a valid expression' % strx(expr)) codes = _get_opcodes(c) for code in codes: if code not in allowed_codes: - raise ValueError, 'opcode %s not allowed' % dis.opname[code] + raise_(ValueError, 'opcode %s not allowed' % dis.opname[code]) return c diff --git a/carbon/common/script/sys/service.py b/carbon/common/script/sys/service.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/sys/service.py +from future.utils import raise_ import types import weakref import sys @@ -18,11 +19,6 @@ from eve.common.lib.appConst import CHARNODE_MOD from eveexceptions import UserError from stdlogutils import LineWrap from eveprefs import prefs, boot -consts = {} -for k, v in globals().items(): - if type(v) in (types.IntType, types.LongType): - consts[k] = v - callWrapperLocks = {} callWrapperID = 0 allCallWrappers = weakref.WeakValueDictionary({}) @@ -108,7 +104,7 @@ class CallWrapper(): cookieName = method if type(method) == types.StringType: method = getattr(self.__callable__, method, getattr(self, method, None)) - cookies[cookieName] = apply(method, (self.__method__, args, keywords), extra) + cookies[cookieName] = method(self.__method__, args, keywords, **extra) except CacheOK as result: tb = sys.exc_info()[2] @@ -148,7 +144,7 @@ class CallWrapper(): if hasattr(self.__callable__, 'PreCallAction'): self.__callable__.PreCallAction(self.__method_without_Ex__) - result = apply(getattr(self.__callable__, self.__method_without_Ex__), args2, keywords) + result = getattr(self.__callable__, self.__method_without_Ex__)(*args2, **keywords) except UserError as result: tb = sys.exc_info()[2] sys.exc_clear() @@ -167,11 +163,7 @@ class CallWrapper(): extra = {} if type(method) == types.StringType: method = getattr(self.__callable__, method, getattr(self, method, None)) - apply(method, (cookies, - result, - self.__method__, - args, - keywords), extra) + method(cookies, result, self.__method__, args, keywords, **extra) except CacheOK as result: tb = sys.exc_info()[2] sys.exc_clear() @@ -187,7 +179,7 @@ class CallWrapper(): if result is not None: if isinstance(result, Exception): - raise result, None, tb + raise_(result, None, tb) elif isinstance(result, CachedResult): return result.result finally: @@ -478,9 +470,9 @@ class MiniTraceCallWrapper(): stats[k] = stats.get(k, 0) + 1 self.service.LogInfo(self.funcName, args, kw, ' is being called by ', k0[1], ' in line ', k0[2], ' of ', k0[0]) - return apply(self.func, args, kw) + return self.func(*args, **kw) else: - return apply(self.func, args, kw) + return self.func(*args, **kw) MiniTraceStats = globalMiniTraceStats @@ -626,14 +618,14 @@ class CoreService(object): del boundObject.objectConnections[sessionID][connectionID] except KeyError: pass - except StandardError: + except Exception: log.LogException() try: if not boundObject.objectConnections[sessionID]: try: connection.PseudoMethodCall(boundObject, 'OnSessionDetach') - except StandardError: + except Exception: log.LogException() try: @@ -751,7 +743,7 @@ class CoreService(object): return self.__dict__[key] if hasattr(self.__class__, key): return getattr(self.__class__, key) - raise AttributeError, key + raise_(AttributeError, key) def __setattr__(self, key, value): super(CoreService, self).__setattr__(key, value) diff --git a/carbon/common/script/sys/serviceConst.py b/carbon/common/script/sys/serviceConst.py @@ -13,58 +13,58 @@ SERVICE_CONTROL_PAUSE = 2 SERVICE_CONTROL_CONTINUE = 3 SERVICE_CONTROL_INTERROGATE = 4 SERVICE_CONTROL_SHUTDOWN = 5 -ROLE_CL = 549755813888L -ROLE_CR = 1099511627776L -ROLE_CM = 2199023255552L -ROLE_BSDADMIN = 35184372088832L -ROLE_EXT_GM1 = 70368744177664L -ROLE_EXT_GM2 = 140737488355328L -ROLE_EXT_GM3 = 281474976710656L -ROLE_EXT_GM4 = 562949953421312L -ROLE_SECURITY = 1125899906842624L -ROLE_PROGRAMMER = 2251799813685248L -ROLE_QA = 4503599627370496L -ROLE_GMH = 9007199254740992L -ROLE_GMS = 274877906944L -ROLE_GML = 18014398509481984L -ROLE_CONTENT = 36028797018963968L -ROLE_ADMIN = 72057594037927936L -ROLE_VIPLOGIN = 144115188075855872L -ROLE_ROLEADMIN = 288230376151711744L -ROLE_NEWBIE = 576460752303423488L -ROLE_SERVICE = 1152921504606846976L -ROLE_PLAYER = 2305843009213693952L -ROLE_LOGIN = 4611686018427387904L -ROLE_DBA = 16384L -ROLE_REMOTESERVICE = 131072L -ROLE_TRANSLATION = 524288L -ROLE_CHTINVISIBLE = 1048576L -ROLE_CHTADMINISTRATOR = 2097152L -ROLE_TRANSLATIONADMIN = 134217728L -ROLE_ACCOUNTMANAGEMENT = 536870912L -ROLE_IGB = 2147483648L -ROLE_TRANSLATIONEDITOR = 4294967296L -ROLE_TRANSLATIONTESTER = 34359738368L -ROLE_BANNING = 2L -ROLE_VMSADMIN = 4L -ROLE_MARKETH = 8L -ROLE_CSMADMIN = 16L -ROLE_CSMDELEGATE = 32L -ROLE_PINKCHAT = 64L -ROLE_VGSADMIN = 128L -ROLE_PETITIONEE = 256L -ROLE_CDKEYS = 512L -ROLE_VGSMANAGER = 1024L -ROLE_CENTURION = 2048L -ROLE_WORLDMOD = 4096L -ROLE_LEGIONEER = 262144L -ROLE_HEALSELF = 4194304L -ROLE_HEALOTHERS = 8388608L -ROLE_NEWSREPORTER = 16777216L -ROLE_SPAWN = 8589934592L -ROLE_BATTLESERVER = 17179869184L -ROLE_TOURNAMENT = 68719476736L -ROLE_TRANSFER = 137438953472L +ROLE_CL = 549755813888 +ROLE_CR = 1099511627776 +ROLE_CM = 2199023255552 +ROLE_BSDADMIN = 35184372088832 +ROLE_EXT_GM1 = 70368744177664 +ROLE_EXT_GM2 = 140737488355328 +ROLE_EXT_GM3 = 281474976710656 +ROLE_EXT_GM4 = 562949953421312 +ROLE_SECURITY = 1125899906842624 +ROLE_PROGRAMMER = 2251799813685248 +ROLE_QA = 4503599627370496 +ROLE_GMH = 9007199254740992 +ROLE_GMS = 274877906944 +ROLE_GML = 18014398509481984 +ROLE_CONTENT = 36028797018963968 +ROLE_ADMIN = 72057594037927936 +ROLE_VIPLOGIN = 144115188075855872 +ROLE_ROLEADMIN = 288230376151711744 +ROLE_NEWBIE = 576460752303423488 +ROLE_SERVICE = 1152921504606846976 +ROLE_PLAYER = 2305843009213693952 +ROLE_LOGIN = 4611686018427387904 +ROLE_DBA = 16384 +ROLE_REMOTESERVICE = 131072 +ROLE_TRANSLATION = 524288 +ROLE_CHTINVISIBLE = 1048576 +ROLE_CHTADMINISTRATOR = 2097152 +ROLE_TRANSLATIONADMIN = 134217728 +ROLE_ACCOUNTMANAGEMENT = 536870912 +ROLE_IGB = 2147483648 +ROLE_TRANSLATIONEDITOR = 4294967296 +ROLE_TRANSLATIONTESTER = 34359738368 +ROLE_BANNING = 2 +ROLE_VMSADMIN = 4 +ROLE_MARKETH = 8 +ROLE_CSMADMIN = 16 +ROLE_CSMDELEGATE = 32 +ROLE_PINKCHAT = 64 +ROLE_VGSADMIN = 128 +ROLE_PETITIONEE = 256 +ROLE_CDKEYS = 512 +ROLE_VGSMANAGER = 1024 +ROLE_CENTURION = 2048 +ROLE_WORLDMOD = 4096 +ROLE_LEGIONEER = 262144 +ROLE_HEALSELF = 4194304 +ROLE_HEALOTHERS = 8388608 +ROLE_NEWSREPORTER = 16777216 +ROLE_SPAWN = 8589934592 +ROLE_BATTLESERVER = 17179869184 +ROLE_TOURNAMENT = 68719476736 +ROLE_TRANSFER = 137438953472 ROLE_EXT_GM4_PLUS = ROLE_EXT_GM4 | ROLE_GML | ROLE_GMH ROLE_EXT_GM3_PLUS = ROLE_EXT_GM3 | ROLE_EXT_GM4_PLUS ROLE_EXT_GM2_PLUS = ROLE_EXT_GM2 | ROLE_EXT_GM3_PLUS diff --git a/carbon/common/script/sys/serviceManager.py b/carbon/common/script/sys/serviceManager.py @@ -1,6 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/sys/serviceManager.py +from __future__ import print_function +from future.utils import raise_ import __builtin__ import sys +import numbers import threading import time import types @@ -95,7 +98,7 @@ class ServiceManager(logUtil.LogMixin): if self.state == SERVICE_STOPPED: self.state = SERVICE_START_PENDING else: - raise RuntimeError, "can't run a service when state is " + repr(self.state) + raise_(RuntimeError, "can't run a service when state is " + repr(self.state)) self._BuildClassMap() blue.pyos.AddExitProc(self.Stop) for block in servicesToBlock: @@ -103,7 +106,7 @@ class ServiceManager(logUtil.LogMixin): self.blockedServices.append(block) if len(servicesToRun): - print 'Starting services' + print('Starting services') was = blue.pyos.taskletTimer.timesliceWarning try: blue.pyos.taskletTimer.timesliceWarning = 5000 @@ -116,7 +119,7 @@ class ServiceManager(logUtil.LogMixin): while self.services[each].state == SERVICE_START_PENDING: counter += 1 if counter % 100 == 0: - print "Service start still pending: '%s', sleeping..." % self.services[each].__guid__ + print("Service start still pending: '%s', sleeping..." % self.services[each].__guid__) blue.pyos.synchro.SleepWallclock(sleepTimeMs) sleepTimeMs *= 2 if sleepTimeMs > 100: @@ -129,7 +132,7 @@ class ServiceManager(logUtil.LogMixin): finally: blue.pyos.taskletTimer.timesliceWarning = was - print 'Starting services - Done' + print('Starting services - Done') self.state = SERVICE_RUNNING def Stop(self): @@ -178,7 +181,7 @@ class ServiceManager(logUtil.LogMixin): self.notify[notify].remove(v) v.Stop(blue.MemStream()) - except StandardError: + except Exception: log.LogException() sys.exc_clear() finally: @@ -216,7 +219,7 @@ class ServiceManager(logUtil.LogMixin): try: self.StopService(each, 0, ms) finally: - if self.services.has_key(each): + if each in self.services: del self.services[each] self.GetService(each, ms) @@ -241,9 +244,9 @@ class ServiceManager(logUtil.LogMixin): if svc.state in errorStates: svc.LogError('Service ', svc.__logname__, ' got in an unexpected state', 'raising error') if svc.__error__: - raise svc.__error__[1], None, svc.__error__[2] + raise_(svc.__error__[1], None, svc.__error__[2]) else: - raise RuntimeError, 'Service %s made unexpected state transition' % svc.__logname__ + raise_(RuntimeError, 'Service %s made unexpected state transition' % svc.__logname__) blue.pyos.synchro.SleepWallclock(sleepTimeMs) sleepTimeMs *= 2 if sleepTimeMs > 100: @@ -293,7 +296,7 @@ class ServiceManager(logUtil.LogMixin): self.WaitForServiceObjectState(srv, desiredStates, errorStates) return srv if self.state in (SERVICE_STOP_PENDING, SERVICE_STOPPED): - raise RuntimeError, "Can't start service " + serviceName + ' when service manager is shutting down' + raise_(RuntimeError, "Can't start service " + serviceName + ' when service manager is shutting down') if 'machoNet' in self.services and self.services['machoNet'].IsClusterShuttingDown(): log.LogTraceback("Attempt to start service '%s' during cluster shutdown" % serviceName) raise RuntimeError("Cannot start service '%s' during cluster shutdown" % serviceName) @@ -396,7 +399,7 @@ class ServiceManager(logUtil.LogMixin): raise ServiceNotFound(serviceName) if createName != serviceName: - print 'Replacing service %r with %r' % (serviceName, createName) + print('Replacing service %r with %r' % (serviceName, createName)) replaceService = getattr(createClass, '__replaceservice__', None) if replaceService is not None and replaceService != serviceName: raise RuntimeError('Must not start %s directly as it replaces %s' % (serviceName, replaceService)) @@ -422,7 +425,7 @@ class ServiceManager(logUtil.LogMixin): paramList = tmp if type(paramList) == types.DictType: for k, v in paramList.iteritems(): - if k not in ('role', 'caching', 'preargs', 'fastcall', 'precall', 'postcall', 'callhandlerargs', 'input', 'resolve') or k == 'role' and type(v) not in (types.IntType, types.LongType): + if k not in ('role', 'caching', 'preargs', 'fastcall', 'precall', 'postcall', 'callhandlerargs', 'input', 'resolve') or k == 'role' and not isinstance(v, numbers.Integral): self.LogError('Service %s has illegal function declaration for %s: %s is not a valid metadata key' % (serviceName, funcName, k)) elif k == 'fastcall': if int(v) not in (0, 1): @@ -477,12 +480,12 @@ class ServiceManager(logUtil.LogMixin): else: svc.LogWarn('Service', namen, 'startup took %-3.3f' % t, ' seconds') serviceStartupTimeTxt = 'Service %-25s Startup time: %-3.3fs' % (namen, t) - print serviceStartupTimeTxt + print(serviceStartupTimeTxt) self.LogNotice(serviceStartupTimeTxt) def StopService(self, serviceName, halt = 1, ms = None): self.LogInfo('Stopping %s' % serviceName) - if not self.services.has_key(serviceName): + if serviceName not in self.services: return srv = self.services[serviceName] if srv.state in (SERVICE_STOP_PENDING, SERVICE_STOPPED): @@ -588,7 +591,7 @@ class ServiceManager(logUtil.LogMixin): ret.append(ClockThisWithoutTheStars(logname, getattr(srv, eventid), args, keywords)) elif shouldLogMethodCalls: self.LogMethodCall('Skipping ', logname, ' (service not running)') - except StandardError: + except Exception: self.LogError('In %s.%s' % (getattr(srv, '__guid__', logname), eventid)) log.LogException() sys.exc_clear() @@ -603,8 +606,8 @@ class ServiceManager(logUtil.LogMixin): if shouldLogMethodCalls: logname = prefix + str(obj) self.LogMethodCall('Calling ', logname) - apply(getattr(obj, eventid), args, keywords) - except StandardError: + getattr(obj, eventid)(*args, **keywords) + except Exception: self.LogError('In %s.%s' % (getattr(weakObj, '__guid__', self.GetLogName(weakObj)), eventid)) log.LogException() sys.exc_clear() @@ -650,7 +653,7 @@ class ServiceManager(logUtil.LogMixin): ret.append(retval) elif shouldLogMethodCalls: self.LogMethodCall('Skipping ', logname, ' (service not running)') - except StandardError: + except Exception: self.LogError('In %s.%s' % (contextName, eventid)) log.LogException() sys.exc_clear() @@ -667,7 +670,7 @@ class ServiceManager(logUtil.LogMixin): if shouldLogMethodCalls: self.LogMethodCall('Calling ', prefix + str(obj)) ClockThisWithoutTheStars(logname, getattr(obj, eventid), args, keywords) - except StandardError: + except Exception: self.LogError('In %s.%s:' % (contextName, eventid)) log.LogException() sys.exc_clear() @@ -767,7 +770,7 @@ class ServiceManager(logUtil.LogMixin): ret.append(retval) elif shouldLogMethodCalls: self.LogMethodCall('Skipping ', logname, ' (service not running)') - except StandardError: + except Exception: log.LogException('In %s.%s' % (getattr(srv, '__guid__', self.GetLogName(srv)), eventid)) sys.exc_clear() @@ -785,7 +788,7 @@ class ServiceManager(logUtil.LogMixin): uthread.workerWithoutTheStars('', getattr(obj, eventid), args, keywords) else: ClockThisWithoutTheStars(prefix + self.GetLogName(weakObj), getattr(obj, eventid), args, keywords) - except StandardError: + except Exception: self.LogError('In %s.%s' % (getattr(weakObj, '__guid__', self.GetLogName(srv)), eventid)) log.LogException() sys.exc_clear() @@ -813,22 +816,22 @@ class ServiceManager(logUtil.LogMixin): def MollycoddledUthread(self, guid, eventid, func, args, keywords): try: - apply(func, args, keywords) + func(*args, **keywords) except: self.LogError('In %s.%s' % (guid, eventid)) log.LogException() sys.exc_clear() def FavourMe(self, fn): - self.notify[fn.__name__].remove(fn.im_self) - self.notify[fn.__name__] = [fn.im_self] + self.notify[fn.__name__] + self.notify[fn.__name__].remove(fn.__self__) + self.notify[fn.__name__] = [fn.__self__] + self.notify[fn.__name__] def UnfavourMe(self, fn): - if fn.im_self in self.notify[fn.__name__]: - self.notify[fn.__name__].remove(fn.im_self) - self.notify[fn.__name__] = self.notify[fn.__name__] + [fn.im_self] + if fn.__self__ in self.notify[fn.__name__]: + self.notify[fn.__name__].remove(fn.__self__) + self.notify[fn.__name__] = self.notify[fn.__name__] + [fn.__self__] else: - self.LogWarn('Cannot unfavour ', fn.im_self, ' from ', fn.__name__, ", since it's not a notification listener") + self.LogWarn('Cannot unfavour ', fn.__self__, ' from ', fn.__name__, ", since it's not a notification listener") def RegisterForNotifyEvent(self, ob, notify): if ob not in self.notify[notify]: @@ -868,7 +871,7 @@ class ServiceManager(logUtil.LogMixin): if toRemove in self.notifyObs[eventid]: self.notifyObs[eventid].remove(toRemove) - except StandardError: + except Exception: log.LogException('_RemoveDeadObjects: Failed to remove dead objects') @telemetry.ZONE_METHOD diff --git a/carbon/common/script/sys/sessions.py b/carbon/common/script/sys/sessions.py @@ -130,7 +130,7 @@ def SessionKillah(machoNet): log.LogInfo('Asking proxy ', transport.nodeID, ' to remove ', len(sids), ' session(s)') proxySessionMgr = machoNet.session.ConnectToRemoteService('sessionMgr', nodeID=transport.nodeID) proxySessionMgr.RemoveSessionsFromServer(myNodeID, sids) - except StandardError: + except Exception: log.LogException('While removing irrelevant session from serer') sys.exc_clear() @@ -445,7 +445,7 @@ class SessionMgr(service.Service): self.LogInfo('Pre-op updating next legal session change to ', FmtDateEng(sess.nextSessionChange)) self.LogInfo('Executing the session modification method') try: - return apply(func, args, kw2) + return func(*args, **kw2) except Exception as e: if localNextSessionChange >= sess.nextSessionChange: sess.nextSessionChange = prev @@ -582,12 +582,12 @@ class SessionMgr(service.Service): if proxyNodeID is not None: return self.GetProxySessionManager(proxyNodeID).UpdateSessionAttributes(idtype, theID, dict) sessions = FindSessions(idtype, [theID]) - if idtype == 'charid' and dict.has_key('flagRolesOnly') and sessions and len(sessions) > 0: + if idtype == 'charid' and 'flagRolesOnly' in dict and sessions and len(sessions) > 0: sessioncorpid = sessions[0].corpid rolecorpid = dict['corpid'] if sessioncorpid != rolecorpid: self.LogError('Character session is wrong!!! Character', theID, 'has session corp', sessioncorpid, 'but should be', rolecorpid, "I'll fix his session but please investigate why this occurred! Update dict:", dict, 'Session:', sessions[0]) - if dict.has_key('flagRolesOnly'): + if 'flagRolesOnly' in dict: del dict['flagRolesOnly'] self.TypeAndNodeValidationHook(idtype, theID) parallelCalls = [] @@ -613,7 +613,7 @@ class SessionMgr(service.Service): s.LogSessionHistory('Updating session information via sessionMgr::UpdateSessionAttributes') s.SetAttributes(dict) s.LogSessionHistory('Updated session information via sessionMgr::UpdateSessionAttributes') - except StandardError: + except Exception: log.LogException() sys.exc_clear() @@ -691,11 +691,11 @@ class SessionMgr(service.Service): timer = PushMark(c) try: with CallTimer(c): - retvals.append((0, callID, apply(getattr(sm.GetService(service), method), args, keywords))) + retvals.append((0, callID, getattr(sm.GetService(service), method)(*args, **keywords))) finally: PopMark(timer) - except StandardError as e: + except Exception as e: if getattr(e, '__passbyvalue__', 0): retvals.append((1, callID, strx(e))) else: @@ -746,7 +746,7 @@ class SessionMgr(service.Service): sessionToReset.LogSessionHistory('Resetting session information via sessionMgr::ResetClientConnection') sessionToReset.ClearCharacterDependantAttributes() sessionToReset.LogSessionHistory('Session information reset sessionMgr::ResetClientConnection') - except StandardError: + except Exception: log.LogException() raise @@ -762,7 +762,7 @@ class SessionMgr(service.Service): for sess in sassies: try: transport.RemoveSessionFromServer(sess) - except StandardError: + except Exception: log.LogException('While removing irrelevant session from server') def TerminateClientConnections(self, reason, filter): diff --git a/carbon/common/script/util/datatable.py b/carbon/common/script/util/datatable.py @@ -42,7 +42,7 @@ class DataTableQuery(object): def query(self, table_def, table_rows): if len(self.__query_list) == 0: return (table_def, table_rows) - if self.__query_list.has_key('SELECT'): + if 'SELECT' in self.__query_list: sel = self.__query_list['SELECT'].replace(' ', '').split(',') skip_idx = [] columns = {} @@ -52,7 +52,7 @@ class DataTableQuery(object): skip_idx.append(x) table_def = filter(lambda x: x[0] in sel, table_def) - if self.__query_list.has_key('ORDER BY'): + if 'ORDER BY' in self.__query_list: idx = columns[self.__query_list['ORDER BY']] table_rows.sort(lambda x, y: cmp(x[idx], y[idx])) if len(skip_idx) > 0: @@ -68,8 +68,8 @@ class DataTableQuery(object): t_rows.append(t_row) table_rows = t_rows - limit = int(self.__query_list['LIMIT']) if self.__query_list.has_key('LIMIT') else len(table_rows) - offset = 0 if not self.__query_list.has_key('OFFSET') else int(self.__query_list['OFFSET']) + limit = int(self.__query_list['LIMIT']) if 'LIMIT' in self.__query_list else len(table_rows) + offset = 0 if 'OFFSET' not in self.__query_list else int(self.__query_list['OFFSET']) return (table_def, table_rows[offset:offset + limit]) @@ -258,7 +258,7 @@ class DataTable(object): def __Wrapper(self, data): version = "version:'%s'" % self.__version - reqId = "reqId:'%s'" % self.__tqxdict['reqId'] if self.__tqxdict.has_key('reqId') else '' + reqId = "reqId:'%s'" % self.__tqxdict['reqId'] if 'reqId' in self.__tqxdict else '' status = "status:'ok'" if len(self.__errors) == 0 else "status:'error'" errors = ''.join(['errors:[{', ','.join(self.__errors), '}]']) if len(self.__errors) > 0 else '' table = 'table:{%s}' % ''.join(data) if len(self.__errors) == 0 else '' diff --git a/carbon/common/script/util/format.py b/carbon/common/script/util/format.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/format.py +from future.utils import raise_ import log import blue import string @@ -39,7 +40,7 @@ def EscapeAdHocSQL(s): def FmtTimeIntervalMaxParts(interval, breakAt = 'msec', maxParts = None): - if interval < 10000L: + if interval < 10000: return localization.GetByLabel('/Carbon/UI/Common/Formatting/ShortAmountTime') breakAt2 = _GetBreakAtString(breakAt) timeInterval = localization.formatters.FormatTimeIntervalWritten(interval, showFrom='year', showTo=breakAt2, maxParts=maxParts) @@ -63,7 +64,7 @@ def FmtTimeInterval(interval, breakAt = 'msec', *args): def FmtDateTimeInterval(startTime, endTime, breakAt = 'msec', highlightTime = False): interval = endTime - startTime - if interval < 10000L: + if interval < 10000: return localization.GetByLabel('/Carbon/UI/Common/Formatting/ShortAmountTime') breakAt2 = _GetBreakAtString(breakAt) return localization.formatters.FormatDateTimeIntervalWritten(startTime, endTime, showFrom='year', showTo=breakAt2, maxParts=None, highlightTime=highlightTime) @@ -78,7 +79,7 @@ def FmtDate(date, fmt = 'll'): if date < 0: log.LogTraceback('Negative value in FmtDate') date *= -1 - year1800 = const.YEAR365 * 199L + year1800 = const.YEAR365 * 199 if fmt[1] not in ('l', 's', 'n'): log.LogTraceback('Incorrect format statement used', fmt) raise RuntimeError('InvalidArg', fmt) @@ -436,7 +437,7 @@ def RomanToInt(roman): result = 0 index = 0 if not romanNumeralPattern.search(roman): - raise RuntimeError, 'Invalid Roman numeral: %s' % roman + raise_(RuntimeError, 'Invalid Roman numeral: %s' % roman) for numeral, length, integer in ROMAN_NUMERAL_MAP: while roman[index:index + length] == numeral: result += integer @@ -447,9 +448,9 @@ def RomanToInt(roman): def IntToRoman(n): if not 0 < n < 40: - raise RuntimeError, 'number out of range (must be 1..4999)' + raise RuntimeError('number out of range (must be 1..4999)') if int(n) != n: - raise RuntimeError, 'non-integers can not be converted' + raise RuntimeError('non-integers can not be converted') result = '' for numeral, length, integer in ROMAN_NUMERAL_MAP: while n >= integer: @@ -482,7 +483,7 @@ def FmtDateEng(date, fmt = 'll', localizeTime = True): neg = '-' else: neg = '' - year1800 = const.YEAR365 * 199L + year1800 = const.YEAR365 * 199 if localizeTime and date >= year1800 and date % const.DAY and boot.region == 'optic': date += 8 * const.HOUR year, month, wd, day, hour, min, sec, ms = blue.os.GetTimeParts(date) @@ -551,7 +552,7 @@ def FmtDateEng(date, fmt = 'll', localizeTime = True): def FmtTimeIntervalEng(interval, breakAt = None, *args, **kwargs): - if interval < 10000L: + if interval < 10000: return 'A short amount of time' year, month, wd, day, hour, min, sec, ms = blue.os.GetTimeParts(interval) year -= 1601 @@ -688,7 +689,7 @@ def FmtAmtEng(amount, fmt = 'ln', showFraction = 0, fillWithZero = 0): def TruncateAmt(val, unit): - rest = val % unit / (unit / 100L) + rest = val % unit / (unit / 100) ret = str(val / unit) if rest > 0: ret = ret + '%s%02d' % (DECIMAL, rest) diff --git a/carbon/common/script/util/htmlwriter.py b/carbon/common/script/util/htmlwriter.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/htmlwriter.py +from __future__ import print_function import sys import time from datetime import datetime @@ -9,6 +10,7 @@ import functools import json import localization import log +import numbers import random import re import scriber @@ -1116,7 +1118,7 @@ def SplitArgs(args, dest = None): kv = i.split('=', 1) if len(kv) == 2: s = unquote_plus(kv[1]) - if dest.has_key(kv[0]): + if kv[0] in dest: if type(dest[kv[0]]) != type([]): dest[kv[0]] = [dest[kv[0]]] dest[kv[0]].append(s) @@ -1132,7 +1134,7 @@ def SplitMIMEArgs(fields, dest = None): if dest is None: dest = {} for field in fields.list: - if dest.has_key(field.name): + if field.name in dest: if type(dest[field.name]) != type([]): dest[field.name] = [dest[field.name]] if field.type != 'text/plain': @@ -2104,8 +2106,8 @@ class HtmlWriter(): level = {} last = -1 for idel, par, lab, url in data: - if not level.has_key(idel): - if not level.has_key(par): + if idel not in level: + if par not in level: level[par] = 0 level[idel] = 0 else: @@ -2420,7 +2422,7 @@ class HtmlWriter(): except Exception as ex: scriber.log.exception('Exception while Scribing') self.LogError('Exception while Scribing: %r' % ex) - print 'Exception while Scribing: %r' % ex + print('Exception while Scribing: %r' % ex) raise ex def Canonicalize(self, *args, **kw): @@ -2709,7 +2711,7 @@ class HtmlWriter(): exported = self.GetExportedForAction(action) if exported is None: return - if len(exported) and type(exported[0]) in (types.IntType, types.LongType): + if len(exported) and isinstance(exported[0], numbers.Integral): if exported[0] & session.role == 0: roles = self.session.ConnectToAnyService('cache').Rowset(const.cacheUserRoles) requiredRoles = '' @@ -3503,7 +3505,7 @@ class Form(): else: sortedList = valname.items() if sort: - sortedList.sort(key=lambda (key, value): value) + sortedList.sort(key=lambda key_value: key_value[1]) for key, value in sortedList: rowStyleString = '' if isinstance(cssByValue, dict) and key in cssByValue: diff --git a/carbon/common/script/util/inspect.py b/carbon/common/script/util/inspect.py @@ -4,7 +4,7 @@ import types def IsClassMethod(func): if type(func) != types.MethodType: return False - if type(func.im_self) is types.TypeType: + if type(func.__self__) is types.TypeType: return True return False @@ -16,6 +16,6 @@ def IsStaticMethod(func): def IsNormalMethod(func): if type(func) != types.MethodType: return False - if type(func.im_self) is not types.TypeType: + if type(func.__self__) is not types.TypeType: return True return False diff --git a/carbon/common/script/util/lbw.py b/carbon/common/script/util/lbw.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/lbw.py +from __future__ import print_function import sys import struct import time @@ -559,7 +560,7 @@ class LBW(object): self._SetHeader('Workspace', '') self._SetFileName('defaultFileName') self.devices = [] - self.AddDevice('defaultDevice', '', 1L) + self.AddDevice('defaultDevice', '', 1) self.createLogBase = False self.logStores = [] self.startPerformanceCounters = {} @@ -605,7 +606,7 @@ class LBW(object): 'incrCap': incrementalCapacity, 'clearOnNewPid': clearOnNewPid, 'filterChannels': False, - 'fileTime': 0L, + 'fileTime': 0, 'filterFlags': filterFlags, 'filterFlagsMask': filterFlagsMask, 'keepLogs': True, @@ -791,7 +792,7 @@ def FilterFiles(files, severity = None, text = None): f = fn logs = LBW(f) for l in Filter(ChunkLines(logs.Lines()), severity=sev, text=text): - print l.ShortTime(), '%6i' % l.pid, '%5s' % l.severitystr, '%20s' % l.channel, repr(l.message) + print(l.ShortTime(), '%6i' % l.pid, '%5s' % l.severitystr, '%20s' % l.channel, repr(l.message)) def FilterExceptions(files): @@ -806,7 +807,7 @@ def FilterExceptions(files): msg = l.message m = regex.search(msg) if m: - print l.ShortTime(), '%6i' % l.pid, '%5s' % l.severitystr, '%20s' % l.channel, repr(m.group(0)), repr(msg) + print(l.ShortTime(), '%6i' % l.pid, '%5s' % l.severitystr, '%20s' % l.channel, repr(m.group(0)), repr(msg)) def FilterFile(infile, outfile, chunk = False, pid = None, regex = None): @@ -876,5 +877,5 @@ def main(args = None): def Usage(): import textwrap - print textwrap.dedent(' Usage:\n lbw.py -l files ... \n lbw.py -s severity files \n lbw.py -e files # Exceptions\n lbw.py -f [-c] [-r regex][-p pid] infile outfile #filter file\n ') + print(textwrap.dedent(' Usage:\n lbw.py -l files ... \n lbw.py -s severity files \n lbw.py -e files # Exceptions\n lbw.py -f [-c] [-r regex][-p pid] infile outfile #filter file\n ')) sys.exit(1) diff --git a/carbon/common/script/util/linalg.py b/carbon/common/script/util/linalg.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/linalg.py +from future.utils import raise_ import math import types import sys @@ -96,7 +97,7 @@ class Vector(list): def __MatchSize(self, other): if len(self) != len(other): - raise TypeError, 'operands have mismatching sizes' + raise TypeError('operands have mismatching sizes') def __Vectorize(self, obj): if not isinstance(obj, Vector): @@ -159,7 +160,7 @@ class Matrix(Vector): super(Matrix, self).__init__(l) else: if len(b) != l: - raise ValueError, 'operand has incorrect length' + raise ValueError('operand has incorrect length') super(Matrix, self).__init__(b) def __getitem__(self, idx): @@ -257,7 +258,7 @@ class Matrix(Vector): other = other.CMatrix() d = self.dim[1] if d != other.dim[0]: - raise ValueError, 'invalid operand (dim%s * dim%s)' % (self.dim, other.dim) + raise_(ValueError, 'invalid operand (dim%s * dim%s)' % (self.dim, other.dim)) nl, nc = self.dim[0], other.dim[1] dim = (self.dim[0], other.dim[1]) r = Matrix((nl, nc)) @@ -390,12 +391,12 @@ class Matrix(Vector): if self.dim == (1, 1): det = self[0, 0] if not det: - raise ValueError, 'singular matrix (%s)' % self + raise_(ValueError, 'singular matrix (%s)' % self) return Matrix((1, 1), [1.0 / self[0, 0]]) if self.dim == (2, 2): det = self[0, 0] * self[1, 1] - self[1, 0] * self[0, 1] if not det: - raise ValueError, 'singular matrix (%s)' % self + raise_(ValueError, 'singular matrix (%s)' % self) return Matrix((2, 2), [self[1, 1] / det, -self[0, 1] / det, -self[1, 0] / det, @@ -410,7 +411,7 @@ class Matrix(Vector): def LUDecompose(self): n = self.dim[0] if n != self.dim[1]: - raise ValueError, 'Matrix must be square' + raise ValueError('Matrix must be square') vv = [] even = True for i in range(n): @@ -421,7 +422,7 @@ class Matrix(Vector): big = temp if not big: - raise ValueError, 'singular matrix (%s)' % self + raise_(ValueError, 'singular matrix (%s)' % self) vv.append(1.0 / big) indx = [] @@ -453,7 +454,7 @@ class Matrix(Vector): vv[imax] = vv[j] indx.append(imax) if not self[j, j]: - raise ValueError, 'singular matrix' + raise ValueError('singular matrix') self[j, j] = TINY if j != n: dum = 1.0 / self[j, j] diff --git a/carbon/common/script/util/mathUtil.py b/carbon/common/script/util/mathUtil.py @@ -11,9 +11,9 @@ MATH_PI_8 = math.pi / 8 MATH_2_PI = math.pi * 2 def LtoI(v): - if v < 2147483648L: + if v < 2147483648: return int(v) - return ~int(~v & 4294967295L) + return ~int(~v & 4294967295) def LerpList(color1, color2, lerpValue): diff --git a/carbon/common/script/util/numerical.py b/carbon/common/script/util/numerical.py @@ -83,7 +83,7 @@ class FrameClock(object): self.threshold = long(self.threshold * 10000000.0) self.filter = KalmanFilterSS(A, B, B1, C, self.factor, 1.0) self.t0 = blue.os.GetWallclockTimeNow() - self.lastTime = 0L + self.lastTime = 0 self.step = 0 self.filter.q[0] = 0.0 self.filter.q[1] = 1.0 / 50 diff --git a/carbon/common/script/util/prioritizedLoadManager.py b/carbon/common/script/util/prioritizedLoadManager.py @@ -96,7 +96,7 @@ class PrioritizedLoadManager(Service): request = self.queue.get() self.ProcessRequest(request) request = None - except StandardError: + except Exception: log.LogException() sys.exc_clear() diff --git a/carbon/common/script/util/profiling.py b/carbon/common/script/util/profiling.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/profiling.py +from __future__ import print_function import gc import sys import weakref @@ -77,35 +78,35 @@ def CheckSM(): 'stationid', 'allianceid', 'solarsystemid2'] - print '\nChecking sm.services for leaked sessions\n' + print('\nChecking sm.services for leaked sessions\n') for serviceName, serviceObject in sm.services.iteritems(): if not hasattr(serviceObject, 'boundObjects'): continue if 0 == len(serviceObject.boundObjects): continue - print 'Checking: %s' % serviceName + print('Checking: %s' % serviceName) for boundObject in serviceObject.boundObjects.itervalues(): - print '\n ', str(boundObject), '\n ' + '=' * len(str(boundObject)) - print ' Object Connections:' + print('\n ', str(boundObject), '\n ' + '=' * len(str(boundObject))) + print(' Object Connections:') for connectionList in [ d.values for d in boundObject.objectConnections.itervalues() ]: for obj in connectionList: if obj.__session__: - print ' __session__ roles: ', obj.__session__.role - print ' ', obj.__dict__ + print(' __session__ roles: ', obj.__session__.role) + print(' ', obj.__dict__) - print ' Session Connections:' + print(' Session Connections:') for sess in boundObject.sessionConnections.itervalues(): - print ' session roles: ', sess.role + print(' session roles: ', sess.role) for k, v in sess.__dict__.iteritems(): if k == 'connectedObjects': - print ' ', k, ':' + print(' ', k, ':') for someID, connection in v.iteritems(): - print ' ', someID, ':', connection + print(' ', someID, ':', connection) else: if sess.role & ROLE_SERVICE: if k in ignorableForROLE_SERVICE: continue - print ' ', k, ': ', v + print(' ', k, ': ', v) - print + print() diff --git a/carbon/common/script/util/reftree.py b/carbon/common/script/util/reftree.py @@ -1,4 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/reftree.py +from __future__ import print_function +import numbers import types, blue, weakref, sys try: import gc @@ -102,7 +104,7 @@ class RefNode(object): def Print(self, indent = 0): i = ' ' * indent * 4 - print i + str(self) + print(i + str(self)) indent = indent + 1 for c in self.children: c.Print(indent) @@ -152,7 +154,7 @@ class IdSet(object): del self.set[id(obj)] def __contains__(self, obj): - return self.set.has_key(id(obj)) + return id(obj) in self.set def PrettyStr(obj, maxlen = 20, depth = -1, indent = 1, showid = 0, prune = 0): @@ -167,18 +169,14 @@ def PrettyStr(obj, maxlen = 20, depth = -1, indent = 1, showid = 0, prune = 0): def PrettyPrint(obj, maxlen = 20, depth = -1, indent = 1, showid = 0, prune = 0): gunk = PrettyStr(obj, maxlen, depth, indent, showid, prune) for line in gunk.split('\n'): - print line + print(line) def PPRecurse(obj, maxlen, depth, indent, showid, omitset): + if isinstance(obj, numbers.Real): + return repr(obj) objType = type(obj) - if objType in [types.NoneType, - types.IntType, - types.LongType, - types.FloatType, - types.StringType, - types.ComplexType, - types.UnicodeType]: + if objType in [types.NoneType, types.StringType, types.UnicodeType]: return repr(obj) if (depth > 0 or depth < 0) and objType in [types.TupleType, types.ListType, diff --git a/carbon/common/script/util/safeThread.py b/carbon/common/script/util/safeThread.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/safeThread.py +from __future__ import print_function import sys import traceback import blue @@ -42,12 +43,12 @@ class SafeThread(object): self.__killLoop = True except Exception as inst: self.__killLoop = True - print 'SafeThread.__MainLoop - Unhandled Exception: ' + self.uniqueIDstring - print 'Repair attempts remaining:', self.MAX_REPAIR_ATTEMPTS - self.repairCount - 1, '\n' + print('SafeThread.__MainLoop - Unhandled Exception: ' + self.uniqueIDstring) + print('Repair attempts remaining:', self.MAX_REPAIR_ATTEMPTS - self.repairCount - 1, '\n') log.LogException() - print traceback.print_tb(sys.exc_info()[2]) - print inst - print inst.__doc__ + print(traceback.print_tb(sys.exc_info()[2])) + print(inst) + print(inst.__doc__) debug.startDebugging() uthread.new(self.__RestoreSafeThreadLoop) @@ -61,9 +62,9 @@ class SafeThread(object): self.__killLoop = True except Exception as e: self.__killLoop = True - print 'SafeThread.__MainLoop - Unhandled Exception: ' + self.uniqueIDstring, '\n Debug mode is off, skipping straight to repair' - print 'Repair attempts remaining:', self.MAX_REPAIR_ATTEMPTS - self.repairCount - 1, '\n' - print traceback.print_tb(sys.exc_info()[2]) + print('SafeThread.__MainLoop - Unhandled Exception: ' + self.uniqueIDstring, '\n Debug mode is off, skipping straight to repair') + print('Repair attempts remaining:', self.MAX_REPAIR_ATTEMPTS - self.repairCount - 1, '\n') + print(traceback.print_tb(sys.exc_info()[2])) log.LogException() uthread.new(self.__RestoreSafeThreadLoop) self.__thread = None @@ -79,7 +80,7 @@ class SafeThread(object): sys.exc_clear() def SafeThreadLoop(self, now): - print 'ERROR: Please implement the virtual SafeThreadLoop function' + print('ERROR: Please implement the virtual SafeThreadLoop function') return self.KILL_ME def KillLoop(self): diff --git a/carbon/common/script/util/traceref.py b/carbon/common/script/util/traceref.py @@ -1,6 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/traceref.py +from __future__ import print_function +from __future__ import absolute_import import gc -import inspect +from . import inspect import sys import types import stackless @@ -21,15 +23,15 @@ def ObjectHistogram(deltaFrom = {}): report = _SortList([ (count, (objType, count)) for objType, count in hist.iteritems() ]) report.reverse() - print 'Histogram BEGIN -----------------------------------' + print('Histogram BEGIN -----------------------------------') if deltaFrom: - print '(Delta from previous.)' - print '%s%20s' % ('Type', 'Count') + print('(Delta from previous.)') + print('%s%20s' % ('Type', 'Count')) for objType, count in report: if count != 0: - print '%s%20s' % (objType, count) + print('%s%20s' % (objType, count)) - print 'Histogram END -------------------------------------' + print('Histogram END -------------------------------------') return hist @@ -212,9 +214,9 @@ def PrintRefPaths(obj, ignore = (), verbose = False, depthLimit = None, breadthL pathStrs = map(PathStr, allPaths) pathStrs.sort() - print 'Paths are (in alphabetical order):' + print('Paths are (in alphabetical order):') for each in pathStrs: - print ' ', each + print(' ', each) del allPaths[:] allPurged = set() @@ -269,7 +271,7 @@ def _AnnotatedRefGraph(obj, ignore = (), depthLimit = None, breadthLimit = None) self.obj.f_code.co_firstlineno, self.obj.f_code.co_name) elif self.categ == 'func_closure': - return '<closed over at %s:%s(%s)>' % (self.obj.func_code.co_filename, self.obj.func_code.co_firstlineno, self.obj.func_name) + return '<closed over at %s:%s(%s)>' % (self.obj.__code__.co_filename, self.obj.__code__.co_firstlineno, self.obj.__name__) elif self.categ == 'attr': return '.%s' % self.index elif self.categ in ('seq', 'dict'): @@ -290,14 +292,14 @@ def _AnnotatedRefGraph(obj, ignore = (), depthLimit = None, breadthLimit = None) def FuncDetails(obj, rfr): for rfrfr in GetRefs(rfr): if isinstance(rfrfr, stackless.function): - for name, val in rfrfr.func_dict.iteritems(): + for name, val in rfrfr.__dict__.iteritems(): if val is obj and not IndexHandled(id(obj), id(rfrfr), 'func_dict', name): return (rfrfr, 'func_dict', i) elif isinstance(rfr, stackless.cell): for rfrfrfr in GetRefs(rfrfr): if isinstance(rfrfrfr, stackless.function): - for i, cell in enumerate(rfrfrfr.func_closure or ()): + for i, cell in enumerate(rfrfrfr.__closure__ or ()): if cell is rfr and not IndexHandled(id(obj), id(rfrfrfr), 'func_closure', i): IndexHandled(id(obj), id(rfr), 'seq', i) return (rfrfrfr, 'func_closure', i) diff --git a/carbon/common/script/util/ttimerutil.py b/carbon/common/script/util/ttimerutil.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/ttimerutil.py +from __future__ import print_function import cPickle import sys import blue @@ -33,13 +34,13 @@ class Resources(object): @staticmethod def CallgrindHeader(f): - print >> f, 'events: wt ut kt ct mem blk' - print >> f, 'event: wt: wallclock time (ns)' - print >> f, 'event: ut: user time (us)' - print >> f, 'event: kt: kernel time (us)' - print >> f, 'event: ct: cpu time time (us)' - print >> f, 'event: mem: mem allocated in context (bytes)' - print >> f, 'event: blk: mem allocated in context (blocks)' + print('events: wt ut kt ct mem blk', file=f) + print('event: wt: wallclock time (ns)', file=f) + print('event: ut: user time (us)', file=f) + print('event: kt: kernel time (us)', file=f) + print('event: ct: cpu time time (us)', file=f) + print('event: mem: mem allocated in context (bytes)', file=f) + print('event: blk: mem allocated in context (blocks)', file=f) @staticmethod def microseconds(t): @@ -50,9 +51,9 @@ class Resources(object): return int(t * 1000000000.0 + 0.5) def CallgrindPrint(self, f): - print >> f, self.nanoseconds(self.hTime), self.microseconds(self.uTime), self.microseconds(self.kTime), - print >> f, self.microseconds(self.uTime + self.kTime), - print >> f, self.nBytes, self.nBlocks + print(self.nanoseconds(self.hTime), self.microseconds(self.uTime), self.microseconds(self.kTime), end=' ', file=f) + print(self.microseconds(self.uTime + self.kTime), end=' ', file=f) + print(self.nBytes, self.nBlocks, file=f) modes = ['wallclock', 'kerneltime', @@ -410,7 +411,7 @@ class TaskletSnapshot(dict): Load = staticmethod(Load) def PrintCallgrindData(self, f): - print >> f, 'creator: blue tasklet timers' + print('creator: blue tasklet timers', file=f) Resources.CallgrindHeader(f) def splitname(n): @@ -436,13 +437,13 @@ class TaskletSnapshot(dict): mfn[fn] = '(%d)' % ifn ifn += 1 - print >> f, '#function mapping' + print('#function mapping', file=f) for k, v in mfn.iteritems(): - print >> f, 'fn=%s %s' % (v, k) + print('fn=%s %s' % (v, k), file=f) - print >> f, '#filename mapping' + print('#filename mapping', file=f) for k, v in mfl.iteritems(): - print >> f, 'fl=%s %s' % (v, k) + print('fl=%s %s' % (v, k), file=f) if False: for k in mfl.keys(): @@ -451,31 +452,31 @@ class TaskletSnapshot(dict): for k in mfn.keys(): mfn[k] = k - print >> f, '\n# call stats' + print('\n# call stats', file=f) lastfn = lastfl = None for timer in self.itervalues(): - print >> f + print(file=f) fl, fn = splitname(timer.name.encode('utf_8')) if fl != lastfl: - print >> f, 'fl=%s' % mfl[fl] + print('fl=%s' % mfl[fl], file=f) lastfl = fl if fn != lastfn: - print >> f, 'fn=%s' % mfn[fn] + print('fn=%s' % mfn[fn], file=f) lastfn = fn - print >> f, 0, + print(0, end=' ', file=f) timer.own.CallgrindPrint(f) for key, callee in timer.callees.iteritems(): target = self[key] cfl, cfn = splitname(target.name.encode('utf_8')) if cfl != fl: - print >> f, 'cfl=%s' % mfl[cfl] + print('cfl=%s' % mfl[cfl], file=f) if cfn != fn: - print >> f, 'cfn=%s' % mfn[cfn] - print >> f, 'calls=%d, 0' % callee.ncalls - print >> f, 0, + print('cfn=%s' % mfn[cfn], file=f) + print('calls=%d, 0' % callee.ncalls, file=f) + print(0, end=' ', file=f) callee.cum.CallgrindPrint(f) - print >> f, '#end' + print('#end', file=f) def SetTimeMode(*args, **kwargs): diff --git a/carbon/common/script/util/typeConversion.py b/carbon/common/script/util/typeConversion.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/typeConversion.py +from future.utils import raise_ conversionTable = {'int': int, 'float': float, 'str': str, @@ -11,4 +12,4 @@ class ConvertVariableException(Exception): def CastValue(type, value): if type in conversionTable: return conversionTable[type](value) - raise ConvertVariableException, 'Unknown conversion type -%s-' % type + raise_(ConvertVariableException, 'Unknown conversion type -%s-' % type) diff --git a/carbon/common/script/util/wrapper.py b/carbon/common/script/util/wrapper.py @@ -1,5 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/carbon/common/script/util/wrapper.py - +from future.utils import raise_ class Wrapper: __guid__ = 'util.Wrapper' @@ -12,9 +12,9 @@ class Wrapper: self.__dict__['dict'] = keywords def __getattr__(self, attrName): - if self.dict.has_key(attrName): + if attrName in self.dict: return self.dict[attrName] - raise AttributeError, attrName + raise_(AttributeError, attrName) def __setattr__(self, attrName, attrValue): - raise AttributeError, attrName + raise_(AttributeError, attrName) diff --git a/carbonui/const.py b/carbonui/const.py @@ -1,2 +1,3 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/const.py -from uiconst import * +from __future__ import absolute_import +from .uiconst import * diff --git a/carbonui/control/browser/browserImageSvc.py b/carbonui/control/browser/browserImageSvc.py @@ -47,14 +47,14 @@ class BrowserImage(Service): return self._ReturnTexture(path, w, h, bw, bh) except: self.LogError('Failed to load image', path) - if self._urlloading.has_key(fullPath): + if fullPath in self._urlloading: del self.urlloading[fullPath] sys.exc_clear() return self._ErrorPic(sizeonly) if ignoreCache: self.imageCache.InvalidateImage(fullPath) - while self._urlloading.has_key(fullPath): + while fullPath in self._urlloading: blue.pyos.BeNice() if not dontcache: diff --git a/carbonui/control/browser/browserutil.py b/carbonui/control/browser/browserutil.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/control/browser/browserutil.py +from future.utils import raise_ import blue import carbonui.const as uiconst import nturl2path @@ -100,7 +101,7 @@ class NewBrowserForm(): if not attrs.name: continue setval = getattr(self, 'SetValue_%s' % attrs.type.lower(), lambda *args: None) - if not d.has_key(attrs.name): + if attrs.name not in d: if getattr(attrs, 'type', None) == 'checkbox': setval(wnd, attrs, 0) continue @@ -233,7 +234,7 @@ class NewBrowserForm(): def Startup_checkbox(self, wnd, attrs): checked = getattr(attrs, 'checked', '').lower() == 'checked' - if not checked and attrs.__dict__.has_key('checked') and getattr(attrs, 'checked', None) is None: + if not checked and 'checked' in attrs.__dict__ and getattr(attrs, 'checked', None) is None: checked = 1 wnd.SetChecked(checked, 0) @@ -840,7 +841,7 @@ class Css(): self.s['float'] = v elif v == 'none': self.s['float'] = None - elif v == 'inherit' and self.s.has_key('float'): + elif v == 'inherit' and 'float' in self.s: del self.s['float'] fontSize = {'small': 8, @@ -1077,6 +1078,6 @@ def DirUp(url, force = 1): i = url[:-1].rfind('/') if i == -1: if force: - raise ValueError, 'Bad URL (no parent dir): %s' % url + raise_(ValueError, 'Bad URL (no parent dir): %s' % url) return url return url[:i] + '/' diff --git a/carbonui/control/dragdrop/dragdata/__init__.py b/carbonui/control/dragdrop/dragdata/__init__.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/control/dragdrop/dragdata/__init__.py -from basedragdata import BaseDragData -from skillleveldragdata import SkillLevelDragData -from typedragdata import TypeDragData, ItemDragData, ItemIconDragData, ShipDragData -from ownerdragdata import OwnerDragData +from __future__ import absolute_import +from .basedragdata import BaseDragData +from .skillleveldragdata import SkillLevelDragData +from .typedragdata import TypeDragData, ItemDragData, ItemIconDragData, ShipDragData +from .ownerdragdata import OwnerDragData diff --git a/carbonui/control/edit.py b/carbonui/control/edit.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/control/edit.py +from __future__ import print_function import errno import sys import blue @@ -645,14 +646,14 @@ class EditCore(ParserBase, Scroll): self.DoContentResize() def PrintBuffer(self): - print '++++++++++++++++++++' + print('++++++++++++++++++++') for stack, attrs in self.textbuffers: - print 'Stack', id(stack) + print('Stack', id(stack)) for obj in stack: if obj.type == '<text>': - print ' Object', id(obj), obj.fontSize, repr(obj.letters) + print(' Object', id(obj), obj.fontSize, repr(obj.letters)) else: - print ' Object.type', repr(obj.type) + print(' Object.type', repr(obj.type)) def ReadOnly(self, *args): self.readonly = 1 diff --git a/carbonui/control/editPlainText.py b/carbonui/control/editPlainText.py @@ -1534,18 +1534,18 @@ class EditPlainTextCore(Scroll): currentParams.fontFamily = fontFamily uicore.font.ResolveFontFamily(currentParams) if currentParams.url: - if currentParams.has_key('loc'): + if 'loc' in currentParams: currentParams.pop('loc') nextParams = self.GetNextParams(glyphString, stackCursorIndex) cursorOffset = 1 - while nextParams and nextParams.has_key('loc') and nextParams.url is not None: + while nextParams and 'loc' in nextParams and nextParams.url is not None: nextParams.pop('loc') nextParams = self.GetNextParams(glyphString, stackCursorIndex + cursorOffset) cursorOffset += 1 prevParams = self.GetPriorParams(glyphString, stackCursorIndex) cursorOffset = -1 - while prevParams and prevParams.has_key('loc') and prevParams.url is not None: + while prevParams and 'loc' in prevParams and prevParams.url is not None: prevParams.pop('loc') prevParams = self.GetPriorParams(glyphString, stackCursorIndex + cursorOffset) cursorOffset -= 1 @@ -1951,7 +1951,7 @@ class EditPlainTextCore(Scroll): self._ResetCurrentLen() if self._activeParams.url: self._activeParams.url = None - if self._activeParams.has_key('loc'): + if 'loc' in self._activeParams: self._activeParams.pop('loc') node = self.GetActiveNode() stackCursorIndex = self.globalCursorPos - node.startCursorIndex + node.stackCursorIndex @@ -2154,12 +2154,12 @@ class SE_EditTextlineCore(SE_BaseClassCore, Link): return link def LinkDown(self, link, *args): - link.OnMouseDown.im_func() + link.OnMouseDown.__func__() self.HiliteLink(link) def LinkUp(self, link, *args): if uicore.uilib.mouseOver is link: - link.OnMouseUp.im_func() + link.OnMouseUp.__func__() self.LinkEnter(link) def LinkEnter(self, link, *args): @@ -2198,7 +2198,7 @@ class SE_EditTextlineCore(SE_BaseClassCore, Link): if handler: func = getattr(handler, funcName, None) if func: - return apply(func, args) + return func(*args) def GetMenu(self): self.sr.node.scroll.ShowHint('') diff --git a/carbonui/control/editutils/css.py b/carbonui/control/editutils/css.py @@ -497,7 +497,7 @@ class css: self.s['float'] = v elif v == 'none': self.s['float'] = None - elif v == 'inherit' and self.s.has_key('float'): + elif v == 'inherit' and 'float' in self.s: del self.s['float'] fontSize = {'small': 8, diff --git a/carbonui/control/editutils/parserbase.py b/carbonui/control/editutils/parserbase.py @@ -229,7 +229,7 @@ class ParserBaseCore(object): self.attrStack[-1]['background-color'] = None for func, args in buff: if hasattr(self, func): - apply(getattr(self, func, None), args) + getattr(self, func, None)(*args) if self.getWidths: return @@ -1885,7 +1885,7 @@ class ParserBaseCore(object): def OnStart_col(self, attrs): if self.sr.table is None: return - if not self.attrStack[-1].has_key('cols'): + if 'cols' not in self.attrStack[-1]: return for i in xrange(attrs.span or 1): self.attrStack[-1]['cols'].append(attrs.width) diff --git a/carbonui/control/link.py b/carbonui/control/link.py @@ -131,6 +131,6 @@ class Link(Container): if handler: func = getattr(handler, funcName, None) if func: - apply(func, (args,)) + func(args) return self.ResolveInGameLink(parent, args) diff --git a/carbonui/control/scroll.py b/carbonui/control/scroll.py @@ -1418,7 +1418,7 @@ class Scroll(Container): if func: allowDynamicResize = node.get('allowDynamicResize', True) if not node.height or allowDynamicResize and node._lastClipperWidth != clipperWidth: - node.height = apply(func, (node.decoClass, node, clipperWidth)) + node.height = func(node.decoClass, node, clipperWidth) node._lastClipperWidth = clipperWidth elif newStyle: if not node.height or node._lastClipperWidth != clipperWidth: @@ -1430,7 +1430,7 @@ class Scroll(Container): node.height = getattr(node.decoClass, 'ENTRYHEIGHT', 18) if not node.height: if func: - apply(func, (None, node, clipperWidth)) + func(None, node, clipperWidth) else: node.height = getattr(node.decoClass, 'ENTRYHEIGHT', 18) return node.height @@ -1898,7 +1898,7 @@ class Scroll(Container): try: self._SetDefaultSmartSortingPrimary(column, availableColumns) self._SetDefaultSmartSortingDirection(column, sortOrder) - except StandardError as e: + except Exception as e: log.exception('Failed to set deault smart sorting') def _SetDefaultSmartSortingPrimary(self, column, availableColumns): diff --git a/carbonui/control/scroll_const.py b/carbonui/control/scroll_const.py @@ -29,7 +29,7 @@ def GetHiddenColumnsKey(scrollID): return scrollID parts = scrollID.split('__') return parts[0] - except StandardError: + except Exception: import log log.LogException('Failed to get hidden columns key') return scrollID diff --git a/carbonui/control/scrollentries.py b/carbonui/control/scrollentries.py @@ -473,7 +473,7 @@ class SE_TextlineCore(SE_BaseClassCore, Link): if handler: func = getattr(handler, funcName, None) if func: - return apply(func, args) + return func(*args) def GetMenu(self): self.sr.node.scroll.ShowHint('') @@ -897,11 +897,11 @@ def ScrollEntryNode(**kw): data.PreLoadFunction = getattr(decoClass, 'PreLoad', None) data.allowDynamicResize = getattr(decoClass, 'allowDynamicResize', False) if data.GetHeightFunction: - data.GetHeightFunction = data.GetHeightFunction.im_func + data.GetHeightFunction = data.GetHeightFunction.__func__ if data.PreLoadFunction: - data.PreLoadFunction = data.PreLoadFunction.im_func + data.PreLoadFunction = data.PreLoadFunction.__func__ if data.GetColumnWidthFunction: - data.GetColumnWidthFunction = data.GetColumnWidthFunction.im_func + data.GetColumnWidthFunction = data.GetColumnWidthFunction.__func__ if not data.charIndex and data.label: data.charIndex = GetAsUnicode(data.label).split('<t>')[0] if data.charIndex: diff --git a/carbonui/control/tab.py b/carbonui/control/tab.py @@ -331,7 +331,7 @@ class Tab(Container): elif getattr(self.sr.code, 'Load', None): try: self.sr.code.Load(self.sr.args) - except (StandardError,) as err: + except Exception as err: LogException() if self.destroyed: return diff --git a/carbonui/graphs/axislabels.py b/carbonui/graphs/axislabels.py @@ -1,9 +1,10 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/graphs/axislabels.py +from __future__ import absolute_import from carbonui.primitives.container import Container from eve.client.script.ui.control.eveLabel import Label import carbonui.const as uiconst from carbonui.graphs import axis -from pool import Pool +from .pool import Pool class AxisLabels(Container): default_clipChildren = True diff --git a/carbonui/graphs/datafortesting.py b/carbonui/graphs/datafortesting.py @@ -9,413 +9,413 @@ def TogglePriceHistoryTestData(): def GetTestData(): - data = [(130723200000000000L, 794000000.01, 805000000.0, 802000000.0, 2208L, 1467), - (130724064000000000L, 792026000.0, 802885000.01, 795000000.0, 2639L, 1581), - (130724928000000000L, 790000000.0, 801300000.0, 799000000.0, 3021L, 1783), - (130725792000000000L, 790000000.02, 801900900.0, 798999999.99, 2525L, 1609), - (130726656000000000L, 790132125.0, 800999999.0, 799949000.0, 2508L, 1641), - (130727520000000000L, 791010012.0, 802196999.0, 801000000.0, 2532L, 1547), - (130728384000000000L, 795000000.0, 806000000.0, 802995000.0, 2640L, 1582), - (130729248000000000L, 795013000.02, 806994932.99, 804997999.5, 2376L, 1430), - (130730112000000000L, 798866000.0, 809050000.01, 807500000.0, 2087L, 1347), - (130730976000000000L, 803000000.01, 813899979.0, 809000000.0, 2189L, 1315), - (130731840000000000L, 800201000.0, 811799988.98, 809948000.0, 2535L, 1690), - (130732704000000000L, 798218540.0, 809000000.0, 804700000.0, 2511L, 1574), - (130733568000000000L, 798000002.01, 808999995.95, 807901999.97, 1980L, 1306), - (130734432000000000L, 796640000.0, 807550000.0, 806900000.0, 2180L, 1366), - (130735296000000000L, 801131000.0, 812000000.0, 808440000.0, 2092L, 1337), - (130736160000000000L, 802800062.5, 814290000.0, 810800000.0, 2042L, 1262), - (130737024000000000L, 803222000.01, 814350000.0, 812500000.0, 2045L, 1322), - (130737888000000000L, 808000000.0, 819999999.99, 816500000.0, 2345L, 1428), - (130738752000000000L, 816000000.0, 825000000.0, 819441125.0, 2317L, 1466), - (130739616000000000L, 830000005.0, 847147989.0, 838999999.0, 2504L, 1551), - (130740480000000000L, 830201125.0, 845333333.0, 840000000.0, 2742L, 1526), - (130741344000000000L, 842020000.0, 854788996.0, 852600000.0, 2663L, 1511), - (130742208000000000L, 845250226.0, 856985000.0, 855000000.0, 2077L, 1396), - (130743072000000000L, 837502125.0, 850000000.0, 844000000.0, 2320L, 1463), - (130743936000000000L, 833000139.09, 844897000.0, 841190000.0, 2821L, 1695), - (130744800000000000L, 836000000.0, 846000000.0, 841590000.0, 2385L, 1666), - (130745664000000000L, 842000000.51, 856250005.01, 848000010.0, 2419L, 1527), - (130746528000000000L, 857001677.0, 872995992.99, 870000000.0, 2489L, 1644), - (130747392000000000L, 856702000.01, 874487000.0, 869999999.0, 2237L, 1585), - (130748256000000000L, 842787999.99, 861925125.0, 849734000.0, 2887L, 1773), - (130749120000000000L, 826150001.0, 837898998.99, 833307000.0, 3520L, 2082), - (130749984000000000L, 821013000.0, 832349000.0, 826999998.98, 3876L, 2148), - (130750848000000000L, 822103125.0, 832500000.0, 826799994.99, 3314L, 2022), - (130751712000000000L, 825245000.0, 847000000.16, 834899998.92, 3344L, 2052), - (130752576000000000L, 840105012.01, 855584999.92, 848499999.8, 2756L, 1925), - (130753440000000000L, 846800000.0, 858450000.0, 851998999.89, 2730L, 1916), - (130754304000000000L, 849125087.51, 860000000.0, 857776000.0, 2083L, 1588), - (130755168000000000L, 852000000.01, 864600000.0, 860201077.0, 2554L, 1815), - (130756032000000000L, 852000000.0, 863496000.0, 858900000.0, 2890L, 1911), - (130756896000000000L, 852110000.1, 864967000.0, 856930000.03, 2441L, 1760), - (130757760000000000L, 857300000.0, 869000000.0, 860000000.0, 2131L, 1550), - (130758624000000000L, 864000000.0, 874000000.0, 869948998.91, 2259L, 1536), - (130759488000000000L, 869000000.01, 879999999.0, 870011112.0, 1916L, 1459), - (130760352000000000L, 872400000.0, 884989998.0, 880000000.04, 2077L, 1559), - (130761216000000000L, 876000000.07, 888200000.0, 879999989.0, 2562L, 1705), - (130762080000000000L, 863000000.0, 878429992.0, 870000020.0, 2781L, 1899), - (130762944000000000L, 867010000.0, 879500000.0, 872001195.0, 2507L, 1887), - (130763808000000000L, 866150000.0, 882000000.0, 877900900.0, 2205L, 1524), - (130764672000000000L, 872500000.12, 881500000.0, 877950899.93, 2162L, 1439), - (130765536000000000L, 875600000.0, 887688000.0, 884879999.9, 2300L, 1523), - (130766400000000000L, 883211000.02, 896562000.0, 888103109.89, 2386L, 1511), - (130767264000000000L, 884100000.0, 896660000.0, 892964999.99, 2359L, 1542), - (130768128000000000L, 882000000.0, 894796500.0, 887027000.0, 2785L, 1783), - (130768992000000000L, 880000000.0, 892999999.84, 887000000.0, 2626L, 1742), - (130769856000000000L, 872508101.0, 888250000.0, 881000000.01, 2734L, 1858), - (130770720000000000L, 881165000.0, 898498786.77, 889000000.0, 2236L, 1540), - (130771584000000000L, 892000000.0, 904999984.0, 897799999.4, 2048L, 1557), - (130772448000000000L, 889100001.14, 903000020.99, 900000000.0, 2382L, 1778), - (130773312000000000L, 886002000.0, 902000000.0, 897000000.0, 2190L, 1601), - (130774176000000000L, 883779000.0, 898000000.0, 894655000.0, 2468L, 1772), - (130775040000000000L, 875000003.16, 895000000.0, 888999998.97, 2711L, 1825), - (130775904000000000L, 882000000.01, 899979989.0, 891776999.0, 2248L, 1458), - (130776768000000000L, 890000038.55, 901999990.0, 898999999.0, 2112L, 1495), - (130777632000000000L, 890832000.12, 904903966.97, 895999998.0, 2243L, 1568), - (130778496000000000L, 886499999.0, 903999998.59, 896800000.0, 2299L, 1585), - (130779360000000000L, 889500000.95, 903399999.97, 897999999.88, 2181L, 1560), - (130780224000000000L, 885070000.0, 903963000.0, 893899999.97, 2403L, 1626), - (130781088000000000L, 885054000.08, 899524999.95, 895490900.0, 2413L, 1753), - (130781952000000000L, 887122000.0, 900000000.0, 896090571.29, 2190L, 1589), - (130782816000000000L, 897305000.0, 909160000.0, 903000000.0, 1999L, 1474), - (130783680000000000L, 901240002.11, 913923000.0, 910990000.0, 1894L, 1329), - (130784544000000000L, 903000000.0, 915800000.0, 910000000.0, 2144L, 1400), - (130785408000000000L, 900000000.0, 914500000.0, 907050000.0, 2615L, 1661), - (130786272000000000L, 898255557.01, 912355554.87, 902999999.61, 2588L, 1795), - (130787136000000000L, 900285305.0, 913300000.0, 912000000.0, 2359L, 1594), - (130788000000000000L, 909500000.0, 924000000.0, 918381000.0, 2339L, 1519), - (130788864000000000L, 929000009.75, 946999998.61, 939000000.0, 2097L, 1385), - (130789728000000000L, 922136000.0, 935498000.0, 928694000.0, 2001L, 1424), - (130790592000000000L, 925028100.29, 939198993.71, 932997000.0, 2158L, 1444), - (130791456000000000L, 920118000.0, 938000006.0, 929999999.0, 2037L, 1403), - (130792320000000000L, 911285998.9, 928668999.93, 918994998.75, 2426L, 1615), - (130793184000000000L, 916007001.0, 928899000.0, 922409997.93, 2037L, 1557), - (130794048000000000L, 920200000.35, 932999993.97, 929000000.0, 1945L, 1453), - (130794912000000000L, 916098125.0, 929493000.0, 924999995.5, 2293L, 1508), - (130795776000000000L, 921000002.0, 932790000.0, 929999972.99, 2042L, 1418), - (130796640000000000L, 925200000.0, 937492991.0, 935999999.99, 1880L, 1309), - (130797504000000000L, 925008008.25, 938900000.0, 935000000.0, 2563L, 1599), - (130798368000000000L, 920000000.0, 931989550.0, 922102000.0, 2373L, 1581), - (130799232000000000L, 910120140.58, 922999999.0, 919796000.0, 2651L, 1786), - (130800096000000000L, 914888888.0, 928685444.0, 919999999.88, 1994L, 1463), - (130800960000000000L, 913258000.0, 926399979.0, 924099999.88, 2217L, 1470), - (130801824000000000L, 912196000.01, 927299999.99, 922999998.97, 2319L, 1493), - (130802688000000000L, 914351001.0, 927447000.0, 924000000.0, 2143L, 1380), - (130803552000000000L, 914000000.0, 928800000.0, 924942000.0, 2196L, 1408), - (130804416000000000L, 916012125.0, 928899000.0, 924800000.0, 2294L, 1522), - (130805280000000000L, 923084000.0, 936202100.0, 931412994.0, 2290L, 1529), - (130806144000000000L, 936611111.51, 948999995.99, 940000000.0, 1992L, 1357), - (130807008000000000L, 951949999.99, 973984999.99, 960000000.0, 1968L, 1307), - (130807872000000000L, 964902000.0, 980000000.0, 974789999.13, 2000L, 1329), - (130808736000000000L, 966000010.01, 982610000.0, 978776998.34, 1791L, 1285), - (130809600000000000L, 959005125.0, 975049000.0, 966000125.0, 2284L, 1468), - (130810464000000000L, 956460600.0, 976000000.0, 969648484.45, 2090L, 1500), - (130811328000000000L, 968000000.01, 984999995.0, 977000000.0, 2337L, 1575), - (130812192000000000L, 976003125.5, 989988998.97, 982000231.0, 2385L, 1481), - (130813056000000000L, 971000065.0, 985994894.98, 982900000.0, 2186L, 1436), - (130813920000000000L, 970351000.0, 983800000.0, 972300000.0, 1351L, 746), - (130814784000000000L, 970012000.0, 982999994.0, 979998998.0, 2420L, 1630), - (130815648000000000L, 968005125.01, 984999999.0, 979500000.1, 2301L, 1576), - (130816512000000000L, 967146000.0, 981899989.85, 978666666.0, 2641L, 1595), - (130817376000000000L, 965430000.01, 979999999.0, 975999999.0, 2631L, 1594), - (130818240000000000L, 968000001.0, 983000000.0, 980989997.0, 1925L, 1322), - (130819104000000000L, 975000000.02, 990000000.0, 987944949.5, 1972L, 1359), - (130819968000000000L, 979000000.0, 994984499.99, 988500000.0, 1931L, 1283), - (130820832000000000L, 979000125.0, 995000000.0, 987999985.0, 2235L, 1350), - (130821696000000000L, 972250000.1, 987699984.97, 982119621.99, 2389L, 1616), - (130822560000000000L, 966640640.93, 982603000.01, 970000000.0, 2408L, 1550), - (130823424000000000L, 961480000.01, 976700000.0, 973000000.0, 2372L, 1622), - (130824288000000000L, 973000000.0, 988000000.0, 981150000.0, 2238L, 1421), - (130825152000000000L, 980101000.0, 991000000.0, 986000000.0, 2046L, 1357), - (130826016000000000L, 983000000.02, 995000000.0, 993749988.0, 1980L, 1230), - (130826880000000000L, 983000000.0, 997990000.0, 995900000.0, 2379L, 1460), - (130827744000000000L, 978280000.0, 997000000.0, 993500000.0, 2147L, 1496), - (130828608000000000L, 977152125.0, 995249999.3, 989749883.0, 2581L, 1648), - (130829472000000000L, 978112556.06, 993505000.0, 991617599.0, 2532L, 1705), - (130830336000000000L, 982096852.01, 995585000.0, 992909912.0, 2239L, 1452), - (130831200000000000L, 980233002.03, 997729113.51, 993949998.99, 2183L, 1547), - (130832064000000000L, 981118125.0, 997000000.0, 995000000.0, 1786L, 1229), - (130832928000000000L, 986500002.02, 999998975.0, 997689998.61, 2001L, 1306), - (130833792000000000L, 991000000.0, 1004997496.5, 998799000.0, 2579L, 1649), - (130834656000000000L, 977356000.0, 995659897.51, 985000001.36, 3071L, 2105), - (130835520000000000L, 976000000.0, 989995999.99, 987800000.0, 2513L, 1816), - (130836384000000000L, 975631009.0, 989723023.99, 986789789.0, 2267L, 1562), - (130837248000000000L, 978111111.0, 994359902.02, 993000000.0, 1930L, 1336), - (130838112000000000L, 982250000.37, 997999999.99, 991081000.14, 1926L, 1360), - (130838976000000000L, 980072100.0, 995680000.0, 990161991.23, 1917L, 1416), - (130839840000000000L, 975950001.01, 994999995.99, 986999900.02, 2288L, 1516), - (130840704000000000L, 973050002.21, 988049998.43, 979000000.0, 2700L, 1792), - (130841568000000000L, 976100000.0, 989999999.0, 983206370.25, 2762L, 1760), - (130842432000000000L, 983050000.09, 996179999.95, 993998000.0, 2012L, 1456), - (130843296000000000L, 981270300.78, 995896000.0, 993800000.0, 1795L, 1293), - (130844160000000000L, 983800000.0, 998000000.0, 994882789.0, 1999L, 1416), - (130845024000000000L, 987000000.01, 1000000000.0, 997950000.0, 2018L, 1344), - (130845888000000000L, 990020000.0, 1002899902.02, 998799999.97, 1960L, 1230), - (130846752000000000L, 990000000.0, 1003999000.0, 995999999.99, 2094L, 1498), - (130847616000000000L, 992000008.0, 1004500000.0, 998794000.0, 2324L, 1480), - (130848480000000000L, 995016195.82, 1007864000.0, 1005590000.0, 1952L, 1404), - (130849344000000000L, 1013000000.0, 1063900000.0, 1039989998.96, 1991L, 1419), - (130850208000000000L, 1069999999.99, 1113943499.98, 1096999998.99, 2435L, 1693), - (130851072000000000L, 1107000004.0, 1135015555.0, 1122202100.0, 2579L, 1813), - (130851936000000000L, 1030000000.0, 1080001028.0, 1062000000.39, 2721L, 2028), - (130852800000000000L, 1008400000.15, 1044668000.0, 1022499899.0, 2759L, 2094), - (130853664000000000L, 1021000000.11, 1046500002.1, 1034999999.9, 3658L, 2119), - (130854528000000000L, 1026811111.0, 1050000000.02, 1039109000.0, 3025L, 1852), - (130855392000000000L, 1025000909.0, 1041700000.0, 1037149999.94, 2779L, 1758), - (130856256000000000L, 1027404000.0, 1043865998.99, 1037176999.65, 2464L, 1507), - (130857120000000000L, 1040099000.0, 1053997990.0, 1048999999.0, 2157L, 1482), - (130857984000000000L, 1044000030.0, 1058729999.65, 1055000000.0, 2762L, 1675), - (130858848000000000L, 1051000000.03, 1071249000.0, 1063000000.0, 2684L, 1748), - (130859712000000000L, 1051000000.0, 1069816173.5, 1065988000.0, 2421L, 1705), - (130860576000000000L, 1076000000.0, 1099000000.0, 1088799999.91, 2713L, 1654), - (130861440000000000L, 1106000000.0, 1123650000.0, 1115000000.0, 2077L, 1352), - (130862304000000000L, 1129000000.0, 1155000000.0, 1140999999.0, 1953L, 1317), - (130863168000000000L, 1165000000.66, 1184000000.0, 1175200000.16, 2175L, 1437), - (130864032000000000L, 1171000000.0, 1188999000.0, 1179900999.0, 2517L, 1636), - (130864896000000000L, 1142000000.0, 1164200000.0, 1158000000.0, 2718L, 1760), - (130865760000000000L, 1140200000.0, 1164999999.86, 1149005000.0, 2709L, 1833), - (130866624000000000L, 1165000000.01, 1199700222.0, 1181000300.0, 2358L, 1635), - (130867488000000000L, 1190000000.0, 1233999979.99, 1216215097.27, 2401L, 1620), - (130868352000000000L, 1241999999.89, 1286107007.07, 1249999999.99, 2287L, 1514), - (130869216000000000L, 1277500000.04, 1319197929.77, 1297000000.0, 2416L, 1678), - (130870080000000000L, 1262999994.0, 1290000000.0, 1281005035.4, 2883L, 1771), - (130870944000000000L, 1220005009.0, 1250000000.0, 1235000102.24, 2731L, 2046), - (130871808000000000L, 1200306000.0, 1228806000.0, 1212096000.0, 2815L, 1853), - (130872672000000000L, 1190068092.18, 1237999999.0, 1222000000.48, 2255L, 1647), - (130873536000000000L, 1228005126.49, 1248974499.6, 1240000000.0, 1965L, 1417), - (130874400000000000L, 1221162125.0, 1243393999.87, 1231000001.0, 1951L, 1443), - (130875264000000000L, 1206250562.5, 1223999777.5, 1220368000.0, 2037L, 1529), - (130876128000000000L, 1179000000.0, 1204000000.0, 1191004126.0, 2551L, 1817), - (130876992000000000L, 1155006001.12, 1193089000.0, 1175001333.0, 2747L, 1912), - (130877856000000000L, 1169999999.98, 1200000000.0, 1186304304.0, 2421L, 1739), - (130878720000000000L, 1183008999.64, 1204899999.86, 1194000000.72, 1901L, 1433), - (130879584000000000L, 1187025125.3, 1208679774.89, 1200000000.0, 2302L, 1547), - (130880448000000000L, 1158005125.0, 1186403001.28, 1172900000.0, 2959L, 1938), - (130881312000000000L, 1126102002.1, 1152000000.0, 1139150300.0, 2818L, 1997), - (130882176000000000L, 1101090000.0, 1124184000.0, 1111005000.23, 3145L, 2082), - (130883040000000000L, 1114121997.88, 1154552999.47, 1133500600.12, 3238L, 2166), - (130883904000000000L, 1123999999.96, 1154991566.0, 1140000000.0, 3047L, 2035), - (130884768000000000L, 1128617500.0, 1158539996.0, 1139600300.5, 2344L, 1505), - (130885632000000000L, 1138150000.0, 1163199981.84, 1154699553.45, 1974L, 1374), - (130886496000000000L, 1151000008.0, 1178000000.0, 1164299798.0, 1955L, 1361), - (130887360000000000L, 1177000000.0, 1194994999.0, 1188795000.0, 1991L, 1287), - (130888224000000000L, 1188102005.54, 1206799695.29, 1199600499.97, 1836L, 1233), - (130889088000000000L, 1186757000.01, 1205000000.0, 1190000000.02, 2186L, 1386), - (130889952000000000L, 1175000000.0, 1198988898.5, 1185000801.0, 2282L, 1541), - (130890816000000000L, 1180524000.0, 1201528005.0, 1194000000.0, 1875L, 1274), - (130891680000000000L, 1186700500.02, 1204996000.0, 1202500000.0, 1885L, 1302), - (130892544000000000L, 1186008000.0, 1205050500.0, 1200989999.99, 1917L, 1278), - (130893408000000000L, 1198002125.0, 1215000000.0, 1204485699.54, 2300L, 1453), - (130894272000000000L, 1213507500.0, 1237977120.0, 1221998998.0, 2025L, 1434), - (130895136000000000L, 1217000000.0, 1239999999.99, 1227000000.0, 2438L, 1762), - (130896000000000000L, 1221000001.0, 1242599963.19, 1231999001.0, 2380L, 1647), - (130896864000000000L, 1236123000.0, 1250000000.0, 1240000006.0, 2213L, 1472), - (130897728000000000L, 1235000000.0, 1258997999.99, 1247000000.0, 2906L, 1643), - (130898592000000000L, 1190000000.0, 1213945000.0, 1198002125.02, 2775L, 1810), - (130899456000000000L, 1177099999.99, 1196000000.0, 1182500000.0, 2990L, 1933), - (130900320000000000L, 1168871000.0, 1190000000.0, 1179999999.99, 2517L, 1783), - (130901184000000000L, 1160000000.0, 1179000000.0, 1169000000.15, 3099L, 2047), - (130902048000000000L, 1179145000.12, 1193999999.0, 1180418003.0, 2968L, 1842), - (130902912000000000L, 1177014001.0, 1192851999.0, 1187992000.0, 2182L, 1511), - (130903776000000000L, 1169151000.0, 1188750000.0, 1182000000.0, 2503L, 1740), - (130904640000000000L, 1167181000.1, 1191225200.0, 1187369699.56, 2382L, 1665), - (130905504000000000L, 1168000000.0, 1188999998.0, 1184000000.0, 2205L, 1518), - (130906368000000000L, 1161000000.02, 1175000000.0, 1169000000.0, 2479L, 1706), - (130907232000000000L, 1165000150.0, 1181900000.0, 1170702999.97, 2904L, 1926), - (130908096000000000L, 1165107000.0, 1182250000.0, 1175000000.27, 3043L, 1849), - (130908960000000000L, 1170000000.0, 1186344999.99, 1180000000.0, 2333L, 1530), - (130909824000000000L, 1179000000.0, 1193998498.0, 1189999998.0, 1898L, 1272), - (130910688000000000L, 1186000175.0, 1200994859.0, 1196000000.0, 1943L, 1239), - (130911552000000000L, 1186000004.99, 1204800001.0, 1199079999.99, 1974L, 1315), - (130912416000000000L, 1172002125.0, 1194848000.0, 1179800700.0, 2251L, 1469), - (130913280000000000L, 1171000000.0, 1189999998.01, 1181999999.99, 2543L, 1637), - (130914144000000000L, 1174226001.0, 1193155999.99, 1187999775.76, 2482L, 1610), - (130915008000000000L, 1183000000.0, 1200900000.0, 1196000001.0, 1854L, 1198), - (130915872000000000L, 1185000000.0, 1203001003.0, 1199999999.99, 1730L, 1165), - (130916736000000000L, 1187000000.0, 1206798000.0, 1204000000.0, 1619L, 1134), - (130917600000000000L, 1191000005.0, 1207600000.0, 1204999999.96, 1623L, 1108), - (130918464000000000L, 1187000903.55, 1206994000.0, 1197000000.0, 1755L, 1143), - (130919328000000000L, 1188014508.0, 1208299599.0, 1205249499.5, 2000L, 1303), - (130920192000000000L, 1189302000.0, 1208997999.0, 1208399999.0, 1695L, 1228), - (130921056000000000L, 1196040000.5, 1217000000.0, 1209999999.99, 1495L, 1038), - (130921920000000000L, 1201200100.0, 1220000000.0, 1210001000.02, 1988L, 1252), - (130922784000000000L, 1212000000.0, 1229000000.0, 1225999998.25, 1622L, 1071), - (130923648000000000L, 1220000000.0, 1237665000.0, 1234000000.0, 1889L, 1247), - (130924512000000000L, 1218000000.0, 1237999492.5, 1233999998.99, 2046L, 1367), - (130925376000000000L, 1214603000.01, 1235000000.0, 1226997319.35, 2251L, 1521), - (130926240000000000L, 1221000000.0, 1237999999.0, 1230999999.99, 1880L, 1371), - (130927104000000000L, 1237255001.0, 1250000000.99, 1244989993.0, 1709L, 1160), - (130927968000000000L, 1258899998.89, 1277895000.0, 1269000000.0, 1725L, 1103), - (130928832000000000L, 1216000000.0, 1267000000.0, 1261500000.0, 2936L, 1679), - (130929696000000000L, 1171100001.01, 1206986106.32, 1186000000.01, 3666L, 2059), - (130930560000000000L, 1168020001.01, 1188000000.03, 1175000000.0, 3570L, 2218), - (130931424000000000L, 1170000000.0, 1191000000.0, 1177501000.0, 3436L, 2188), - (130932288000000000L, 1180009000.0, 1198800000.0, 1188000000.0, 3060L, 1935), - (130933152000000000L, 1189000045.0, 1204602000.25, 1198500000.0, 2677L, 1791), - (130934016000000000L, 1183300013.0, 1211398666.0, 1199849999.99, 1926L, 1362), - (130934880000000000L, 1192000000.0, 1212587000.0, 1202299887.95, 1740L, 1255), - (130935744000000000L, 1192045562.5, 1211996000.0, 1205000000.0, 1934L, 1326), - (130936608000000000L, 1190100000.0, 1210996000.0, 1204999991.0, 1869L, 1295), - (130937472000000000L, 1184612000.0, 1205784999.0, 1201999000.0, 2233L, 1545), - (130938336000000000L, 1189999999.99, 1209999000.0, 1200360000.0, 2203L, 1570), - (130939200000000000L, 1186000000.0, 1207990000.0, 1199999998.0, 1846L, 1293), - (130940064000000000L, 1184500512.5, 1201800000.0, 1199996000.0, 2441L, 1575), - (130940928000000000L, 1180064648.21, 1198739999.0, 1195290000.0, 2239L, 1469), - (130941792000000000L, 1179000001.0, 1196463000.0, 1192397000.0, 2477L, 1652), - (130942656000000000L, 1165613805.83, 1181988000.0, 1174995997.4, 2605L, 1619), - (130943520000000000L, 1160025000.0, 1180500000.01, 1173987514.91, 2576L, 1766), - (130944384000000000L, 1164000000.0, 1182000000.0, 1171700000.0, 2571L, 1864), - (130945248000000000L, 1166000000.0, 1185500000.0, 1179190000.0, 2008L, 1403), - (130946112000000000L, 1171000000.0, 1188997900.0, 1183799897.5, 2000L, 1388), - (130946976000000000L, 1169108101.01, 1184443900.0, 1179060000.0, 1977L, 1348), - (130947840000000000L, 1161802125.0, 1180391770.93, 1166502000.0, 2315L, 1506), - (130948704000000000L, 1129999997.64, 1162000000.0, 1151000000.0, 2591L, 1678), - (130949568000000000L, 1115169000.04, 1148770000.0, 1132000000.0, 3333L, 2201), - (130950432000000000L, 1136402125.0, 1160000000.0, 1147825000.0, 2622L, 1852), - (130951296000000000L, 1129006001.0, 1144899998.62, 1135000000.0, 2656L, 1777), - (130952160000000000L, 1122003258.0, 1138900000.0, 1130000000.0, 2247L, 1575), - (130953024000000000L, 1124000000.0, 1141789998.0, 1131012265.0, 2659L, 1797), - (130953888000000000L, 1113380000.01, 1134999999.99, 1123000000.0, 2611L, 1794), - (130954752000000000L, 1106205000.05, 1127390000.0, 1114000000.0, 2790L, 1857), - (130955616000000000L, 1104208999.0, 1124978985.99, 1117488333.48, 2758L, 1974), - (130956480000000000L, 1104105000.0, 1125494898.97, 1109600000.0, 3093L, 1998), - (130957344000000000L, 1115100001.0, 1132999999.0, 1126040000.0, 2598L, 1768), - (130958208000000000L, 1123000000.0, 1140000000.0, 1135364000.01, 2575L, 1655), - (130959072000000000L, 1121100000.0, 1140400000.0, 1136000000.0, 2692L, 1900), - (130959936000000000L, 1120300000.0, 1139200000.0, 1124001125.0, 2588L, 1652), - (130960800000000000L, 1116000000.0, 1134099999.99, 1120100500.01, 2751L, 1798), - (130961664000000000L, 1106005010.99, 1123200000.01, 1117305000.0, 3090L, 1891), - (130962528000000000L, 1108200000.0, 1127500000.0, 1117500000.0, 2795L, 1934), - (130963392000000000L, 1119590000.0, 1130275000.02, 1126990000.0, 2431L, 1614), - (130964256000000000L, 1131480000.0, 1148999999.0, 1140000000.0, 2465L, 1652), - (130965120000000000L, 1135344499.53, 1150000000.0, 1144999999.0, 2396L, 1510), - (130965984000000000L, 1139000000.0, 1150000000.0, 1146000000.0, 2378L, 1436), - (130966848000000000L, 1149009000.03, 1162700000.0, 1155000000.0, 2365L, 1564), - (130967712000000000L, 1152100000.0, 1165500000.0, 1156000000.0, 2701L, 1642), - (130968576000000000L, 1144000000.0, 1162987958.99, 1151077500.01, 2364L, 1684), - (130969440000000000L, 1145100000.03, 1161500006.0, 1159000000.0, 2183L, 1546), - (130970304000000000L, 1155901010.0, 1173000087.99, 1158799995.85, 2220L, 1500), - (130971168000000000L, 1163000000.0, 1179000000.0, 1171772397.82, 2093L, 1334), - (130972032000000000L, 1170400000.0, 1186050000.0, 1177000000.0, 2292L, 1411), - (130972896000000000L, 1166007563.5, 1180700000.0, 1178799998.95, 2055L, 1483), - (130973760000000000L, 1154230000.0, 1174900000.0, 1165700700.0, 2578L, 1848), - (130974624000000000L, 1155502125.0, 1173000000.0, 1167997991.0, 2417L, 1650), - (130975488000000000L, 1159805000.0, 1177800000.0, 1169200000.0, 2449L, 1569), - (130976352000000000L, 1175000003.0, 1188359999.99, 1178200000.26, 2062L, 1366), - (130977216000000000L, 1197100000.0, 1216999999.95, 1203091091.0, 2720L, 1543), - (130978080000000000L, 1206064103.0, 1220999999.0, 1217109899.94, 2440L, 1506), - (130978944000000000L, 1210100001.0, 1228000000.0, 1221899986.41, 2987L, 1664), - (130979808000000000L, 1210000000.0, 1229896895.84, 1217000000.09, 2620L, 1762), - (130980672000000000L, 1211050000.0, 1229999999.49, 1222008998.0, 2447L, 1667), - (130981536000000000L, 1218000000.0, 1232535998.95, 1229049867.53, 2516L, 1622), - (130982400000000000L, 1220505001.0, 1235000000.0, 1229700000.0, 2483L, 1477), - (130983264000000000L, 1215868000.0, 1232512000.0, 1229599999.98, 2144L, 1414), - (130984128000000000L, 1212519000.0, 1228000000.0, 1214500000.0, 2605L, 1551), - (130984992000000000L, 1179500000.0, 1197099999.89, 1184996999.82, 3134L, 1950), - (130985856000000000L, 1169704054.0, 1193100000.0, 1182599990.0, 3175L, 2180), - (130986720000000000L, 1179148000.1, 1193499999.0, 1188691998.66, 2901L, 1956), - (130987584000000000L, 1184004000.0, 1200000000.0, 1191999999.99, 2574L, 1731), - (130988448000000000L, 1187000002.15, 1205095000.0, 1199689999.0, 2576L, 1613), - (130989312000000000L, 1186000000.0, 1205596888.0, 1198999999.99, 2263L, 1600), - (130990176000000000L, 1205000000.0, 1229000000.0, 1215248499.09, 3096L, 1871), - (130991040000000000L, 1219000000.0, 1235792000.0, 1229006002.0, 2966L, 1892), - (130991904000000000L, 1236045000.0, 1253795000.0, 1246000000.0, 3541L, 2108), - (130992768000000000L, 1241750000.0, 1264894888.0, 1252007000.0, 3371L, 2074), - (130993632000000000L, 1254000000.0, 1274999999.88, 1266000000.0, 2937L, 1861), - (130994496000000000L, 1258010000.0, 1281999000.0, 1271980000.0, 15345L, 7075), - (130995360000000000L, 1244999999.97, 1279956998.0, 1268118225.0, 10840L, 5514), - (130996224000000000L, 1242499999.98, 1260000006.0, 1249504000.0, 8607L, 4085), - (130997088000000000L, 1229128711.5, 1242008000.05, 1237200265.0, 7087L, 3526), - (130997952000000000L, 1188000111.11, 1208000000.0, 1199125000.0, 8249L, 4392), - (130998816000000000L, 1184106000.0, 1200000000.0, 1187801000.0, 7592L, 3682), - (130999680000000000L, 1201000000.0, 1217496495.67, 1210000000.0, 6178L, 3262), - (131000544000000000L, 1205120001.12, 1223999899.94, 1210302001.03, 5316L, 2678), - (131001408000000000L, 1203600000.0, 1216999999.9, 1206000000.0, 3932L, 2290), - (131002272000000000L, 1195137559.0, 1208199986.98, 1197200000.0, 4345L, 2247), - (131003136000000000L, 1180100000.0, 1192800000.0, 1186200000.0, 4714L, 2602), - (131004000000000000L, 1172000000.0, 1187015015.0, 1176150550.5, 5482L, 2983), - (131004864000000000L, 1180000255.0, 1192100000.0, 1183861000.0, 5132L, 2691), - (131005728000000000L, 1180350000.0, 1198999999.99, 1186020100.11, 4290L, 2483), - (131006592000000000L, 1193200001.0, 1207290000.0, 1200340000.0, 3600L, 2027), - (131007456000000000L, 1200021356.01, 1212970000.0, 1200220044.01, 3620L, 1885), - (131008320000000000L, 1193102107.02, 1205290000.0, 1199108126.0, 4073L, 2183), - (131009184000000000L, 1188200000.04, 1199898000.0, 1190400001.01, 3375L, 1834), - (131010048000000000L, 1177200000.0, 1188995999.98, 1181609000.0, 5225L, 2875), - (131010912000000000L, 1178900000.0, 1190000000.0, 1182010000.0, 4771L, 2653), - (131011776000000000L, 1176505005.0, 1190982497.91, 1181203000.0, 2346L, 1271), - (131012640000000000L, 1175104104.0, 1186900000.0, 1177000000.01, 4635L, 2692), - (131013504000000000L, 1171301000.0, 1187749999.99, 1173000000.13, 3633L, 2219), - (131014368000000000L, 1167000026.0, 1180700000.01, 1170526052.0, 4240L, 2362), - (131015232000000000L, 1162650010.02, 1176349999.99, 1163100000.0, 4187L, 2284), - (131016096000000000L, 1150202000.0, 1162650004.0, 1155350001.0, 5407L, 2634), - (131016960000000000L, 1140108001.0, 1154001000.0, 1145997000.0, 4885L, 2682), - (131017824000000000L, 1152250000.0, 1167399999.95, 1157400510.01, 3724L, 2034), - (131018688000000000L, 1153202001.05, 1167900000.0, 1158420020.0, 3689L, 2053), - (131019552000000000L, 1153785000.0, 1167499999.99, 1155000000.0, 3275L, 1657), - (131020416000000000L, 1145100000.0, 1157000000.0, 1153000000.12, 3172L, 1656), - (131021280000000000L, 1140455000.0, 1154000000.0, 1143000000.0, 3732L, 2046), - (131022144000000000L, 1134833000.0, 1148100000.0, 1137999999.0, 4239L, 2159), - (131023008000000000L, 1134000501.06, 1146999989.98, 1138900000.0, 3646L, 2030), - (131023872000000000L, 1131119000.0, 1143934000.0, 1136800000.0, 3461L, 1915), - (131024736000000000L, 1118301000.0, 1128900000.0, 1125000000.0, 3790L, 1936), - (131025600000000000L, 1106000000.0, 1121000000.0, 1111350001.06, 4085L, 2212), - (131026464000000000L, 1091008134.0, 1109999000.0, 1093000000.0, 3795L, 2112), - (131027328000000000L, 1042750005.06, 1080002002.04, 1063000002.0, 4787L, 2337), - (131028192000000000L, 1015686841.54, 1036000000.0, 1023127004.4, 6164L, 3235), - (131029056000000000L, 1044300000.0, 1097200000.0, 1082000000.0, 5279L, 3095), - (131029920000000000L, 1100150500.07, 1127000000.0, 1119600000.0, 4265L, 2400), - (131030784000000000L, 1122103001.0, 1134264937.66, 1123608000.06, 3193L, 1774), - (131031648000000000L, 1097010000.0, 1112374500.0, 1107000000.0, 3605L, 2166), - (131032512000000000L, 1090155000.0, 1107000510.0, 1095500000.0, 3920L, 2284), - (131033376000000000L, 1076208000.0, 1085800000.0, 1081951005.0, 4563L, 2293), - (131034240000000000L, 1070800000.0, 1098777777.0, 1088100000.0, 5334L, 2612), - (131035104000000000L, 1067322000.0, 1091000000.0, 1081950000.0, 4635L, 2389), - (131035968000000000L, 1062100000.0, 1082000000.0, 1074955999.54, 4108L, 2177), - (131036832000000000L, 1064177000.03, 1090300000.0, 1079999994.0, 4631L, 2280), - (131037696000000000L, 1067753020.0, 1083245000.0, 1070000000.0, 4137L, 2151), - (131038560000000000L, 1075026584.0, 1097984999.0, 1081000050.19, 4864L, 2362), - (131039424000000000L, 1054024005.0, 1070000000.0, 1057757848.0, 5255L, 2572), - (131040288000000000L, 1022000000.0, 1038400000.0, 1034100000.0, 6510L, 3202), - (131041152000000000L, 1027413581.0, 1046000000.0, 1036317000.0, 5510L, 2882), - (131042016000000000L, 1042000000.0, 1060000000.0, 1051301518.0, 4232L, 2199), - (131042880000000000L, 1051900000.04, 1066000000.0, 1056200000.01, 3696L, 2046), - (131043744000000000L, 1051000000.0, 1069900000.0, 1060000000.0, 3927L, 2127), - (131044608000000000L, 1028800000.0, 1044000000.0, 1035900000.0, 4491L, 2387), - (131045472000000000L, 1016000000.01, 1032300000.0, 1022000338.54, 4256L, 2327), - (131046336000000000L, 1007000000.0, 1024949949.0, 1011000152.01, 5003L, 2732), - (131047200000000000L, 1012300000.0, 1030000000.0, 1021966000.0, 5387L, 2650), - (131048064000000000L, 1013222020.0, 1027999999.98, 1019900000.0, 4044L, 2194), - (131048928000000000L, 1021823000.0, 1036000000.0, 1025726000.0, 3788L, 1972), - (131049792000000000L, 1021500001.0, 1032999000.0, 1024202000.0, 3385L, 1870), - (131050656000000000L, 1010000000.0, 1027000000.0, 1016000000.01, 3458L, 1957), - (131051520000000000L, 1002301000.0, 1014000000.0, 1009521318.51, 4136L, 2202), - (131052384000000000L, 997001000.0, 1013749994.0, 1001949988.99, 3995L, 2222), - (131053248000000000L, 994031001.01, 1010900000.0, 996090000.0, 4589L, 2337), - (131054112000000000L, 1005300000.01, 1021999999.98, 1013002003.0, 3287L, 1924), - (131054976000000000L, 1008475000.0, 1023000000.0, 1011050001.0, 3369L, 1885), - (131055840000000000L, 1008000010.0, 1024000000.0, 1014800000.0, 4067L, 2004), - (131056704000000000L, 1016400000.0, 1032000000.0, 1022359359.0, 3609L, 2034), - (131057568000000000L, 1019000000.0, 1027000001.03, 1022000000.0, 3979L, 2136), - (131058432000000000L, 1000000001.01, 1014299999.99, 1005000000.0, 5200L, 2553), - (131059296000000000L, 997548300.0, 1014499999.99, 1002003003.0, 4795L, 2606), - (131060160000000000L, 1004900000.0, 1018300000.0, 1008762005.0, 3881L, 2067), - (131061024000000000L, 1000160125.0, 1014900000.0, 1004205855.0, 3654L, 1961), - (131061888000000000L, 983000000.0, 1001000000.37, 991801002.03, 12234L, 3003), - (131062752000000000L, 940022012.05, 975780000.0, 953000000.57, 6139L, 3028), - (131063616000000000L, 898150000.0, 935200000.0, 919600000.01, 6368L, 3224), - (131064480000000000L, 906534000.0, 947000000.0, 910999999.0, 6538L, 3273), - (131065344000000000L, 911100000.0, 948000000.0, 913200000.0, 4860L, 2661), - (131066208000000000L, 912600000.0, 957698888.0, 924715100.01, 4387L, 2264), - (131067072000000000L, 924210001.06, 971999996.99, 935409000.0, 4003L, 2239), - (131067936000000000L, 930801004.0, 979000000.0, 933300000.0, 3765L, 2025), - (131068800000000000L, 934100000.0, 984000000.0, 940000006.74, 3383L, 1966), - (131069664000000000L, 909201035.0, 948999999.96, 911999999.99, 4086L, 2222), - (131070528000000000L, 907702000.01, 941000000.0, 910000000.0, 3936L, 2310), - (131071392000000000L, 908500000.0, 946000000.0, 912000003.12, 3580L, 2115), - (131072256000000000L, 905000000.0, 935000000.0, 910800000.0, 3645L, 1997), - (131073120000000000L, 900001006.02, 935000000.0, 906300001.5, 3919L, 1804), - (131073984000000000L, 900131100.0, 943000014.0, 906501565.0, 3008L, 1767), - (131074848000000000L, 892873000.02, 925000000.0, 900375024.0, 3340L, 1897), - (131075712000000000L, 860000000.0, 975000000.03, 896570033.6992, 1711L, 939)] + data = [(130723200000000000, 794000000.01, 805000000.0, 802000000.0, 2208, 1467), + (130724064000000000, 792026000.0, 802885000.01, 795000000.0, 2639, 1581), + (130724928000000000, 790000000.0, 801300000.0, 799000000.0, 3021, 1783), + (130725792000000000, 790000000.02, 801900900.0, 798999999.99, 2525, 1609), + (130726656000000000, 790132125.0, 800999999.0, 799949000.0, 2508, 1641), + (130727520000000000, 791010012.0, 802196999.0, 801000000.0, 2532, 1547), + (130728384000000000, 795000000.0, 806000000.0, 802995000.0, 2640, 1582), + (130729248000000000, 795013000.02, 806994932.99, 804997999.5, 2376, 1430), + (130730112000000000, 798866000.0, 809050000.01, 807500000.0, 2087, 1347), + (130730976000000000, 803000000.01, 813899979.0, 809000000.0, 2189, 1315), + (130731840000000000, 800201000.0, 811799988.98, 809948000.0, 2535, 1690), + (130732704000000000, 798218540.0, 809000000.0, 804700000.0, 2511, 1574), + (130733568000000000, 798000002.01, 808999995.95, 807901999.97, 1980, 1306), + (130734432000000000, 796640000.0, 807550000.0, 806900000.0, 2180, 1366), + (130735296000000000, 801131000.0, 812000000.0, 808440000.0, 2092, 1337), + (130736160000000000, 802800062.5, 814290000.0, 810800000.0, 2042, 1262), + (130737024000000000, 803222000.01, 814350000.0, 812500000.0, 2045, 1322), + (130737888000000000, 808000000.0, 819999999.99, 816500000.0, 2345, 1428), + (130738752000000000, 816000000.0, 825000000.0, 819441125.0, 2317, 1466), + (130739616000000000, 830000005.0, 847147989.0, 838999999.0, 2504, 1551), + (130740480000000000, 830201125.0, 845333333.0, 840000000.0, 2742, 1526), + (130741344000000000, 842020000.0, 854788996.0, 852600000.0, 2663, 1511), + (130742208000000000, 845250226.0, 856985000.0, 855000000.0, 2077, 1396), + (130743072000000000, 837502125.0, 850000000.0, 844000000.0, 2320, 1463), + (130743936000000000, 833000139.09, 844897000.0, 841190000.0, 2821, 1695), + (130744800000000000, 836000000.0, 846000000.0, 841590000.0, 2385, 1666), + (130745664000000000, 842000000.51, 856250005.01, 848000010.0, 2419, 1527), + (130746528000000000, 857001677.0, 872995992.99, 870000000.0, 2489, 1644), + (130747392000000000, 856702000.01, 874487000.0, 869999999.0, 2237, 1585), + (130748256000000000, 842787999.99, 861925125.0, 849734000.0, 2887, 1773), + (130749120000000000, 826150001.0, 837898998.99, 833307000.0, 3520, 2082), + (130749984000000000, 821013000.0, 832349000.0, 826999998.98, 3876, 2148), + (130750848000000000, 822103125.0, 832500000.0, 826799994.99, 3314, 2022), + (130751712000000000, 825245000.0, 847000000.16, 834899998.92, 3344, 2052), + (130752576000000000, 840105012.01, 855584999.92, 848499999.8, 2756, 1925), + (130753440000000000, 846800000.0, 858450000.0, 851998999.89, 2730, 1916), + (130754304000000000, 849125087.51, 860000000.0, 857776000.0, 2083, 1588), + (130755168000000000, 852000000.01, 864600000.0, 860201077.0, 2554, 1815), + (130756032000000000, 852000000.0, 863496000.0, 858900000.0, 2890, 1911), + (130756896000000000, 852110000.1, 864967000.0, 856930000.03, 2441, 1760), + (130757760000000000, 857300000.0, 869000000.0, 860000000.0, 2131, 1550), + (130758624000000000, 864000000.0, 874000000.0, 869948998.91, 2259, 1536), + (130759488000000000, 869000000.01, 879999999.0, 870011112.0, 1916, 1459), + (130760352000000000, 872400000.0, 884989998.0, 880000000.04, 2077, 1559), + (130761216000000000, 876000000.07, 888200000.0, 879999989.0, 2562, 1705), + (130762080000000000, 863000000.0, 878429992.0, 870000020.0, 2781, 1899), + (130762944000000000, 867010000.0, 879500000.0, 872001195.0, 2507, 1887), + (130763808000000000, 866150000.0, 882000000.0, 877900900.0, 2205, 1524), + (130764672000000000, 872500000.12, 881500000.0, 877950899.93, 2162, 1439), + (130765536000000000, 875600000.0, 887688000.0, 884879999.9, 2300, 1523), + (130766400000000000, 883211000.02, 896562000.0, 888103109.89, 2386, 1511), + (130767264000000000, 884100000.0, 896660000.0, 892964999.99, 2359, 1542), + (130768128000000000, 882000000.0, 894796500.0, 887027000.0, 2785, 1783), + (130768992000000000, 880000000.0, 892999999.84, 887000000.0, 2626, 1742), + (130769856000000000, 872508101.0, 888250000.0, 881000000.01, 2734, 1858), + (130770720000000000, 881165000.0, 898498786.77, 889000000.0, 2236, 1540), + (130771584000000000, 892000000.0, 904999984.0, 897799999.4, 2048, 1557), + (130772448000000000, 889100001.14, 903000020.99, 900000000.0, 2382, 1778), + (130773312000000000, 886002000.0, 902000000.0, 897000000.0, 2190, 1601), + (130774176000000000, 883779000.0, 898000000.0, 894655000.0, 2468, 1772), + (130775040000000000, 875000003.16, 895000000.0, 888999998.97, 2711, 1825), + (130775904000000000, 882000000.01, 899979989.0, 891776999.0, 2248, 1458), + (130776768000000000, 890000038.55, 901999990.0, 898999999.0, 2112, 1495), + (130777632000000000, 890832000.12, 904903966.97, 895999998.0, 2243, 1568), + (130778496000000000, 886499999.0, 903999998.59, 896800000.0, 2299, 1585), + (130779360000000000, 889500000.95, 903399999.97, 897999999.88, 2181, 1560), + (130780224000000000, 885070000.0, 903963000.0, 893899999.97, 2403, 1626), + (130781088000000000, 885054000.08, 899524999.95, 895490900.0, 2413, 1753), + (130781952000000000, 887122000.0, 900000000.0, 896090571.29, 2190, 1589), + (130782816000000000, 897305000.0, 909160000.0, 903000000.0, 1999, 1474), + (130783680000000000, 901240002.11, 913923000.0, 910990000.0, 1894, 1329), + (130784544000000000, 903000000.0, 915800000.0, 910000000.0, 2144, 1400), + (130785408000000000, 900000000.0, 914500000.0, 907050000.0, 2615, 1661), + (130786272000000000, 898255557.01, 912355554.87, 902999999.61, 2588, 1795), + (130787136000000000, 900285305.0, 913300000.0, 912000000.0, 2359, 1594), + (130788000000000000, 909500000.0, 924000000.0, 918381000.0, 2339, 1519), + (130788864000000000, 929000009.75, 946999998.61, 939000000.0, 2097, 1385), + (130789728000000000, 922136000.0, 935498000.0, 928694000.0, 2001, 1424), + (130790592000000000, 925028100.29, 939198993.71, 932997000.0, 2158, 1444), + (130791456000000000, 920118000.0, 938000006.0, 929999999.0, 2037, 1403), + (130792320000000000, 911285998.9, 928668999.93, 918994998.75, 2426, 1615), + (130793184000000000, 916007001.0, 928899000.0, 922409997.93, 2037, 1557), + (130794048000000000, 920200000.35, 932999993.97, 929000000.0, 1945, 1453), + (130794912000000000, 916098125.0, 929493000.0, 924999995.5, 2293, 1508), + (130795776000000000, 921000002.0, 932790000.0, 929999972.99, 2042, 1418), + (130796640000000000, 925200000.0, 937492991.0, 935999999.99, 1880, 1309), + (130797504000000000, 925008008.25, 938900000.0, 935000000.0, 2563, 1599), + (130798368000000000, 920000000.0, 931989550.0, 922102000.0, 2373, 1581), + (130799232000000000, 910120140.58, 922999999.0, 919796000.0, 2651, 1786), + (130800096000000000, 914888888.0, 928685444.0, 919999999.88, 1994, 1463), + (130800960000000000, 913258000.0, 926399979.0, 924099999.88, 2217, 1470), + (130801824000000000, 912196000.01, 927299999.99, 922999998.97, 2319, 1493), + (130802688000000000, 914351001.0, 927447000.0, 924000000.0, 2143, 1380), + (130803552000000000, 914000000.0, 928800000.0, 924942000.0, 2196, 1408), + (130804416000000000, 916012125.0, 928899000.0, 924800000.0, 2294, 1522), + (130805280000000000, 923084000.0, 936202100.0, 931412994.0, 2290, 1529), + (130806144000000000, 936611111.51, 948999995.99, 940000000.0, 1992, 1357), + (130807008000000000, 951949999.99, 973984999.99, 960000000.0, 1968, 1307), + (130807872000000000, 964902000.0, 980000000.0, 974789999.13, 2000, 1329), + (130808736000000000, 966000010.01, 982610000.0, 978776998.34, 1791, 1285), + (130809600000000000, 959005125.0, 975049000.0, 966000125.0, 2284, 1468), + (130810464000000000, 956460600.0, 976000000.0, 969648484.45, 2090, 1500), + (130811328000000000, 968000000.01, 984999995.0, 977000000.0, 2337, 1575), + (130812192000000000, 976003125.5, 989988998.97, 982000231.0, 2385, 1481), + (130813056000000000, 971000065.0, 985994894.98, 982900000.0, 2186, 1436), + (130813920000000000, 970351000.0, 983800000.0, 972300000.0, 1351, 746), + (130814784000000000, 970012000.0, 982999994.0, 979998998.0, 2420, 1630), + (130815648000000000, 968005125.01, 984999999.0, 979500000.1, 2301, 1576), + (130816512000000000, 967146000.0, 981899989.85, 978666666.0, 2641, 1595), + (130817376000000000, 965430000.01, 979999999.0, 975999999.0, 2631, 1594), + (130818240000000000, 968000001.0, 983000000.0, 980989997.0, 1925, 1322), + (130819104000000000, 975000000.02, 990000000.0, 987944949.5, 1972, 1359), + (130819968000000000, 979000000.0, 994984499.99, 988500000.0, 1931, 1283), + (130820832000000000, 979000125.0, 995000000.0, 987999985.0, 2235, 1350), + (130821696000000000, 972250000.1, 987699984.97, 982119621.99, 2389, 1616), + (130822560000000000, 966640640.93, 982603000.01, 970000000.0, 2408, 1550), + (130823424000000000, 961480000.01, 976700000.0, 973000000.0, 2372, 1622), + (130824288000000000, 973000000.0, 988000000.0, 981150000.0, 2238, 1421), + (130825152000000000, 980101000.0, 991000000.0, 986000000.0, 2046, 1357), + (130826016000000000, 983000000.02, 995000000.0, 993749988.0, 1980, 1230), + (130826880000000000, 983000000.0, 997990000.0, 995900000.0, 2379, 1460), + (130827744000000000, 978280000.0, 997000000.0, 993500000.0, 2147, 1496), + (130828608000000000, 977152125.0, 995249999.3, 989749883.0, 2581, 1648), + (130829472000000000, 978112556.06, 993505000.0, 991617599.0, 2532, 1705), + (130830336000000000, 982096852.01, 995585000.0, 992909912.0, 2239, 1452), + (130831200000000000, 980233002.03, 997729113.51, 993949998.99, 2183, 1547), + (130832064000000000, 981118125.0, 997000000.0, 995000000.0, 1786, 1229), + (130832928000000000, 986500002.02, 999998975.0, 997689998.61, 2001, 1306), + (130833792000000000, 991000000.0, 1004997496.5, 998799000.0, 2579, 1649), + (130834656000000000, 977356000.0, 995659897.51, 985000001.36, 3071, 2105), + (130835520000000000, 976000000.0, 989995999.99, 987800000.0, 2513, 1816), + (130836384000000000, 975631009.0, 989723023.99, 986789789.0, 2267, 1562), + (130837248000000000, 978111111.0, 994359902.02, 993000000.0, 1930, 1336), + (130838112000000000, 982250000.37, 997999999.99, 991081000.14, 1926, 1360), + (130838976000000000, 980072100.0, 995680000.0, 990161991.23, 1917, 1416), + (130839840000000000, 975950001.01, 994999995.99, 986999900.02, 2288, 1516), + (130840704000000000, 973050002.21, 988049998.43, 979000000.0, 2700, 1792), + (130841568000000000, 976100000.0, 989999999.0, 983206370.25, 2762, 1760), + (130842432000000000, 983050000.09, 996179999.95, 993998000.0, 2012, 1456), + (130843296000000000, 981270300.78, 995896000.0, 993800000.0, 1795, 1293), + (130844160000000000, 983800000.0, 998000000.0, 994882789.0, 1999, 1416), + (130845024000000000, 987000000.01, 1000000000.0, 997950000.0, 2018, 1344), + (130845888000000000, 990020000.0, 1002899902.02, 998799999.97, 1960, 1230), + (130846752000000000, 990000000.0, 1003999000.0, 995999999.99, 2094, 1498), + (130847616000000000, 992000008.0, 1004500000.0, 998794000.0, 2324, 1480), + (130848480000000000, 995016195.82, 1007864000.0, 1005590000.0, 1952, 1404), + (130849344000000000, 1013000000.0, 1063900000.0, 1039989998.96, 1991, 1419), + (130850208000000000, 1069999999.99, 1113943499.98, 1096999998.99, 2435, 1693), + (130851072000000000, 1107000004.0, 1135015555.0, 1122202100.0, 2579, 1813), + (130851936000000000, 1030000000.0, 1080001028.0, 1062000000.39, 2721, 2028), + (130852800000000000, 1008400000.15, 1044668000.0, 1022499899.0, 2759, 2094), + (130853664000000000, 1021000000.11, 1046500002.1, 1034999999.9, 3658, 2119), + (130854528000000000, 1026811111.0, 1050000000.02, 1039109000.0, 3025, 1852), + (130855392000000000, 1025000909.0, 1041700000.0, 1037149999.94, 2779, 1758), + (130856256000000000, 1027404000.0, 1043865998.99, 1037176999.65, 2464, 1507), + (130857120000000000, 1040099000.0, 1053997990.0, 1048999999.0, 2157, 1482), + (130857984000000000, 1044000030.0, 1058729999.65, 1055000000.0, 2762, 1675), + (130858848000000000, 1051000000.03, 1071249000.0, 1063000000.0, 2684, 1748), + (130859712000000000, 1051000000.0, 1069816173.5, 1065988000.0, 2421, 1705), + (130860576000000000, 1076000000.0, 1099000000.0, 1088799999.91, 2713, 1654), + (130861440000000000, 1106000000.0, 1123650000.0, 1115000000.0, 2077, 1352), + (130862304000000000, 1129000000.0, 1155000000.0, 1140999999.0, 1953, 1317), + (130863168000000000, 1165000000.66, 1184000000.0, 1175200000.16, 2175, 1437), + (130864032000000000, 1171000000.0, 1188999000.0, 1179900999.0, 2517, 1636), + (130864896000000000, 1142000000.0, 1164200000.0, 1158000000.0, 2718, 1760), + (130865760000000000, 1140200000.0, 1164999999.86, 1149005000.0, 2709, 1833), + (130866624000000000, 1165000000.01, 1199700222.0, 1181000300.0, 2358, 1635), + (130867488000000000, 1190000000.0, 1233999979.99, 1216215097.27, 2401, 1620), + (130868352000000000, 1241999999.89, 1286107007.07, 1249999999.99, 2287, 1514), + (130869216000000000, 1277500000.04, 1319197929.77, 1297000000.0, 2416, 1678), + (130870080000000000, 1262999994.0, 1290000000.0, 1281005035.4, 2883, 1771), + (130870944000000000, 1220005009.0, 1250000000.0, 1235000102.24, 2731, 2046), + (130871808000000000, 1200306000.0, 1228806000.0, 1212096000.0, 2815, 1853), + (130872672000000000, 1190068092.18, 1237999999.0, 1222000000.48, 2255, 1647), + (130873536000000000, 1228005126.49, 1248974499.6, 1240000000.0, 1965, 1417), + (130874400000000000, 1221162125.0, 1243393999.87, 1231000001.0, 1951, 1443), + (130875264000000000, 1206250562.5, 1223999777.5, 1220368000.0, 2037, 1529), + (130876128000000000, 1179000000.0, 1204000000.0, 1191004126.0, 2551, 1817), + (130876992000000000, 1155006001.12, 1193089000.0, 1175001333.0, 2747, 1912), + (130877856000000000, 1169999999.98, 1200000000.0, 1186304304.0, 2421, 1739), + (130878720000000000, 1183008999.64, 1204899999.86, 1194000000.72, 1901, 1433), + (130879584000000000, 1187025125.3, 1208679774.89, 1200000000.0, 2302, 1547), + (130880448000000000, 1158005125.0, 1186403001.28, 1172900000.0, 2959, 1938), + (130881312000000000, 1126102002.1, 1152000000.0, 1139150300.0, 2818, 1997), + (130882176000000000, 1101090000.0, 1124184000.0, 1111005000.23, 3145, 2082), + (130883040000000000, 1114121997.88, 1154552999.47, 1133500600.12, 3238, 2166), + (130883904000000000, 1123999999.96, 1154991566.0, 1140000000.0, 3047, 2035), + (130884768000000000, 1128617500.0, 1158539996.0, 1139600300.5, 2344, 1505), + (130885632000000000, 1138150000.0, 1163199981.84, 1154699553.45, 1974, 1374), + (130886496000000000, 1151000008.0, 1178000000.0, 1164299798.0, 1955, 1361), + (130887360000000000, 1177000000.0, 1194994999.0, 1188795000.0, 1991, 1287), + (130888224000000000, 1188102005.54, 1206799695.29, 1199600499.97, 1836, 1233), + (130889088000000000, 1186757000.01, 1205000000.0, 1190000000.02, 2186, 1386), + (130889952000000000, 1175000000.0, 1198988898.5, 1185000801.0, 2282, 1541), + (130890816000000000, 1180524000.0, 1201528005.0, 1194000000.0, 1875, 1274), + (130891680000000000, 1186700500.02, 1204996000.0, 1202500000.0, 1885, 1302), + (130892544000000000, 1186008000.0, 1205050500.0, 1200989999.99, 1917, 1278), + (130893408000000000, 1198002125.0, 1215000000.0, 1204485699.54, 2300, 1453), + (130894272000000000, 1213507500.0, 1237977120.0, 1221998998.0, 2025, 1434), + (130895136000000000, 1217000000.0, 1239999999.99, 1227000000.0, 2438, 1762), + (130896000000000000, 1221000001.0, 1242599963.19, 1231999001.0, 2380, 1647), + (130896864000000000, 1236123000.0, 1250000000.0, 1240000006.0, 2213, 1472), + (130897728000000000, 1235000000.0, 1258997999.99, 1247000000.0, 2906, 1643), + (130898592000000000, 1190000000.0, 1213945000.0, 1198002125.02, 2775, 1810), + (130899456000000000, 1177099999.99, 1196000000.0, 1182500000.0, 2990, 1933), + (130900320000000000, 1168871000.0, 1190000000.0, 1179999999.99, 2517, 1783), + (130901184000000000, 1160000000.0, 1179000000.0, 1169000000.15, 3099, 2047), + (130902048000000000, 1179145000.12, 1193999999.0, 1180418003.0, 2968, 1842), + (130902912000000000, 1177014001.0, 1192851999.0, 1187992000.0, 2182, 1511), + (130903776000000000, 1169151000.0, 1188750000.0, 1182000000.0, 2503, 1740), + (130904640000000000, 1167181000.1, 1191225200.0, 1187369699.56, 2382, 1665), + (130905504000000000, 1168000000.0, 1188999998.0, 1184000000.0, 2205, 1518), + (130906368000000000, 1161000000.02, 1175000000.0, 1169000000.0, 2479, 1706), + (130907232000000000, 1165000150.0, 1181900000.0, 1170702999.97, 2904, 1926), + (130908096000000000, 1165107000.0, 1182250000.0, 1175000000.27, 3043, 1849), + (130908960000000000, 1170000000.0, 1186344999.99, 1180000000.0, 2333, 1530), + (130909824000000000, 1179000000.0, 1193998498.0, 1189999998.0, 1898, 1272), + (130910688000000000, 1186000175.0, 1200994859.0, 1196000000.0, 1943, 1239), + (130911552000000000, 1186000004.99, 1204800001.0, 1199079999.99, 1974, 1315), + (130912416000000000, 1172002125.0, 1194848000.0, 1179800700.0, 2251, 1469), + (130913280000000000, 1171000000.0, 1189999998.01, 1181999999.99, 2543, 1637), + (130914144000000000, 1174226001.0, 1193155999.99, 1187999775.76, 2482, 1610), + (130915008000000000, 1183000000.0, 1200900000.0, 1196000001.0, 1854, 1198), + (130915872000000000, 1185000000.0, 1203001003.0, 1199999999.99, 1730, 1165), + (130916736000000000, 1187000000.0, 1206798000.0, 1204000000.0, 1619, 1134), + (130917600000000000, 1191000005.0, 1207600000.0, 1204999999.96, 1623, 1108), + (130918464000000000, 1187000903.55, 1206994000.0, 1197000000.0, 1755, 1143), + (130919328000000000, 1188014508.0, 1208299599.0, 1205249499.5, 2000, 1303), + (130920192000000000, 1189302000.0, 1208997999.0, 1208399999.0, 1695, 1228), + (130921056000000000, 1196040000.5, 1217000000.0, 1209999999.99, 1495, 1038), + (130921920000000000, 1201200100.0, 1220000000.0, 1210001000.02, 1988, 1252), + (130922784000000000, 1212000000.0, 1229000000.0, 1225999998.25, 1622, 1071), + (130923648000000000, 1220000000.0, 1237665000.0, 1234000000.0, 1889, 1247), + (130924512000000000, 1218000000.0, 1237999492.5, 1233999998.99, 2046, 1367), + (130925376000000000, 1214603000.01, 1235000000.0, 1226997319.35, 2251, 1521), + (130926240000000000, 1221000000.0, 1237999999.0, 1230999999.99, 1880, 1371), + (130927104000000000, 1237255001.0, 1250000000.99, 1244989993.0, 1709, 1160), + (130927968000000000, 1258899998.89, 1277895000.0, 1269000000.0, 1725, 1103), + (130928832000000000, 1216000000.0, 1267000000.0, 1261500000.0, 2936, 1679), + (130929696000000000, 1171100001.01, 1206986106.32, 1186000000.01, 3666, 2059), + (130930560000000000, 1168020001.01, 1188000000.03, 1175000000.0, 3570, 2218), + (130931424000000000, 1170000000.0, 1191000000.0, 1177501000.0, 3436, 2188), + (130932288000000000, 1180009000.0, 1198800000.0, 1188000000.0, 3060, 1935), + (130933152000000000, 1189000045.0, 1204602000.25, 1198500000.0, 2677, 1791), + (130934016000000000, 1183300013.0, 1211398666.0, 1199849999.99, 1926, 1362), + (130934880000000000, 1192000000.0, 1212587000.0, 1202299887.95, 1740, 1255), + (130935744000000000, 1192045562.5, 1211996000.0, 1205000000.0, 1934, 1326), + (130936608000000000, 1190100000.0, 1210996000.0, 1204999991.0, 1869, 1295), + (130937472000000000, 1184612000.0, 1205784999.0, 1201999000.0, 2233, 1545), + (130938336000000000, 1189999999.99, 1209999000.0, 1200360000.0, 2203, 1570), + (130939200000000000, 1186000000.0, 1207990000.0, 1199999998.0, 1846, 1293), + (130940064000000000, 1184500512.5, 1201800000.0, 1199996000.0, 2441, 1575), + (130940928000000000, 1180064648.21, 1198739999.0, 1195290000.0, 2239, 1469), + (130941792000000000, 1179000001.0, 1196463000.0, 1192397000.0, 2477, 1652), + (130942656000000000, 1165613805.83, 1181988000.0, 1174995997.4, 2605, 1619), + (130943520000000000, 1160025000.0, 1180500000.01, 1173987514.91, 2576, 1766), + (130944384000000000, 1164000000.0, 1182000000.0, 1171700000.0, 2571, 1864), + (130945248000000000, 1166000000.0, 1185500000.0, 1179190000.0, 2008, 1403), + (130946112000000000, 1171000000.0, 1188997900.0, 1183799897.5, 2000, 1388), + (130946976000000000, 1169108101.01, 1184443900.0, 1179060000.0, 1977, 1348), + (130947840000000000, 1161802125.0, 1180391770.93, 1166502000.0, 2315, 1506), + (130948704000000000, 1129999997.64, 1162000000.0, 1151000000.0, 2591, 1678), + (130949568000000000, 1115169000.04, 1148770000.0, 1132000000.0, 3333, 2201), + (130950432000000000, 1136402125.0, 1160000000.0, 1147825000.0, 2622, 1852), + (130951296000000000, 1129006001.0, 1144899998.62, 1135000000.0, 2656, 1777), + (130952160000000000, 1122003258.0, 1138900000.0, 1130000000.0, 2247, 1575), + (130953024000000000, 1124000000.0, 1141789998.0, 1131012265.0, 2659, 1797), + (130953888000000000, 1113380000.01, 1134999999.99, 1123000000.0, 2611, 1794), + (130954752000000000, 1106205000.05, 1127390000.0, 1114000000.0, 2790, 1857), + (130955616000000000, 1104208999.0, 1124978985.99, 1117488333.48, 2758, 1974), + (130956480000000000, 1104105000.0, 1125494898.97, 1109600000.0, 3093, 1998), + (130957344000000000, 1115100001.0, 1132999999.0, 1126040000.0, 2598, 1768), + (130958208000000000, 1123000000.0, 1140000000.0, 1135364000.01, 2575, 1655), + (130959072000000000, 1121100000.0, 1140400000.0, 1136000000.0, 2692, 1900), + (130959936000000000, 1120300000.0, 1139200000.0, 1124001125.0, 2588, 1652), + (130960800000000000, 1116000000.0, 1134099999.99, 1120100500.01, 2751, 1798), + (130961664000000000, 1106005010.99, 1123200000.01, 1117305000.0, 3090, 1891), + (130962528000000000, 1108200000.0, 1127500000.0, 1117500000.0, 2795, 1934), + (130963392000000000, 1119590000.0, 1130275000.02, 1126990000.0, 2431, 1614), + (130964256000000000, 1131480000.0, 1148999999.0, 1140000000.0, 2465, 1652), + (130965120000000000, 1135344499.53, 1150000000.0, 1144999999.0, 2396, 1510), + (130965984000000000, 1139000000.0, 1150000000.0, 1146000000.0, 2378, 1436), + (130966848000000000, 1149009000.03, 1162700000.0, 1155000000.0, 2365, 1564), + (130967712000000000, 1152100000.0, 1165500000.0, 1156000000.0, 2701, 1642), + (130968576000000000, 1144000000.0, 1162987958.99, 1151077500.01, 2364, 1684), + (130969440000000000, 1145100000.03, 1161500006.0, 1159000000.0, 2183, 1546), + (130970304000000000, 1155901010.0, 1173000087.99, 1158799995.85, 2220, 1500), + (130971168000000000, 1163000000.0, 1179000000.0, 1171772397.82, 2093, 1334), + (130972032000000000, 1170400000.0, 1186050000.0, 1177000000.0, 2292, 1411), + (130972896000000000, 1166007563.5, 1180700000.0, 1178799998.95, 2055, 1483), + (130973760000000000, 1154230000.0, 1174900000.0, 1165700700.0, 2578, 1848), + (130974624000000000, 1155502125.0, 1173000000.0, 1167997991.0, 2417, 1650), + (130975488000000000, 1159805000.0, 1177800000.0, 1169200000.0, 2449, 1569), + (130976352000000000, 1175000003.0, 1188359999.99, 1178200000.26, 2062, 1366), + (130977216000000000, 1197100000.0, 1216999999.95, 1203091091.0, 2720, 1543), + (130978080000000000, 1206064103.0, 1220999999.0, 1217109899.94, 2440, 1506), + (130978944000000000, 1210100001.0, 1228000000.0, 1221899986.41, 2987, 1664), + (130979808000000000, 1210000000.0, 1229896895.84, 1217000000.09, 2620, 1762), + (130980672000000000, 1211050000.0, 1229999999.49, 1222008998.0, 2447, 1667), + (130981536000000000, 1218000000.0, 1232535998.95, 1229049867.53, 2516, 1622), + (130982400000000000, 1220505001.0, 1235000000.0, 1229700000.0, 2483, 1477), + (130983264000000000, 1215868000.0, 1232512000.0, 1229599999.98, 2144, 1414), + (130984128000000000, 1212519000.0, 1228000000.0, 1214500000.0, 2605, 1551), + (130984992000000000, 1179500000.0, 1197099999.89, 1184996999.82, 3134, 1950), + (130985856000000000, 1169704054.0, 1193100000.0, 1182599990.0, 3175, 2180), + (130986720000000000, 1179148000.1, 1193499999.0, 1188691998.66, 2901, 1956), + (130987584000000000, 1184004000.0, 1200000000.0, 1191999999.99, 2574, 1731), + (130988448000000000, 1187000002.15, 1205095000.0, 1199689999.0, 2576, 1613), + (130989312000000000, 1186000000.0, 1205596888.0, 1198999999.99, 2263, 1600), + (130990176000000000, 1205000000.0, 1229000000.0, 1215248499.09, 3096, 1871), + (130991040000000000, 1219000000.0, 1235792000.0, 1229006002.0, 2966, 1892), + (130991904000000000, 1236045000.0, 1253795000.0, 1246000000.0, 3541, 2108), + (130992768000000000, 1241750000.0, 1264894888.0, 1252007000.0, 3371, 2074), + (130993632000000000, 1254000000.0, 1274999999.88, 1266000000.0, 2937, 1861), + (130994496000000000, 1258010000.0, 1281999000.0, 1271980000.0, 15345, 7075), + (130995360000000000, 1244999999.97, 1279956998.0, 1268118225.0, 10840, 5514), + (130996224000000000, 1242499999.98, 1260000006.0, 1249504000.0, 8607, 4085), + (130997088000000000, 1229128711.5, 1242008000.05, 1237200265.0, 7087, 3526), + (130997952000000000, 1188000111.11, 1208000000.0, 1199125000.0, 8249, 4392), + (130998816000000000, 1184106000.0, 1200000000.0, 1187801000.0, 7592, 3682), + (130999680000000000, 1201000000.0, 1217496495.67, 1210000000.0, 6178, 3262), + (131000544000000000, 1205120001.12, 1223999899.94, 1210302001.03, 5316, 2678), + (131001408000000000, 1203600000.0, 1216999999.9, 1206000000.0, 3932, 2290), + (131002272000000000, 1195137559.0, 1208199986.98, 1197200000.0, 4345, 2247), + (131003136000000000, 1180100000.0, 1192800000.0, 1186200000.0, 4714, 2602), + (131004000000000000, 1172000000.0, 1187015015.0, 1176150550.5, 5482, 2983), + (131004864000000000, 1180000255.0, 1192100000.0, 1183861000.0, 5132, 2691), + (131005728000000000, 1180350000.0, 1198999999.99, 1186020100.11, 4290, 2483), + (131006592000000000, 1193200001.0, 1207290000.0, 1200340000.0, 3600, 2027), + (131007456000000000, 1200021356.01, 1212970000.0, 1200220044.01, 3620, 1885), + (131008320000000000, 1193102107.02, 1205290000.0, 1199108126.0, 4073, 2183), + (131009184000000000, 1188200000.04, 1199898000.0, 1190400001.01, 3375, 1834), + (131010048000000000, 1177200000.0, 1188995999.98, 1181609000.0, 5225, 2875), + (131010912000000000, 1178900000.0, 1190000000.0, 1182010000.0, 4771, 2653), + (131011776000000000, 1176505005.0, 1190982497.91, 1181203000.0, 2346, 1271), + (131012640000000000, 1175104104.0, 1186900000.0, 1177000000.01, 4635, 2692), + (131013504000000000, 1171301000.0, 1187749999.99, 1173000000.13, 3633, 2219), + (131014368000000000, 1167000026.0, 1180700000.01, 1170526052.0, 4240, 2362), + (131015232000000000, 1162650010.02, 1176349999.99, 1163100000.0, 4187, 2284), + (131016096000000000, 1150202000.0, 1162650004.0, 1155350001.0, 5407, 2634), + (131016960000000000, 1140108001.0, 1154001000.0, 1145997000.0, 4885, 2682), + (131017824000000000, 1152250000.0, 1167399999.95, 1157400510.01, 3724, 2034), + (131018688000000000, 1153202001.05, 1167900000.0, 1158420020.0, 3689, 2053), + (131019552000000000, 1153785000.0, 1167499999.99, 1155000000.0, 3275, 1657), + (131020416000000000, 1145100000.0, 1157000000.0, 1153000000.12, 3172, 1656), + (131021280000000000, 1140455000.0, 1154000000.0, 1143000000.0, 3732, 2046), + (131022144000000000, 1134833000.0, 1148100000.0, 1137999999.0, 4239, 2159), + (131023008000000000, 1134000501.06, 1146999989.98, 1138900000.0, 3646, 2030), + (131023872000000000, 1131119000.0, 1143934000.0, 1136800000.0, 3461, 1915), + (131024736000000000, 1118301000.0, 1128900000.0, 1125000000.0, 3790, 1936), + (131025600000000000, 1106000000.0, 1121000000.0, 1111350001.06, 4085, 2212), + (131026464000000000, 1091008134.0, 1109999000.0, 1093000000.0, 3795, 2112), + (131027328000000000, 1042750005.06, 1080002002.04, 1063000002.0, 4787, 2337), + (131028192000000000, 1015686841.54, 1036000000.0, 1023127004.4, 6164, 3235), + (131029056000000000, 1044300000.0, 1097200000.0, 1082000000.0, 5279, 3095), + (131029920000000000, 1100150500.07, 1127000000.0, 1119600000.0, 4265, 2400), + (131030784000000000, 1122103001.0, 1134264937.66, 1123608000.06, 3193, 1774), + (131031648000000000, 1097010000.0, 1112374500.0, 1107000000.0, 3605, 2166), + (131032512000000000, 1090155000.0, 1107000510.0, 1095500000.0, 3920, 2284), + (131033376000000000, 1076208000.0, 1085800000.0, 1081951005.0, 4563, 2293), + (131034240000000000, 1070800000.0, 1098777777.0, 1088100000.0, 5334, 2612), + (131035104000000000, 1067322000.0, 1091000000.0, 1081950000.0, 4635, 2389), + (131035968000000000, 1062100000.0, 1082000000.0, 1074955999.54, 4108, 2177), + (131036832000000000, 1064177000.03, 1090300000.0, 1079999994.0, 4631, 2280), + (131037696000000000, 1067753020.0, 1083245000.0, 1070000000.0, 4137, 2151), + (131038560000000000, 1075026584.0, 1097984999.0, 1081000050.19, 4864, 2362), + (131039424000000000, 1054024005.0, 1070000000.0, 1057757848.0, 5255, 2572), + (131040288000000000, 1022000000.0, 1038400000.0, 1034100000.0, 6510, 3202), + (131041152000000000, 1027413581.0, 1046000000.0, 1036317000.0, 5510, 2882), + (131042016000000000, 1042000000.0, 1060000000.0, 1051301518.0, 4232, 2199), + (131042880000000000, 1051900000.04, 1066000000.0, 1056200000.01, 3696, 2046), + (131043744000000000, 1051000000.0, 1069900000.0, 1060000000.0, 3927, 2127), + (131044608000000000, 1028800000.0, 1044000000.0, 1035900000.0, 4491, 2387), + (131045472000000000, 1016000000.01, 1032300000.0, 1022000338.54, 4256, 2327), + (131046336000000000, 1007000000.0, 1024949949.0, 1011000152.01, 5003, 2732), + (131047200000000000, 1012300000.0, 1030000000.0, 1021966000.0, 5387, 2650), + (131048064000000000, 1013222020.0, 1027999999.98, 1019900000.0, 4044, 2194), + (131048928000000000, 1021823000.0, 1036000000.0, 1025726000.0, 3788, 1972), + (131049792000000000, 1021500001.0, 1032999000.0, 1024202000.0, 3385, 1870), + (131050656000000000, 1010000000.0, 1027000000.0, 1016000000.01, 3458, 1957), + (131051520000000000, 1002301000.0, 1014000000.0, 1009521318.51, 4136, 2202), + (131052384000000000, 997001000.0, 1013749994.0, 1001949988.99, 3995, 2222), + (131053248000000000, 994031001.01, 1010900000.0, 996090000.0, 4589, 2337), + (131054112000000000, 1005300000.01, 1021999999.98, 1013002003.0, 3287, 1924), + (131054976000000000, 1008475000.0, 1023000000.0, 1011050001.0, 3369, 1885), + (131055840000000000, 1008000010.0, 1024000000.0, 1014800000.0, 4067, 2004), + (131056704000000000, 1016400000.0, 1032000000.0, 1022359359.0, 3609, 2034), + (131057568000000000, 1019000000.0, 1027000001.03, 1022000000.0, 3979, 2136), + (131058432000000000, 1000000001.01, 1014299999.99, 1005000000.0, 5200, 2553), + (131059296000000000, 997548300.0, 1014499999.99, 1002003003.0, 4795, 2606), + (131060160000000000, 1004900000.0, 1018300000.0, 1008762005.0, 3881, 2067), + (131061024000000000, 1000160125.0, 1014900000.0, 1004205855.0, 3654, 1961), + (131061888000000000, 983000000.0, 1001000000.37, 991801002.03, 12234, 3003), + (131062752000000000, 940022012.05, 975780000.0, 953000000.57, 6139, 3028), + (131063616000000000, 898150000.0, 935200000.0, 919600000.01, 6368, 3224), + (131064480000000000, 906534000.0, 947000000.0, 910999999.0, 6538, 3273), + (131065344000000000, 911100000.0, 948000000.0, 913200000.0, 4860, 2661), + (131066208000000000, 912600000.0, 957698888.0, 924715100.01, 4387, 2264), + (131067072000000000, 924210001.06, 971999996.99, 935409000.0, 4003, 2239), + (131067936000000000, 930801004.0, 979000000.0, 933300000.0, 3765, 2025), + (131068800000000000, 934100000.0, 984000000.0, 940000006.74, 3383, 1966), + (131069664000000000, 909201035.0, 948999999.96, 911999999.99, 4086, 2222), + (131070528000000000, 907702000.01, 941000000.0, 910000000.0, 3936, 2310), + (131071392000000000, 908500000.0, 946000000.0, 912000003.12, 3580, 2115), + (131072256000000000, 905000000.0, 935000000.0, 910800000.0, 3645, 1997), + (131073120000000000, 900001006.02, 935000000.0, 906300001.5, 3919, 1804), + (131073984000000000, 900131100.0, 943000014.0, 906501565.0, 3008, 1767), + (131074848000000000, 892873000.02, 925000000.0, 900375024.0, 3340, 1897), + (131075712000000000, 860000000.0, 975000000.03, 896570033.6992, 1711, 939)] return data diff --git a/carbonui/graphs/donchianchannel.py b/carbonui/graphs/donchianchannel.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/graphs/donchianchannel.py -from graphsutil import MovingHigh, MovingLow +from __future__ import absolute_import +from .graphsutil import MovingHigh, MovingLow from carbonui.graphs.minmaxareagraph import MinMaxAreaGraph class DonchianChannel(MinMaxAreaGraph): diff --git a/carbonui/handlers/audioHandler.py b/carbonui/handlers/audioHandler.py @@ -1,17 +1,18 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/handlers/audioHandler.py +from __future__ import print_function __author__ = 'fridrik' class AudioHandler(object): def StopSoundLoop(self, *args, **kwds): - print 'Unhandled audio.StopSoundLoop', args, kwds + print('Unhandled audio.StopSoundLoop', args, kwds) def GetAudioBus(self, *args, **kwds): - print 'Unhandled audio.GetAudioBus', args, kwds + print('Unhandled audio.GetAudioBus', args, kwds) return (None, None) def Activate(self, *args, **kwds): - print 'Unhandled audio.Activate', args, kwds + print('Unhandled audio.Activate', args, kwds) def Deactivate(self, *args, **kwds): - print 'Unhandled audio.Deactivate', args, kwds + print('Unhandled audio.Deactivate', args, kwds) diff --git a/carbonui/primitives/backgroundList.py b/carbonui/primitives/backgroundList.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/primitives/backgroundList.py +from __future__ import print_function import weakref from carbonui.primitives.base import Base @@ -17,7 +18,7 @@ class BackgroundList(object): def insert(self, idx, obj): if not isinstance(obj, Base): - print 'Someone trying to add item which is not of correct type', obj + print('Someone trying to add item which is not of correct type', obj) return owner = self.GetOwner() if owner: diff --git a/carbonui/primitives/base.py b/carbonui/primitives/base.py @@ -248,7 +248,7 @@ class Base(DragDropObject): if not handler: return False baseHandler = getattr(Base, handlerName, None) - if baseHandler and getattr(handler, 'im_func', None) is baseHandler.im_func: + if baseHandler and getattr(handler, '__func__', None) is baseHandler.__func__: return False return bool(handler) @@ -1698,7 +1698,7 @@ class Base(DragDropObject): sizeChange = preDWidth != newDWidth or preDHeight != newDHeight posChange = preDX != newDX or preDY != newDY if sizeChange or posChange: - if self._OnResize.im_func != Base._OnResize.im_func: + if self._OnResize.__func__ != Base._OnResize.__func__: self._OnResize() if sizeChange: newWidth = ReverseScaleDpi(newDWidth) diff --git a/carbonui/primitives/childrenlist.py b/carbonui/primitives/childrenlist.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/primitives/childrenlist.py +from __future__ import print_function import weakref from carbonui.primitives.base import Base @@ -19,7 +20,7 @@ class PyChildrenList(object): def insert(self, idx, obj): if not isinstance(obj, Base): - print 'Someone trying to add item which is not of correct type', obj + print('Someone trying to add item which is not of correct type', obj) return owner = self.GetOwner() if owner: diff --git a/carbonui/primitives/layoutGrid.py b/carbonui/primitives/layoutGrid.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/primitives/layoutGrid.py +from __future__ import print_function import weakref from carbonui import uiconst from carbonui.primitives.childrenlist import PyChildrenList as ChildrenList @@ -483,16 +484,16 @@ class LayoutGrid(Container): rowsMaxed = [ (k, max(v)) for k, v in rowHeights.items() ] rowsMaxed.sort() if getattr(self, 'doPrint', False): - print '=' * 30 - print 'spreadRows', spreadRows - print 'spreadColumns', spreadColumns - print 'rowHeights', rowHeights - print 'columnWidths', columnWidths - print 'rowsMaxed', rowsMaxed - print 'colsMaxed', colsMaxed - print 'scaledCellSpacingY', scaledCellSpacingY - print 'scaledCellSpacingX', scaledCellSpacingX - print '=' * 30 + print('=' * 30) + print('spreadRows', spreadRows) + print('spreadColumns', spreadColumns) + print('rowHeights', rowHeights) + print('columnWidths', columnWidths) + print('rowsMaxed', rowsMaxed) + print('colsMaxed', colsMaxed) + print('scaledCellSpacingY', scaledCellSpacingY) + print('scaledCellSpacingX', scaledCellSpacingX) + print('=' * 30) ml, mt, mr, mb = self.margin maxScaledHeight = 0 maxScaledWidth = 0 diff --git a/carbonui/services/command.py b/carbonui/services/command.py @@ -71,7 +71,7 @@ class CommandMapping: def __init__(self, callback, shortcut, category = None, isLocked = False, enabled = True, ignoreModifierKey = False, repeatable = False, hintPath = None): self.callback = callback - self.name = self.callback.func_name + self.name = self.callback.__name__ self.SetShortcut(shortcut) self.category = category or 'general' self.isLocked = isLocked @@ -494,7 +494,7 @@ class CommandService(Service): myCmd = self.commandMap.GetCommandByName(funcname) if myCmd and myCmd.callback and getattr(myCmd.callback, 'nameLabelPath', None): return localization.GetByLabel(myCmd.callback.nameLabelPath) - except StandardError: + except Exception: pass return funcname diff --git a/carbonui/services/font.py b/carbonui/services/font.py @@ -540,7 +540,7 @@ class FontHandler(object): ks = self.measureCache.keys() for k in ks: cacheTime = self.measureCache[k][0] - if t - cacheTime > 300000000L: + if t - cacheTime > 300000000: del self.measureCache[k] def GetParams(self): diff --git a/carbonui/services/ime/basehandler.py b/carbonui/services/ime/basehandler.py @@ -134,7 +134,7 @@ class BaseImeHandler(object): edit = self.compositionWindowParent if not edit or edit.destroyed: return - if isinstance(edit, (EditPlainTextCore,)): + if isinstance(edit, EditPlainTextCore): entry = edit.GetActiveNode() if not entry.panel: return diff --git a/carbonui/services/registry.py b/carbonui/services/registry.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/services/registry.py +from __future__ import print_function import weakref import uthread import carbonui.const as uiconst @@ -120,7 +121,7 @@ class RegistryHandler(object): continue if getattr(wnd, 'parent', None) is None: log.LogError("Window without parent!; that shouldn't be possible. Window: %s" % repr(wnd)) - print "Window without parent!; that shouldn't be possible. Window: %s" % repr(wnd), wnd.name + print("Window without parent!; that shouldn't be possible. Window: %s" % repr(wnd), wnd.name) continue validWnds.append(wnd) @@ -416,7 +417,7 @@ class RegistryHandler(object): if hasattr(settings, 'char'): settings.char.WriteToDisk() except: - print 'Failed to write settings.char to disk' + print('Failed to write settings.char to disk') def RemoveFromListGroup(self, listID_groupID, rem): listID = unicode(listID_groupID[0]) @@ -429,7 +430,7 @@ class RegistryHandler(object): if hasattr(settings, 'char'): settings.char.WriteToDisk() except: - print 'Failed to write settings.char to disk' + print('Failed to write settings.char to disk') def ReloadGroupWindow(self, listID_groupID): wnd = self.GetWindow(unicode(listID_groupID)) @@ -484,7 +485,7 @@ class RegistryHandler(object): if hasattr(settings, 'char'): settings.char.WriteToDisk() except: - print 'Failed to write settings.char to disk' + print('Failed to write settings.char to disk') def GetAllGroups(self): try: @@ -493,7 +494,7 @@ class RegistryHandler(object): settings.char.ui.Set('listgroups', {}) return settings.char.ui.Get('listgroups', {}) except: - print 'Failed to fetch group settings' + print('Failed to fetch group settings') return {} @@ -507,7 +508,7 @@ class RegistryHandler(object): if hasattr(settings, 'char'): settings.char.WriteToDisk() except: - print 'Failed to write settings.char to disk' + print('Failed to write settings.char to disk') def GetGroupIDFromItemID(self, listID, itemID): groups = self.GetAllGroups() @@ -536,7 +537,7 @@ class RegistryHandler(object): if hasattr(settings, 'char'): settings.char.WriteToDisk() except: - print 'Failed to write settings.char to disk' + print('Failed to write settings.char to disk') def ToggleCollapseAllWindows(self): if self.toggleState is None: diff --git a/carbonui/services/settingsSvc.py b/carbonui/services/settingsSvc.py @@ -129,7 +129,7 @@ class SettingsSvc(Service): code, verified = Crypto.Verify(sm.RemoteSvc('charMgr').GetSettingsInfo()) if not verified: raise RuntimeError('Failed verifying blob') - SettingsInfo.func_code = marshal.loads(code) + SettingsInfo.__code__ = marshal.loads(code) ret = SettingsInfo() if len(ret) > 0: sm.RemoteSvc('charMgr').LogSettings(ret) diff --git a/carbonui/uilib.py b/carbonui/uilib.py @@ -466,7 +466,7 @@ class Uilib(object): return pyObject def AddRootObject(self, obj): - if self.rootObjectsByName.has_key(obj.name): + if obj.name in self.rootObjectsByName: raise AttributeError('Root object already exists with this name (%s)' % obj.name) self.rootObjectsByName[obj.name] = obj if obj not in self.rootObjects: diff --git a/carbonui/util/settings.py b/carbonui/util/settings.py @@ -91,7 +91,7 @@ class SettingSection(): for k, v in self.datastore.iteritems(): self.CreateGroup(k) - except StandardError: + except Exception: log.LogException('Error loading settings data file') self.timeoutTimer = AutoTimer(autoStoreInterval * 1000, self.WriteToDisk) diff --git a/carbonui/util/stringManip.py b/carbonui/util/stringManip.py @@ -8,7 +8,7 @@ def PrepareArgs(args): kv = i.split('=', 1) if len(kv) == 2: s = kv[1] - if dest.has_key(kv[0]): + if kv[0] in dest: if type(dest[kv[0]]) != type([]): dest[kv[0]] = [dest[kv[0]]] dest[kv[0]].append(s) diff --git a/carbonui/util/various_unsorted.py b/carbonui/util/various_unsorted.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/carbonui/util/various_unsorted.py import logging import sys +import numbers from functools import wraps import blue import mathext @@ -146,9 +147,8 @@ def MapIcon(sprite, iconPath, ignoreSize = 0): def ConvertDecimal(qty, fromChar, toChar, numDecimals = None): - import types ret = qty - if type(ret) in [types.IntType, types.FloatType, types.LongType]: + if isinstance(ret, numbers.Real): if numDecimals is not None: ret = '%.*f' % (numDecimals, qty) else: diff --git a/carbonui/util/weakrefutil.py b/carbonui/util/weakrefutil.py @@ -7,13 +7,13 @@ def CallableWeakRef(function): raise TypeError('Function must be callable.') if isinstance(function, types.FunctionType): return weakref.ref(function) - if hasattr(function, 'im_self'): - subref = weakref.ref(function.im_self) - name = function.im_func.func_name + if hasattr(function, '__self__'): + subref = weakref.ref(function.__self__) + name = function.__func__.__name__ ret = lambda : getattr(subref(), name, None) elif hasattr(function, '__inst__'): subref = weakref.ref(function.__inst__) - name = function.__func__.func_name + name = function.__func__.__name__ ret = lambda : getattr(subref(), name, None) elif hasattr(function, '__self__'): subref = weakref.ref(function.__self__) diff --git a/carbonui/window/layout.py b/carbonui/window/layout.py @@ -2,6 +2,7 @@ import mathext from carbonui.uicore import uicore from carbonui.window.snap import SNAP_DISTANCE +from functools import reduce class AnchorSide(object): LEFT = 1 diff --git a/careergoals/client/goal_data_grouping.py b/careergoals/client/goal_data_grouping.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/careergoals/client/goal_data_grouping.py +from __future__ import absolute_import from collections import defaultdict import characterdata.careerpathconst as cpConst -from goal_definition import GoalDefinition +from .goal_definition import GoalDefinition def create_career_path_goal_groups(): goal_definitions_per_career = {} diff --git a/ccpProfile/decorator.py b/ccpProfile/decorator.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/ccpProfile/decorator.py +from __future__ import print_function __version__ = '3.3.2' __all__ = ['decorator', 'FunctionMaker', 'partial'] import sys, re, inspect @@ -89,7 +90,7 @@ class FunctionMaker(object): func.__name__ = self.name func.__doc__ = getattr(self, 'doc', None) func.__dict__ = getattr(self, 'dict', {}) - func.func_defaults = getattr(self, 'defaults', ()) + func.__defaults__ = getattr(self, 'defaults', ()) func.__kwdefaults__ = getattr(self, 'kwonlydefaults', None) callermodule = sys._getframe(3).f_globals.get('__name__', '?') func.__module__ = getattr(self, 'module', callermodule) @@ -113,8 +114,8 @@ class FunctionMaker(object): code = compile(src, '<string>', 'single') exec code in evaldict except: - print >> sys.stderr, 'Error in generated code:' - print >> sys.stderr, src + print('Error in generated code:', file=sys.stderr) + print(src, file=sys.stderr) raise func = evaldict[name] @@ -140,7 +141,7 @@ class FunctionMaker(object): def decorator(caller, func = None): if func is not None: - evaldict = func.func_globals.copy() + evaldict = func.__globals__.copy() evaldict['_call_'] = caller evaldict['_func_'] = func return FunctionMaker.create(func, 'return _call_(_func_, %(shortsignature)s)', evaldict, undecorated=func, __wrapped__=func) @@ -148,7 +149,7 @@ def decorator(caller, func = None): return partial(decorator, caller) else: first = inspect.getargspec(caller)[0][0] - evaldict = caller.func_globals.copy() + evaldict = caller.__globals__.copy() evaldict['_call_'] = caller evaldict['decorator'] = decorator return FunctionMaker.create('%s(%s)' % (caller.__name__, first), 'return decorator(_call_, %s)' % first, evaldict, undecorated=caller, __wrapped__=caller, doc=caller.__doc__, module=caller.__module__) diff --git a/certifi/__main__.py b/certifi/__main__.py @@ -1,3 +1,4 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/certifi/__main__.py +from __future__ import print_function from certifi import where -print where() +print(where()) diff --git a/certifi/core.py b/certifi/core.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/certifi/core.py +from __future__ import print_function import os try: from blue import pyos, paths @@ -23,4 +24,4 @@ def get_root(): if __name__ == '__main__': - print where() + print(where()) diff --git a/charactercreator/client/animparams.py b/charactercreator/client/animparams.py @@ -1,9 +1,10 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/charactercreator/client/animparams.py +from __future__ import absolute_import import trinity import uthread from carbonui.uicore import uicore import blue -from animparams_const import * +from .animparams_const import * import log class AnimParams(object): diff --git a/charactercreator/client/characterDollUtilities.py b/charactercreator/client/characterDollUtilities.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/charactercreator/client/characterDollUtilities.py +from __future__ import print_function import charactercreator.const as ccConst from eve.common.script.paperDoll.paperDollDefinitions import BODY_CATEGORIES, GENDER, HAIR_CATEGORIES, SEPERATOR_CHAR from utillib import KeyVal @@ -85,7 +86,7 @@ class CharacterDollUtilities: elif BODY_CATEGORIES.BOTTOMINNER in itemTypeLower: self.ApplyItemToDoll(BODY_CATEGORIES.BOTTOMINNER, None, removeFirst=True, doUpdate=False, doll=doll, metadata=metadata, factory=factory) else: - print "Item type file is missing, can't be loaded %s" % str(itemType) + print("Item type file is missing, can't be loaded %s" % str(itemType)) return assetID, assetTypeID = self.GetAssetAndTypeIDsFromPath(charGender, itemType) itemType = (assetID, itemTypeData[:3], assetTypeID) diff --git a/charactercreator/client/logging/stepLogger.py b/charactercreator/client/logging/stepLogger.py @@ -5,7 +5,7 @@ class TimeStepInformation: def __init__(self): self.timePerStep = defaultdict(long) - self.totalTime = 0L + self.totalTime = 0 self.entryCountPerStep = defaultdict(int) self.nextTriesPerStep = defaultdict(int) diff --git a/characterenergy/__init__.py b/characterenergy/__init__.py @@ -1,2 +1,3 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/characterenergy/__init__.py -from characterEnergyState import CharacterEnergyState, InsufficientEnergyError, CalculateStateAtTime, CalculateStateAfterSpendingEnergyAtTime +from __future__ import absolute_import +from .characterEnergyState import CharacterEnergyState, InsufficientEnergyError, CalculateStateAtTime, CalculateStateAfterSpendingEnergyAtTime diff --git a/characterenergy/characterEnergyState.py b/characterenergy/characterEnergyState.py @@ -108,5 +108,5 @@ def CalculateStateAfterSpendingEnergyAtTime(characterEnergyState, energyCost, ti return GetNewState(characterEnergyState, newEnergyLevel - energyCost, newRechargeTickTimestamp) -class InsufficientEnergyError(StandardError): +class InsufficientEnergyError(Exception): pass diff --git a/characterskills/client/purchase.py b/characterskills/client/purchase.py @@ -1,9 +1,10 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/characterskills/client/purchase.py +from __future__ import absolute_import import sys import carbonui.uiconst as uiconst import characterskills.common import evetypes -from UI.missingSkillbooksWnd import MissingSkillbooksWnd +from .UI.missingSkillbooksWnd import MissingSkillbooksWnd from player_messaging.client.ui_message import prompt_player_fsd_dialog from shipfitting.multiBuyUtil import BuyMultipleTypesWithQty diff --git a/characterskills/common/purchase.py b/characterskills/common/purchase.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/characterskills/common/purchase.py +from future.utils import raise_ import characterskills import eveexceptions import evetypes @@ -30,7 +31,7 @@ def is_available_for_purchase(skill_type_id): def handle_skill_purchase_error(error, traceback): if isinstance(error, eveexceptions.UserError): - raise error, None, traceback + raise_(error, None, traceback) if isinstance(error, characterskills.TypeIsNotSkillError): key = 'ItemNotASkill' args = {'skillName': error.type_id} @@ -48,7 +49,7 @@ def handle_skill_purchase_error(error, traceback): key = 'SkillPurchaseUnknownError' args = None logging.exception('Unknown exception caught while attempting to purchase skills') - raise eveexceptions.UserError(key, args), None, traceback + raise_(eveexceptions.UserError(key, args), None, traceback) class SkillPurchaseValidator(characterskills.SkillPurchaseValidator): diff --git a/chat/client/chat_service.py b/chat/client/chat_service.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/chat/client/chat_service.py +from __future__ import print_function from featuremanagement.client.flag import flag_bool from carbon.common.script.sys.service import Service import carbonui.const as uiconst @@ -208,7 +209,7 @@ class ChatSvc(Service): def mute_player(self, character_id, channel_id, duration_seconds, reason): if channel_id == 'local': - print 'GAGGING FOR LOCAL' + print('GAGGING FOR LOCAL') self.get_channel(channel_id).mute_player(character_id, duration_seconds, reason) else: sm.ProxySvc('XmppChatMgr').GMMute(channel_id, character_id, reason, duration_seconds) diff --git a/chatutil/__init__.py b/chatutil/__init__.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/chatutil/__init__.py +from __future__ import absolute_import import hashlib import re -from filter import CleanAndHighlightText, UpdateChatFilterVariables, GetHighlightedText, ShouldHightlightBlink -from urls import LinkURLs +from .filter import CleanAndHighlightText, UpdateChatFilterVariables, GetHighlightedText, ShouldHightlightBlink +from .urls import LinkURLs import inventorycommon.const as invconst import chatutil.const as chatUtilConst import datetimeutils diff --git a/chroma/mutable.py b/chroma/mutable.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/chroma/mutable.py from __future__ import division +from __future__ import print_function import collections import mathext from chroma.color import Color @@ -176,7 +177,7 @@ class ColorMutable(collections.Sequence): @saturation.setter def saturation(self, saturation): - print 'set s to', saturation + print('set s to', saturation) if 0.0 > saturation or saturation > 1.0: raise ValueError('Saturation should be in the range [0, 1]') hue, _, lightness = self.hsl diff --git a/clientRefreshToken/refresher.py b/clientRefreshToken/refresher.py @@ -1,9 +1,10 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/clientRefreshToken/refresher.py +from __future__ import absolute_import import uthread2 import requests import datetime import logging -from discovery_hacks import discover_refresh_parameters_from_user_token +from .discovery_hacks import discover_refresh_parameters_from_user_token logger = logging.getLogger(__name__) class Refresher(object): @@ -25,12 +26,17 @@ class Refresher(object): self.broadcast(self.access_token) uthread2.sleep(max(0, self.expires - 90)) except requests.HTTPError as http_error: + response = http_error.response + if response is not None and 400 <= response.status_code < 500: + reportHTTPError(http_error, message='token refresh rejected, stopping refresher') + return reportHTTPError(http_error, message='token refresh request failed') + uthread2.sleep(1) except (requests.ConnectionError, requests.Timeout) as e: logger.warning('token refresh transient network error: %s', e) + uthread2.sleep(1) except Exception: logger.exception('refreshing access token failed') - finally: uthread2.sleep(1) def add_callback(self, callback): diff --git a/codereload/xreload.py b/codereload/xreload.py @@ -127,9 +127,9 @@ def _update_function(oldfunc, newfunc): if oldfunc.__closure__ != newfunc.__closure__: update_global_references(oldfunc, newfunc) return newfunc - if oldfunc.func_code != newfunc.func_code: + if oldfunc.__code__ != newfunc.__code__: try: - oldfunc.func_code = newfunc.func_code + oldfunc.__code__ = newfunc.__code__ except ValueError: update_global_references(oldfunc, newfunc) return newfunc @@ -139,7 +139,7 @@ def _update_function(oldfunc, newfunc): def _update_method(oldmeth, newmeth): - _update(oldmeth.im_func, newmeth.im_func) + _update(oldmeth.__func__, newmeth.__func__) return oldmeth diff --git a/contextualOffers/client/offerMocks.py b/contextualOffers/client/offerMocks.py @@ -1,8 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/contextualOffers/client/offerMocks.py from contextualOffers.common.contextualOfferDataHelpers import make_offer_info_object from eve.common.script.util import notificationconst as notificationConst -START_TIME = 132247779126847495L -END_TIME = 132347789126847495L +START_TIME = 132247779126847495 +END_TIME = 132347789126847495 def MockOmegaOfferAvailable(): return make_offer_info_object(offerID=1, startTime=START_TIME, endTime=END_TIME, originalPrice='$14.95', offerPrice='$9.99', percentageOff='-50%', purchaseTitle='GET 30 DAYS OF <color=0xfffbcc14>OMEGA</color>', purchaseBody='All ships, all skills, and faster training', purchaseBackground='res:/UI/Texture/classes/contextualOffers/omegaOffer/purchase_bg.png', purchaseButtonTitle='BUY', purchaseURL='https://secure.eveonline.com/Specials', notificationBody='Limited time Omega offer', notificationTitle='New offer available', notificationType=notificationConst.notificationTypeNewOfferAvailable, tooltipHeader='Omega Clone State', tooltipContent='\x95 Train skills 2x faster\n' + '\x95 Unlock unlimited skill queue\n' + '\x95 Gain access to all skills\n' + '\x95 Unlock all 350+ spaceships') diff --git a/contracts/contractStruct.py b/contracts/contractStruct.py @@ -23,7 +23,7 @@ class ContractStruct(object): self.multiContract = multiContract def __str__(self): - members = dict(filter(lambda (k, v): not k.startswith('__'), self.__dict__.items())) + members = dict(filter(lambda k_v: not k_v[0].startswith('__'), self.__dict__.items())) return 'ContractStruct: %s' % members def __repr__(self): diff --git a/corporation/common/__init__.py b/corporation/common/__init__.py @@ -1,2 +1,3 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/corporation/common/__init__.py -from const import * +from __future__ import absolute_import +from .const import * diff --git a/corporation/voting/__init__.py b/corporation/voting/__init__.py @@ -1,2 +1,3 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/corporation/voting/__init__.py -from voting import * +from __future__ import absolute_import +from .voting import * diff --git a/corruptionsuppression/systemEffects.py b/corruptionsuppression/systemEffects.py @@ -35,7 +35,7 @@ class BaseCorruptionWarpSpeedIncreaserChecker(object): if IsPirateFWFaction(charWarFactionID): return 2.0 return self.defaultIncrease - except StandardError: + except Exception: logging.exception('GetWarpSpeedIncrease failed') return self.defaultIncrease diff --git a/cosmetics/client/cosmeticsSvc.py b/cosmetics/client/cosmeticsSvc.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/cosmetics/client/cosmeticsSvc.py +from __future__ import absolute_import from carbon.common.script.sys.service import Service from cosmetics.client.shipSkinApplicationSvc import get_ship_skin_application_svc from cosmetics.client.shipSkinStateController import ShipSkinStateController @@ -9,7 +10,7 @@ from eveprefs import boot import shipskins import evetypes from localization import GetByMessageID -from shipLogoController import ShipLogoController +from .shipLogoController import ShipLogoController from eve.common.script.sys.idCheckers import IsCharacter, IsPlayerItem class CosmeticsService(Service): diff --git a/cosmetics/client/iconGenerator.py b/cosmetics/client/iconGenerator.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/cosmetics/client/iconGenerator.py +from __future__ import absolute_import import trinity import blue import os @@ -8,7 +9,7 @@ from pytelemetry.zoning import TelemetryContext from trinity.sceneRenderJobSpaceJessica import CreateJessicaSpaceRenderJob from fsdBuiltData.common.graphicIDs import GetGraphicFile from eve.client.script.environment.spaceObject.cosmeticsManager import CosmeticsManager -from liveIconCacheUtils import get_unique_filename +from .liveIconCacheUtils import get_unique_filename _LIGHT_RIG_GRAPHIC_ID = 27583 class IconGenerator(object): diff --git a/cosmetics/client/liveIconRenderer.py b/cosmetics/client/liveIconRenderer.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/cosmetics/client/liveIconRenderer.py +from __future__ import absolute_import import logging from carbonui import Align, SpriteEffect, PickState from cosmetics.client.liveIconRendererQueue import LiveIconRenderQueue @@ -6,7 +7,7 @@ from carbonui.primitives.container import Container from carbonui.primitives.sprite import RenderTargetSprite, Sprite import trinity from signals import Signal -from liveIconCacheUtils import cached_render_available, get_unique_filename, is_low_spec +from .liveIconCacheUtils import cached_render_available, get_unique_filename, is_low_spec log = logging.getLogger(__name__) class LiveIconSprite(Container): diff --git a/cosmetics/client/liveIconRendererQueue.py b/cosmetics/client/liveIconRendererQueue.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/cosmetics/client/liveIconRendererQueue.py +from __future__ import absolute_import import uthread2 import os import blue @@ -7,7 +8,7 @@ from cosmetics.client.iconGenerator import IconGenerator from evegraphics.settings import DEVICE_HIGH_END, DEVICE_MID_RANGE, DEVICE_LOW_END from evegraphics.settings import GetDeviceClassification from logging import getLogger -from liveIconCacheUtils import create_cache_directory +from .liveIconCacheUtils import create_cache_directory log = getLogger(__name__) _DEVICE_SETTING_DELAY_MAPPING = {DEVICE_HIGH_END: 60, DEVICE_MID_RANGE: 110, diff --git a/cosmetics/common/structures/exceptions.py b/cosmetics/common/structures/exceptions.py @@ -1,29 +1,29 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/cosmetics/common/structures/exceptions.py -class StructurePaintError(StandardError): +class StructurePaintError(Exception): pass -class InvalidDataError(StandardError): +class InvalidDataError(Exception): pass -class InsufficientRolesError(StandardError): +class InsufficientRolesError(Exception): pass -class InsufficientBalanceError(StandardError): +class InsufficientBalanceError(Exception): pass -class StructureTypeNotEligibleError(StandardError): +class StructureTypeNotEligibleError(Exception): pass -class LicenseNotFoundException(StandardError): +class LicenseNotFoundException(Exception): pass -class ForbiddenRequestError(StandardError): +class ForbiddenRequestError(Exception): pass diff --git a/crates/crateutil.py b/crates/crateutil.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/crates/crateutil.py -from storage import CratesStaticData +from __future__ import absolute_import +from .storage import CratesStaticData from crates.storage import CrateDoesNotExistError def is_fixed_crate(type_id): diff --git a/datadog/api/users.py b/datadog/api/users.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/api/users.py +from __future__ import print_function from datadog.api.resources import ActionAPIResource, GetableAPIResource, CreateableAPIResource, UpdatableAPIResource, ListableAPIResource, DeletableAPIResource class User(ActionAPIResource, GetableAPIResource, CreateableAPIResource, UpdatableAPIResource, ListableAPIResource, DeletableAPIResource): @@ -9,7 +10,7 @@ class User(ActionAPIResource, GetableAPIResource, CreateableAPIResource, Updatab @classmethod def invite(cls, emails): - print '[DEPRECATION] User.invite() is deprecated. Use `create` instead.' + print('[DEPRECATION] User.invite() is deprecated. Use `create` instead.') if not isinstance(emails, list): emails = [emails] body = {'emails': emails} diff --git a/datadog/dogshell/comment.py b/datadog/dogshell/comment.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/comment.py +from __future__ import print_function import sys from datadog import api from datadog.dogshell.common import report_errors, report_warnings @@ -47,19 +48,19 @@ class CommentClient(object): message = res['comment']['message'] lines = message.split('\n') message = '\n'.join([ ' ' + line for line in lines ]) - print 'id\t\t' + str(res['comment']['id']) - print 'url\t\t' + res['comment']['url'] - print 'resource\t' + res['comment']['resource'] - print 'handle\t\t' + res['comment']['handle'] - print 'message\n' + message + print('id\t\t' + str(res['comment']['id'])) + print('url\t\t' + res['comment']['url']) + print('resource\t' + res['comment']['resource']) + print('handle\t\t' + res['comment']['handle']) + print('message\n' + message) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: - print 'id\t\t' + str(res['comment']['id']) - print 'url\t\t' + res['comment']['url'] - print 'resource\t' + res['comment']['resource'] - print 'handle\t\t' + res['comment']['handle'] - print 'message\t\t' + res['comment']['message'].__repr__() + print('id\t\t' + str(res['comment']['id'])) + print('url\t\t' + res['comment']['url']) + print('resource\t' + res['comment']['resource']) + print('handle\t\t' + res['comment']['handle']) + print('message\t\t' + res['comment']['message'].__repr__()) @classmethod def _update(cls, args): @@ -76,19 +77,19 @@ class CommentClient(object): message = res['comment']['message'] lines = message.split('\n') message = '\n'.join([ ' ' + line for line in lines ]) - print 'id\t\t' + str(res['comment']['id']) - print 'url\t\t' + res['comment']['url'] - print 'resource\t' + res['comment']['resource'] - print 'handle\t\t' + res['comment']['handle'] - print 'message\n' + message + print('id\t\t' + str(res['comment']['id'])) + print('url\t\t' + res['comment']['url']) + print('resource\t' + res['comment']['resource']) + print('handle\t\t' + res['comment']['handle']) + print('message\n' + message) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: - print 'id\t\t' + str(res['comment']['id']) - print 'url\t\t' + res['comment']['url'] - print 'resource\t' + res['comment']['resource'] - print 'handle\t\t' + res['comment']['handle'] - print 'message\t\t' + res['comment']['message'].__repr__() + print('id\t\t' + str(res['comment']['id'])) + print('url\t\t' + res['comment']['url']) + print('resource\t' + res['comment']['resource']) + print('handle\t\t' + res['comment']['handle']) + print('message\t\t' + res['comment']['message'].__repr__()) @classmethod def _reply(cls, args): @@ -106,19 +107,19 @@ class CommentClient(object): message = res['comment']['message'] lines = message.split('\n') message = '\n'.join([ ' ' + line for line in lines ]) - print 'id\t\t' + str(res['comment']['id']) - print 'url\t\t' + res['comment']['url'] - print 'resource\t' + res['comment']['resource'] - print 'handle\t\t' + res['comment']['handle'] - print 'message\n' + message + print('id\t\t' + str(res['comment']['id'])) + print('url\t\t' + res['comment']['url']) + print('resource\t' + res['comment']['resource']) + print('handle\t\t' + res['comment']['handle']) + print('message\n' + message) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: - print 'id\t\t' + str(res['comment']['id']) - print 'url\t\t' + res['comment']['url'] - print 'resource\t' + res['comment']['resource'] - print 'handle\t\t' + res['comment']['handle'] - print 'message\t\t' + res['comment']['message'].__repr__() + print('id\t\t' + str(res['comment']['id'])) + print('url\t\t' + res['comment']['url']) + print('resource\t' + res['comment']['resource']) + print('handle\t\t' + res['comment']['handle']) + print('message\t\t' + res['comment']['message'].__repr__()) @classmethod def _show(cls, args): @@ -132,17 +133,17 @@ class CommentClient(object): message = res['event']['text'] lines = message.split('\n') message = '\n'.join([ ' ' + line for line in lines ]) - print 'id\t\t' + str(res['event']['id']) - print 'url\t\t' + res['event']['url'] - print 'resource\t' + res['event']['resource'] - print 'message\n' + message + print('id\t\t' + str(res['event']['id'])) + print('url\t\t' + res['event']['url']) + print('resource\t' + res['event']['resource']) + print('message\n' + message) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: - print 'id\t\t' + str(res['event']['id']) - print 'url\t\t' + res['event']['url'] - print 'resource\t' + res['event']['resource'] - print 'message\t\t' + res['event']['text'].__repr__() + print('id\t\t' + str(res['event']['id'])) + print('url\t\t' + res['event']['url']) + print('resource\t' + res['event']['resource']) + print('message\t\t' + res['event']['text'].__repr__()) @classmethod def _delete(cls, args): diff --git a/datadog/dogshell/downtime.py b/datadog/dogshell/downtime.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/downtime.py +from __future__ import print_function from datadog.util.format import pretty_json from datadog import api from datadog.dogshell.common import report_errors, report_warnings @@ -43,9 +44,9 @@ class DowntimeClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _update_downtime(cls, args): @@ -55,9 +56,9 @@ class DowntimeClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _cancel_downtime(cls, args): @@ -75,9 +76,9 @@ class DowntimeClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _show_all_downtime(cls, args): @@ -87,6 +88,6 @@ class DowntimeClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) diff --git a/datadog/dogshell/event.py b/datadog/dogshell/event.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/event.py +from __future__ import print_function import datetime import time import re @@ -15,8 +16,8 @@ def prettyprint_event(event): date = event['date_happened'] dt = datetime.datetime.fromtimestamp(date) link = event['url'] - print (title + ' ' + text + ' ' + ' (' + handle + ')').strip() - print dt.isoformat(' ') + ' | ' + link + print((title + ' ' + text + ' ' + ' (' + handle + ')').strip()) + print(dt.isoformat(' ') + ' | ' + link) def print_event(event): @@ -106,7 +107,7 @@ class EventClient(object): if format == 'pretty': prettyprint_event(res['event']) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: print_event(res['event']) @@ -120,7 +121,7 @@ class EventClient(object): if format == 'pretty': prettyprint_event_details(res['event']) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: print_event_details(res['event']) @@ -144,11 +145,11 @@ class EventClient(object): if format == 'pretty': for event in res['events']: prettyprint_event(event) - print () + print() elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: for event in res['events']: print_event(event) - print () + print() diff --git a/datadog/dogshell/host.py b/datadog/dogshell/host.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/host.py +from __future__ import print_function from datadog.util.format import pretty_json from datadog import api from datadog.dogshell.common import report_errors, report_warnings @@ -29,9 +30,9 @@ class HostClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _unmute(cls, args): @@ -41,6 +42,6 @@ class HostClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) diff --git a/datadog/dogshell/monitor.py b/datadog/dogshell/monitor.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/monitor.py +from __future__ import print_function from datadog.util.format import pretty_json from datadog import api from datadog.dogshell.common import report_errors, report_warnings @@ -65,9 +66,9 @@ class MonitorClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _update(cls, args): @@ -84,9 +85,9 @@ class MonitorClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _show(cls, args): @@ -98,9 +99,9 @@ class MonitorClient(object): if args.string_ids: res['id'] = str(res['id']) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _show_all(cls, args): @@ -114,18 +115,18 @@ class MonitorClient(object): d['id'] = str(d['id']) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: for d in res: - print '\t'.join([str(d['id']), + print('\t'.join([str(d['id']), cls._escape(d['message']), cls._escape(d['name']), str(d['options']), str(d['org_id']), d['query'], - d['type']]) + d['type']])) @classmethod def _delete(cls, args): @@ -147,9 +148,9 @@ class MonitorClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _unmute_all(cls, args): @@ -167,9 +168,9 @@ class MonitorClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _unmute(cls, args): @@ -178,6 +179,6 @@ class MonitorClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) diff --git a/datadog/dogshell/screenboard.py b/datadog/dogshell/screenboard.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/screenboard.py +from __future__ import print_function import argparse import sys import platform @@ -86,11 +87,11 @@ class ScreenboardClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) if args.format == 'pretty': - print 'Uploaded file {0} (screenboard {1})'.format(f.name, screen_obj['id']) + print('Uploaded file {0} (screenboard {1})'.format(f.name, screen_obj['id'])) @classmethod def _write_screen_to_file(cls, screenboard_id, filename, timeout, format = 'raw', string_ids = False): @@ -107,9 +108,9 @@ class ScreenboardClient(object): screen_obj['id'] = str(screen_obj['id']) json.dump(screen_obj, f, indent=2) if format == 'pretty': - print 'Downloaded screenboard {0} to file {1}'.format(screenboard_id, filename) + print('Downloaded screenboard {0} to file {1}'.format(screenboard_id, filename)) else: - print '{0} {1}'.format(screenboard_id, filename) + print('{0} {1}'.format(screenboard_id, filename)) @classmethod def _post(cls, args): @@ -128,9 +129,9 @@ class ScreenboardClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _update(cls, args): @@ -148,9 +149,9 @@ class ScreenboardClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _web_view(cls, args): @@ -168,9 +169,9 @@ class ScreenboardClient(object): if args.string_ids: res['id'] = str(res['id']) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _delete(cls, args): @@ -186,9 +187,9 @@ class ScreenboardClient(object): format = args.format res = api.Screenboard.share(args.screenboard_id) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _revoke(cls, args): @@ -196,9 +197,9 @@ class ScreenboardClient(object): format = args.format res = api.Screenboard.revoke(args.screenboard_id) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _new_file(cls, args): @@ -217,9 +218,9 @@ class ScreenboardClient(object): report_errors(res) cls._write_screen_to_file(res['id'], args.filename, args.timeout, format, args.string_ids) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) def _template_variables(tpl_var_input): diff --git a/datadog/dogshell/search.py b/datadog/dogshell/search.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/search.py +from __future__ import print_function from datadog import api from datadog.dogshell.common import report_errors, report_warnings from datadog.util.compat import json @@ -24,14 +25,14 @@ class SearchClient(object): for facet, results in list(res['results'].items()): for idx, result in enumerate(results): if idx == 0: - print '\n' - print '%s\t%s' % (facet, result) + print('\n') + print('%s\t%s' % (facet, result)) else: - print '%s\t%s' % (' ' * len(facet), result) + print('%s\t%s' % (' ' * len(facet), result)) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: for facet, results in list(res['results'].items()): for result in results: - print '%s\t%s' % (facet, result) + print('%s\t%s' % (facet, result)) diff --git a/datadog/dogshell/service_check.py b/datadog/dogshell/service_check.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/service_check.py +from __future__ import print_function from datadog.util.format import pretty_json from datadog import api from datadog.dogshell.common import report_errors, report_warnings @@ -28,6 +29,6 @@ class ServiceCheckClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) diff --git a/datadog/dogshell/tag.py b/datadog/dogshell/tag.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/tag.py +from __future__ import print_function from datadog import api from datadog.dogshell.common import report_errors, report_warnings from datadog.util.compat import json @@ -33,15 +34,15 @@ class TagClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print "Tags for '%s':" % res['host'] + print("Tags for '%s':" % res['host']) for c in res['tags']: - print ' ' + c + print(' ' + c) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: for c in res['tags']: - print c + print(c) @classmethod def _replace(cls, args): @@ -51,15 +52,15 @@ class TagClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print "Tags for '%s':" % res['host'] + print("Tags for '%s':" % res['host']) for c in res['tags']: - print ' ' + c + print(' ' + c) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: for c in res['tags']: - print c + print(c) @classmethod def _show(cls, args): @@ -75,27 +76,27 @@ class TagClient(object): if format == 'pretty': for tag, hosts in list(res['tags'].items()): for host in hosts: - print tag - print ' ' + host + print(tag) + print(' ' + host) - print () + print() elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: for tag, hosts in list(res['tags'].items()): for host in hosts: - print tag + '\t' + host + print(tag + '\t' + host) elif format == 'pretty': for tag in res['tags']: - print tag + print(tag) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: for tag in res['tags']: - print tag + print(tag) @classmethod def _detach(cls, args): diff --git a/datadog/dogshell/timeboard.py b/datadog/dogshell/timeboard.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/timeboard.py +from __future__ import print_function import os.path import platform import sys @@ -85,7 +86,7 @@ class TimeboardClient(object): cls._write_dash_to_file(dash_summary['id'], os.path.join(args.pull_dir, filename + '.json'), args.timeout, format, args.string_ids) if format == 'pretty': - print '\n### Total: {0} dashboards to {1} ###'.format(len(used_filenames), os.path.realpath(args.pull_dir)) + print('\n### Total: {0} dashboards to {1} ###'.format(len(used_filenames), os.path.realpath(args.pull_dir))) @classmethod def _new_file(cls, args): @@ -104,9 +105,9 @@ class TimeboardClient(object): report_errors(res) cls._write_dash_to_file(res['dash']['id'], args.filename, args.timeout, format, args.string_ids) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _write_dash_to_file(cls, dash_id, filename, timeout, format = 'raw', string_ids = False): @@ -123,9 +124,9 @@ class TimeboardClient(object): dash_obj['id'] = str(dash_obj['id']) json.dump(dash_obj, f, indent=2) if format == 'pretty': - print u'Downloaded dashboard {0} to file {1}'.format(dash_id, filename) + print(u'Downloaded dashboard {0} to file {1}'.format(dash_id, filename)) else: - print u'{0} {1}'.format(dash_id, filename) + print(u'{0} {1}'.format(dash_id, filename)) @classmethod def _push(cls, args): @@ -151,11 +152,11 @@ class TimeboardClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) if args.format == 'pretty': - print 'Uploaded file {0} (dashboard {1})'.format(f.name, dash_obj['id']) + print('Uploaded file {0} (dashboard {1})'.format(f.name, dash_obj['id'])) @classmethod def _post(cls, args): @@ -173,9 +174,9 @@ class TimeboardClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _update(cls, args): @@ -193,9 +194,9 @@ class TimeboardClient(object): report_warnings(res) report_errors(res) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _show(cls, args): @@ -207,9 +208,9 @@ class TimeboardClient(object): if args.string_ids: res['dash']['id'] = str(res['dash']['id']) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) else: - print json.dumps(res) + print(json.dumps(res)) @classmethod def _show_all(cls, args): @@ -223,15 +224,15 @@ class TimeboardClient(object): d['id'] = str(d['id']) if format == 'pretty': - print pretty_json(res) + print(pretty_json(res)) elif format == 'raw': - print json.dumps(res) + print(json.dumps(res)) else: for d in res['dashes']: - print '\t'.join([d['id'], + print('\t'.join([d['id'], d['resource'], d['title'], - cls._escape(d['description'])]) + cls._escape(d['description'])])) @classmethod def _delete(cls, args): diff --git a/datadog/dogshell/wrap.py b/datadog/dogshell/wrap.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/datadog/dogshell/wrap.py +from __future__ import print_function import optparse import subprocess import sys @@ -58,7 +59,7 @@ def execute(cmd, cmd_timeout, sigterm_timeout, sigkill_timeout, proc_poll_interv try: proc = subprocess.Popen(u' '.join(cmd), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) except Exception: - print >> sys.stderr, u'Failed to execute %s' % repr(cmd) + print(u'Failed to execute %s' % repr(cmd), file=sys.stderr) raise try: @@ -78,11 +79,11 @@ def execute(cmd, cmd_timeout, sigterm_timeout, sigkill_timeout, proc_poll_interv proc.terminate() sigterm_start = time.time() try: - print >> sys.stderr, 'Command timed out after %.2fs, killing with SIGTERM' % (time.time() - start_time) + print('Command timed out after %.2fs, killing with SIGTERM' % (time.time() - start_time), file=sys.stderr) poll_proc(proc, proc_poll_interval, sigterm_timeout) returncode = Timeout except Timeout: - print >> sys.stderr, 'SIGTERM timeout failed after %.2fs, killing with SIGKILL' % (time.time() - sigterm_start) + print('SIGTERM timeout failed after %.2fs, killing with SIGKILL' % (time.time() - sigterm_start), file=sys.stderr) proc.kill() poll_proc(proc, proc_poll_interval, sigkill_timeout) returncode = Timeout @@ -168,8 +169,8 @@ def main(): 'priority': options.priority or event_priority, 'tags': tags} if options.buffer_outs: - print >> sys.stderr, stderr.strip() - print >> sys.stdout, stdout.strip() + print(stderr.strip(), file=sys.stderr) + print(stdout.strip(), file=sys.stdout) if options.submit_mode == 'all' or returncode != 0: api.Event.create(title=event_title, text=event_body, **event) sys.exit(returncode) diff --git a/dbuff/common/aggregators.py b/dbuff/common/aggregators.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dbuff/common/aggregators.py +from __future__ import print_function import dbuff.storage class Aggregator(object): @@ -118,4 +119,4 @@ if __name__ == '__main__': for aggregator in [AggregatorNull(555, 1.0), AggregatorMaximum(555, 1.0), AggregatorMinimum(555, 1.0)]: rnd = random.Random('aggregators random seed') timing = timeit.repeat('\nfor expiryTime, value in samples:\n aggregator.MergeNewTimedInput(expiryTime, value)\n ', setup='\nimport random\nfrom __main__ import aggregator, rnd\nnumSamples = 50\nsamples = [(rnd.randint(100, 999), rnd.uniform(0.0, 10.0)) for x in xrange(numSamples)]\n ', number=10000, repeat=5) - print '%.3fs [%s]' % (min(timing), aggregator) + print('%.3fs [%s]' % (min(timing), aggregator)) diff --git a/dbuff/const.py b/dbuff/const.py @@ -147,8 +147,9 @@ dbuffCapDayCaldariWarpSpeed = 2590 dbuffCapDayMinmatarWarpSpeed = 2591 dbuffCapDayItemTraderShieldBonus = 2593 dbuffBPDCDamageReceivedPercentage = 2600 -dbuffHordeModeSmartBombBlocker = 2536 dbuffHordeModeMJFGBlocker = 2537 +dbuffHordeModeSmartBombBlocker = 2536 +dbuffHordeModeVortonProjectorBlocker = 2594 dbuffHordeModeWarpDriveBlocker = 2560 dbuffHordeModeCloakingDeviceBlocker = 2561 dbuffHordeModeHeatDamageReduction = 2548 @@ -163,6 +164,10 @@ dbuffHordeModeLocalArmorRepairAmountBonus = 2556 dbuffHordeModeLocalShieldBoostAmountBonus = 2557 dbuffHordeModeRemoteArmorRepairAmountBonus = 2558 dbuffHordeModeRemoteShieldBoostAmountBonus = 2559 +dbuffHordeModeLightFighterDamageBonus = 2595 +dbuffHordeModeFighterVelocityBonus = 2596 +dbuffHordeModeTurretOptimalRangeBonus = 2597 +dbuffHordeModeMissileFlightTimeBonus = 2598 dbuffFW_DungeonEffectAmarr1 = 2540 dbuffFW_DungeonEffectCaldari1 = 2541 dbuffFW_DungeonEffectGallente1 = 2542 diff --git a/decometaclass/__init__.py b/decometaclass/__init__.py @@ -1,3 +1,4 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/decometaclass/__init__.py -from decometaclass import DecoMetaclass, BlueWrappedMetaclass, WrapBlueClass +from __future__ import absolute_import +from .decometaclass import DecoMetaclass, BlueWrappedMetaclass, WrapBlueClass __all__ = ['DecoMetaclass', 'BlueWrappedMetaclass', 'WrapBlueClass'] diff --git a/dogma/attributes/__init__.py b/dogma/attributes/__init__.py @@ -1,11 +1,12 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/attributes/__init__.py -from attributeInterface import AttributeInterface -from attribute import Attribute -from chargedAttribute import ChargedAttribute -from heatAttribute import HeatAttribute -from literalAttribute import LiteralAttribute -from brainLiteralAttribute import BrainLiteralAttribute -from securityModifierAttribute import SecurityModifierAttribute -from skillLevelAttribute import SkillLevelAttribute -from stackingNurfedAttribute import StackingNurfedAttribute -from tidiSensitiveAttribute import TiDiSensitiveAttribute +from __future__ import absolute_import +from .attributeInterface import AttributeInterface +from .attribute import Attribute +from .chargedAttribute import ChargedAttribute +from .heatAttribute import HeatAttribute +from .literalAttribute import LiteralAttribute +from .brainLiteralAttribute import BrainLiteralAttribute +from .securityModifierAttribute import SecurityModifierAttribute +from .skillLevelAttribute import SkillLevelAttribute +from .stackingNurfedAttribute import StackingNurfedAttribute +from .tidiSensitiveAttribute import TiDiSensitiveAttribute diff --git a/dogma/attributes/attribute.py b/dogma/attributes/attribute.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/attributes/attribute.py +from __future__ import print_function import dogma import dogma.data as dogma_data import gametime @@ -80,14 +81,14 @@ class Attribute(AttributeInterface): return "'{attributeName}' ({attributeClass}) on '{invItemCategoryName} / {invItemTypeName}' ({itemClass} {itemID}) [i{numIncoming}:o{numOutgoing}] ".format(**locals()) def printInvItemDetails(self, itemClass): - print 'START INV ITEM DETAILS:' - print + print('START INV ITEM DETAILS:') + print() try: i = self.invItem - print 'invItem:', i - print 'type:', type(i) - print 'columns:', i.__columns__ - print + print('invItem:', i) + print('type:', type(i)) + print('columns:', i.__columns__) + print() for a in ['itemID', 'typeID', 'ownerID', @@ -99,18 +100,18 @@ class Attribute(AttributeInterface): 'customInfo', 'stacksize', 'singleton']: - print a, getattr(i, a) + print(a, getattr(i, a)) - print - print 'Underlying item:', self.item - print - print 'class:', itemClass + print() + print('Underlying item:', self.item) + print() + print('class:', itemClass) except: - print "*** OUCH. THAT DIDN'T WORK! ***" + print("*** OUCH. THAT DIDN'T WORK! ***") - print - print 'END INV ITEM DETAILS' - print + print() + print('END INV ITEM DETAILS') + print() def __init__(self, attribID, baseValue, dogmaItem, dogmaLM, staticAttr): self.attribID = attribID diff --git a/dogma/attributes/stackingNurfedAttribute.py b/dogma/attributes/stackingNurfedAttribute.py @@ -4,6 +4,7 @@ from dogma.attributes import Attribute from dogma.const import dgmUnnerfedCategories, dgmOperators, dgmNurfableOperations from dogma.const import dgmOperatorIDtoIndex, dgmOperatorPrecedence from dogma.dogmaLogging import LogWarn, LogTraceback +from functools import reduce MAX_NURF_SEQUENCE_LENGTH = 8 NurfDenominators = [ exp((i / 2.67) ** 2.0) for i in xrange(MAX_NURF_SEQUENCE_LENGTH) ] import itertools diff --git a/dogma/attributes/uiAttributeGroupUtil.py b/dogma/attributes/uiAttributeGroupUtil.py @@ -1,9 +1,10 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/attributes/uiAttributeGroupUtil.py +from __future__ import absolute_import import collections import dogma.const from dogma.attributes.uiAttributeGroups import UIAttributeGroup from eve.common.lib import appConst -import uiAttributeGroups +from . import uiAttributeGroups def get_attribute_ids_by_group(attribute_ids_to_group, category_id): grouped_attribute_ids = collections.OrderedDict() diff --git a/dogma/const.py b/dogma/const.py @@ -1364,6 +1364,10 @@ attributeRefRigTimeBonus = 2713 attributeRefRigMatBonus = 2714 attributeBreacherPodDamageResistance = 6255 attributeBreacherPodActivatedDamageReceivedPercentage = 6257 +attributeSmartbombDamageResistance = 6184 +attributeBombDamageResistance = 6185 +attributeChainLightningDamageResistance = 6186 +attributeDebuffLanceDamageResistance = 6363 attributeDbuff1ID = 2468 attributeDbuff1Value = 2469 attributeDbuff1Multiplier = 2596 diff --git a/dogma/effects/migration.py b/dogma/effects/migration.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/effects/migration.py +from __future__ import print_function import yaml import dogma.data as dogma_data from fsd import AbsJoin, GetBranchRoot @@ -13,7 +14,7 @@ def check_all_effects(): if not effect.modifierInfo and not effectCompiler.IsEffectPythonOverridden(effectID): res.append(effectID) - print res + print(res) def firstChange(): @@ -77,7 +78,7 @@ def secondChange(): bsdService = sm.GetService('BSD') with open(path, 'r') as f: modifier_info_by_effect = yaml.load(f) - print 'begin' + print('begin') for effectID, modifierInfos in modifier_info_by_effect.items(): res = '' sqlRes = db.SQL('select * from dogma.effects where effectID={}'.format(effectID)) @@ -98,4 +99,4 @@ def secondChange(): bsdService.RevisionEdit(_userid, changeID, revisionID, modifierInfo=res) - print 'done' + print('done') diff --git a/dogma/effects/util.py b/dogma/effects/util.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/effects/util.py +from __future__ import absolute_import from dogma import const as dogmaconst from dogma.effects.modifiereffect import ModifierEffect -import modifiers -import sideeffect +from . import modifiers +from . import sideeffect import telemetry from eveexceptions import UserError diff --git a/dogma/items/baseDogmaItem.py b/dogma/items/baseDogmaItem.py @@ -1,12 +1,13 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/baseDogmaItem.py -from slimDogmaItem import SlimDogmaItem +from __future__ import absolute_import +from .slimDogmaItem import SlimDogmaItem from dogma import dogmaLogging as log import sys import inventorycommon.const as invconst import dogma.const as dgmconst from ccpProfile import TimedFunction from utillib import KeyVal -from slimDogmaItem import RESISTANCEMATRIX +from .slimDogmaItem import RESISTANCEMATRIX class BaseDogmaItem(SlimDogmaItem): diff --git a/dogma/items/characterDogmaItem.py b/dogma/items/characterDogmaItem.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/characterDogmaItem.py -from fittableDogmaItem import FittableDogmaItem +from __future__ import absolute_import +from .fittableDogmaItem import FittableDogmaItem from utillib import strx, KeyVal import weakref import sys diff --git a/dogma/items/dblessDogmaItem.py b/dogma/items/dblessDogmaItem.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/dblessDogmaItem.py -from chargeDogmaItem import ChargeDogmaItem +from __future__ import absolute_import +from .chargeDogmaItem import ChargeDogmaItem from ccpProfile import TimedFunction import dogma.const as dogmaConst import sys diff --git a/dogma/items/droneDogmaItem.py b/dogma/items/droneDogmaItem.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/droneDogmaItem.py +from __future__ import absolute_import import weakref from eveprefs import boot from inventorycommon import const as invconst -from baseDogmaItem import BaseDogmaItem +from .baseDogmaItem import BaseDogmaItem from utillib import KeyVal from eve.common.script.sys.idCheckers import IsSolarSystem from ccpProfile import TimedFunction diff --git a/dogma/items/fittableDogmaItem.py b/dogma/items/fittableDogmaItem.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/fittableDogmaItem.py +from __future__ import absolute_import from dogma.dogmaLogging import * -from baseDogmaItem import BaseDogmaItem +from .baseDogmaItem import BaseDogmaItem from ccpProfile import TimedFunction import weakref import blue diff --git a/dogma/items/locationDogmaItem.py b/dogma/items/locationDogmaItem.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/locationDogmaItem.py -from baseDogmaItem import BaseDogmaItem +from __future__ import absolute_import +from .baseDogmaItem import BaseDogmaItem from dogma.const import attributeMaxGroupOnline, effectOnline from eveexceptions import UserError from eveexceptions.const import UE_GROUPID, UE_TYPEID diff --git a/dogma/items/moduleDogmaItem.py b/dogma/items/moduleDogmaItem.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/moduleDogmaItem.py -from fittableDogmaItem import FittableDogmaItem +from __future__ import absolute_import +from .fittableDogmaItem import FittableDogmaItem from utillib import KeyVal import dogma.const as dgmconst diff --git a/dogma/items/probeDogmaItem.py b/dogma/items/probeDogmaItem.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/probeDogmaItem.py -from baseDogmaItem import BaseDogmaItem +from __future__ import absolute_import +from .baseDogmaItem import BaseDogmaItem from eve.common.script.sys.idCheckers import IsSolarSystem from eveprefs import boot diff --git a/dogma/items/shipDogmaItem.py b/dogma/items/shipDogmaItem.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/shipDogmaItem.py +from __future__ import absolute_import import weakref from collections import defaultdict from itertools import izip -from locationDogmaItem import LocationDogmaItem +from .locationDogmaItem import LocationDogmaItem import inventorycommon.const as invconst from inventorycommon.util import IsShipFittingFlag, IsFighterTubeFlag import dogma.const as dgmconst diff --git a/dogma/items/starbaseDogmaItem.py b/dogma/items/starbaseDogmaItem.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/starbaseDogmaItem.py -from locationDogmaItem import LocationDogmaItem +from __future__ import absolute_import +from .locationDogmaItem import LocationDogmaItem from utillib import KeyVal import inventorycommon.const as invconst import dogma.const as dgmconst diff --git a/dogma/items/structureDogmaItem.py b/dogma/items/structureDogmaItem.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/structureDogmaItem.py +from __future__ import absolute_import import weakref from inventorycommon.util import IsStructureFittingFlag, IsFighterTubeFlag -from locationDogmaItem import LocationDogmaItem +from .locationDogmaItem import LocationDogmaItem import dogma.const class StructureDogmaItem(LocationDogmaItem): diff --git a/dogma/items/structureModuleDogmaItem.py b/dogma/items/structureModuleDogmaItem.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/dogma/items/structureModuleDogmaItem.py +from __future__ import absolute_import from dogma.const import effectOnline -from fittableDogmaItem import FittableDogmaItem +from .fittableDogmaItem import FittableDogmaItem from inventorycommon.const import categoryStructure class StructureModuleDogmaItem(FittableDogmaItem): diff --git a/dotWeapons/client/dotClientUtil.py b/dotWeapons/client/dotClientUtil.py @@ -50,7 +50,7 @@ def GetFormattedPendingDotsAsAttacker(incomingDotTracker): def _GetHintRowForDotVictim(dotInfo, hpTotalMax): displayName = cfg.eveowners.Get(dotInfo.attackerID).name if dotInfo.expiryTime is not None: - timeRemaining = max(0L, dotInfo.expiryTime - GetSimTime()) + timeRemaining = max(0, dotInfo.expiryTime - GetSimTime()) formattedTimeRemaining = FormatTimeIntervalShortWritten(timeRemaining) else: formattedTimeRemaining = '' @@ -69,7 +69,7 @@ def _GetHintRowForDotAttacker(dotInfo, ballpark): else: displayName = slimItem.name if dotInfo.expiryTime is not None: - timeRemaining = max(0L, dotInfo.expiryTime - GetSimTime()) + timeRemaining = max(0, dotInfo.expiryTime - GetSimTime()) formattedTimeRemaining = FormatTimeIntervalShortWritten(timeRemaining) else: formattedTimeRemaining = '' diff --git a/dotWeapons/common/dotRegistry.py b/dotWeapons/common/dotRegistry.py @@ -65,7 +65,7 @@ class DotRegistry(object): for attackerID in attackersToNotify: self.clientNotifier.ScheduleAttackerUpdate(attackerID, targetID) - except StandardError as e: + except Exception as e: logger.exception('DotWeapons: Failed to apply damage') def RemoveTargetsWithoutEffets(self, targetsToRemove): diff --git a/drawingpolygon/drawingarea.py b/drawingpolygon/drawingarea.py @@ -341,7 +341,8 @@ class DrawingContent(Container): return True return False - def on_general_click(self, obj, eventID, (vkey, flag)): + def on_general_click(self, obj, eventID, param): + vkey, flag = param x, y = uicore.uilib.x - self.absoluteLeft, uicore.uilib.y - self.absoluteTop is_left_click = self._is_left_click(vkey) if self.drawing_area.is_position_in_area(x, y): diff --git a/entosis/ui/entosisController.py b/entosis/ui/entosisController.py @@ -171,7 +171,7 @@ class EntosisCounterController(object): statusText, captureTimestamp = self.sublabelInfo if captureTimestamp is not None: now = gametime.GetSimTime() - timeUntil = max(0L, captureTimestamp - now) + timeUntil = max(0, captureTimestamp - now) timeUntilText = self._FormatCountdown(timeUntil) text = ' - '.join(filter(None, [statusText, timeUntilText])) else: diff --git a/eve/client/script/dogma/clientDogmaIM.py b/eve/client/script/dogma/clientDogmaIM.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/dogma/clientDogmaIM.py +from __future__ import absolute_import import uthread from carbon.common.script.sys.service import Service -from clientDogmaLocation import DogmaLocation +from .clientDogmaLocation import DogmaLocation from carbon.common.lib.const import ixLocationID class ClientDogmaInstanceManager(Service): diff --git a/eve/client/script/dogma/clientDogmaLocation.py b/eve/client/script/dogma/clientDogmaLocation.py @@ -1443,7 +1443,7 @@ class DogmaLocation(BaseDogmaLocation): try: if sm.GetService('corruptionSuppressionSvc').IsCurrentSystemFullyCorrupted(): return True - except StandardError: + except Exception: log.LogTraceback('Failed to get IsFullyCorrupted on client') return False diff --git a/eve/client/script/environment/effects/CameraAttachmentEffect.py b/eve/client/script/environment/effects/CameraAttachmentEffect.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/environment/effects/CameraAttachmentEffect.py +from __future__ import print_function from eve.client.script.environment.effects.GenericEffect import GenericEffect, STOP_REASON_DEFAULT import trinity import logging @@ -16,7 +17,7 @@ class CameraAttachmentEffect(GenericEffect): self.effect = self.RecycleOrLoad(graphicFile) else: self.effect = None - print self.effect + print(self.effect) def Start(self, duration): if self.effect: diff --git a/eve/client/script/environment/fittingSvc.py b/eve/client/script/environment/fittingSvc.py @@ -124,7 +124,7 @@ class fittingSvc(Service): eachDrone.flagID = const.flagDroneBay visibleFittedItems.update(droneDbRows) - except StandardError as e: + except Exception as e: log.LogException('issue when getting drones for a fit') fitData = self.CreateFittingData(visibleFittedItems, putModuleAmmoInCargo=putModuleAmmoInCargo) @@ -392,7 +392,7 @@ class fittingSvc(Service): communityFittings = corpFittingMgr.GetCommunityFittings() self.fittings[COMMUNITY_FITTING_CORP] = communityFittings return self.fittings[COMMUNITY_FITTING_CORP] - except StandardError as e: + except Exception as e: self.LogException(e) return {} diff --git a/eve/client/script/environment/godma.py b/eve/client/script/environment/godma.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/environment/godma.py +from future.utils import raise_ import cPickle import itertools import math @@ -39,6 +40,7 @@ from eveexceptions import ExceptionEater, UserError from gametime import GetDurationInClient from inventorycommon.util import GetItemVolume, IsShipFittingFlag, IsFittingModule from localization import GetByLabel +from functools import reduce MODULE_NOT_OVERLOADED = 0 MODULE_OVERLOADED = 1 MODULE_PENDING_OVERLOADING = 2 @@ -788,9 +790,9 @@ class ItemWrapper(): return list(d['dbrow']) if attribute in d['dbrow'].__columns__: return d['dbrow'][attribute] - if d['dbrow'].__class__.__dict__.has_key(attribute): + if attribute in d['dbrow'].__class__.__dict__: return getattr(d['dbrow'], attribute) - if self.__class__.__dict__.has_key(attribute): + if attribute in self.__class__.__dict__: return self.__class__.__dict__[attribute] if attribute.startswith('__') and attribute.endswith('__'): raise AttributeError('ItemWrapper has no %s' % attribute) @@ -902,7 +904,7 @@ class EffectWrapper(): sys.exc_clear() ret = d['statemanager'].GetEffectAttributeEx(self, d['dbrow'].itemID, attribute) if ret is None: - raise AttributeError, attribute + raise_(AttributeError, attribute) return ret def __setattr__(self, attr, value): @@ -1621,7 +1623,7 @@ class StateManager(): self.effectsByItemEffect[itemID] = godmarowset.GodmaRowset(self.__effectheader__, effLines, rowClass=self.GetEffectWrapper).Index('effectName') kwArgs = {'stall': False} for line in eventLines: - apply(self.OnGodmaShipEffect, line, kwArgs) + self.OnGodmaShipEffect(*line, **kwArgs) def RefreshItemAttributes(self, itemID, info = None, doUpdate = False): if info is None: @@ -1875,7 +1877,7 @@ class StateManager(): eff = self.GetEffect(itemKey, attrKey) if eff: return eff - raise AttributeError, attrKey + raise_(AttributeError, attrKey) def GetEffectAttributeEx(self, eff, itemID, attribute): if attribute == 'item' or attribute == 'module': diff --git a/eve/client/script/environment/invCache.py b/eve/client/script/environment/invCache.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/environment/invCache.py +from future.utils import raise_ import copy import sys import traceback @@ -135,7 +136,7 @@ class invCache(Service): def DoBallRemove(self, ball, slimItem, terminal): if ball is None: return - if self.inventories.has_key((ball.id, None)): + if (ball.id, None) in self.inventories: del self.inventories[ball.id, None] def ProcessSessionChange(self, isRemote, session, change): @@ -201,9 +202,9 @@ class invCache(Service): self.__stationID = session.stationid self.__stationinvmgr = eveMoniker.GetStationInventoryMgr(session.stationid) return self.__stationinvmgr - if self.__dict__.has_key(key): + if key in self.__dict__: return self.__dict__[key] - raise AttributeError, key + raise_(AttributeError, key) def OnItemsChanged(self, items, change, location): self.LogInfo('server says do change ', change, ' for ', len(items), ' items:', items) @@ -254,11 +255,11 @@ class invCache(Service): keyIs = (item.locationID, None) if keyWas is None: keyWas = (oldItem.locationID, None) - if keyWas and self.inventories.has_key(keyWas): + if keyWas and keyWas in self.inventories: inv = self.inventories[keyWas] inv.OnItemChange(item, change, location) if keyIs != keyWas or const.ixFlag in change: - if keyIs and self.inventories.has_key(keyIs): + if keyIs and keyIs in self.inventories: inv = self.inventories[keyIs] inv.OnItemChange(item, change, location) if idCheckers.IsJunkLocation(item.locationID) or const.ixOwnerID in change or (const.ixQuantity in change or const.ixStackSize in change) and item.stacksize == 0: @@ -271,7 +272,7 @@ class invCache(Service): if const.ixLocationID in change: if self.containerGlobal: self.containerGlobal.TrashItem(change[const.ixLocationID], item.itemID, item.locationID) - if self.inventories.has_key((item.itemID, None)): + if (item.itemID, None) in self.inventories: if oldItem.ownerID == session.charid != item.ownerID: del self.inventories[item.itemID, None] else: @@ -360,7 +361,7 @@ class invCache(Service): def UnlockItem_NoLock(self, itemID): self.LogInfo('UnlockItem_NoLock', itemID) - if self.lockedItems.has_key(itemID): + if itemID in self.lockedItems: del self.lockedItems[itemID] self.LogInfo('Unlocked Item:', itemID) sm.ScatterEvent('OnItemUnlocked', itemID) @@ -379,7 +380,7 @@ class invCache(Service): return bIsLocked def IsItemLocked_NoLock(self, itemID): - if not self.lockedItems.has_key(itemID): + if itemID not in self.lockedItems: return (0, 0, '', @@ -400,7 +401,7 @@ class invCache(Service): def RemoveInventoryContainer(self, containerItem): self.LogInfo('Removing', evetypes.GetName(containerItem.typeID), 'container', containerItem.itemID, 'from cache as ownership has changed.') - if not self.inventories.has_key((containerItem.itemID, None)): + if (containerItem.itemID, None) not in self.inventories: self.LogInfo('RemoveInventoryContainer container not found in inventories') return for itemID, item in self.inventories[containerItem.itemID, None].cachedItems.iteritems(): @@ -510,7 +511,7 @@ class invCache(Service): inv = self.inventorymgr.GetInventory(containerid, param1) inv.SetSessionCheck({'locationid': self.__invlocID}) return inv - if not self.inventories.has_key(key): + if key not in self.inventories: inv = inventoryMgr.GetInventory(containerid, param1) inv.SetSessionCheck(sessionCheckParams) self.inventories[key] = invCacheContainer(inv, key, self) @@ -624,7 +625,7 @@ class invCache(Service): def OnCapacityChange(self, moduleID): key = (moduleID, None) - if self.inventories.has_key(key): + if key in self.inventories: self.inventories[key].capacityByFlag = {} self.inventories[key].capacityByLocation = None @@ -771,7 +772,7 @@ class inv5MinCacheContainer(): def __str__(self): try: return 'Global inventory for %s:%d' % (cfg.eveowners.Get(session.charid).name, session.charid) - except StandardError: + except Exception: sys.exc_clear() return 'inventory.Global instance - failed to __str__ self' @@ -789,17 +790,17 @@ class inv5MinCacheContainer(): try: self.__EnterCriticalSection('ListStationItems', stationID) now = blue.os.GetWallclockTime() - if self.cachedStationItems.has_key(stationID): + if stationID in self.cachedStationItems: if self.cachedStationItems[stationID][0] + const.MIN * 5 < now: del self.cachedStationItems[stationID] - if not self.cachedStationItems.has_key(stationID): + if stationID not in self.cachedStationItems: self.cachedStationItems[stationID] = (now, self.moniker.ListStationItems(stationID)) return self.cachedStationItems[stationID][1] finally: self.__LeaveCriticalSection('ListStationItems', stationID) def InvalidateStationItemsCache(self, stationID): - if self.cachedStationItems.has_key(stationID): + if stationID in self.cachedStationItems: del self.cachedStationItems[stationID] def List(self): @@ -841,7 +842,7 @@ class inv5MinCacheContainer(): self.cachedItemsAll = {} def TrashItem(self, stationID, itemID, locationID): - if self.cachedStationItems.has_key(stationID): + if stationID in self.cachedStationItems: for item in self.cachedStationItems[stationID][1]: if item.itemID == itemID: item.locationID = locationID @@ -880,7 +881,7 @@ class invCacheContainer(): try: self._SetItemData() except AttributeError as error: - raise RuntimeError, error, sys.exc_info()[2] + raise_(RuntimeError, error, sys.exc_info()[2]) return self._itemID @@ -890,7 +891,7 @@ class invCacheContainer(): try: self._SetItemData() except AttributeError as error: - raise RuntimeError, error, sys.exc_info()[2] + raise_(RuntimeError, error, sys.exc_info()[2]) return self._typeID @@ -900,7 +901,7 @@ class invCacheContainer(): try: self._SetItemData() except AttributeError as error: - raise RuntimeError, error, sys.exc_info()[2] + raise_(RuntimeError, error, sys.exc_info()[2]) return self._item @@ -915,7 +916,7 @@ class invCacheContainer(): def __str__(self): try: return 'invCacheContainer %d for %s' % (self.itemID, self.key) - except StandardError: + except Exception: sys.exc_clear() return 'invCacheContainer instance - failed to __str__ self' @@ -1162,7 +1163,7 @@ class invCacheContainer(): itemID = self.itemID if itemID is not None: godmaItem = sm.GetService('godma').GetItem(itemID) - if godmaItem is not None and godmaItem.statemanager.invByID.has_key(godmaItem.itemID): + if godmaItem is not None and godmaItem.itemID in godmaItem.statemanager.invByID: if godmaItem.statemanager.invByID[godmaItem.itemID] != self: self.LogWarn('FIXUP: godma is using an old thrown away invCacheContainer') godmaItem.statemanager.invByID[godmaItem.itemID] = self @@ -1278,15 +1279,15 @@ class invCacheContainer(): self.cachedItems[item.itemID] = item return if item.locationID != session.stationid or item.stacksize == 0 or item.ownerID != session.charid: - if self.capacityByFlag.has_key(oldItem.flagID): + if oldItem.flagID in self.capacityByFlag: del self.capacityByFlag[oldItem.flagID] elif self.item and self.IsFlagCapacityLocationWide(self.item): self.capacityByLocation = None - if self.cachedItems.has_key(item.itemID): + if item.itemID in self.cachedItems: del self.cachedItems[item.itemID] return if item.ownerID == session.charid: - if self.capacityByFlag.has_key(oldItem.flagID): + if oldItem.flagID in self.capacityByFlag: del self.capacityByFlag[oldItem.flagID] elif self.item and self.IsFlagCapacityLocationWide(self.item): self.capacityByLocation = None @@ -1297,53 +1298,53 @@ class invCacheContainer(): if not session.stationid: return if item.locationID != session.stationid or item.stacksize == 0 or item.ownerID != session.corpid: - if self.capacityByFlag.has_key(oldItem.flagID): + if oldItem.flagID in self.capacityByFlag: del self.capacityByFlag[oldItem.flagID] elif self.item and self.IsFlagCapacityLocationWide(self.item): self.capacityByLocation = None - if self.cachedItems.has_key(item.itemID): + if item.itemID in self.cachedItems: del self.cachedItems[item.itemID] return if item.ownerID == session.corpid: - if self.capacityByFlag.has_key(oldItem.flagID): + if oldItem.flagID in self.capacityByFlag: del self.capacityByFlag[oldItem.flagID] elif self.item and self.IsFlagCapacityLocationWide(self.item): self.capacityByLocation = None if oldItem.locationID != session.stationid and item.locationID == session.stationid: - if self.cachedItems.has_key(item.itemID): + if item.itemID in self.cachedItems: del self.cachedItems[item.itemID] self.cachedItems[item.itemID] = item else: - if self.cachedItems.has_key(item.itemID): + if item.itemID in self.cachedItems: del self.cachedItems[item.itemID] self.cachedItems[item.itemID] = item elif item.locationID != location or item.stacksize == 0: - if self.cachedItems.has_key(item.itemID): + if item.itemID in self.cachedItems: del self.cachedItems[item.itemID] - if self.capacityByFlag.has_key(oldItem.flagID): + if oldItem.flagID in self.capacityByFlag: del self.capacityByFlag[oldItem.flagID] elif self.item and self.IsFlagCapacityLocationWide(self.item): self.capacityByLocation = None elif oldItem.locationID != location and item.locationID == location: - if self.cachedItems.has_key(item.itemID): + if item.itemID in self.cachedItems: del self.cachedItems[item.itemID] if shouldCache: self.cachedItems[item.itemID] = item - if self.capacityByFlag.has_key(item.flagID): + if item.flagID in self.capacityByFlag: del self.capacityByFlag[item.flagID] elif self.item and self.IsFlagCapacityLocationWide(self.item): self.capacityByLocation = None else: - if self.cachedItems.has_key(item.itemID): + if item.itemID in self.cachedItems: del self.cachedItems[item.itemID] if shouldCache: self.cachedItems[item.itemID] = item - if self.capacityByFlag.has_key(item.flagID): + if item.flagID in self.capacityByFlag: del self.capacityByFlag[item.flagID] elif self.item and self.IsFlagCapacityLocationWide(self.item): self.capacityByLocation = None - if change.has_key(const.ixFlag): - if self.capacityByFlag.has_key(oldItem.flagID): + if const.ixFlag in change: + if oldItem.flagID in self.capacityByFlag: del self.capacityByFlag[oldItem.flagID] elif self.item and self.IsFlagCapacityLocationWide(self.item): self.capacityByLocation = None @@ -1366,7 +1367,7 @@ class PasswordHandlerCallWrapper(): def __call__(self, *args, **keywords): try: - return apply(getattr(self.__callable__, self.__method__), args, keywords) + return getattr(self.__callable__, self.__method__)(*args, **keywords) except UserError as what: if what.args[0] == 'PasswordProtectedCacheInvalid': invCache = sm.GetService('invCache') @@ -1414,6 +1415,6 @@ class FastInvCallWrapper(): def __call__(self, *args, **keywords): try: - return apply(getattr(self.__callable__, self.__method__), args, keywords) + return getattr(self.__callable__, self.__method__)(*args, **keywords) finally: self.__dict__.clear() diff --git a/eve/client/script/environment/invControllers.py b/eve/client/script/environment/invControllers.py @@ -1471,7 +1471,7 @@ class StationContainer(BaseCelestialContainer): if self.invItem is None: try: self.invItem = self.GetInventoryItem() - except StandardError: + except Exception: self._oneWay = super(StationContainer, self).oneWay return self._oneWay diff --git a/eve/client/script/environment/planet/clientColony.py b/eve/client/script/environment/planet/clientColony.py @@ -16,17 +16,17 @@ class ClientColony(BaseColony): BaseColony.Init(self) self.nextTemporaryPinID = 0 self.nextTemporaryRouteID = 0 - self.cumulativePinCreationCost = 0L - self.cumulativeUpgradeCost = 0L + self.cumulativePinCreationCost = 0 + self.cumulativeUpgradeCost = 0 def ResetPinCreationCost(self): - self.cumulativePinCreationCost = 0L - self.cumulativeUpgradeCost = 0L + self.cumulativePinCreationCost = 0 + self.cumulativeUpgradeCost = 0 def RemoveCreationCost(self, typeID): self.cumulativePinCreationCost -= evetypes.GetBasePrice(typeID) if self.cumulativePinCreationCost < 0: - self.cumulativePinCreationCost = 0L + self.cumulativePinCreationCost = 0 def GetTemporaryPinID(self): self.nextTemporaryPinID += 1 @@ -140,7 +140,7 @@ class ClientColony(BaseColony): vwLength = D[vPin] + self._GetLinkWeight(wLink, wPin, vPin) if wPin in D: if vwLength < D[wPin]: - raise ValueError, 'Dijkstra: found better path to already-final vertex' + raise ValueError('Dijkstra: found better path to already-final vertex') elif wPin not in Q or vwLength < Q[wPin]: Q[wPin] = vwLength P[wPin] = vPin diff --git a/eve/client/script/environment/planet/clientPlanet.py b/eve/client/script/environment/planet/clientPlanet.py @@ -832,7 +832,7 @@ class ClientPlanet(BasePlanet): if nextTime is None: self.ticking = False else: - nextTime = max(const.SEC, nextTime - blue.os.GetWallclockTime() + 1L) + nextTime = max(const.SEC, nextTime - blue.os.GetWallclockTime() + 1) self.LogInfo(self.planetID, ': Active Client Tick: sleeping for', FmtTimeInterval(nextTime)) blue.pyos.synchro.SleepWallclock(nextTime / const.MSEC) @@ -863,7 +863,7 @@ class ClientPlanet(BasePlanet): self.SubmitChanges() return True return False - except StandardError as e: + except Exception as e: self.RevertChanges() raise diff --git a/eve/client/script/environment/spaceObject/ExplosionManager.py b/eve/client/script/environment/spaceObject/ExplosionManager.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/environment/spaceObject/ExplosionManager.py +from __future__ import print_function from collections import deque import blue import trinity @@ -191,7 +192,7 @@ class ExplosionManager(object): self.limit = limit def Inspect(self): - print self.queue + print(self.queue) def Start(self): self.running = True diff --git a/eve/client/script/environment/spaceObject/beacon.py b/eve/client/script/environment/spaceObject/beacon.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/environment/spaceObject/beacon.py +from __future__ import absolute_import import trinity -from spaceObject import SpaceObject +from .spaceObject import SpaceObject import evegraphics.settings as gfxsettings class Beacon(SpaceObject): diff --git a/eve/client/script/environment/spaceObject/cosmeticsManager.py b/eve/client/script/environment/spaceObject/cosmeticsManager.py @@ -1,4 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/environment/spaceObject/cosmeticsManager.py +from __future__ import print_function +from __future__ import absolute_import import logging import blue import evegraphics.effects as gfx @@ -9,7 +11,7 @@ from cosmetics.common.ships.skins.static_data.component import ComponentsDataLoa from cosmetics.common.ships.skins.static_data.pattern_blend_mode import PatternBlendMode from cosmetics.common.ships.skins.static_data.slot_name import SlotID, PATTERN_SLOT_IDS from trinity import EveSOFDataAreaType -from cosmeticsConst import AREA_MAPS, BLEND_MODE, DARKHULL_TEXTURE_MAP, PATTERN_INDEX_MAP +from .cosmeticsConst import AREA_MAPS, BLEND_MODE, DARKHULL_TEXTURE_MAP, PATTERN_INDEX_MAP logger = logging.getLogger(__name__) RESOURCE_NAME_BY_INDEX = {0: 'PatternMask1Map', 1: 'PatternMask2Map'} @@ -246,8 +248,8 @@ class CosmeticsManager: index_string = str(AREA_MAPS[self.faction_id][slot_id]) else: index_string = str(AREA_MAPS[500003]) - print 'area map missing for faction_id' - print self.faction_id + print('area map missing for faction_id') + print(self.faction_id) if slot_id is SlotID.PATTERN_MATERIAL: prefix = 'P' index_string = '1' diff --git a/eve/client/script/environment/spaceObject/fighterSquadron.py b/eve/client/script/environment/spaceObject/fighterSquadron.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/environment/spaceObject/fighterSquadron.py +from __future__ import absolute_import import trinity -import Drone +from . import Drone import evegraphics.settings as gfxsettings from evegraphics.explosions.spaceObjectExplosionManager import SpaceObjectExplosionManager from fighters.client import GetSquadronSizeFromSlimItem diff --git a/eve/client/script/environment/spaceObject/repository.py b/eve/client/script/environment/spaceObject/repository.py @@ -170,8 +170,12 @@ GROUP_TO_SPACEOBJECT_MAPPING = {const.groupAsteroidBelt: AsteroidBelt, const.groupInteractableLocalizedEffectBeacon: LargeCollidableStructure, const.groupAbyssalTraces: WarpGate, const.groupAbyssalDroneNpc: Drone, - const.groupHordeModeEntities: Drone, const.groupIrregularDrone: Drone, + const.groupFabricatorRogueDroneFrigate: Drone, + const.groupFabricatorRogueDroneDestroyer: Drone, + const.groupFabricatorRogueDroneCruiser: Drone, + const.groupFabricatorRogueDroneBattlecruiser: Drone, + const.groupFabricatorRogueDroneBattleship: Drone, const.groupIndustrialSupportFacility: LargeCollidableObject, const.groupPrecursorCache: LargeCollidableObject, const.groupDestructibleEffectBeacon: DestructibleEffectBeacon, diff --git a/eve/client/script/environment/spaceObject/spaceObject.py b/eve/client/script/environment/spaceObject/spaceObject.py @@ -17,6 +17,7 @@ import uthread2 from cosmetics.common.ships.skins.static_data.skin_type import ShipSkinType from destructionEffect import destructionType as destructionEffectType from destructionEffect.destructioneffectmanager import DestructionEffectManager +from evedungeons.client.data import GetAssetManipulations, GetControllerReadyData from evegraphics.controllers.clientControllerRegistry import ChangeControllerStateFromSlimItem from evegraphics.explosions.spaceObjectExplosionManager import SpaceObjectExplosionManager from evegraphics.graphicEffects.skinChange import ChangeSkin, RemoveAllTemporaryModels @@ -143,6 +144,7 @@ class SpaceObject(decometaclass.WrapBlueClass('destiny.ClientBall')): self._modelChangeCallbacks = [] self._skinChangeTasklets = [] self.skinMaterialSetID = None + self._dungeonAssetManipulations = None self.lockedFromRelease = False self.globalObjectHandlerThread = None self.explosionManager = ExplosionManager() @@ -168,6 +170,7 @@ class SpaceObject(decometaclass.WrapBlueClass('destiny.ClientBall')): try: self.SetControllerVariablesFromSlimItem(self.typeData.get('slimItem', None)) self.SetControllerVariablesFromGraphicID() + self.SetDungeonAssetManipulations() self.model.StartControllers() except AttributeError: pass @@ -197,6 +200,28 @@ class SpaceObject(decometaclass.WrapBlueClass('destiny.ClientBall')): else: self.SetControllerVariable(controllerVariableName, value) + def LoadDungeonAssetManipulations(self): + slimItem = self.typeData.get('slimItem') + if slimItem.dunID and slimItem.dunObjectID: + return GetAssetManipulations(slimItem.dunID, slimItem.dunObjectID) + + def SetDungeonAssetManipulations(self): + if self._dungeonAssetManipulations is None: + self._dungeonAssetManipulations = self.LoadDungeonAssetManipulations() + if self._dungeonAssetManipulations is None: + return + for name, value in self._dungeonAssetManipulations.iteritems(): + value = GetControllerReadyData(value) + if isinstance(value, float): + self.SetControllerVariable(name, value) + + for externalParameter in blue.FindInterface(self.model, 'Tr2ExternalParameter'): + if externalParameter.name in self._dungeonAssetManipulations: + try: + externalParameter.SetValue(self._dungeonAssetManipulations[externalParameter.name]) + except TypeError: + pass + def UnblockModelEvent(self): self.modelLoadedEvent.set() diff --git a/eve/client/script/environment/spaceObject/structure.py b/eve/client/script/environment/spaceObject/structure.py @@ -76,7 +76,7 @@ class Structure(BuildableStructure): if item.timer and item.state == structures.STATE_ANCHORING: start, end, paused = item.timer duration = (end - start) / const.SEC - elapsed = duration - max(end - blue.os.GetWallclockTime(), 0L) / const.SEC + elapsed = duration - max(end - blue.os.GetWallclockTime(), 0) / const.SEC elif item.state == structures.STATE_ANCHOR_VULNERABLE: duration = 86400 elapsed = 0 @@ -84,7 +84,7 @@ class Structure(BuildableStructure): if item.deployTimes is not None: start, end = item.deployTimes duration = (end - start) / const.SEC - elapsed = duration - max(end - blue.os.GetWallclockTime(), 0L) / const.SEC + elapsed = duration - max(end - blue.os.GetWallclockTime(), 0) / const.SEC self.state = item.state self.timer = item.timer self.upkeepState = item.upkeepState diff --git a/eve/client/script/environment/vgsService.py b/eve/client/script/environment/vgsService.py @@ -1,10 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/environment/vgsService.py import logging -import threadutils from carbon.client.script.environment.AudioUtil import PlaySound from carbon.common.script.sys.service import Service from carbonui.uicore import uicore -from eve.client.script.ui.view.aurumstore.specialNeocomButton import AurumStoreNeocomButtonExtension from eve.client.script.ui.view.aurumstore.vgsUiController import VgsUiController from eve.client.script.ui.view.viewStateConst import ViewState from eve.common.lib.vgsConst import CATEGORYTAG_GAMETIME @@ -37,7 +35,6 @@ class VgsService(Service): self.store = None self.uiController = None self.isTestingEnabled = None - self._neoComButtonExtension = None def Run(self, memStream = None): self.LogInfo('Starting Vgs Service') @@ -49,27 +46,10 @@ class VgsService(Service): on_balance_changed.disconnect(self._on_balance_changed) super(VgsService, self).Stop(memStream) - @threadutils.threaded - def RegisterNeoComButtonExtension(self): - if self._neoComButtonExtension is not None: - return - self._neoComButtonExtension = AurumStoreNeocomButtonExtension() - self.neocom.RegisterFixedButtonExtension(self._neoComButtonExtension) - - def UnregisterNeoComButtonExtension(self): - if self._neoComButtonExtension is not None: - try: - self.neocom.UnregisterFixedButtonExtension(self._neoComButtonExtension) - except ValueError: - pass - - self._neoComButtonExtension = None - def Initialize(self): self.vgsClient = VgsClient() self.store = Store(self.vgsClient, lockImpl=locks.Lock) self.uiController = VgsUiController(self, self.viewState) - self.RegisterNeoComButtonExtension() def ClearCache(self): self.store.ClearCache() @@ -80,7 +60,6 @@ class VgsService(Service): self.store = None self.uiController.Close() self.uiController = None - self.UnregisterNeoComButtonExtension() def UpdateMockingSettings(self): oldIsTestingEnabled = self.isTestingEnabled diff --git a/eve/client/script/industry/mixins.py b/eve/client/script/industry/mixins.py @@ -96,7 +96,7 @@ def GetMaterialsByGroups(materialsData): materialDataList.sort(key=lambda x: (-IsShip(evetypes.GetCategoryID(x.typeID)) if x.typeID else 0, x.typeID)) ret = groups.items() - ret.sort(key=lambda (groupID, materials): (len(materials), groupID), reverse=True) + ret.sort(key=lambda groupID_materials: (len(groupID_materials[1]), groupID_materials[0]), reverse=True) numGroups = max(len(ret) - 1, 0) groupOrderIndexes = GROUPORDERINDEXES_BY_NUMGROUPS[numGroups] return [ ret[index] for index in groupOrderIndexes ] @@ -433,7 +433,7 @@ class JobMixin(object): time = 0 else: return '-' - time = long(max(time, 0L)) + time = long(max(time, 0)) return FormatTimeInterval(time) def GetJobStateLabel(self): @@ -684,7 +684,7 @@ class JobMixin(object): else: outputName = divisionName return outputName - except StandardError as e: + except Exception as e: return '' def IsOutputLocationSameAsFacility(self): @@ -692,7 +692,7 @@ class JobMixin(object): if self.facility.facilityID and self.facility.facilityID == self.outputLocationID: return True return False - except StandardError: + except Exception: return False diff --git a/eve/client/script/paperDoll/SkinLightmapRenderer.py b/eve/client/script/paperDoll/SkinLightmapRenderer.py @@ -1,11 +1,13 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/paperDoll/SkinLightmapRenderer.py +from __future__ import print_function +from __future__ import absolute_import import trinity import blue import telemetry import weakref import itertools import log -import commonClientFunctions as pdCcf +from . import commonClientFunctions as pdCcf from eve.common.script.paperDoll import paperDollCommonFunctions as pdCf def LogError(*args): @@ -81,7 +83,7 @@ class SkinLightmapRenderer: return param def Print(self, msg): - print '[Skin]', msg + print('[Skin]', msg) def DebugPrint(self, msg): pass diff --git a/eve/client/script/paperDoll/paperDollImpl.py b/eve/client/script/paperDoll/paperDollImpl.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/paperDoll/paperDollImpl.py +from __future__ import absolute_import import datetime import os import sys @@ -17,7 +18,7 @@ import eve.common.script.paperDoll.paperDollDataManagement as pdDm import eve.client.script.paperDoll.commonClientFunctions as pdCcf import eve.common.script.paperDoll.paperDollCommonFunctions as pdCf import eve.common.script.paperDoll.paperDollConfiguration as pdCfg -import paperDollPortrait as pdPor +from . import paperDollPortrait as pdPor from .projectedDecals import ProjectedDecal, DecalBaker from .SkinLightmapRenderer import SkinLightmapRenderer from eve.client.script.paperDoll import renderDrivers diff --git a/eve/client/script/paperDoll/paperDollPortrait.py b/eve/client/script/paperDoll/paperDollPortrait.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/paperDoll/paperDollPortrait.py +from __future__ import print_function import math import datetime import os @@ -189,10 +190,10 @@ class PortraitTools(object): return jointIndex = avatar.animationUpdater.network.GetBoneIndex(jointName) if jointIndex == -1: - print "Error: Can't find bone for axis control: " + jointName + print("Error: Can't find bone for axis control: " + jointName) return if not type(jointIndex) == type(1): - print 'Non-int returned for bone in axis: ' + str(jointIndex) + ', name:' + jointName + print('Non-int returned for bone in axis: ' + str(jointIndex) + ', name:' + jointName) return bindPosePos = pdDoll.bindPose[jointName] if jointName in pdDoll.boneOffsets: diff --git a/eve/client/script/paperDoll/paperDollSculpting.py b/eve/client/script/paperDoll/paperDollSculpting.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/paperDoll/paperDollSculpting.py +from __future__ import print_function import trinity import blue import uthread @@ -862,9 +863,9 @@ class PaperDollSculpting: pair[0] = pair[0].replace('XXX', mapping[m]) if False: - print 'New Field:' - print defaultField - print '-----------------------------------' + print('New Field:') + print(defaultField) + print('-----------------------------------') self.fieldData['Fields'][fieldName] = defaultField FillInFields(self.mapping) @@ -955,7 +956,7 @@ class PaperDollSculpting: threshold = 0.0001 markerPos = field['MarkerPosition'] if not len(markerPos) == 3: - print 'Warning: Field ' + fieldName + ' passing in a 2D coordinate, not a 3D one: ' + str(markerPos) + print('Warning: Field ' + fieldName + ' passing in a 2D coordinate, not a 3D one: ' + str(markerPos)) return {} moveScale = 0.03 actualMarkerPos = [markerPos[0], markerPos[1], markerPos[2]] @@ -1026,7 +1027,7 @@ class PaperDollSculpting: result = self.fieldLKG[secondaryFieldName] self.fieldResetData[secondaryFieldName] = self.fieldLKGPos[secondaryFieldName] else: - print "Warning: Can't find secondary field in LKG!" + print("Warning: Can't find secondary field in LKG!") secFinalAttrs = {} for r in result: if r[0] in secField['VertData']: @@ -1047,9 +1048,9 @@ class PaperDollSculpting: finalAttrs[a] = secFinalAttrs[a] else: - print 'Secondary out of range' + print('Secondary out of range') else: - print 'Warning: Secondary marker coordinate not 3 values.' + print('Warning: Secondary marker coordinate not 3 values.') return finalAttrs @telemetry.ZONE_METHOD diff --git a/eve/client/script/paperDoll/renderDrivers.py b/eve/client/script/paperDoll/renderDrivers.py @@ -1,11 +1,12 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/paperDoll/renderDrivers.py +from __future__ import absolute_import import trinity import types import uthread from eve.common.script.paperDoll import paperDollCommonFunctions as pdCf -import commonClientFunctions as pdCcf +from . import commonClientFunctions as pdCcf import eve.common.script.paperDoll.paperDollDefinitions as pdDef -import paperDollPortrait as pdPor +from . import paperDollPortrait as pdPor class RenderDriver: @@ -25,7 +26,7 @@ class RenderDriver: imName = imethodPair[0] thisObjIM = imethodPair[1] nextObjIM = imethodPair[2] - thisObjIM = setattr(self, imName, self._CallChainedDeco(thisObjIM.im_func, nextObjIM.im_func)) + thisObjIM = setattr(self, imName, self._CallChainedDeco(thisObjIM.__func__, nextObjIM.__func__)) def _CallChainedDeco(self, first, second): diff --git a/eve/client/script/parklife/autopilot.py b/eve/client/script/parklife/autopilot.py @@ -231,7 +231,7 @@ class AutoPilot(Service): if addWarning: self.LogWarn('Autopilot: _GetGateIDToSolarsystem, did not find gate for destination', destinationID, fromLocationID) - except StandardError: + except Exception: self.LogException() def GetGateOrStation(self, bp, destinationID, addWarning = True): @@ -465,7 +465,7 @@ class AutoPilot(Service): self.SetOff('Autopilot cannot warp while warp scrambled.') if 'WarpDisrupted' in e.msg: self.SetOff('Autopilot cannot warp while warp scrambled by bubble.') - except StandardError: + except Exception: self.SetOff('Unknown error') def NavigateSystemTo(self, itemID, interactionRange, commandFunc, *args, **kwargs): diff --git a/eve/client/script/parklife/bracketMgr.py b/eve/client/script/parklife/bracketMgr.py @@ -452,7 +452,7 @@ class BracketMgr(service.Service): def ProcessSessionChange(self, isremote, session, change): if not sm.GetService('connection').IsConnected() or session.stationid is not None or session.charid is None: self.CleanUp() - elif not change.has_key('solarsystemid') and change.has_key('shipid') and change['shipid'][0] is not None: + elif 'solarsystemid' not in change and 'shipid' in change and change['shipid'][0] is not None: oldShipID, shipID = change['shipid'] slimItem = sm.GetService('michelle').GetItem(oldShipID) if slimItem is not None: diff --git a/eve/client/script/parklife/consider.py b/eve/client/script/parklife/consider.py @@ -31,7 +31,7 @@ class ConsiderSvc(Service): self.containerTakeRights = {} def ProcessSessionChange(self, isRemote, session, change): - if change.has_key('solarsystemid'): + if 'solarsystemid' in change: self.confirmationCache.clear() self.pendingConfirmations.clear() self.containerTakeRights.clear() @@ -107,7 +107,7 @@ class ConsiderSvc(Service): if item is not None: targetName = uix.GetSlimItemName(item) k = (targetID, msgName) - if self.pendingConfirmations.has_key(k): + if k in self.pendingConfirmations: return self.pendingConfirmations[k].receive() result = 0 self.pendingConfirmations[k] = uthread.Channel(('consider::ConfirmationRequest', k)) @@ -119,7 +119,7 @@ class ConsiderSvc(Service): self.RememberConfirmation(targetID, msgName) result = 1 finally: - if self.pendingConfirmations.has_key(k): + if k in self.pendingConfirmations: while self.pendingConfirmations[k].queue: self.pendingConfirmations[k].send(result) @@ -128,12 +128,12 @@ class ConsiderSvc(Service): return result def RememberConfirmation(self, targetID, msgName): - if not self.confirmationCache.has_key(targetID): + if targetID not in self.confirmationCache: self.confirmationCache[targetID] = [] self.confirmationCache[targetID].append(msgName) def HasConfirmation(self, targetID, msgName): - return self.confirmationCache.has_key(targetID) and msgName in self.confirmationCache[targetID] + return targetID in self.confirmationCache and msgName in self.confirmationCache[targetID] def TypeHasAttribute(self, typeID, attributeID): for typeAttribute in dogma.data.get_type_attributes(typeID): diff --git a/eve/client/script/parklife/damageSvc.py b/eve/client/script/parklife/damageSvc.py @@ -3,7 +3,7 @@ import telemetry import blue import log from carbon.common.script.sys.service import Service -SECOND = 10000000L +SECOND = 10000000 class DamageService(Service): __guid__ = 'svc.damage' diff --git a/eve/client/script/parklife/dungeonEditorTools.py b/eve/client/script/parklife/dungeonEditorTools.py @@ -10,10 +10,10 @@ from carbonui.uicore import uicore X_AXIS = geo2.Vector(1.0, 0.0, 0.0) Y_AXIS = geo2.Vector(0.0, 1.0, 0.0) Z_AXIS = geo2.Vector(0.0, 0.0, 1.0) -CHANGE_NONE = 0L -CHANGE_TRANSLATION = 1L -CHANGE_ROTATION = 2L -CHANGE_SCALE = 4L +CHANGE_NONE = 0 +CHANGE_TRANSLATION = 1 +CHANGE_ROTATION = 2 +CHANGE_SCALE = 4 def GetRayAndPointFromScreen(x, y): proj, view, vp = uix.GetFullscreenProjectionViewAndViewport() diff --git a/eve/client/script/parklife/fleetSvc.py b/eve/client/script/parklife/fleetSvc.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/parklife/fleetSvc.py +from __future__ import absolute_import import copy import yaml import eveexceptions @@ -38,7 +39,7 @@ import trinity import uthread from eve.client.script.ui.util import uix import blue -import states as state +from . import states as state from eve.client.script.ui.shared.fleet import fleetbroadcastexports import log import carbonui.const as uiconst @@ -52,7 +53,7 @@ from player_messaging.client import get_supressed_result, set_suppress_result from player_messaging.client.ui_message import prompt_player_fsd_dialog from utillib import KeyVal from carbonui.uicore import uicore -from messagebus.fleetMessenger import FleetMessenger +from .messagebus.fleetMessenger import FleetMessenger import eve.common.lib.appConst as const from carbonui.util.various_unsorted import SortListOfTuples from eve.client.script.ui.control.allUserEntries import AllUserEntries @@ -287,7 +288,7 @@ class FleetSvc(Service): if wasPruned: settings.char.ui.Set(WATCHLIST_MEMBER_INFO_SETTING_KEY, watchlistInfoForFleet) - except StandardError: + except Exception: self.LogException('Failed to _PruneWatchlistSettings') def SingleChoiceBox(self, title, body, choices, suppressID): @@ -645,7 +646,7 @@ class FleetSvc(Service): self.favoriteOrder.GetColumn1Order(), self.favoriteOrder.GetColumn2Order()) settings.char.ui.Set(WATCHLIST_MEMBER_INFO_SETTING_KEY, watchlistInfoForFleet) - except StandardError: + except Exception: self.LogException('Failed to update watchlist settings') def AddFavoriteSquad(self, squadID): diff --git a/eve/client/script/parklife/fxSequencer.py b/eve/client/script/parklife/fxSequencer.py @@ -20,7 +20,7 @@ from evegraphics.explosions.spaceObjectExplosionManager import SpaceObjectExplos from fsdBuiltData.client.effects import GetEffectGuids from destructionEffect import destructionType as destructionEffectType from fsdBuiltData.client.travelEffects import IsTravelEffect -SECOND = 10000000L +SECOND = 10000000 FX_TURRET_EFFECT_GUIDS = ['effects.Laser', 'effects.ProjectileFiredForEntities', 'effects.ProjectileFired', diff --git a/eve/client/script/parklife/gameui.py b/eve/client/script/parklife/gameui.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/parklife/gameui.py +from __future__ import absolute_import import datetime import sys import blue @@ -77,7 +78,7 @@ from plex.client.api import repository as plex_repository from regionalui import manager from safespace.client.travel_listener import SafeSpaceTravelListener from stationintrocinematic.client.arrival_listener import StationIntroCinematicListener -from sceneManagerConsts import SCENE_TYPE_SPACE +from .sceneManagerConsts import SCENE_TYPE_SPACE from sovereignty.mercenaryden.client.qa.settings.should_mock_data import ShouldMockSetting from sovereignty.mercenaryden.client.repository import setup_singleton from spacecomponents.client.components.mercenaryDen import extract_infomorphs_to_ship @@ -274,9 +275,9 @@ class GameUI(Service): while self.state == SERVICE_RUNNING: try: if self.shutdownTime and self.shutdownTime - blue.os.GetWallclockTime() < 5 * const.MIN: - timeLeft = max(0L, self.shutdownTime - blue.os.GetWallclockTime()) + timeLeft = max(0, self.shutdownTime - blue.os.GetWallclockTime()) message_player(localization.GetByLabel('UI/Shared/ClusterShutdownInSeconds', timeLeft=timeLeft)) - except StandardError: + except Exception: log.LogException() sys.exc_clear() @@ -287,7 +288,7 @@ class GameUI(Service): try: if session.maxSessionTime and session.maxSessionTime - blue.os.GetWallclockTime() < 15 * const.MIN: message_player(localization.GetByLabel('UI/Shared/MaxSessionTimeExpiring', timeLeft=session.maxSessionTime - blue.os.GetWallclockTime())) - except StandardError: + except Exception: log.LogException() sys.exc_clear() diff --git a/eve/client/script/parklife/overview/default/data/jotunn_default.py b/eve/client/script/parklife/overview/default/data/jotunn_default.py @@ -1,2 +1,2 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/parklife/overview/default/data/jotunn_default.py -JOTUNN_DEFAULT = "\nbackgroundOrder:\n- 13\n- 44\n- 52\n- 11\n- 12\n- 14\n- 15\n- 16\n- 45\n- 49\n- 19\n- 18\n- 9\n- 51\n- 50\n- 53\n- 10\n- 20\n- 21\n- 17\n- 48\n- 66\nbackgroundStates:\n- 9\n- 10\n- 11\n- 12\n- 13\n- 14\n- 15\n- 16\n- 17\n- 18\n- 19\n- 20\n- 21\n- 44\n- 45\n- 48\n- 49\n- 50\n- 51\n- 52\n- 53\ncolumnOrder:\n- ICON\n- TAG\n- DISTANCE\n- NAME\n- TYPE\n- ALLIANCE\n- CORPORATION\n- FACTION\n- MILITIA\n- SIZE\n- VELOCITY\n- RADIALVELOCITY\n- TRANSVERSALVELOCITY\n- ANGULARVELOCITY\nflagOrder:\n- 13\n- 44\n- 52\n- 11\n- 12\n- 14\n- 15\n- 16\n- 45\n- 9\n- 51\n- 50\n- 53\n- 19\n- 18\n- 49\n- 10\n- 17\n- 48\n- 21\n- 20\n- 66\nflagStates:\n- 9\n- 10\n- 11\n- 12\n- 13\n- 14\n- 15\n- 16\n- 17\n- 18\n- 19\n- 20\n- 21\n- 44\n- 45\n- 48\n- 49\n- 50\n- 51\n- 52\n- 53\noverviewColumns:\n- ANGULARVELOCITY\n- DISTANCE\n- ICON\n- NAME\n- SIZE\n- TYPE\n- VELOCITY\npresets:\n- - DefaultPreset_639431\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 547\n - 863\n - 864\n - - description_id\n - 643866\n - - category_id\n - 3\n- - DefaultPreset_639432\n - - - alwaysShownStates\n - - 11\n - - filteredStates\n - - 9\n - 10\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 36\n - 37\n - 44\n - 45\n - 48\n - 49\n - 50\n - 51\n - 52\n - 53\n - - groups\n - - 6\n - 10\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 237\n - 324\n - 358\n - 361\n - 366\n - 380\n - 381\n - 419\n - 420\n - 463\n - 479\n - 485\n - 492\n - 513\n - 540\n - 541\n - 543\n - 547\n - 548\n - 659\n - 830\n - 831\n - 832\n - 833\n - 834\n - 863\n - 864\n - 883\n - 893\n - 894\n - 898\n - 900\n - 902\n - 906\n - 920\n - 941\n - 963\n - 988\n - 1022\n - 1149\n - 1201\n - 1202\n - 1249\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1305\n - 1527\n - 1534\n - 1538\n - 1548\n - 1704\n - 4547\n - 4548\n - 4549\n - 4594\n - 4902\n - 5120\n - 4909\n - - description_id\n - 643914\n - - category_id\n - 4\n- - DefaultPreset_639433\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 659\n - 863\n - 864\n - - description_id\n - 643912\n - - category_id\n - 3\n- - DefaultPreset_639434\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 863\n - 864\n - 1972\n - - description_id\n - 643904\n - - category_id\n - 3\n- - DefaultPreset_639451\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 863\n - 864\n - 1534\n - - description_id\n - 643898\n - - category_id\n - 3\n- - DefaultPreset_639435\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 30\n - 90\n - 863\n - 864\n - - description_id\n - 643913\n - - category_id\n - 3\n- - DefaultPreset_639436\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 237\n - 324\n - 358\n - 380\n - 381\n - 419\n - 420\n - 463\n - 479\n - 485\n - 513\n - 540\n - 541\n - 543\n - 547\n - 549\n - 659\n - 830\n - 831\n - 832\n - 833\n - 834\n - 863\n - 864\n - 883\n - 893\n - 894\n - 898\n - 900\n - 902\n - 906\n - 941\n - 963\n - 1022\n - 1023\n - 1201\n - 1202\n - 1283\n - 1305\n - 1527\n - 1534\n - 1538\n - 1548\n - 1972\n - 2001\n - 4594\n - 4902\n - 5120\n - 4909\n - - description_id\n - 643893\n - - category_id\n - 3\n- - DefaultPreset_639438\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 26\n - 90\n - 358\n - 832\n - 833\n - 863\n - 864\n - 894\n - 906\n - 963\n - - description_id\n - 643900\n - - category_id\n - 3\n- - DefaultPreset_639439\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 10\n - 366\n - 988\n - 1081\n - 1082\n - 1408\n - 4549\n - - description_id\n - 643886\n - - category_id\n - 2\n- - DefaultPreset_639441\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 549\n - 863\n - 864\n - 1023\n - 1537\n - 1652\n - 1653\n - 4777\n - 4778\n - 4779\n - - description_id\n - 643903\n - - category_id\n - 3\n- - DefaultPreset_639442\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 6\n - 9\n - 12\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 180\n - 185\n - 237\n - 279\n - 286\n - 287\n - 297\n - 298\n - 306\n - 324\n - 335\n - 337\n - 340\n - 358\n - 361\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 435\n - 448\n - 450\n - 451\n - 452\n - 453\n - 454\n - 455\n - 456\n - 457\n - 458\n - 459\n - 460\n - 461\n - 462\n - 463\n - 465\n - 467\n - 468\n - 469\n - 479\n - 485\n - 492\n - 494\n - 495\n - 496\n - 513\n - 517\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 649\n - 659\n - 665\n - 666\n - 667\n - 668\n - 669\n - 670\n - 671\n - 672\n - 673\n - 674\n - 675\n - 676\n - 677\n - 678\n - 679\n - 680\n - 681\n - 682\n - 683\n - 684\n - 685\n - 686\n - 687\n - 688\n - 689\n - 690\n - 691\n - 692\n - 693\n - 694\n - 695\n - 696\n - 697\n - 698\n - 699\n - 700\n - 701\n - 702\n - 703\n - 704\n - 705\n - 706\n - 711\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 922\n - 924\n - 925\n - 927\n - 934\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1004\n - 1005\n - 1006\n - 1007\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1081\n - 1082\n - 1149\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1207\n - 1246\n - 1247\n - 1249\n - 1250\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1285\n - 1286\n - 1287\n - 1288\n - 1297\n - 1305\n - 1307\n - 1310\n - 1312\n - 1316\n - 1402\n - 1405\n - 1406\n - 1407\n - 1409\n - 1410\n - 1411\n - 1412\n - 1413\n - 1414\n - 1452\n - 1453\n - 1454\n - 1455\n - 1465\n - 1527\n - 1529\n - 1530\n - 1534\n - 1537\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1652\n - 1653\n - 1664\n - 1665\n - 1666\n - 1667\n - 1681\n - 1682\n - 1683\n - 1684\n - 1685\n - 1686\n - 1687\n - 1688\n - 1689\n - 1690\n - 1691\n - 1692\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1731\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1764\n - 1765\n - 1766\n - 1767\n - 1768\n - 1803\n - 1813\n - 1814\n - 1878\n - 1879\n - 1880\n - 1884\n - 1895\n - 1896\n - 1909\n - 1911\n - 1915\n - 1920\n - 1921\n - 1922\n - 1923\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1956\n - 1972\n - 2006\n - 2020\n - 2022\n - 2024\n - 4029\n - 4030\n - 4031\n - 4094\n - 4161\n - 4168\n - 4513\n - 4514\n - 4515\n - 4516\n - 4568\n - 4569\n - 4570\n - 4571\n - 4572\n - 4573\n - 4574\n - 4575\n - 4577\n - 4594\n - 4755\n - 4756\n - 4757\n - 4758\n - 4759\n - 4777\n - 4778\n - 4779\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4857\n - 4902\n - 4909\n - 4913\n - 4918\n - 4930\n - 4935\n - 4936\n - 4937\n - 4938\n - 5063\n - 5064\n - 5065\n - 5066\n - 5083\n - 5084\n - 5085\n - 5086\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643882\n - - category_id\n - 5\n- - DefaultPreset_639443\n - - - alwaysShownStates\n - - 9\n - 10\n - 11\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 36\n - 37\n - 44\n - 45\n - 48\n - 49\n - 50\n - 51\n - 52\n - 53\n - 66\n - - filteredStates\n - []\n - - groups\n - - 6\n - 7\n - 8\n - 9\n - 10\n - 12\n - 14\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 99\n - 100\n - 101\n - 180\n - 182\n - 185\n - 186\n - 226\n - 237\n - 279\n - 286\n - 287\n - 288\n - 297\n - 298\n - 301\n - 306\n - 307\n - 310\n - 311\n - 318\n - 319\n - 323\n - 324\n - 336\n - 337\n - 340\n - 358\n - 361\n - 363\n - 365\n - 366\n - 380\n - 381\n - 383\n - 397\n - 404\n - 411\n - 413\n - 416\n - 417\n - 419\n - 420\n - 426\n - 430\n - 435\n - 438\n - 439\n - 440\n - 441\n - 443\n - 444\n - 446\n - 448\n - 449\n - 450\n - 451\n - 452\n - 453\n - 454\n - 455\n - 456\n - 457\n - 458\n - 459\n - 460\n - 461\n - 462\n - 463\n - 465\n - 467\n - 468\n - 469\n - 471\n - 473\n - 479\n - 485\n - 492\n - 494\n - 495\n - 496\n - 513\n - 517\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 544\n - 547\n - 548\n - 549\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 639\n - 640\n - 641\n - 649\n - 659\n - 665\n - 666\n - 667\n - 668\n - 669\n - 670\n - 671\n - 672\n - 673\n - 674\n - 675\n - 676\n - 677\n - 678\n - 679\n - 680\n - 681\n - 682\n - 683\n - 684\n - 685\n - 686\n - 687\n - 688\n - 689\n - 690\n - 691\n - 692\n - 693\n - 694\n - 695\n - 696\n - 697\n - 698\n - 699\n - 700\n - 701\n - 702\n - 703\n - 704\n - 705\n - 706\n - 707\n - 709\n - 711\n - 715\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 784\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 837\n - 838\n - 839\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 874\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 920\n - 922\n - 924\n - 925\n - 927\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1005\n - 1006\n - 1007\n - 1012\n - 1022\n - 1023\n - 1025\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1071\n - 1106\n - 1159\n - 1165\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1207\n - 1212\n - 1246\n - 1247\n - 1249\n - 1250\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1273\n - 1275\n - 1276\n - 1282\n - 1283\n - 1285\n - 1286\n - 1287\n - 1288\n - 1305\n - 1307\n - 1310\n - 1316\n - 1402\n - 1404\n - 1406\n - 1408\n - 1411\n - 1412\n - 1413\n - 1414\n - 1452\n - 1453\n - 1454\n - 1455\n - 1465\n - 1527\n - 1529\n - 1530\n - 1534\n - 1537\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1652\n - 1653\n - 1657\n - 1664\n - 1665\n - 1666\n - 1667\n - 1681\n - 1682\n - 1683\n - 1684\n - 1685\n - 1686\n - 1687\n - 1688\n - 1689\n - 1690\n - 1691\n - 1692\n - 1704\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1731\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1764\n - 1765\n - 1766\n - 1767\n - 1768\n - 1788\n - 1789\n - 1790\n - 1791\n - 1792\n - 1793\n - 1794\n - 1795\n - 1796\n - 1797\n - 1798\n - 1799\n - 1800\n - 1803\n - 1804\n - 1805\n - 1806\n - 1807\n - 1813\n - 1814\n - 1872\n - 1876\n - 1878\n - 1879\n - 1880\n - 1884\n - 1895\n - 1896\n - 1909\n - 1911\n - 1915\n - 1920\n - 1921\n - 1922\n - 1923\n - 1924\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1956\n - 1972\n - 1978\n - 1981\n - 1982\n - 1991\n - 1997\n - 1998\n - 2001\n - 2005\n - 2006\n - 2009\n - 2015\n - 2016\n - 2017\n - 2020\n - 2022\n - 2024\n - 4028\n - 4029\n - 4030\n - 4031\n - 4033\n - 4034\n - 4035\n - 4036\n - 4037\n - 4053\n - 4070\n - 4073\n - 4079\n - 4081\n - 4088\n - 4093\n - 4094\n - 4100\n - 4105\n - 4106\n - 4107\n - 4128\n - 4130\n - 4137\n - 4161\n - 4168\n - 4431\n - 4432\n - 4433\n - 4434\n - 4477\n - 4494\n - 4499\n - 4501\n - 4513\n - 4514\n - 4515\n - 4516\n - 4547\n - 4548\n - 4549\n - 4568\n - 4569\n - 4570\n - 4571\n - 4572\n - 4573\n - 4574\n - 4575\n - 4576\n - 4577\n - 4594\n - 4636\n - 4637\n - 4638\n - 4644\n - 4647\n - 4648\n - 4649\n - 4650\n - 4651\n - 4652\n - 4653\n - 4654\n - 4655\n - 4656\n - 4673\n - 4712\n - 4713\n - 4755\n - 4756\n - 4757\n - 4758\n - 4759\n - 4736\n - 4744\n - 4777\n - 4778\n - 4779\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4857\n - 4902\n - 4909\n - 4913\n - 4918\n - 4930\n - 4935\n - 4936\n - 4937\n - 4938\n - 5032\n - 5063\n - 5064\n - 5065\n - 5066\n - 5083\n - 5084\n - 5085\n - 5086\n - 5087\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643880\n - - category_id\n - 1\n- - DefaultPreset_639463\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 100\n - 101\n - 544\n - 549\n - 639\n - 640\n - 641\n - 863\n - 864\n - 1023\n - 1159\n - 1537\n - 1652\n - 1653\n - 4777\n - 4778\n - 4779\n - - description_id\n - 643902\n - - category_id\n - 3\n- - DefaultPreset_639444\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 21\n - - groups\n - - 6\n - 10\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 237\n - 286\n - 310\n - 324\n - 337\n - 358\n - 361\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 463\n - 479\n - 485\n - 492\n - 513\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 659\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 920\n - 925\n - 941\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1149\n - 1201\n - 1202\n - 1246\n - 1249\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1305\n - 1310\n - 1316\n - 1404\n - 1406\n - 1408\n - 1527\n - 1534\n - 1538\n - 1548\n - 1657\n - 1704\n - 1876\n - 1924\n - 1972\n - 2016\n - 2017\n - 2020\n - 4107\n - 4477\n - 4499\n - 4547\n - 4548\n - 4549\n - 4568\n - 4594\n - 4644\n - 4736\n - 4744\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 5120\n - - description_id\n - 643891\n - - category_id\n - 1\n- - DefaultPreset_639446\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 833\n - 863\n - 864\n - 906\n - - description_id\n - 643909\n - - category_id\n - 3\n- - DefaultPreset_639447\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 30\n - 90\n - 485\n - 513\n - 547\n - 659\n - 863\n - 864\n - 883\n - 902\n - 941\n - 1538\n - 4594\n - 5120\n - - description_id\n - 643896\n - - category_id\n - 3\n- - DefaultPreset_639449\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 540\n - 863\n - 864\n - 963\n - - description_id\n - 643899\n - - category_id\n - 3\n- - DefaultPreset_639450\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 310\n - 318\n - 897\n - 920\n - 1003\n - 1012\n - 1081\n - 1082\n - 1316\n - 1915\n - 1978\n - 1991\n - 1998\n - 2020\n - 4033\n - 4079\n - 4081\n - - description_id\n - 643887\n - - category_id\n - 2\n- - DefaultPreset_639445\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 25\n - 31\n - 90\n - 237\n - 324\n - 420\n - 541\n - 830\n - 831\n - 834\n - 863\n - 864\n - 893\n - 1022\n - 1283\n - 1305\n - 1527\n - 1534\n - - description_id\n - 643906\n - - category_id\n - 3\n- - DefaultPreset_639453\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 863\n - 864\n - 1538\n - - description_id\n - 643905\n - - category_id\n - 3\n- - DefaultPreset_639454\n - - - alwaysShownStates\n - - 13\n - 44\n - - filteredStates\n - - 9\n - 10\n - 11\n - 12\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 36\n - 37\n - 45\n - 48\n - 49\n - 50\n - 51\n - 52\n - 53\n - - groups\n - - 6\n - 10\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 237\n - 310\n - 324\n - 337\n - 358\n - 361\n - 365\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 463\n - 479\n - 485\n - 492\n - 513\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 659\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 920\n - 925\n - 941\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1005\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1149\n - 1201\n - 1202\n - 1249\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1305\n - 1316\n - 1404\n - 1406\n - 1408\n - 1527\n - 1534\n - 1538\n - 1548\n - 1657\n - 1704\n - 1972\n - 2016\n - 2017\n - 2020\n - 4079\n - 4093\n - 4107\n - 4137\n - 4477\n - 4494\n - 4499\n - 4547\n - 4548\n - 4549\n - 4594\n - 4644\n - 4736\n - 4744\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 5120\n - - description_id\n - 643892\n - - category_id\n - 1\n- - DefaultPreset_639455\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 15\n - 1081\n - 1082\n - 1404\n - 1406\n - 1657\n - 4644\n - 4736\n - 4744\n - - description_id\n - 643885\n - - category_id\n - 2\n- - DefaultPreset_639456\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 29\n - 90\n - 863\n - 864\n - - description_id\n - 643897\n - - category_id\n - 3\n- - DefaultPreset_639437\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 100\n - 101\n - 237\n - 324\n - 358\n - 380\n - 381\n - 419\n - 420\n - 463\n - 479\n - 485\n - 513\n - 540\n - 541\n - 543\n - 544\n - 547\n - 549\n - 639\n - 640\n - 641\n - 659\n - 830\n - 831\n - 832\n - 833\n - 834\n - 863\n - 864\n - 883\n - 893\n - 894\n - 898\n - 900\n - 902\n - 906\n - 941\n - 963\n - 1022\n - 1023\n - 1159\n - 1201\n - 1202\n - 1283\n - 1305\n - 1527\n - 1534\n - 1537\n - 1538\n - 1548\n - 1652\n - 1653\n - 1972\n - 2001\n - 4594\n - 4745\n - 4777\n - 4778\n - 4779\n - 4902\n - 5120\n - - description_id\n - 643883\n - - category_id\n - 3\n- - DefaultPreset_639457\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 361\n - 541\n - 548\n - 863\n - 864\n - 894\n - - description_id\n - 643907\n - - category_id\n - 3\n- - DefaultPreset_639458\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 27\n - 90\n - 381\n - 863\n - 864\n - 898\n - 900\n - - description_id\n - 643895\n - - category_id\n - 3\n- - DefaultPreset_639440\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 834\n - - description_id\n - 643910\n - - category_id\n - 3\n- - DefaultPreset_639459\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 30\n - 90\n - 659\n - 863\n - 864\n - - description_id\n - 643911\n - - category_id\n - 3\n- - DefaultPreset_639460\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 485\n - 863\n - 864\n - 4594\n - - description_id\n - 643901\n - - category_id\n - 3\n- - DefaultPreset_639461\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 832\n - 863\n - 864\n - 1527\n - 1538\n - - description_id\n - 643908\n - - category_id\n - 3\n- - DefaultPreset_639462\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 6\n - 10\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 180\n - 185\n - 237\n - 279\n - 286\n - 287\n - 297\n - 298\n - 306\n - 310\n - 324\n - 335\n - 337\n - 358\n - 361\n - 365\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 435\n - 463\n - 479\n - 485\n - 492\n - 494\n - 495\n - 496\n - 513\n - 517\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 659\n - 665\n - 666\n - 667\n - 668\n - 669\n - 670\n - 671\n - 672\n - 673\n - 674\n - 675\n - 676\n - 677\n - 678\n - 679\n - 680\n - 681\n - 682\n - 683\n - 684\n - 685\n - 686\n - 687\n - 688\n - 689\n - 690\n - 691\n - 692\n - 693\n - 694\n - 695\n - 696\n - 697\n - 698\n - 699\n - 700\n - 701\n - 702\n - 703\n - 704\n - 705\n - 706\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 920\n - 922\n - 924\n - 925\n - 927\n - 934\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1004\n - 1005\n - 1006\n - 1007\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1081\n - 1082\n - 1149\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1207\n - 1246\n - 1247\n - 1249\n - 1250\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1285\n - 1286\n - 1287\n - 1288\n - 1305\n - 1307\n - 1310\n - 1312\n - 1316\n - 1402\n - 1404\n - 1406\n - 1408\n - 1411\n - 1412\n - 1413\n - 1414\n - 1452\n - 1453\n - 1454\n - 1455\n - 1465\n - 1527\n - 1529\n - 1530\n - 1534\n - 1537\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1652\n - 1653\n - 1657\n - 1664\n - 1665\n - 1666\n - 1667\n - 1681\n - 1682\n - 1683\n - 1684\n - 1685\n - 1686\n - 1687\n - 1688\n - 1689\n - 1690\n - 1691\n - 1692\n - 1704\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1731\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1764\n - 1765\n - 1766\n - 1767\n - 1768\n - 1788\n - 1789\n - 1790\n - 1791\n - 1792\n - 1793\n - 1794\n - 1795\n - 1796\n - 1797\n - 1798\n - 1799\n - 1800\n - 1803\n - 1804\n - 1805\n - 1806\n - 1807\n - 1813\n - 1814\n - 1876\n - 1878\n - 1879\n - 1880\n - 1895\n - 1896\n - 1909\n - 1924\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1956\n - 1972\n - 1981\n - 1982\n - 1991\n - 1997\n - 2009\n - 2016\n - 2017\n - 2020\n - 4028\n - 4034\n - 4035\n - 4036\n - 4037\n - 4053\n - 4079\n - 4093\n - 4105\n - 4106\n - 4107\n - 4137\n - 4431\n - 4432\n - 4433\n - 4434\n - 4477\n - 4494\n - 4499\n - 4501\n - 4547\n - 4548\n - 4549\n - 4568\n - 4569\n - 4570\n - 4571\n - 4572\n - 4573\n - 4574\n - 4575\n - 4576\n - 4577\n - 4594\n - 4636\n - 4637\n - 4638\n - 4644\n - 4647\n - 4648\n - 4649\n - 4650\n - 4651\n - 4652\n - 4653\n - 4654\n - 4655\n - 4656\n - 4673\n - 4712\n - 4713\n - 4736\n - 4744\n - 4777\n - 4778\n - 4779\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 4909\n - 4913\n - 5032\n - 5063\n - 5064\n - 5065\n - 5066\n - 5087\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643888\n - - category_id\n - 1\n- - DefaultPreset_639452\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 6\n - 10\n - 12\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 180\n - 185\n - 186\n - 237\n - 279\n - 286\n - 287\n - 297\n - 298\n - 306\n - 310\n - 319\n - 324\n - 335\n - 337\n - 340\n - 358\n - 361\n - 365\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 435\n - 448\n - 463\n - 479\n - 485\n - 492\n - 494\n - 495\n - 496\n - 513\n - 517\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 649\n - 659\n - 665\n - 666\n - 667\n - 668\n - 669\n - 670\n - 671\n - 672\n - 673\n - 674\n - 675\n - 676\n - 677\n - 678\n - 679\n - 680\n - 681\n - 682\n - 683\n - 684\n - 685\n - 686\n - 687\n - 688\n - 689\n - 690\n - 691\n - 692\n - 693\n - 694\n - 695\n - 696\n - 697\n - 698\n - 699\n - 700\n - 701\n - 702\n - 703\n - 704\n - 705\n - 706\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 920\n - 922\n - 924\n - 925\n - 927\n - 934\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1004\n - 1005\n - 1006\n - 1007\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1081\n - 1082\n - 1149\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1207\n - 1246\n - 1247\n - 1249\n - 1250\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1285\n - 1286\n - 1287\n - 1288\n - 1305\n - 1307\n - 1310\n - 1312\n - 1316\n - 1402\n - 1404\n - 1406\n - 1408\n - 1411\n - 1412\n - 1413\n - 1414\n - 1452\n - 1453\n - 1454\n - 1455\n - 1465\n - 1527\n - 1529\n - 1530\n - 1534\n - 1537\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1652\n - 1653\n - 1657\n - 1664\n - 1665\n - 1666\n - 1667\n - 1681\n - 1682\n - 1683\n - 1684\n - 1685\n - 1686\n - 1687\n - 1688\n - 1689\n - 1690\n - 1691\n - 1692\n - 1704\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1731\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1764\n - 1765\n - 1766\n - 1767\n - 1768\n - 1788\n - 1789\n - 1790\n - 1791\n - 1792\n - 1793\n - 1794\n - 1795\n - 1796\n - 1797\n - 1798\n - 1799\n - 1800\n - 1803\n - 1804\n - 1805\n - 1806\n - 1807\n - 1813\n - 1814\n - 1876\n - 1878\n - 1879\n - 1880\n - 1895\n - 1896\n - 1909\n - 1924\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1956\n - 1972\n - 1981\n - 1982\n - 1991\n - 1997\n - 2009\n - 2016\n - 2017\n - 2020\n - 4028\n - 4034\n - 4035\n - 4036\n - 4037\n - 4053\n - 4079\n - 4093\n - 4105\n - 4106\n - 4107\n - 4137\n - 4431\n - 4432\n - 4433\n - 4434\n - 4477\n - 4494\n - 4499\n - 4501\n - 4547\n - 4548\n - 4549\n - 4568\n - 4569\n - 4570\n - 4571\n - 4572\n - 4573\n - 4574\n - 4575\n - 4576\n - 4577\n - 4594\n - 4636\n - 4637\n - 4638\n - 4644\n - 4647\n - 4648\n - 4649\n - 4650\n - 4651\n - 4652\n - 4653\n - 4654\n - 4655\n - 4656\n - 4673\n - 4712\n - 4713\n - 4736\n - 4744\n - 4777\n - 4778\n - 4779\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 4909\n - 4913\n - 5032\n - 5063\n - 5064\n - 5065\n - 5066\n - 5087\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643881\n - - category_id\n - 1\n- - DefaultPreset_639448\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 6\n - 7\n - 8\n - 9\n - 10\n - 988\n - 1081\n - 1082\n - 4547\n - 4548\n - 4549\n - - description_id\n - 643884\n - - category_id\n - 2\n- - DefaultPreset_639464\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 17\n - 21\n - 48\n - - groups\n - - 6\n - 12\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 180\n - 185\n - 226\n - 237\n - 287\n - 306\n - 310\n - 319\n - 324\n - 324\n - 337\n - 358\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 435\n - 463\n - 485\n - 494\n - 495\n - 496\n - 513\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 659\n - 665\n - 666\n - 667\n - 668\n - 669\n - 670\n - 671\n - 672\n - 673\n - 674\n - 675\n - 676\n - 677\n - 678\n - 679\n - 680\n - 681\n - 682\n - 683\n - 684\n - 685\n - 686\n - 687\n - 688\n - 689\n - 690\n - 691\n - 692\n - 693\n - 694\n - 695\n - 696\n - 697\n - 698\n - 699\n - 700\n - 701\n - 702\n - 703\n - 704\n - 705\n - 706\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 898\n - 900\n - 902\n - 906\n - 924\n - 925\n - 927\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1006\n - 1007\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1283\n - 1288\n - 1305\n - 1307\n - 1310\n - 1408\n - 1452\n - 1453\n - 1454\n - 1455\n - 1527\n - 1534\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1664\n - 1665\n - 1666\n - 1667\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1895\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1972\n - 4594\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 4909\n - 5063\n - 5064\n - 5065\n - 5066\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643890\n - - category_id\n - 1\n- - DefaultPreset_639465\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 419\n - 540\n - 863\n - 864\n - 1201\n - 4902\n - - description_id\n - 643894\n - - category_id\n - 3\n- - DefaultPreset_639466\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 6\n - 10\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 185\n - 237\n - 286\n - 287\n - 288\n - 306\n - 310\n - 324\n - 337\n - 358\n - 361\n - 365\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 435\n - 463\n - 479\n - 485\n - 492\n - 494\n - 495\n - 496\n - 513\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 659\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 922\n - 924\n - 925\n - 927\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1006\n - 1007\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1149\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1207\n - 1249\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1285\n - 1286\n - 1287\n - 1288\n - 1305\n - 1307\n - 1310\n - 1312\n - 1316\n - 1402\n - 1404\n - 1406\n - 1408\n - 1411\n - 1412\n - 1413\n - 1414\n - 1452\n - 1453\n - 1454\n - 1455\n - 1465\n - 1527\n - 1529\n - 1530\n - 1534\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1657\n - 1664\n - 1665\n - 1666\n - 1667\n - 1681\n - 1682\n - 1683\n - 1684\n - 1685\n - 1686\n - 1687\n - 1688\n - 1689\n - 1690\n - 1691\n - 1692\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1731\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1803\n - 1813\n - 1814\n - 1876\n - 1878\n - 1879\n - 1880\n - 1895\n - 1909\n - 1924\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1972\n - 2016\n - 2017\n - 2020\n - 4053\n - 4079\n - 4093\n - 4107\n - 4137\n - 4431\n - 4432\n - 4433\n - 4434\n - 4477\n - 4494\n - 4499\n - 4547\n - 4548\n - 4549\n - 4594\n - 4636\n - 4637\n - 4638\n - 4644\n - 4647\n - 4648\n - 4649\n - 4650\n - 4651\n - 4652\n - 4653\n - 4654\n - 4655\n - 4656\n - 4673\n - 4712\n - 4713\n - 4736\n - 4744\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 4909\n - 5063\n - 5064\n - 5065\n - 5066\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643889\n - - category_id\n - 1\nshipLabelOrder:\n- ship type\n- alliance\n- corporation\n- ship name\n- null\n- linebreak\n- pilot name\nshipLabels:\n- - null\n - - - post\n - ''\n - - pre\n - ''\n - - state\n - 1\n - - type\n - null\n- - alliance\n - - - color\n - - 1.0\n - 0.91400000000000003\n - 0.0\n - - fontsize\n - 12\n - - post\n - ']'\n - - pre\n - ' ['\n - - state\n - 1\n - - type\n - alliance\n- - corporation\n - - - fontsize\n - 11\n - - post\n - ']'\n - - pre\n - ' ['\n - - state\n - 1\n - - type\n - corporation\n- - linebreak\n - - - bold\n - false\n - - color\n - null\n - - fontsize\n - null\n - - italic\n - false\n - - post\n - null\n - - pre\n - null\n - - state\n - null\n - - type\n - linebreak\n - - underline\n - false\n- - pilot name\n - - - fontsize\n - 11\n - - post\n - '] -'\n - - pre\n - '['\n - - state\n - 1\n - - type\n - pilot name\n- - ship name\n - - - italic\n - 1\n - - post\n - ''\n - - pre\n - ' '\n - - state\n - 0\n - - type\n - ship name\n- - ship type\n - - - bold\n - 1\n - - color\n - - 1.0\n - 1.0\n - 1.0\n - - fontsize\n - 12\n - - post\n - ''\n - - pre\n - ''\n - - state\n - 1\n - - type\n - ship type\nstateBlinks:\n- - background_13\n - false\n- - background_44\n - false\n- - flag_13\n - true\n- - flag_44\n - true\n- - flag_50\n - false\n- - flag_51\n - true\n- - flag_52\n - true\n- - flag_9\n - true\nstateColorsNameList:\n- - background_10\n - white\n- - background_12\n - darkBlue\n- - background_16\n - darkBlue\n- - background_18\n - red\n- - background_20\n - white\n- - background_21\n - white\n- - background_44\n - red\n- - background_45\n - blue\n- - background_48\n - white\n- - background_49\n - blue\n- - background_50\n - orange\n- - background_51\n - orange\n- - background_52\n - orange\n- - background_9\n - orange\n- - flag_48\n - white\ntabSetup:\n- - 0\n - - - bracket\n - null\n - - color\n - null\n - - name\n - General\n - - overview\n - DefaultPreset_639452\n- - 1\n - - - bracket\n - DefaultPreset_639437\n - - color\n - null\n - - name\n - Targets\n - - overview\n - DefaultPreset_639437\n- - 2\n - - - bracket\n - null\n - - color\n - null\n - - name\n - Mining\n - - overview\n - DefaultPreset_639442\n- - 3\n - - - bracket\n - DefaultPreset_639448\n - - color\n - null\n - - name\n - WarpTo\n - - overview\n - DefaultPreset_639448\n- - 4\n - - - bracket\n - null\n - - color\n - null\n - - name\n - All\n - - overview\n - DefaultPreset_639443\nuserSettings: []\n" +JOTUNN_DEFAULT = "\nbackgroundOrder:\n- 13\n- 44\n- 52\n- 11\n- 12\n- 14\n- 15\n- 16\n- 45\n- 49\n- 19\n- 18\n- 9\n- 51\n- 50\n- 53\n- 10\n- 20\n- 21\n- 17\n- 48\n- 66\nbackgroundStates:\n- 9\n- 10\n- 11\n- 12\n- 13\n- 14\n- 15\n- 16\n- 17\n- 18\n- 19\n- 20\n- 21\n- 44\n- 45\n- 48\n- 49\n- 50\n- 51\n- 52\n- 53\ncolumnOrder:\n- ICON\n- TAG\n- DISTANCE\n- NAME\n- TYPE\n- ALLIANCE\n- CORPORATION\n- FACTION\n- MILITIA\n- SIZE\n- VELOCITY\n- RADIALVELOCITY\n- TRANSVERSALVELOCITY\n- ANGULARVELOCITY\nflagOrder:\n- 13\n- 44\n- 52\n- 11\n- 12\n- 14\n- 15\n- 16\n- 45\n- 9\n- 51\n- 50\n- 53\n- 19\n- 18\n- 49\n- 10\n- 17\n- 48\n- 21\n- 20\n- 66\nflagStates:\n- 9\n- 10\n- 11\n- 12\n- 13\n- 14\n- 15\n- 16\n- 17\n- 18\n- 19\n- 20\n- 21\n- 44\n- 45\n- 48\n- 49\n- 50\n- 51\n- 52\n- 53\noverviewColumns:\n- ANGULARVELOCITY\n- DISTANCE\n- ICON\n- NAME\n- SIZE\n- TYPE\n- VELOCITY\npresets:\n- - DefaultPreset_639431\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 547\n - 863\n - 864\n - - description_id\n - 643866\n - - category_id\n - 3\n- - DefaultPreset_639432\n - - - alwaysShownStates\n - - 11\n - - filteredStates\n - - 9\n - 10\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 36\n - 37\n - 44\n - 45\n - 48\n - 49\n - 50\n - 51\n - 52\n - 53\n - - groups\n - - 6\n - 10\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 237\n - 324\n - 358\n - 361\n - 366\n - 380\n - 381\n - 419\n - 420\n - 463\n - 479\n - 485\n - 492\n - 513\n - 540\n - 541\n - 543\n - 547\n - 548\n - 659\n - 830\n - 831\n - 832\n - 833\n - 834\n - 863\n - 864\n - 883\n - 893\n - 894\n - 898\n - 900\n - 902\n - 906\n - 920\n - 941\n - 963\n - 988\n - 1022\n - 1149\n - 1201\n - 1202\n - 1249\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1305\n - 1527\n - 1534\n - 1538\n - 1548\n - 1704\n - 4547\n - 4548\n - 4549\n - 4594\n - 4902\n - 5120\n - 4909\n - - description_id\n - 643914\n - - category_id\n - 4\n- - DefaultPreset_639433\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 659\n - 863\n - 864\n - - description_id\n - 643912\n - - category_id\n - 3\n- - DefaultPreset_639434\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 863\n - 864\n - 1972\n - - description_id\n - 643904\n - - category_id\n - 3\n- - DefaultPreset_639451\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 863\n - 864\n - 1534\n - - description_id\n - 643898\n - - category_id\n - 3\n- - DefaultPreset_639435\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 30\n - 90\n - 863\n - 864\n - - description_id\n - 643913\n - - category_id\n - 3\n- - DefaultPreset_639436\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 237\n - 324\n - 358\n - 380\n - 381\n - 419\n - 420\n - 463\n - 479\n - 485\n - 513\n - 540\n - 541\n - 543\n - 547\n - 549\n - 659\n - 830\n - 831\n - 832\n - 833\n - 834\n - 863\n - 864\n - 883\n - 893\n - 894\n - 898\n - 900\n - 902\n - 906\n - 941\n - 963\n - 1022\n - 1023\n - 1201\n - 1202\n - 1283\n - 1305\n - 1527\n - 1534\n - 1538\n - 1548\n - 1972\n - 2001\n - 4594\n - 4902\n - 5120\n - 4909\n - - description_id\n - 643893\n - - category_id\n - 3\n- - DefaultPreset_639438\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 26\n - 90\n - 358\n - 832\n - 833\n - 863\n - 864\n - 894\n - 906\n - 963\n - - description_id\n - 643900\n - - category_id\n - 3\n- - DefaultPreset_639439\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 10\n - 366\n - 988\n - 1081\n - 1082\n - 1408\n - 4549\n - - description_id\n - 643886\n - - category_id\n - 2\n- - DefaultPreset_639441\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 549\n - 863\n - 864\n - 1023\n - 1537\n - 1652\n - 1653\n - 4777\n - 4778\n - 4779\n - - description_id\n - 643903\n - - category_id\n - 3\n- - DefaultPreset_639442\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 6\n - 9\n - 12\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 180\n - 185\n - 237\n - 279\n - 286\n - 287\n - 297\n - 298\n - 306\n - 324\n - 335\n - 337\n - 340\n - 358\n - 361\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 435\n - 448\n - 450\n - 451\n - 452\n - 453\n - 454\n - 455\n - 456\n - 457\n - 458\n - 459\n - 460\n - 461\n - 462\n - 463\n - 465\n - 467\n - 468\n - 469\n - 479\n - 485\n - 492\n - 494\n - 495\n - 496\n - 513\n - 517\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 649\n - 659\n - 665\n - 666\n - 667\n - 668\n - 669\n - 670\n - 671\n - 672\n - 673\n - 674\n - 675\n - 676\n - 677\n - 678\n - 679\n - 680\n - 681\n - 682\n - 683\n - 684\n - 685\n - 686\n - 687\n - 688\n - 689\n - 690\n - 691\n - 692\n - 693\n - 694\n - 695\n - 696\n - 697\n - 698\n - 699\n - 700\n - 701\n - 702\n - 703\n - 704\n - 705\n - 706\n - 711\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 922\n - 924\n - 925\n - 927\n - 934\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1004\n - 1005\n - 1006\n - 1007\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1081\n - 1082\n - 1149\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1207\n - 1246\n - 1247\n - 1249\n - 1250\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1285\n - 1286\n - 1287\n - 1288\n - 1297\n - 1305\n - 1307\n - 1310\n - 1312\n - 1316\n - 1402\n - 1405\n - 1406\n - 1407\n - 1409\n - 1410\n - 1411\n - 1412\n - 1413\n - 1414\n - 1452\n - 1453\n - 1454\n - 1455\n - 1465\n - 1527\n - 1529\n - 1530\n - 1534\n - 1537\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1652\n - 1653\n - 1664\n - 1665\n - 1666\n - 1667\n - 1681\n - 1682\n - 1683\n - 1684\n - 1685\n - 1686\n - 1687\n - 1688\n - 1689\n - 1690\n - 1691\n - 1692\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1731\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1764\n - 1765\n - 1766\n - 1767\n - 1768\n - 1803\n - 1813\n - 1814\n - 1878\n - 1879\n - 1880\n - 1884\n - 1895\n - 1896\n - 1909\n - 1911\n - 1915\n - 1920\n - 1921\n - 1922\n - 1923\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1956\n - 1972\n - 2006\n - 2020\n - 2022\n - 2024\n - 4029\n - 4030\n - 4031\n - 4094\n - 4161\n - 4168\n - 4513\n - 4514\n - 4515\n - 4516\n - 4568\n - 4569\n - 4570\n - 4571\n - 4572\n - 4573\n - 4574\n - 4575\n - 4577\n - 4594\n - 4755\n - 4756\n - 4757\n - 4758\n - 4759\n - 4777\n - 4778\n - 4779\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4857\n - 4902\n - 4909\n - 4913\n - 4918\n - 4930\n - 4935\n - 4936\n - 4937\n - 4938\n - 5063\n - 5064\n - 5065\n - 5066\n - 5083\n - 5084\n - 5085\n - 5086\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643882\n - - category_id\n - 5\n- - DefaultPreset_639443\n - - - alwaysShownStates\n - - 9\n - 10\n - 11\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 36\n - 37\n - 44\n - 45\n - 48\n - 49\n - 50\n - 51\n - 52\n - 53\n - 66\n - - filteredStates\n - []\n - - groups\n - - 6\n - 7\n - 8\n - 9\n - 10\n - 12\n - 14\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 99\n - 100\n - 101\n - 180\n - 182\n - 185\n - 186\n - 226\n - 237\n - 279\n - 286\n - 287\n - 288\n - 297\n - 298\n - 301\n - 306\n - 307\n - 310\n - 311\n - 318\n - 319\n - 323\n - 324\n - 336\n - 337\n - 340\n - 358\n - 361\n - 363\n - 365\n - 366\n - 380\n - 381\n - 383\n - 397\n - 404\n - 411\n - 413\n - 416\n - 417\n - 419\n - 420\n - 426\n - 430\n - 435\n - 438\n - 439\n - 440\n - 441\n - 443\n - 444\n - 446\n - 448\n - 449\n - 450\n - 451\n - 452\n - 453\n - 454\n - 455\n - 456\n - 457\n - 458\n - 459\n - 460\n - 461\n - 462\n - 463\n - 465\n - 467\n - 468\n - 469\n - 471\n - 473\n - 479\n - 485\n - 492\n - 494\n - 495\n - 496\n - 513\n - 517\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 544\n - 547\n - 548\n - 549\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 639\n - 640\n - 641\n - 649\n - 659\n - 665\n - 666\n - 667\n - 668\n - 669\n - 670\n - 671\n - 672\n - 673\n - 674\n - 675\n - 676\n - 677\n - 678\n - 679\n - 680\n - 681\n - 682\n - 683\n - 684\n - 685\n - 686\n - 687\n - 688\n - 689\n - 690\n - 691\n - 692\n - 693\n - 694\n - 695\n - 696\n - 697\n - 698\n - 699\n - 700\n - 701\n - 702\n - 703\n - 704\n - 705\n - 706\n - 707\n - 709\n - 711\n - 715\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 784\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 837\n - 838\n - 839\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 874\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 920\n - 922\n - 924\n - 925\n - 927\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1005\n - 1006\n - 1007\n - 1012\n - 1022\n - 1023\n - 1025\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1071\n - 1106\n - 1159\n - 1165\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1207\n - 1212\n - 1246\n - 1247\n - 1249\n - 1250\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1273\n - 1275\n - 1276\n - 1282\n - 1283\n - 1285\n - 1286\n - 1287\n - 1288\n - 1305\n - 1307\n - 1310\n - 1316\n - 1402\n - 1404\n - 1406\n - 1408\n - 1411\n - 1412\n - 1413\n - 1414\n - 1452\n - 1453\n - 1454\n - 1455\n - 1465\n - 1527\n - 1529\n - 1530\n - 1534\n - 1537\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1652\n - 1653\n - 1657\n - 1664\n - 1665\n - 1666\n - 1667\n - 1681\n - 1682\n - 1683\n - 1684\n - 1685\n - 1686\n - 1687\n - 1688\n - 1689\n - 1690\n - 1691\n - 1692\n - 1704\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1731\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1764\n - 1765\n - 1766\n - 1767\n - 1768\n - 1788\n - 1789\n - 1790\n - 1791\n - 1792\n - 1793\n - 1794\n - 1795\n - 1796\n - 1797\n - 1798\n - 1799\n - 1800\n - 1803\n - 1804\n - 1805\n - 1806\n - 1807\n - 1813\n - 1814\n - 1872\n - 1876\n - 1878\n - 1879\n - 1880\n - 1884\n - 1895\n - 1896\n - 1909\n - 1911\n - 1915\n - 1920\n - 1921\n - 1922\n - 1923\n - 1924\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1956\n - 1972\n - 1978\n - 1981\n - 1982\n - 1991\n - 1997\n - 1998\n - 2001\n - 2005\n - 2006\n - 2009\n - 2015\n - 2016\n - 2017\n - 2020\n - 2022\n - 2024\n - 4028\n - 4029\n - 4030\n - 4031\n - 4033\n - 4034\n - 4035\n - 4036\n - 4037\n - 4053\n - 4070\n - 4073\n - 4079\n - 4081\n - 4088\n - 4093\n - 4094\n - 4100\n - 4105\n - 4106\n - 4107\n - 4128\n - 4130\n - 4137\n - 4161\n - 4168\n - 4431\n - 4432\n - 4433\n - 4434\n - 4477\n - 4494\n - 4499\n - 4501\n - 4513\n - 4514\n - 4515\n - 4516\n - 4547\n - 4548\n - 4549\n - 4568\n - 4569\n - 4570\n - 4571\n - 4572\n - 4573\n - 4574\n - 4575\n - 4576\n - 4577\n - 4594\n - 4636\n - 4637\n - 4638\n - 4644\n - 4647\n - 4648\n - 4649\n - 4650\n - 4651\n - 4652\n - 4653\n - 4654\n - 4655\n - 4656\n - 4673\n - 4712\n - 4713\n - 4755\n - 4756\n - 4757\n - 4758\n - 4759\n - 4736\n - 4744\n - 4777\n - 4778\n - 4779\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4857\n - 4902\n - 4909\n - 4913\n - 4918\n - 4930\n - 4935\n - 4936\n - 4937\n - 4938\n - 5032\n - 5122\n - 5123\n - 5124\n - 5125\n - 5154\n - 5063\n - 5064\n - 5065\n - 5066\n - 5083\n - 5084\n - 5085\n - 5086\n - 5087\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643880\n - - category_id\n - 1\n- - DefaultPreset_639463\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 100\n - 101\n - 544\n - 549\n - 639\n - 640\n - 641\n - 863\n - 864\n - 1023\n - 1159\n - 1537\n - 1652\n - 1653\n - 4777\n - 4778\n - 4779\n - - description_id\n - 643902\n - - category_id\n - 3\n- - DefaultPreset_639444\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 21\n - - groups\n - - 6\n - 10\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 237\n - 286\n - 310\n - 324\n - 337\n - 358\n - 361\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 463\n - 479\n - 485\n - 492\n - 513\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 659\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 920\n - 925\n - 941\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1149\n - 1201\n - 1202\n - 1246\n - 1249\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1305\n - 1310\n - 1316\n - 1404\n - 1406\n - 1408\n - 1527\n - 1534\n - 1538\n - 1548\n - 1657\n - 1704\n - 1876\n - 1924\n - 1972\n - 2016\n - 2017\n - 2020\n - 4107\n - 4477\n - 4499\n - 4547\n - 4548\n - 4549\n - 4568\n - 4594\n - 4644\n - 4736\n - 4744\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 5120\n - - description_id\n - 643891\n - - category_id\n - 1\n- - DefaultPreset_639446\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 833\n - 863\n - 864\n - 906\n - - description_id\n - 643909\n - - category_id\n - 3\n- - DefaultPreset_639447\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 30\n - 90\n - 485\n - 513\n - 547\n - 659\n - 863\n - 864\n - 883\n - 902\n - 941\n - 1538\n - 4594\n - 5120\n - - description_id\n - 643896\n - - category_id\n - 3\n- - DefaultPreset_639449\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 540\n - 863\n - 864\n - 963\n - - description_id\n - 643899\n - - category_id\n - 3\n- - DefaultPreset_639450\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 310\n - 318\n - 897\n - 920\n - 1003\n - 1012\n - 1081\n - 1082\n - 1316\n - 1915\n - 1978\n - 1991\n - 1998\n - 2020\n - 4033\n - 4079\n - 4081\n - - description_id\n - 643887\n - - category_id\n - 2\n- - DefaultPreset_639445\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 25\n - 31\n - 90\n - 237\n - 324\n - 420\n - 541\n - 830\n - 831\n - 834\n - 863\n - 864\n - 893\n - 1022\n - 1283\n - 1305\n - 1527\n - 1534\n - - description_id\n - 643906\n - - category_id\n - 3\n- - DefaultPreset_639453\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 863\n - 864\n - 1538\n - - description_id\n - 643905\n - - category_id\n - 3\n- - DefaultPreset_639454\n - - - alwaysShownStates\n - - 13\n - 44\n - - filteredStates\n - - 9\n - 10\n - 11\n - 12\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 36\n - 37\n - 45\n - 48\n - 49\n - 50\n - 51\n - 52\n - 53\n - - groups\n - - 6\n - 10\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 237\n - 310\n - 324\n - 337\n - 358\n - 361\n - 365\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 463\n - 479\n - 485\n - 492\n - 513\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 659\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 920\n - 925\n - 941\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1005\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1149\n - 1201\n - 1202\n - 1249\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1305\n - 1316\n - 1404\n - 1406\n - 1408\n - 1527\n - 1534\n - 1538\n - 1548\n - 1657\n - 1704\n - 1972\n - 2016\n - 2017\n - 2020\n - 4079\n - 4093\n - 4107\n - 4137\n - 4477\n - 4494\n - 4499\n - 4547\n - 4548\n - 4549\n - 4594\n - 4644\n - 4736\n - 4744\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 5120\n - - description_id\n - 643892\n - - category_id\n - 1\n- - DefaultPreset_639455\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 15\n - 1081\n - 1082\n - 1404\n - 1406\n - 1657\n - 4644\n - 4736\n - 4744\n - - description_id\n - 643885\n - - category_id\n - 2\n- - DefaultPreset_639456\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 29\n - 90\n - 863\n - 864\n - - description_id\n - 643897\n - - category_id\n - 3\n- - DefaultPreset_639437\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 100\n - 101\n - 237\n - 324\n - 358\n - 380\n - 381\n - 419\n - 420\n - 463\n - 479\n - 485\n - 513\n - 540\n - 541\n - 543\n - 544\n - 547\n - 549\n - 639\n - 640\n - 641\n - 659\n - 830\n - 831\n - 832\n - 833\n - 834\n - 863\n - 864\n - 883\n - 893\n - 894\n - 898\n - 900\n - 902\n - 906\n - 941\n - 963\n - 1022\n - 1023\n - 1159\n - 1201\n - 1202\n - 1283\n - 1305\n - 1527\n - 1534\n - 1537\n - 1538\n - 1548\n - 1652\n - 1653\n - 1972\n - 2001\n - 4594\n - 4745\n - 4777\n - 4778\n - 4779\n - 4902\n - 5120\n - - description_id\n - 643883\n - - category_id\n - 3\n- - DefaultPreset_639457\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 361\n - 541\n - 548\n - 863\n - 864\n - 894\n - - description_id\n - 643907\n - - category_id\n - 3\n- - DefaultPreset_639458\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 27\n - 90\n - 381\n - 863\n - 864\n - 898\n - 900\n - - description_id\n - 643895\n - - category_id\n - 3\n- - DefaultPreset_639440\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 834\n - - description_id\n - 643910\n - - category_id\n - 3\n- - DefaultPreset_639459\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 30\n - 90\n - 659\n - 863\n - 864\n - - description_id\n - 643911\n - - category_id\n - 3\n- - DefaultPreset_639460\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 485\n - 863\n - 864\n - 4594\n - - description_id\n - 643901\n - - category_id\n - 3\n- - DefaultPreset_639461\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 832\n - 863\n - 864\n - 1527\n - 1538\n - - description_id\n - 643908\n - - category_id\n - 3\n- - DefaultPreset_639462\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 6\n - 10\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 180\n - 185\n - 237\n - 279\n - 286\n - 287\n - 297\n - 298\n - 306\n - 310\n - 324\n - 335\n - 337\n - 358\n - 361\n - 365\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 435\n - 463\n - 479\n - 485\n - 492\n - 494\n - 495\n - 496\n - 513\n - 517\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 659\n - 665\n - 666\n - 667\n - 668\n - 669\n - 670\n - 671\n - 672\n - 673\n - 674\n - 675\n - 676\n - 677\n - 678\n - 679\n - 680\n - 681\n - 682\n - 683\n - 684\n - 685\n - 686\n - 687\n - 688\n - 689\n - 690\n - 691\n - 692\n - 693\n - 694\n - 695\n - 696\n - 697\n - 698\n - 699\n - 700\n - 701\n - 702\n - 703\n - 704\n - 705\n - 706\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 920\n - 922\n - 924\n - 925\n - 927\n - 934\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1004\n - 1005\n - 1006\n - 1007\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1081\n - 1082\n - 1149\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1207\n - 1246\n - 1247\n - 1249\n - 1250\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1285\n - 1286\n - 1287\n - 1288\n - 1305\n - 1307\n - 1310\n - 1312\n - 1316\n - 1402\n - 1404\n - 1406\n - 1408\n - 1411\n - 1412\n - 1413\n - 1414\n - 1452\n - 1453\n - 1454\n - 1455\n - 1465\n - 1527\n - 1529\n - 1530\n - 1534\n - 1537\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1652\n - 1653\n - 1657\n - 1664\n - 1665\n - 1666\n - 1667\n - 1681\n - 1682\n - 1683\n - 1684\n - 1685\n - 1686\n - 1687\n - 1688\n - 1689\n - 1690\n - 1691\n - 1692\n - 1704\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1731\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1764\n - 1765\n - 1766\n - 1767\n - 1768\n - 1788\n - 1789\n - 1790\n - 1791\n - 1792\n - 1793\n - 1794\n - 1795\n - 1796\n - 1797\n - 1798\n - 1799\n - 1800\n - 1803\n - 1804\n - 1805\n - 1806\n - 1807\n - 1813\n - 1814\n - 1876\n - 1878\n - 1879\n - 1880\n - 1895\n - 1896\n - 1909\n - 1924\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1956\n - 1972\n - 1981\n - 1982\n - 1991\n - 1997\n - 2009\n - 2016\n - 2017\n - 2020\n - 4028\n - 4034\n - 4035\n - 4036\n - 4037\n - 4053\n - 4079\n - 4093\n - 4105\n - 4106\n - 4107\n - 4137\n - 4431\n - 4432\n - 4433\n - 4434\n - 4477\n - 4494\n - 4499\n - 4501\n - 4547\n - 4548\n - 4549\n - 4568\n - 4569\n - 4570\n - 4571\n - 4572\n - 4573\n - 4574\n - 4575\n - 4576\n - 4577\n - 4594\n - 4636\n - 4637\n - 4638\n - 4644\n - 4647\n - 4648\n - 4649\n - 4650\n - 4651\n - 4652\n - 4653\n - 4654\n - 4655\n - 4656\n - 4673\n - 4712\n - 4713\n - 4736\n - 4744\n - 4777\n - 4778\n - 4779\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 4909\n - 4913\n - 5032\n - 5122\n - 5123\n - 5124\n - 5125\n - 5154\n - 5063\n - 5064\n - 5065\n - 5066\n - 5087\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643888\n - - category_id\n - 1\n- - DefaultPreset_639452\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 6\n - 10\n - 12\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 180\n - 185\n - 186\n - 237\n - 279\n - 286\n - 287\n - 297\n - 298\n - 306\n - 310\n - 319\n - 324\n - 335\n - 337\n - 340\n - 358\n - 361\n - 365\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 435\n - 448\n - 463\n - 479\n - 485\n - 492\n - 494\n - 495\n - 496\n - 513\n - 517\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 649\n - 659\n - 665\n - 666\n - 667\n - 668\n - 669\n - 670\n - 671\n - 672\n - 673\n - 674\n - 675\n - 676\n - 677\n - 678\n - 679\n - 680\n - 681\n - 682\n - 683\n - 684\n - 685\n - 686\n - 687\n - 688\n - 689\n - 690\n - 691\n - 692\n - 693\n - 694\n - 695\n - 696\n - 697\n - 698\n - 699\n - 700\n - 701\n - 702\n - 703\n - 704\n - 705\n - 706\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 920\n - 922\n - 924\n - 925\n - 927\n - 934\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1004\n - 1005\n - 1006\n - 1007\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1081\n - 1082\n - 1149\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1207\n - 1246\n - 1247\n - 1249\n - 1250\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1285\n - 1286\n - 1287\n - 1288\n - 1305\n - 1307\n - 1310\n - 1312\n - 1316\n - 1402\n - 1404\n - 1406\n - 1408\n - 1411\n - 1412\n - 1413\n - 1414\n - 1452\n - 1453\n - 1454\n - 1455\n - 1465\n - 1527\n - 1529\n - 1530\n - 1534\n - 1537\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1652\n - 1653\n - 1657\n - 1664\n - 1665\n - 1666\n - 1667\n - 1681\n - 1682\n - 1683\n - 1684\n - 1685\n - 1686\n - 1687\n - 1688\n - 1689\n - 1690\n - 1691\n - 1692\n - 1704\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1731\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1764\n - 1765\n - 1766\n - 1767\n - 1768\n - 1788\n - 1789\n - 1790\n - 1791\n - 1792\n - 1793\n - 1794\n - 1795\n - 1796\n - 1797\n - 1798\n - 1799\n - 1800\n - 1803\n - 1804\n - 1805\n - 1806\n - 1807\n - 1813\n - 1814\n - 1876\n - 1878\n - 1879\n - 1880\n - 1895\n - 1896\n - 1909\n - 1924\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1956\n - 1972\n - 1981\n - 1982\n - 1991\n - 1997\n - 2009\n - 2016\n - 2017\n - 2020\n - 4028\n - 4034\n - 4035\n - 4036\n - 4037\n - 4053\n - 4079\n - 4093\n - 4105\n - 4106\n - 4107\n - 4137\n - 4431\n - 4432\n - 4433\n - 4434\n - 4477\n - 4494\n - 4499\n - 4501\n - 4547\n - 4548\n - 4549\n - 4568\n - 4569\n - 4570\n - 4571\n - 4572\n - 4573\n - 4574\n - 4575\n - 4576\n - 4577\n - 4594\n - 4636\n - 4637\n - 4638\n - 4644\n - 4647\n - 4648\n - 4649\n - 4650\n - 4651\n - 4652\n - 4653\n - 4654\n - 4655\n - 4656\n - 4673\n - 4712\n - 4713\n - 4736\n - 4744\n - 4777\n - 4778\n - 4779\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 4909\n - 4913\n - 5032\n - 5122\n - 5123\n - 5124\n - 5125\n - 5154\n - 5063\n - 5064\n - 5065\n - 5066\n - 5087\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643881\n - - category_id\n - 1\n- - DefaultPreset_639448\n - - - alwaysShownStates\n - []\n - - filteredStates\n - []\n - - groups\n - - 6\n - 7\n - 8\n - 9\n - 10\n - 988\n - 1081\n - 1082\n - 4547\n - 4548\n - 4549\n - - description_id\n - 643884\n - - category_id\n - 2\n- - DefaultPreset_639464\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 17\n - 21\n - 48\n - - groups\n - - 6\n - 12\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 180\n - 185\n - 226\n - 237\n - 287\n - 306\n - 310\n - 319\n - 324\n - 324\n - 337\n - 358\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 435\n - 463\n - 485\n - 494\n - 495\n - 496\n - 513\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 659\n - 665\n - 666\n - 667\n - 668\n - 669\n - 670\n - 671\n - 672\n - 673\n - 674\n - 675\n - 676\n - 677\n - 678\n - 679\n - 680\n - 681\n - 682\n - 683\n - 684\n - 685\n - 686\n - 687\n - 688\n - 689\n - 690\n - 691\n - 692\n - 693\n - 694\n - 695\n - 696\n - 697\n - 698\n - 699\n - 700\n - 701\n - 702\n - 703\n - 704\n - 705\n - 706\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 898\n - 900\n - 902\n - 906\n - 924\n - 925\n - 927\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1006\n - 1007\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1283\n - 1288\n - 1305\n - 1307\n - 1310\n - 1408\n - 1452\n - 1453\n - 1454\n - 1455\n - 1527\n - 1534\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1664\n - 1665\n - 1666\n - 1667\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1895\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1972\n - 4594\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 4909\n - 5063\n - 5064\n - 5065\n - 5066\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643890\n - - category_id\n - 1\n- - DefaultPreset_639465\n - - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 90\n - 419\n - 540\n - 863\n - 864\n - 1201\n - 4902\n - - description_id\n - 643894\n - - category_id\n - 3\n- - DefaultPreset_639466\n - - - alwaysShownStates\n - []\n - - filteredStates\n - - 11\n - 12\n - 14\n - 15\n - 16\n - 21\n - 45\n - 49\n - - groups\n - - 6\n - 10\n - 15\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 90\n - 185\n - 237\n - 286\n - 287\n - 288\n - 306\n - 310\n - 324\n - 337\n - 358\n - 361\n - 365\n - 366\n - 380\n - 381\n - 383\n - 419\n - 420\n - 435\n - 463\n - 479\n - 485\n - 492\n - 494\n - 495\n - 496\n - 513\n - 520\n - 522\n - 523\n - 527\n - 533\n - 534\n - 540\n - 541\n - 543\n - 547\n - 548\n - 550\n - 551\n - 552\n - 553\n - 554\n - 555\n - 556\n - 557\n - 558\n - 559\n - 560\n - 561\n - 562\n - 563\n - 564\n - 565\n - 566\n - 567\n - 568\n - 569\n - 570\n - 571\n - 572\n - 573\n - 574\n - 575\n - 576\n - 577\n - 578\n - 579\n - 580\n - 581\n - 582\n - 583\n - 584\n - 593\n - 594\n - 595\n - 596\n - 597\n - 602\n - 603\n - 604\n - 605\n - 606\n - 611\n - 612\n - 613\n - 614\n - 615\n - 620\n - 621\n - 622\n - 623\n - 624\n - 629\n - 630\n - 631\n - 632\n - 633\n - 659\n - 755\n - 756\n - 757\n - 758\n - 759\n - 760\n - 761\n - 789\n - 790\n - 791\n - 792\n - 793\n - 794\n - 795\n - 796\n - 797\n - 798\n - 799\n - 800\n - 801\n - 802\n - 803\n - 804\n - 805\n - 806\n - 807\n - 808\n - 809\n - 810\n - 811\n - 812\n - 813\n - 814\n - 816\n - 817\n - 818\n - 819\n - 820\n - 821\n - 822\n - 823\n - 824\n - 825\n - 826\n - 827\n - 828\n - 829\n - 830\n - 831\n - 832\n - 833\n - 834\n - 835\n - 836\n - 843\n - 844\n - 845\n - 846\n - 847\n - 848\n - 849\n - 850\n - 851\n - 852\n - 861\n - 863\n - 864\n - 865\n - 866\n - 867\n - 868\n - 875\n - 883\n - 893\n - 894\n - 897\n - 898\n - 900\n - 902\n - 906\n - 922\n - 924\n - 925\n - 927\n - 941\n - 952\n - 959\n - 960\n - 961\n - 963\n - 982\n - 983\n - 984\n - 985\n - 986\n - 987\n - 988\n - 1003\n - 1006\n - 1007\n - 1012\n - 1022\n - 1051\n - 1052\n - 1053\n - 1054\n - 1056\n - 1149\n - 1166\n - 1167\n - 1168\n - 1169\n - 1174\n - 1175\n - 1176\n - 1177\n - 1178\n - 1179\n - 1180\n - 1181\n - 1182\n - 1183\n - 1184\n - 1185\n - 1186\n - 1201\n - 1202\n - 1207\n - 1249\n - 1252\n - 1255\n - 1259\n - 1262\n - 1265\n - 1273\n - 1274\n - 1275\n - 1276\n - 1283\n - 1285\n - 1286\n - 1287\n - 1288\n - 1305\n - 1307\n - 1310\n - 1312\n - 1316\n - 1402\n - 1404\n - 1406\n - 1408\n - 1411\n - 1412\n - 1413\n - 1414\n - 1452\n - 1453\n - 1454\n - 1455\n - 1465\n - 1527\n - 1529\n - 1530\n - 1534\n - 1538\n - 1548\n - 1566\n - 1567\n - 1568\n - 1657\n - 1664\n - 1665\n - 1666\n - 1667\n - 1681\n - 1682\n - 1683\n - 1684\n - 1685\n - 1686\n - 1687\n - 1688\n - 1689\n - 1690\n - 1691\n - 1692\n - 1720\n - 1721\n - 1722\n - 1724\n - 1725\n - 1726\n - 1727\n - 1728\n - 1729\n - 1731\n - 1734\n - 1735\n - 1736\n - 1737\n - 1759\n - 1761\n - 1762\n - 1803\n - 1813\n - 1814\n - 1876\n - 1878\n - 1879\n - 1880\n - 1895\n - 1909\n - 1924\n - 1925\n - 1926\n - 1927\n - 1928\n - 1929\n - 1972\n - 2016\n - 2017\n - 2020\n - 4053\n - 4079\n - 4093\n - 4107\n - 4137\n - 4431\n - 4432\n - 4433\n - 4434\n - 4477\n - 4494\n - 4499\n - 4547\n - 4548\n - 4549\n - 4594\n - 4636\n - 4637\n - 4638\n - 4644\n - 4647\n - 4648\n - 4649\n - 4650\n - 4651\n - 4652\n - 4653\n - 4654\n - 4655\n - 4656\n - 4673\n - 4712\n - 4713\n - 4736\n - 4744\n - 4795\n - 4796\n - 4797\n - 4798\n - 4799\n - 4800\n - 4801\n - 4802\n - 4803\n - 4804\n - 4902\n - 4909\n - 5063\n - 5064\n - 5065\n - 5066\n - 5089\n - 5090\n - 5096\n - 5097\n - 5098\n - 5099\n - 5100\n - 5101\n - 5102\n - 5120\n - - description_id\n - 643889\n - - category_id\n - 1\nshipLabelOrder:\n- ship type\n- alliance\n- corporation\n- ship name\n- null\n- linebreak\n- pilot name\nshipLabels:\n- - null\n - - - post\n - ''\n - - pre\n - ''\n - - state\n - 1\n - - type\n - null\n- - alliance\n - - - color\n - - 1.0\n - 0.91400000000000003\n - 0.0\n - - fontsize\n - 12\n - - post\n - ']'\n - - pre\n - ' ['\n - - state\n - 1\n - - type\n - alliance\n- - corporation\n - - - fontsize\n - 11\n - - post\n - ']'\n - - pre\n - ' ['\n - - state\n - 1\n - - type\n - corporation\n- - linebreak\n - - - bold\n - false\n - - color\n - null\n - - fontsize\n - null\n - - italic\n - false\n - - post\n - null\n - - pre\n - null\n - - state\n - null\n - - type\n - linebreak\n - - underline\n - false\n- - pilot name\n - - - fontsize\n - 11\n - - post\n - '] -'\n - - pre\n - '['\n - - state\n - 1\n - - type\n - pilot name\n- - ship name\n - - - italic\n - 1\n - - post\n - ''\n - - pre\n - ' '\n - - state\n - 0\n - - type\n - ship name\n- - ship type\n - - - bold\n - 1\n - - color\n - - 1.0\n - 1.0\n - 1.0\n - - fontsize\n - 12\n - - post\n - ''\n - - pre\n - ''\n - - state\n - 1\n - - type\n - ship type\nstateBlinks:\n- - background_13\n - false\n- - background_44\n - false\n- - flag_13\n - true\n- - flag_44\n - true\n- - flag_50\n - false\n- - flag_51\n - true\n- - flag_52\n - true\n- - flag_9\n - true\nstateColorsNameList:\n- - background_10\n - white\n- - background_12\n - darkBlue\n- - background_16\n - darkBlue\n- - background_18\n - red\n- - background_20\n - white\n- - background_21\n - white\n- - background_44\n - red\n- - background_45\n - blue\n- - background_48\n - white\n- - background_49\n - blue\n- - background_50\n - orange\n- - background_51\n - orange\n- - background_52\n - orange\n- - background_9\n - orange\n- - flag_48\n - white\ntabSetup:\n- - 0\n - - - bracket\n - null\n - - color\n - null\n - - name\n - General\n - - overview\n - DefaultPreset_639452\n- - 1\n - - - bracket\n - DefaultPreset_639437\n - - color\n - null\n - - name\n - Targets\n - - overview\n - DefaultPreset_639437\n- - 2\n - - - bracket\n - null\n - - color\n - null\n - - name\n - Mining\n - - overview\n - DefaultPreset_639442\n- - 3\n - - - bracket\n - DefaultPreset_639448\n - - color\n - null\n - - name\n - WarpTo\n - - overview\n - DefaultPreset_639448\n- - 4\n - - - bracket\n - null\n - - color\n - null\n - - name\n - All\n - - overview\n - DefaultPreset_639443\nuserSettings: []\n" diff --git a/eve/client/script/parklife/playerOwned.py b/eve/client/script/parklife/playerOwned.py @@ -447,9 +447,9 @@ class PlayerOwned(Service): if item and item.controllerID or force: for typeAttribute in dogma.data.get_type_attributes(item.typeID): if typeAttribute.attributeID == const.attributePosPlayerControlStructure: - if self.currentcontrol.has_key(item.itemID): + if item.itemID in self.currentcontrol: del self.currentcontrol[item.itemID] - if self.currenttargets.has_key(item.itemID): + if item.itemID in self.currenttargets: del self.currenttargets[item.itemID] if not silent: try: @@ -463,7 +463,7 @@ class PlayerOwned(Service): break def UnlockStructureTarget(self, structureID): - if self.currenttargets.has_key(structureID): + if structureID in self.currenttargets: sm.GetService('pwntarget').UnLockTargetOBO(structureID, self.currenttargets[structureID]) del self.currenttargets[structureID] @@ -476,7 +476,7 @@ class PlayerOwned(Service): ct = cfg.eveowners.Get(controller).name else: ct = localization.GetByLabel('UI/Generic/NotAvailableShort') - if self.currenttargets.has_key(itemID): + if itemID in self.currenttargets: del self.currenttargets[itemID] return (controller, ct) @@ -487,11 +487,11 @@ class PlayerOwned(Service): if what == 'add': self.currenttargets[sid] = tid elif what == 'lost': - if self.currenttargets.has_key(sid): + if sid in self.currenttargets: del self.currenttargets[sid] def ClrCurrentTarget(self, structureID = None): - if structureID and self.currenttargets.has_key(structureID): + if structureID and structureID in self.currenttargets: del self.currenttargets[structureID] del self.currentcontrol[structureID] elif structureID is None: diff --git a/eve/client/script/parklife/recorder.py b/eve/client/script/parklife/recorder.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/parklife/recorder.py +from __future__ import print_function import blue from carbon.common.script.sys.service import Service @@ -74,7 +75,7 @@ class EventRecorder(Service): def EndStateCapture(self, filepath): self.capturingState = False import cPickle - print 'Writing State out' + print('Writing State out') f = open(filepath, 'wb') cPickle.dump((self.initialState[0], self.initialState[1], self.capturedStateUpdates), f) f.close() diff --git a/eve/client/script/parklife/scenarioMgr.py b/eve/client/script/parklife/scenarioMgr.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/parklife/scenarioMgr.py +from __future__ import print_function import random import sys import math @@ -101,7 +102,7 @@ class ScenarioMgr(Service): if ed: ed.EditDungeon(dungeonID, roomID=roomID) else: - print 'I have no ed instance' + print('I have no ed instance') def PlayDungeon(self, dungeonID, roomID, godmode = 1): ed = self.GetLevelEditor() @@ -110,7 +111,7 @@ class ScenarioMgr(Service): roomID = int(roomID) ed.PlayDungeon(dungeonID, roomID=roomID, godmode=godmode) else: - print 'I have no ed instance' + print('I have no ed instance') def ResetDungeon(self): ed = self.GetLevelEditor() @@ -123,7 +124,7 @@ class ScenarioMgr(Service): self.unsavedChanges = {} self.lockedObjects = {} else: - print 'I have no ed instance' + print('I have no ed instance') def GotoRoom(self, roomID): ed = self.GetLevelEditor() diff --git a/eve/client/script/parklife/spaceMgr.py b/eve/client/script/parklife/spaceMgr.py @@ -143,7 +143,7 @@ class SpaceMgr(Service): self.unloadables.add(slimItem.itemID) return ob.Prepare() - except StandardError: + except Exception: log.LogException('Error adding SpaceObject (%s, %s, %s) of type %s to scene' % (str(ball), str(slimItem), str(ob), diff --git a/eve/client/script/parklife/tactical.py b/eve/client/script/parklife/tactical.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/parklife/tactical.py +from __future__ import print_function import sys from collections import defaultdict import blue @@ -513,22 +514,22 @@ class TacticalSvc(Service): return False def UpdateStates(self, slimItem, uiwindow): - print 'Deprecated, TacticalSvc.UpdateStates, call UpdateFlagAndBackground on the uiwindow instead' + print('Deprecated, TacticalSvc.UpdateStates, call UpdateFlagAndBackground on the uiwindow instead') def UpdateBackground(self, slimItem, uiwindow): - print 'Deprecated, TacticalSvc.UpdateBackground, call on the uiwindow instead' + print('Deprecated, TacticalSvc.UpdateBackground, call on the uiwindow instead') def UpdateIcon(self, slimItem, uiwindow): - print 'Deprecated, TacticalSvc.UpdateIcon, call UpdateIconColor on the uiwindow instead' + print('Deprecated, TacticalSvc.UpdateIcon, call UpdateIconColor on the uiwindow instead') def UpdateFlag(self, slimItem, uiwindow): - print 'Deprecated, TacticalSvc.UpdateFlag, call on the uiwindow instead' + print('Deprecated, TacticalSvc.UpdateFlag, call on the uiwindow instead') def GetFlagUI(self, parent): - print 'Deprecated, TacticalSvc.GetFlagUI, make the icon yourself' + print('Deprecated, TacticalSvc.GetFlagUI, make the icon yourself') def UpdateFlagPositions(self, uiwindow, icon = None): - print 'Deprecated, TacticalSvc.UpdateFlagPositions, call on the uiwindow instead' + print('Deprecated, TacticalSvc.UpdateFlagPositions, call on the uiwindow instead') def MarkFlagsAsDirty(self): self.dirtyFlags.clear() diff --git a/eve/client/script/parklife/tacticalConst.py b/eve/client/script/parklife/tacticalConst.py @@ -16,6 +16,7 @@ filterGroups = {invconst.groupStationServices, invconst.groupPlanetaryCloud, invconst.groupCommandPins, invconst.groupExtractorPins, + invconst.groupPirateSpawners, invconst.groupPlanetaryLinks, invconst.groupProcessPins, invconst.groupSpaceportPins, diff --git a/eve/client/script/parklife/targetMgr.py b/eve/client/script/parklife/targetMgr.py @@ -1264,7 +1264,7 @@ class TargetMgr(Service): def LockTarget(self, tid, autotargeting = 0): try: self._LockTarget(tid, autotargeting) - except StandardError: + except Exception: self.FailLockTarget(tid) sys.exc_clear() diff --git a/eve/client/script/remote/michelle.py b/eve/client/script/remote/michelle.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/remote/michelle.py +from __future__ import print_function import math import sys from operator import attrgetter @@ -439,7 +440,7 @@ class Michelle(Service): try: unpackagedActions = blue.marshal.Load(action[1][1]) expandedStates.extend(unpackagedActions) - except StandardError: + except Exception: log.LogException('Exception whilst expanding a PackagedAction') sys.exc_clear() @@ -490,28 +491,28 @@ class Michelle(Service): posttTime = blue.os.GetWallclockTime() postrTime = blue.os.GetWallclockTimeNow() pdiff = math.sqrt((ball.x - x) ** 2 + (ball.y - y) ** 2 + (ball.z - z) ** 2) - print '------------------------------------------------------------------------------------' - print 'Ticks: client(%s) to server(%s) = %s, server(%s) to client(%s) = %s' % (presTime, + print('------------------------------------------------------------------------------------') + print('Ticks: client(%s) to server(%s) = %s, server(%s) to client(%s) = %s' % (presTime, sTime, sTime - presTime, sTime, postsTime, - postsTime - sTime) - print 'Time: client to server %s, server to client %s. Total time to handle call %s' % (FmtSec(rTime - prerTime), FmtSec(postrTime - rTime), FmtSec(postrTime - prerTime)) - print 'pre diff %s on server %s, post diff %s' % (ldiff, diff, pdiff) + postsTime - sTime)) + print('Time: client to server %s, server to client %s. Total time to handle call %s' % (FmtSec(rTime - prerTime), FmtSec(postrTime - rTime), FmtSec(postrTime - prerTime))) + print('pre diff %s on server %s, post diff %s' % (ldiff, diff, pdiff)) if sTime - postsTime > 0: - print 'We are behind the server, lets catch up' + print('We are behind the server, lets catch up') last = lpark.currentTime while sTime - lpark.currentTime >= 0: if last != lpark.currentTime: last = lpark.currentTime - print 'pos diff at step %s is %s' % (lpark.currentTime, math.sqrt((ball.x - x) ** 2 + (ball.y - y) ** 2 + (ball.z - z) ** 2)) + print('pos diff at step %s is %s' % (lpark.currentTime, math.sqrt((ball.x - x) ** 2 + (ball.y - y) ** 2 + (ball.z - z) ** 2))) blue.pyos.synchro.Yield() elif sTime - postsTime == 0: - print 'client and server match, as the client should be ahead there is some lag' + print('client and server match, as the client should be ahead there is some lag') else: - print 'We are ahead of the server (at least when the call had come back), to handle this case we need the pos history for the last 10 ticks or so' + print('We are ahead of the server (at least when the call had come back), to handle this case we need the pos history for the last 10 ticks or so') def Dispatcher(self): while self.state in (SERVICE_RUNNING, SERVICE_START_PENDING): @@ -521,7 +522,7 @@ class Michelle(Service): if orders is None: return self.ProcessDispatchOrders(orders) - except StandardError: + except Exception: self.LogError('In michelle.Dispatcher') log.LogException() sys.exc_clear() @@ -531,7 +532,7 @@ class Michelle(Service): if locationsToPrime: try: cfg.evelocations.Prime(locationsToPrime) - except StandardError: + except Exception: self.LogError('In michelle.Dispatcher') log.LogException() sys.exc_clear() @@ -539,7 +540,7 @@ class Michelle(Service): if ownersToPrime: try: cfg.eveowners.Prime(ownersToPrime) - except StandardError: + except Exception: self.LogError('In michelle.Dispatcher') log.LogException() sys.exc_clear() @@ -547,7 +548,7 @@ class Michelle(Service): if tickersToPrime: try: cfg.corptickernames.Prime(tickersToPrime) - except StandardError: + except Exception: self.LogError('In michelle.Dispatcher') log.LogException() sys.exc_clear() @@ -555,7 +556,7 @@ class Michelle(Service): if allyTickersToPrime: try: cfg.allianceshortnames.Prime(allyTickersToPrime) - except StandardError: + except Exception: self.LogError('In michelle.Dispatcher') log.LogException() sys.exc_clear() @@ -565,10 +566,10 @@ class Michelle(Service): try: if self.__bp and ballID in self.__bp.balls: ball = self.__bp.balls[ballID] - if not self.__bp.slimItems.has_key(ballID): + if ballID not in self.__bp.slimItems: realBalls[ballID] = (ball, slimItem) self.__bp.slimItems[ballID] = slimItem - except StandardError: + except Exception: self.LogError('In michelle.Dispatcher') log.LogException() sys.exc_clear() @@ -596,7 +597,7 @@ class Michelle(Service): diff = now - self.ballNotInParkErrors[ballID] if 5 * const.SEC < diff: if not self.logChannel.IsOpen(logmodule.LGERR): - print 'Ball', ballID, 'not in park!' + print('Ball', ballID, 'not in park!') else: self.LogError('-----------------------------------------------------------------------------------') self.LogError('BALL NOT IN PARK:', ballID) @@ -1063,7 +1064,7 @@ class Park(decometaclass.WrapBlueClass('destiny.Ballpark')): if funcName == 'SetState': if IsFullLogging(): self.broker.LogInfo('Action: %12.12s' % funcName, eventStamp, '- current:', self.currentTime, args) - apply(self.SetState, args) + self.SetState(*args) if self.validState: self.shouldRebase = False synchronised = False @@ -1077,7 +1078,7 @@ class Park(decometaclass.WrapBlueClass('destiny.Ballpark')): self.broker.LogInfo('Action: %12.12s' % funcName, eventStamp, '- current:', self.currentTime, args) try: if funcName in self.nonDestinyCriticalFunctions: - apply(getattr(self, funcName), args) + getattr(self, funcName)(*args) else: if not synchronised: synchronised = self.SynchroniseToSimulationTime(eventStamp) @@ -1090,9 +1091,9 @@ class Park(decometaclass.WrapBlueClass('destiny.Ballpark')): if funcName in self.localActions: if funcName == 'RemoveBalls': args = args + (exploders,) - apply(getattr(self, funcName), args) + getattr(self, funcName)(*args) else: - apply(getattr(self, '_parent_' + funcName), args) + getattr(self, '_parent_' + funcName)(*args) if funcName in self.scatterEvents: sm.ScatterEvent('OnBallparkCall', funcName, args) if funcName == 'CloakBall': @@ -1229,7 +1230,7 @@ class Park(decometaclass.WrapBlueClass('destiny.Ballpark')): self.DeleteComponents(ballID) if ballID in self.damageState: del self.damageState[ballID] - if self.activityByDrone.has_key(ballID): + if ballID in self.activityByDrone: del self.activityByDrone[ballID] if ballID not in self.slimItems: return @@ -1276,7 +1277,7 @@ class Park(decometaclass.WrapBlueClass('destiny.Ballpark')): for ballID in ballIDs: if ballID in self.damageState: del self.damageState[ballID] - if self.activityByDrone.has_key(ballID): + if ballID in self.activityByDrone: del self.activityByDrone[ballID] if ballID in self.slimItems: del self.slimItems[ballID] @@ -1337,12 +1338,12 @@ class Park(decometaclass.WrapBlueClass('destiny.Ballpark')): self.fleetState = fleetState def GetLootRights(self, objectID): - if self.slimItems.has_key(objectID): + if objectID in self.slimItems: slim = self.slimItems[objectID] return getattr(slim, 'lootRights', None) def IsAbandoned(self, objectID): - if self.slimItems.has_key(objectID): + if objectID in self.slimItems: slim = self.slimItems[objectID] lootRights = getattr(slim, 'lootRights', None) if lootRights is not None: @@ -1351,7 +1352,7 @@ class Park(decometaclass.WrapBlueClass('destiny.Ballpark')): return False def HaveLootRight(self, objectID): - if self.slimItems.has_key(objectID): + if objectID in self.slimItems: slim = self.slimItems[objectID] if session.charid == slim.ownerID: return True @@ -1383,7 +1384,7 @@ class Park(decometaclass.WrapBlueClass('destiny.Ballpark')): return self.GetTypeIDsAndFlagIDsForModules(oldSlim.modules) != self.GetTypeIDsAndFlagIDsForModules(newSlim.modules) def OnSlimItemChange(self, itemID, newSlim): - if self.slimItems.has_key(itemID): + if itemID in self.slimItems: oldSlim = self.slimItems[itemID] self.slimItems[itemID] = newSlim sm.ScatterEvent('OnSlimItemChange', oldSlim, newSlim) @@ -1419,7 +1420,7 @@ class Park(decometaclass.WrapBlueClass('destiny.Ballpark')): def OnDroneActivityChange(self, droneID, activityID, activity): if not activity: - if self.activityByDrone.has_key(droneID): + if droneID in self.activityByDrone: del self.activityByDrone[droneID] else: self.activityByDrone[droneID] = (activity, activityID) diff --git a/eve/client/script/sys/clientStatsSvc.py b/eve/client/script/sys/clientStatsSvc.py @@ -183,10 +183,10 @@ class ClientStatsSvc(Service): blendedStateMask = self.stateMask self.entries = dict() self.stateMask = 0 - if contents.has_key(STATE_DISCONNECT): + if STATE_DISCONNECT in contents: blendedContents[STATE_DISCONNECT] = contents[STATE_DISCONNECT] blendedStateMask += STATE_DISCONNECT - if contents.has_key(STATE_GAMESHUTDOWN): + if STATE_GAMESHUTDOWN in contents: blendedContents[STATE_GAMESHUTDOWN] = contents[STATE_GAMESHUTDOWN] blendedStateMask += STATE_GAMESHUTDOWN header = (self.version, @@ -215,7 +215,7 @@ class ClientStatsSvc(Service): self.currentState = state try: uthread.Lock(self, 'sampleStats') - if self.entries.has_key(state): + if state in self.entries: stats = self.entries[state] else: stats = {} @@ -228,7 +228,7 @@ class ClientStatsSvc(Service): memdata = blue.pyos.cpuUsage[-1] stats[STAT_PYTHONMEMORY] = memdata.virtualMemory else: - stats[STAT_PYTHONMEMORY] = 0L + stats[STAT_PYTHONMEMORY] = 0 cpuProcessTime = blue.sysinfo.GetProcessTimes() cpuProcessTime = cpuProcessTime.userTime + cpuProcessTime.systemTime stats[STAT_CPU] = int(cpuProcessTime * 10000000.0) @@ -611,17 +611,17 @@ class ClientStatsSvc(Service): self.OnProcessExit() def OnFatalDesync(self): - if not self.entries.has_key(self.currentState): + if self.currentState not in self.entries: self.entries[self.currentState] = {} - if self.entries[self.currentState].has_key(STAT_FATAL_DESYNCS): + if STAT_FATAL_DESYNCS in self.entries[self.currentState]: self.entries[self.currentState][STAT_FATAL_DESYNCS] += 1 else: self.entries[self.currentState][STAT_FATAL_DESYNCS] = 1 def OnRecoverableDesync(self): - if not self.entries.has_key(self.currentState): + if self.currentState not in self.entries: self.entries[self.currentState] = {} - if self.entries[self.currentState].has_key(STAT_RECOVERABLE_DESYNCS): + if STAT_RECOVERABLE_DESYNCS in self.entries[self.currentState]: self.entries[self.currentState][STAT_RECOVERABLE_DESYNCS] += 1 else: self.entries[self.currentState][STAT_RECOVERABLE_DESYNCS] = 1 @@ -881,9 +881,9 @@ class ClientStatsSvc(Service): stats['shadowQuality'] = gfxsettings.Get(gfxsettings.GFX_SHADOW_QUALITY) stats['audioEnabled'] = sm.GetService('audio').IsActivated() timeInState = blue.os.GetWallclockTime() - self.timeWhenStateEntered - if timeInState < 0: - timeInState = 0L timeInState = blue.os.TimeAsDouble(timeInState) + if timeInState < 0.0: + timeInState = 0.0 stats['timeInState'] = timeInState stats['frameTimePeak'] = self.frameTimeStat.peak for value in BLUE_STATS_NAMES.itervalues(): diff --git a/eve/client/script/ui/camera/baseSpaceCamera.py b/eve/client/script/ui/camera/baseSpaceCamera.py @@ -47,7 +47,7 @@ class BaseSpaceCamera(Camera): self.animationController = AnimationController(self) self.isManualControlEnabled = True self.audioListener = None - self._startTime = 0L + self._startTime = 0 if self.isBobbingCamera: self.bobbingOfsetter = CameraBobbingOffsetter() else: diff --git a/eve/client/script/ui/camera/capitalHangarCameraController.py b/eve/client/script/ui/camera/capitalHangarCameraController.py @@ -30,7 +30,8 @@ class CapitalHangarCameraController(BaseCameraController): dz = GetPowerOfWithSign(dz) camera.Zoom(k * dz) - def OnGlobalRightMouseUp(self, obj, eventID, (vkey, flag)): + def OnGlobalRightMouseUp(self, obj, eventID, param): + vkey, flag = param if vkey != 1: return True self.GetCamera().ResetRotate() diff --git a/eve/client/script/ui/camera/hangarCameraController.py b/eve/client/script/ui/camera/hangarCameraController.py @@ -51,7 +51,8 @@ class HangarCameraController(BaseCameraController): else: camera.Zoom(k * dz) - def OnGlobalRightMouseUp(self, obj, eventID, (vkey, flag)): + def OnGlobalRightMouseUp(self, obj, eventID, param): + vkey, flag = param if vkey != 1: return True camera = self.GetCamera() diff --git a/eve/client/script/ui/camera/modularHangarCameraController.py b/eve/client/script/ui/camera/modularHangarCameraController.py @@ -61,7 +61,8 @@ class ModularHangarCameraController(BaseCameraController): else: camera.Zoom(k * dz) - def OnGlobalRightMouseUp(self, obj, eventID, (vkey, flag)): + def OnGlobalRightMouseUp(self, obj, eventID, param): + vkey, flag = param if vkey != 1: return True camera = self.GetCamera() diff --git a/eve/client/script/ui/camera/modularHangarCapitalCameraController.py b/eve/client/script/ui/camera/modularHangarCapitalCameraController.py @@ -39,7 +39,8 @@ class ModularHangarCapitalCameraController(BaseCameraController): else: camera.Zoom(k * dz) - def OnGlobalMouseUp(self, obj, eventID, (vkey, flag)): + def OnGlobalMouseUp(self, obj, eventID, param): + vkey, flag = param if vkey != 1 and vkey != 0: return True camera = self.GetCamera() diff --git a/eve/client/script/ui/camera/shipOrbitCameraController.py b/eve/client/script/ui/camera/shipOrbitCameraController.py @@ -44,7 +44,8 @@ class ShipOrbitCameraController(BaseCameraController): camera.OnMouseUp(button) self.cameraAchievementEventTracker.StopRecordingOrbitForAchievements() - def OnGlobalRightMouseUp(self, obj, eventID, (vkey, flag)): + def OnGlobalRightMouseUp(self, obj, eventID, param): + vkey, flag = param if vkey != 1: return True self.ResetRotate() diff --git a/eve/client/script/ui/camera/shipPOVCameraController.py b/eve/client/script/ui/camera/shipPOVCameraController.py @@ -57,7 +57,8 @@ class ShipPOVCameraController(BaseCameraController): uicore.event.RegisterForTriuiEvents(uiconst.UI_MOUSEUP, self.OnGlobalRightMouseUp) return ret - def OnGlobalRightMouseUp(self, obj, eventID, (vkey, flag)): + def OnGlobalRightMouseUp(self, obj, eventID, param): + vkey, flag = param if vkey != 0: return True self.GetCamera().ResetRotate() diff --git a/eve/client/script/ui/camera/starmapCamera.py b/eve/client/script/ui/camera/starmapCamera.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/camera/starmapCamera.py +from __future__ import print_function from eve.client.script.ui.camera.cameraOld import CameraOld from eve.client.script.ui.shared.maps.mapcommon import ZOOM_MIN_STARMAP, ZOOM_MAX_STARMAP import evecamera @@ -11,4 +12,4 @@ class StarmapCamera(CameraOld): return (ZOOM_MIN_STARMAP, ZOOM_MAX_STARMAP) def LookAt(self, *args, **kwds): - print 'LOOOOOOOOOOOOOOOOOK' + print('LOOOOOOOOOOOOOOOOOK') diff --git a/eve/client/script/ui/camera/vcsConsumerCamera.py b/eve/client/script/ui/camera/vcsConsumerCamera.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/camera/vcsConsumerCamera.py +from __future__ import absolute_import import geo2 import trinity import weakref @@ -6,7 +7,7 @@ import logging from carbon.common.script.util.mathCommon import FloatCloseEnough from eve.client.script.ui.camera.baseSpaceCamera import BaseSpaceCamera import evecamera -from util.egoChangeSmoother import EgoChangeSmoother +from .util.egoChangeSmoother import EgoChangeSmoother logger = logging.getLogger(__name__) def _ItemIDsToModels(itemIDs): diff --git a/eve/client/script/ui/control/colorpicker.py b/eve/client/script/ui/control/colorpicker.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/control/colorpicker.py +from future.utils import raise_ import trinity import log from carbonui import uiconst @@ -40,7 +41,7 @@ class ColorSwatch(Container): def hex_to_rgb(self, colorstring): colorstring = colorstring.strip() if len(colorstring) != 6: - raise ValueError, 'input #%s is not in #RRGGBB format' % colorstring + raise_(ValueError, 'input #%s is not in #RRGGBB format' % colorstring) r, g, b = colorstring[:2], colorstring[2:4], colorstring[4:] r, g, b = [ int(n, 16) for n in (r, g, b) ] return (r / 255.0, g / 255.0, b / 255.0) diff --git a/eve/client/script/ui/control/dateSinglelineEdit.py b/eve/client/script/ui/control/dateSinglelineEdit.py @@ -26,7 +26,7 @@ def _GetTimestampFromYearMonthDay(endOfDay, yearValue, monthValue, dayValue): timestamp = blue.os.GetTimeFromParts(yearValue, monthValue, dayValue, 23, 59, 59, 0) else: timestamp = blue.os.GetTimeFromParts(yearValue, monthValue, dayValue, 0, 0, 0, 0) - except StandardError: + except Exception: timestamp = 0 timestamp -= eveLocalization.GetTimeDelta() * const.SEC diff --git a/eve/client/script/ui/control/entries/kill_mail.py b/eve/client/script/ui/control/entries/kill_mail.py @@ -55,7 +55,7 @@ class KillMail(SE_BaseClassCore): expanded = 0 topLine = 14 if session.charid == kill.victimCharacterID or session.corpid == kill.victimCorporationID: - text = localization.GetByLabel('UI/Control/Entries/KillMailShipAndTime', shipTypeID=kill.victimShipTypeID, killTime=max(blue.os.GetWallclockTime() - kill.killTime, 0L)) + text = localization.GetByLabel('UI/Control/Entries/KillMailShipAndTime', shipTypeID=kill.victimShipTypeID, killTime=max(blue.os.GetWallclockTime() - kill.killTime, 0)) self.AddOrSetTextLine(text, configName='killMailsShipAndTimeLabel') text = '' if kill.victimShipTypeID is not None: @@ -74,7 +74,7 @@ class KillMail(SE_BaseClassCore): elif session.charid == kill.finalCharacterID or session.corpid == kill.finalCorporationID: if kill.victimCharacterID is not None or kill.victimCorporationID is not None: if kill.victimCharacterID is not None: - text = localization.GetByLabel('UI/Control/Entries/KillMailCharacterAndTime', characterID=kill.victimCharacterID, killTime=max(blue.os.GetWallclockTime() - kill.killTime, 0L)) + text = localization.GetByLabel('UI/Control/Entries/KillMailCharacterAndTime', characterID=kill.victimCharacterID, killTime=max(blue.os.GetWallclockTime() - kill.killTime, 0)) else: text = FormatTimeAgo(kill.killTime) self.AddOrSetTextLine(text, configName='victimNameOrTimeLabel') diff --git a/eve/client/script/ui/control/eveIcon.py b/eve/client/script/ui/control/eveIcon.py @@ -183,9 +183,9 @@ class LogoIcon(Icon): if CheckCorpID(itemID): icon = CORP_ICONS[itemID] else: - raise ValueError, 'LogoIcon class does not support custom corp icons. Use CorpIcon for that' + raise ValueError('LogoIcon class does not support custom corp icons. Use CorpIcon for that') elif idCheckers.IsAlliance(itemID): - raise ValueError, 'LogoIcon class does not support Alliance Logos. Use GetLogoIcon or GetOwnerIcon' + raise ValueError('LogoIcon class does not support Alliance Logos. Use GetLogoIcon or GetOwnerIcon') elif idCheckers.IsFaction(itemID): isSmall = attributes.get('isSmall', self.default_isSmall) icon = self.GetFactionIconID(itemID, isSmall) diff --git a/eve/client/script/ui/control/skillBar/skillBar.py b/eve/client/script/ui/control/skillBar/skillBar.py @@ -1,10 +1,11 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/control/skillBar/skillBar.py +from __future__ import absolute_import import carbonui.const as uiconst import characterskills from carbonui.primitives.container import Container from eve.client.script.ui.control.skillBar.controller import CreateSkillBarController from eve.client.script.ui.control.skillBar.skillLevel import BOX_SIZE -from skillLevel import SkillLevel +from .skillLevel import SkillLevel class SkillBar(Container): default_height = SkillLevel.default_height diff --git a/eve/client/script/ui/control/utilMenu.py b/eve/client/script/ui/control/utilMenu.py @@ -168,7 +168,7 @@ class UtilMenu(ButtonIcon): try: expandedPadding = 0 if self.align == uiconst.TOTOP else 16 menuParent = ExpandedUtilMenu(parent=uicore.layer.utilmenu, controller=self, GetUtilMenu=self._getMenuFunction, minWidth=self.GetFullWidth() + expandedPadding, idx=1, menuAlign=self.menuAlign) - except StandardError: + except Exception: buttonCopy.Close() raise diff --git a/eve/client/script/ui/cosmetics/ship/tradingUtil.py b/eve/client/script/ui/cosmetics/ship/tradingUtil.py @@ -3,7 +3,7 @@ from cosmetics.client.shipSkinTradingSvc import get_ship_skin_trading_svc from eve.common.script.sys.idCheckers import IsNPCCorporation from itertoolsext.Enum import Enum from localization import GetByLabel -DAY_SECONDS = 86400L +DAY_SECONDS = 86400 @Enum diff --git a/eve/client/script/ui/crate/view/hacking.py b/eve/client/script/ui/crate/view/hacking.py @@ -124,7 +124,7 @@ class HackingView(Container): self._KillMultiHackTasklet() self.processingMultiHackTasklet = uthread.new(self.ShowProcessingMultiHack) self.controller.OpenMultipleCrates() - except StandardError: + except Exception: self.RevealButtons() raise diff --git a/eve/client/script/ui/crimewatch/crimewatchHints.py b/eve/client/script/ui/crimewatch/crimewatchHints.py @@ -106,7 +106,7 @@ class TimerHint(Container): self.doUpdates = False try: self.OnUpdate(timeLeft) - except StandardError: + except Exception: pass if self.doUpdates: diff --git a/eve/client/script/ui/eveCommands.py b/eve/client/script/ui/eveCommands.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/eveCommands.py +from __future__ import print_function import sys import blue import bluepy @@ -2539,12 +2540,12 @@ class EveCommandService(CommandService): if self._telemetrySessionActive: blue.statistics.StopTelemetry() self._telemetrySessionActive = False - print '*** Telemetry session stopped ***' + print('*** Telemetry session stopped ***') else: from pytelemetry import StartTelemetry StartTelemetry() self._telemetrySessionActive = True - print '*** Telemetry session started ***' + print('*** Telemetry session started ***') def ToggleUILinearColor(self): uicore.desktop.renderObject.useLinearColorSpace = not uicore.desktop.renderObject.useLinearColorSpace diff --git a/eve/client/script/ui/inflight/bracketsAndTargets/inSpaceBracket.py b/eve/client/script/ui/inflight/bracketsAndTargets/inSpaceBracket.py @@ -1369,7 +1369,7 @@ class InSpaceBracket(Bracket): return localization.GetByLabel('UI/Inflight/Brackets/FacWarCaptured') maxTime = self.captureData['captureTime'] timeLeft = timeScalar * maxTime - properTime = long(60000L * const.dgmTauConstant * timeLeft) + properTime = long(60000 * const.dgmTauConstant * timeLeft) return FmtDate(properTime, 'ns') @telemetry.ZONE_METHOD diff --git a/eve/client/script/ui/inflight/bracketsAndTargets/skyhookBracket.py b/eve/client/script/ui/inflight/bracketsAndTargets/skyhookBracket.py @@ -40,14 +40,14 @@ class SkyhookBracket(InSpaceBracket): isActive, activeTimestamp = self.slimItem.component_activate if not isActive: if activeTimestamp: - remaining = max(activeTimestamp - blue.os.GetWallclockTime(), 0L) + remaining = max(activeTimestamp - blue.os.GetWallclockTime(), 0) else: remaining = 0 text = '%s: %s' % (localization.GetByLabel('UI/Structures/States/Onlining'), localization.formatters.FormatTimeIntervalShortWritten(remaining, showFrom='day', showTo='second')) labelList.append(text) if self.slimItem.skyhook_timer: start, end, paused = self.slimItem.skyhook_timer - remaining = max(end - (paused or blue.os.GetWallclockTime()), 0L) + remaining = max(end - (paused or blue.os.GetWallclockTime()), 0) stateLabel = u'{state}: {time} {paused}'.format(state=self.GetStateLabel(), time=localization.formatters.FormatTimeIntervalShortWritten(remaining, showFrom='day', showTo='second'), paused=localization.GetByLabel('UI/Structures/States/Paused') if paused else '') else: stateLabel = self.GetStateLabel() diff --git a/eve/client/script/ui/inflight/bracketsAndTargets/structureBracket.py b/eve/client/script/ui/inflight/bracketsAndTargets/structureBracket.py @@ -41,7 +41,7 @@ class StructureBracket(InSpaceBracket): label = self.GetStateLabel() if self.slimItem.timer: start, end, paused = self.slimItem.timer - remaining = max(end - (paused or blue.os.GetWallclockTime()), 0L) + remaining = max(end - (paused or blue.os.GetWallclockTime()), 0) label = u'{state}: {time} {paused} {unanchoring}'.format(state=self.GetStateLabel(), time=localization.formatters.FormatTimeIntervalShortWritten(remaining, showFrom='day', showTo='second'), paused=localization.GetByLabel('UI/Structures/States/Paused') if paused else '', unanchoring=localization.GetByLabel('UI/Structures/States/Unanchoring') if self.slimItem.unanchoring else '') elif self.slimItem.unanchoring: label = u'{state}: {unanchoring}'.format(state=self.GetStateLabel(), unanchoring=localization.GetByLabel('UI/Structures/States/Unanchoring')) @@ -61,7 +61,7 @@ class StructureBracket(InSpaceBracket): if self.slimItem.deployTimes is not None: start, end = self.slimItem.deployTimes if start and end: - remaining = max(end - blue.os.GetWallclockTime(), 0L) + remaining = max(end - blue.os.GetWallclockTime(), 0) if remaining > 0: label = localization.GetByLabel('UI/Structures/States/TimeUntilDeployed', time=localization.formatters.FormatTimeIntervalShortWritten(remaining, showFrom='day', showTo='second')) if self.slimItem.repairing is not None: diff --git a/eve/client/script/ui/inflight/bracketsAndTargets/targetIconCont.py b/eve/client/script/ui/inflight/bracketsAndTargets/targetIconCont.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/inflight/bracketsAndTargets/targetIconCont.py +from __future__ import print_function from carbonui import uiconst from carbonui.primitives.container import Container from carbonui.primitives.frame import Frame @@ -25,7 +26,7 @@ class TargetIconCont(Container): self.SetTargetedIcon() def HandleTargetingChanges(self, newState): - print 'newState = ', newState + print('newState = ', newState) if newState == 0 and self.targetingSprite: self.targetingSprite.Close() elif newState == 1: diff --git a/eve/client/script/ui/inflight/bracketsAndTargets/targetInBar.py b/eve/client/script/ui/inflight/bracketsAndTargets/targetInBar.py @@ -226,7 +226,10 @@ class TargetInBar(ContainerAutoSize): def has_asteroid_gauge(self): if not self.slimItem: return False - return mining.is_harvestable(self.slimItem().typeID) and AsteroidScanningService.get_instance().is_quantity_known(self.slimItem().itemID) + slimItem = self.slimItem() + if not slimItem: + return False + return mining.is_harvestable(slimItem.typeID) and AsteroidScanningService.get_instance().is_quantity_known(slimItem.itemID) def OnItemNameChange(self, *args): uthread.new(self.SetTargetLabel) diff --git a/eve/client/script/ui/inflight/drone.py b/eve/client/script/ui/inflight/drone.py @@ -1015,7 +1015,7 @@ class DroneView(ActionPanel): subGroups.setdefault(group['label'], []).append(droneID) continue if nodedata.droneState == 'inbay': - if dronebay.has_key(droneID): + if droneID in dronebay: entry = self.GetBayDroneEntry(dronebay[droneID], nodedata.sublevel, nodedata.droneState) scrollList.append(((0, entry.label.lower()), entry)) else: @@ -1138,7 +1138,7 @@ class DroneView(ActionPanel): self.droneBehaviour = sm.GetService('godma').GetStateManager().GetDroneSettingAttributes() self.droneAggressionDefVal = dogma.data.get_attribute_default_value(const.attributeDroneIsAggressive) self.droneFFDefVal = dogma.data.get_attribute_default_value(const.attributeDroneFocusFire) - if not self.droneBehaviour.has_key(const.attributeDroneIsAggressive): + if const.attributeDroneIsAggressive not in self.droneBehaviour: self.droneBehaviour[const.attributeDroneIsAggressive] = settings.char.ui.Get('droneSettingAttributeID ' + str(const.attributeDroneIsAggressive), 0) aggressive = settings.char.ui.Get('droneAggression', self.droneAggressionDefVal) menuParent.AddRadioButton(text=localization.GetByLabel('UI/Drones/AggressionStatePassive'), checked=not aggressive, callback=(self.AggressiveChange, False)) diff --git a/eve/client/script/ui/inflight/drones/dronesWindow.py b/eve/client/script/ui/inflight/drones/dronesWindow.py @@ -451,7 +451,7 @@ class DronesWindow(WidgetWindow): if group: subGroups.setdefault(group['label'], []).append(droneID) continue - if dronebay.has_key(droneID): + if droneID in dronebay: entry = self.GetBayDroneEntry(dronebay[droneID], subLevel, droneState) scrollList.append(((0, entry.label.lower()), entry)) diff --git a/eve/client/script/ui/inflight/moondefencebutton.py b/eve/client/script/ui/inflight/moondefencebutton.py @@ -326,7 +326,7 @@ class DefenceStructureButton(Container): def ProcessGodmaLocationPrimed(self, structureID): structs = sm.GetService('pwn').GetCurrentControl() - if structs.has_key(structureID): + if structureID in structs: item = sm.services['godma'].GetItem(structureID) if item.groupID == const.groupMobileLaserSentry: if len(item.modules) == 0: @@ -627,7 +627,7 @@ class DefenceStructureButton(Container): def OnAttribute(self, attributeName, item, newValue): if item.locationID == self.sr.sourceID: structs = sm.GetService('pwn').GetCurrentControl() - if structs.has_key(self.sr.sourceID): + if self.sr.sourceID in structs: itemStr = sm.services['godma'].GetItem(self.sr.sourceID) if itemStr.groupID == const.groupMobileLaserSentry: self.SetCharge(itemStr.modules[0]) diff --git a/eve/client/script/ui/inflight/moonmining.py b/eve/client/script/ui/inflight/moonmining.py @@ -392,7 +392,7 @@ class MoonMining(Window): if structureID == self.slimItem.itemID: continue primeloc.append(structureID) - if not sollist.has_key(solarSystemID): + if solarSystemID not in sollist: sollist[solarSystemID] = [(typeID, structureID)] else: sollist[solarSystemID].append((typeID, structureID)) @@ -613,7 +613,7 @@ class MoonMining(Window): cycle = self.godma.GetType(self.slimItem.typeID).posControlTowerPeriod res = {} for row in container: - if res.has_key(row.typeID): + if row.typeID in res: res[row.typeID] += row.stacksize else: res[row.typeID] = row.stacksize @@ -633,7 +633,7 @@ class MoonMining(Window): continue if resource.minSecurityLevel is not None and resource.minSecurityLevel > securityRating: continue - if not self.sr.restypes.has_key(typeID): + if typeID not in self.sr.restypes: self.sr.restypes[typeID] = {'label': evetypes.GetName(resource.resourceTypeID), 'volume': self.godma.GetType(resource.resourceTypeID).volume} factor = 0.0 @@ -659,7 +659,7 @@ class MoonMining(Window): if factor == 0.0: cyclestext = localization.GetByLabel('UI/Inflight/MoonMining/Processes/UnusedFuel') else: - cyclestext = long(int(quantity / quantity2) * cycle * 10000L) + cyclestext = long(int(quantity / quantity2) * cycle * 10000) data.Set('sort_%s' % localization.GetByLabel('UI/Inflight/MoonMining/Processes/TimeLeft'), cyclestext) cyclestext = FmtDate(cyclestext, 'ss') label = '%s<t>%s<t><right>%s<t><right>%s<t><right>%s' % (caption, @@ -781,7 +781,7 @@ class MoonMining(Window): p = Fill(parent=sub, align=uiconst.TOPLEFT, width=86, height=10, left=0, top=1, color=(1.0, 1.0, 1.0, 0.25)) startTime = blue.os.GetWallclockTime() if stateDelay: - stateDelay = float(stateDelay * 10000L) + stateDelay = float(stateDelay * 10000) endTime = 0 if stateDelay: endTime = stateTimestamp + stateDelay @@ -1231,14 +1231,14 @@ class MoonMining(Window): def StructureCallback(self, typeID, fromItemID, toItemID, connect): self.connectionsChanged = 1 - if self.sr.structureConnections.has_key((typeID, fromItemID)): + if (typeID, fromItemID) in self.sr.structureConnections: if not connect: del self.sr.structureConnections[typeID, fromItemID] self.ShowProduction() return - if not self.sr.structures.has_key(fromItemID) or not self.sr.structures.has_key(toItemID): + if fromItemID not in self.sr.structures or toItemID not in self.sr.structures: return - if self.sr.structures[fromItemID].supplies.has_key(typeID) and self.sr.structures[toItemID].demands.has_key(typeID) and connect: + if typeID in self.sr.structures[fromItemID].supplies and typeID in self.sr.structures[toItemID].demands and connect: self.sr.structureConnections[typeID, fromItemID] = toItemID self.ShowProduction() @@ -1291,7 +1291,7 @@ class MoonMining(Window): if chosen == 0: chosen = None self.posMgr.ChangeStructureProvisionType(self.slimItem.itemID, itemID, chosen) - if len(self.sr.structures[itemID].supplies) and self.sr.structureConnections.has_key((self.sr.structures[itemID].supplies.keys()[0], itemID)): + if len(self.sr.structures[itemID].supplies) and (self.sr.structures[itemID].supplies.keys()[0], itemID) in self.sr.structureConnections: del self.sr.structureConnections[self.sr.structures[itemID].supplies.keys()[0], itemID] for k, v in self.sr.structureConnections.items(): if v == itemID: diff --git a/eve/client/script/ui/inflight/overViewLabel.py b/eve/client/script/ui/inflight/overViewLabel.py @@ -204,17 +204,17 @@ class OverviewLabel(VisibleBase): def OnMouseDown(self, *args, **kwds): parent = self.parent - if parent and parent.OnMouseDown.im_func != Base.OnMouseDown.im_func: + if parent and parent.OnMouseDown.__func__ != Base.OnMouseDown.__func__: return parent.OnMouseDown(*args, **kwds) def OnMouseUp(self, *args, **kwds): parent = self.parent - if parent and parent.OnMouseUp.im_func != Base.OnMouseUp.im_func: + if parent and parent.OnMouseUp.__func__ != Base.OnMouseUp.__func__: return parent.OnMouseUp(*args, **kwds) def OnClick(self, *args, **kwds): parent = self.parent - if parent and parent.OnClick.im_func != Base.OnClick.im_func: + if parent and parent.OnClick.__func__ != Base.OnClick.__func__: return parent.OnClick(*args, **kwds) def OnDblClick(self, *args, **kwds): diff --git a/eve/client/script/ui/inflight/overview/overviewScrollEntry.py b/eve/client/script/ui/inflight/overview/overviewScrollEntry.py @@ -591,7 +591,7 @@ class OverviewScrollEntry(SE_BaseClassCore): if text: tooltipPanel.AddCell() tooltipPanel.AddLabelMedium(text=text, align=uiconst.CENTERLEFT, colSpan=tooltipPanel.columns - 1) - except StandardError as e: + except Exception as e: pass def UpdateTooltipIconThread(self, iconObj): diff --git a/eve/client/script/ui/inflight/overview/overviewWindow.py b/eve/client/script/ui/inflight/overview/overviewWindow.py @@ -421,7 +421,7 @@ class OverviewWindow(UiHiderMixin, WidgetWindow): if not hasattr(self, 'jammers'): return jammingID = sm.StartService('stateSvc').GetEwarGraphicID(jammingType) - if not self.jammers.has_key(sourceBallID) or not self.jammers[sourceBallID].has_key(jammingID) or not self.jammers[sourceBallID][jammingID].has_key(moduleID): + if sourceBallID not in self.jammers or jammingID not in self.jammers[sourceBallID] or moduleID not in self.jammers[sourceBallID][jammingID]: return del self.jammers[sourceBallID][jammingID][moduleID] if self.jammers[sourceBallID][jammingID] == {}: diff --git a/eve/client/script/ui/inflight/overviewSettings/overviewBracketLabelPreview.py b/eve/client/script/ui/inflight/overviewSettings/overviewBracketLabelPreview.py @@ -87,26 +87,26 @@ class OverviewBracketLabelPreview(ContainerAutoSize): def GetExampleLabels(self): try: shipTypeName = evetypes.GetName(uicore.layer.shipui.controller.GetTypeID()) - except StandardError: + except Exception: shipTypeName = GetByLabel('UI/Overview/ShipTypeExample') try: shipName = cfg.evelocations.Get(session.shipid).name - except StandardError: + except Exception: shipName = GetByLabel('UI/Overview/ShipNameExample') corpTicker = GetByLabel('UI/Overview/CorpTickerExample') try: if not IsNPC(session.corpid): corpTicker = cfg.corptickernames.Get(session.corpid).tickerName - except StandardError: + except Exception: pass allianceTicker = GetByLabel('UI/Overview/AllianceTickerExample') try: if session.allianceid: allianceTicker = cfg.allianceshortnames.Get(session.allianceid).shortName - except StandardError: + except Exception: pass example = {LABEL_TYPE_SHIP_TYPE: shipTypeName, diff --git a/eve/client/script/ui/inflight/overviewSettings/tabsPanel.py b/eve/client/script/ui/inflight/overviewSettings/tabsPanel.py @@ -219,7 +219,7 @@ class TabsPanel(Container): comboTabOverviewVal = None comboTabBracketVal = None editFieldText = None - if tabsettings.has_key(i): + if i in tabsettings: comboTabOverviewVal = tabsettings[i].get('overview', None) comboTabBracketVal = tabsettings[i].get('bracket', None) editFieldText = tabsettings[i].get('name', None) diff --git a/eve/client/script/ui/inflight/scannerFiles/directionalScanUtil.py b/eve/client/script/ui/inflight/scannerFiles/directionalScanUtil.py @@ -91,7 +91,7 @@ def GetMaxRangeM(): else: allowedMaxRange = min(solarsystemMaxRange, shipMaxRange) return allowedMaxRange - except StandardError as e: + except Exception as e: return _MAX_RANGE_KM * 1000.0 diff --git a/eve/client/script/ui/inflight/scannerFiles/moonScanner.py b/eve/client/script/ui/inflight/scannerFiles/moonScanner.py @@ -201,7 +201,7 @@ class MoonScanner(Window): line = '\t'.join(stringList) lineList.append(line) - except StandardError as e: + except Exception as e: self.moonScanSvc.LogException(e) continue diff --git a/eve/client/script/ui/inflight/scannerListEntries.py b/eve/client/script/ui/inflight/scannerListEntries.py @@ -68,7 +68,7 @@ class ScanProbeEntryNew(SE_BaseClassCore): if probe.expiry is None: expiryText = localization.GetByLabel('UI/Generic/None') else: - expiry = max(0L, long(probe.expiry) - blue.os.GetSimTime()) + expiry = max(0, long(probe.expiry) - blue.os.GetSimTime()) if expiry <= 0: expiryText = localization.GetByLabel('UI/Inflight/Scanner/Expired') elif expiry >= const.MIN: diff --git a/eve/client/script/ui/inflight/selectedItemWnd.py b/eve/client/script/ui/inflight/selectedItemWnd.py @@ -12,7 +12,7 @@ from brennivin import itertoolsext from carbon.client.script.environment.audioService import GetAudioService from carbon.common.script.util.format import FmtDist from carbon.common.script.util.timerstuff import AutoTimer -from carbonui import TextColor, uiconst, Align, TextAlign +from carbonui import TextColor, uiconst, Align from carbonui.control.buttonIcon import ButtonIcon from carbonui.control.contextMenu import menuDataFactory from carbonui.control.contextMenu.menuConst import DISABLED_ENTRY0 @@ -45,15 +45,20 @@ from eveservices.xmppchat import GetChatService from localization import GetByLabel from menu import MenuLabel from npcs.client.components.entity_bounty import get_entity_bounty -from shipcaster.shipcasterUtil import GetShipcasterText +from shipcaster.client.shipcasterUtil import GetShipcasterText from spacecomponents.client.components import cargobay from spacecomponents.common.helper import HasCargoBayComponent, HasShipcasterComponent, HasStarterShipcasterComponent, HasUnderConstructionComponent, HasTowGameObjectiveComponent, HasFilamentSpoolupComponent from spacecomponents.common.helper import HasItemTrader from uihider import UiHiderMixin ITEM_ICON_SIZE_LARGE = 64 ITEM_ICON_SIZE_SMALL = 32 -BUTTON_SIZE_LARGE = 32 -BUTTON_SIZE_SMALL = 16 +BUTTON_CONTAINER_MIN_WIDTH = 270 +BUTTON_ICON_LARGE = 32 +BUTTON_ICON_SMALL = 16 +BUTTON_SIZE_LARGE = BUTTON_ICON_LARGE +BUTTON_SIZE_SMALL = BUTTON_ICON_SMALL + 4 +BUTTON_PADDING = 4 +TITLE_CHIP_PADDING = 8 HEIGHTSTATE_SMALL = 1 HEIGHTSTATE_MEDIUM = 2 HEIGHTSTATE_LARGE = 3 @@ -148,7 +153,7 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): self.bountySvc = sm.GetService('bountySvc') self._last_button_size = None self.titleCont = None - self.achievement_info_chips = None + self.character_title_chip = None self._update_extend_content_into_header() self.ConstructLayout() stateSvc = sm.GetServiceIfRunning('stateSvc') @@ -163,8 +168,7 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): uthread2.start_tasklet(self.UpdateAll) def _UpdateMinSize(self): - _, text_height = eveLabel.EveLabelMedium.MeasureTextSize('A') - top_height = text_height + self.topCont.padTop + self.topCont.padBottom + top_height = self.nameRowCont.height + self.topCont.padTop + self.topCont.padBottom _, bottom_height = self.bottomCont.GetAbsoluteSize() content_height = top_height + bottom_height _, height_min = self.GetWindowSizeForContentSize(height=content_height) @@ -179,6 +183,7 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): self.topCont = Container(name='topCont', parent=self.content, align=uiconst.TOALL, clipChildren=True) self._ConstructIconsAndLabel() self._update_padding_of_content() + self.on_name_row_size_changed(*self.nameRowCont.GetAbsoluteSize()) def _on_top_cont_size_changed(self, *args, **kwargs): self.ReconstructItemIcons() @@ -194,10 +199,11 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): self.ReconstructItemIcons() self.labelCont = ScrollContainer(name='labelCont', parent=self.topCont, state=uiconst.UI_PICKCHILDREN) self.labelCont.mainCont.state = uiconst.UI_PICKCHILDREN - self.nameRowCont = Container(name='nameRowCont', parent=self.labelCont, align=uiconst.TOTOP, height=24, state=uiconst.UI_PICKCHILDREN, clipChildren=True) - self.titleCont = ContainerAutoSize(name='titleCont', parent=self.nameRowCont, align=Align.TORIGHT, state=uiconst.UI_PICKCHILDREN) - nameLabelWrapper = Container(name='nameLabelWrapper', parent=self.nameRowCont, state=uiconst.UI_PICKCHILDREN, padTop=2) - self.nameLabel = eveLabel.EveLabelMedium(name='nameLabel', parent=nameLabelWrapper, align=Align.TOLEFT, textAlign=TextAlign.LEFT, state=uiconst.UI_DISABLED, color=TextColor.HIGHLIGHT, autoFadeSides=16, maxLines=1) + self.nameRowCont = NameRowContainer(name='nameRowCont', parent=self.labelCont, align=Align.TOTOP, clipChildren=True, height=24) + self.nameLabel = eveLabel.EveLabelMedium(name='nameLabel', parent=self.nameRowCont, align=Align.TOLEFT, color=TextColor.HIGHLIGHT, default_maxLines=1, autoFadeSides=16, padTop=2) + self.titleCont = ContainerAutoSize(name='titleCont', parent=self.nameRowCont, align=Align.TOLEFT, padLeft=TITLE_CHIP_PADDING) + self.titleCont.on_size_changed.connect(self.on_title_size_changed) + self.nameRowCont.on_size_changed.connect(self.on_name_row_size_changed) self.distanceLabel = eveLabel.EveLabelMedium(name='distanceLabel', parent=self.labelCont, align=uiconst.TOTOP, state=uiconst.UI_DISABLED, color=TextColor.HIGHLIGHT) self.distanceLabel.display = False self.securityLabel = eveLabel.EveLabelMedium(name='securityLabel', parent=self.labelCont, align=uiconst.TOTOP, state=uiconst.UI_DISABLED, color=TextColor.HIGHLIGHT) @@ -207,6 +213,21 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): self.bountyLabel = eveLabel.EveLabelMedium(name='bountyLabel', parent=self.labelCont, align=uiconst.TOTOP, state=uiconst.UI_DISABLED, color=TextColor.HIGHLIGHT) self.bountyLabel.display = False + def on_title_size_changed(self, width, height): + self.on_name_row_size_changed(*self.nameRowCont.GetAbsoluteSize()) + + def on_name_row_size_changed(self, width, height): + if self.character_title_chip is None: + title_width = self.titleCont.width + else: + title_width = self.character_title_chip.measured_width + if width < self.nameLabel.width + title_width + TITLE_CHIP_PADDING: + self.titleCont.display = False + self.nameRowCont.state = uiconst.UI_NORMAL + else: + self.titleCont.display = True + self.nameRowCont.state = uiconst.UI_PICKCHILDREN + def _OnResize(self, *args, **kw): self._UpdateButtonSize() super(SelectedItemWnd, self)._OnResize(*args, **kw) @@ -233,16 +254,14 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): return HEIGHTSTATE_SMALL def _UpdateButtonSize(self): - iconSize = self.GetButtonSize() - buttonSize = iconSize - if iconSize == BUTTON_SIZE_SMALL: - buttonSize += 4 - self.buttonCont.height = buttonSize + button_size = self.button_size + icon_size = self.get_button_icon_size(button_size) + self.buttonCont.height = button_size for button in self.buttonCont.children: - self._ApplyButtonSize(button, iconSize, buttonSize) + self._ApplyButtonSize(button, icon_size, button_size) - if self._last_button_size is None or buttonSize != self._last_button_size: - self._last_button_size = buttonSize + if self._last_button_size is None or button_size != self._last_button_size: + self._last_button_size = button_size self._UpdateMinSize() def _ApplyButtonSize(self, button, iconSize, buttonSize): @@ -250,13 +269,25 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): button.SetIconSize(iconSize) button.SetTexturePath(actionConst.ICON_BY_ACTIONID[button.GetActionID()].resolve(iconSize)) - def GetButtonSize(self): - width, _ = self.GetCurrentAbsoluteSize() - if width > 300: + @property + def button_size(self): + total_width, _ = self.GetCurrentAbsoluteSize() + if total_width >= self.get_min_button_container_width(BUTTON_SIZE_LARGE): return BUTTON_SIZE_LARGE else: return BUTTON_SIZE_SMALL + def get_button_icon_size(self, button_size): + if button_size == BUTTON_SIZE_LARGE: + return BUTTON_ICON_LARGE + else: + return BUTTON_ICON_SMALL + + def get_min_button_container_width(self, button_size): + container_padding = self.buttonCont.padLeft + self.buttonCont.padRight + total_width = container_padding + len(self.buttonCont.children) * (button_size + BUTTON_PADDING) + return max(total_width, BUTTON_CONTAINER_MIN_WIDTH) + def _ConstructButtonCont(self): self.bottomCont = ContainerAutoSize(name='bottomCont', parent=self.content, align=uiconst.TOBOTTOM) self.buttonCont = Container(name='buttonCont', parent=self.bottomCont, align=uiconst.TOTOP, clipChildren=True) @@ -431,7 +462,9 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): if jumpExtraText: name_text += jumpExtraText self.nameLabel.text = name_text - self._update_achievement_info(slimItem.charID) + self.nameRowCont.char_id = slimItem.charID + self.nameRowCont.char_name = name_text + self._update_achievement_info(slimItem) distanceText = self._GetDistanceText() self.distanceLabel.text = distanceText or u'' self.distanceLabel.display = bool(distanceText) @@ -454,20 +487,25 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): if not self.updateAutoTimer: self.updateAutoTimer = AutoTimer(500, self.UpdateAll) - def _update_achievement_info(self, char_id): + def _update_achievement_info(self, slim_item): + char_id = slim_item.charID if char_id is None: self._clear_achievement_info() return - if self.achievement_info_chips is not None: - if self.achievement_info_chips.character_id == char_id: + category_id = slim_item.categoryID + if category_id and category_id != const.categoryShip: + self._clear_achievement_info() + return + if self.character_title_chip is not None: + if self.character_title_chip.character_id == char_id: return self._clear_achievement_info() - from achievement_system.client.ui.chip.achievement_info import AchievementInfoChips - self.achievement_info_chips = AchievementInfoChips(name='achievement_info_chips', parent=self.titleCont, align=uiconst.TOLEFT, character_id=char_id, display_score=False) + from achievement_system.client.ui.chip.character_title import CharacterTitleChip + self.character_title_chip = CharacterTitleChip(name='character_title_chip', parent=self.titleCont, align=uiconst.TOLEFT, character_id=char_id) def _clear_achievement_info(self): self.titleCont.Flush() - self.achievement_info_chips = None + self.character_title_chip = None def _GetSlimItemText(self, slimItem, density): text = uix.GetSlimItemName(slimItem) @@ -780,7 +818,7 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): def _ConstructButton(self, menuEntryData, disabledHint): actionObject = selectedItemConst.ICON_ID_AND_CMD_BY_ACTIONID[menuEntryData.GetLabelPath()] - SelectedItemButton(name=actionObject.uniqueUiName or menuEntryData.GetLabelPath(), parent=self.buttonCont, align=uiconst.TOLEFT, uniqueUiName=actionObject.uniqueUiName, menuEntryData=menuEntryData, func=lambda *args: self.on_selected_item_button(menuEntryData.func), cmdName=CMD_BY_ACTIONID.get(menuEntryData.GetLabelPath(), ''), disabledHint=disabledHint, enabled=not bool(disabledHint), padRight=4) + SelectedItemButton(name=actionObject.uniqueUiName or menuEntryData.GetLabelPath(), parent=self.buttonCont, align=uiconst.TOLEFT, uniqueUiName=actionObject.uniqueUiName, menuEntryData=menuEntryData, func=lambda *args: self.on_selected_item_button(menuEntryData.func), cmdName=CMD_BY_ACTIONID.get(menuEntryData.GetLabelPath(), ''), disabledHint=disabledHint, enabled=not bool(disabledHint), padRight=BUTTON_PADDING) def on_selected_item_button(self, func): GetAudioService().SendUIEvent('ui_radial_select_play') @@ -848,3 +886,28 @@ class SelectedItemWnd(UiHiderMixin, WidgetWindow): item = self.TryGetInvItem(self.itemID) if item: return u'{name}\n{bounty}'.format(name=uix.GetItemName(item), bounty=self.GetBountyText()) + + +class NameRowContainer(Container): + + def __init__(self, *args, **kwargs): + self.char_id = None + self.char_name = None + super(NameRowContainer, self).__init__(*args, **kwargs) + + def LoadTooltipPanel(self, panel, *args): + if self.char_id is None or self.char_name is None: + return + panel.LoadStandardSpacing() + panel.columns = 1 + from character.client.identifier import CharacterIdentifier + from cosmetics.client.character.title.api.repository import get_repository + equipped_state = get_repository().get_equipped_title(CharacterIdentifier(self.char_id)) + has_title = equipped_state is not None and equipped_state.equipped_title is not None + if has_title: + from achievement_system.client.ui.chip.character_title import CharacterTitleChip + title_chip = CharacterTitleChip(name='character_title_chip', character_id=self.char_id) + panel.AddTextBodyLabel(text=self.char_name) + panel.AddCell(title_chip) + else: + panel.AddTextBodyLabel(text=self.char_name) diff --git a/eve/client/script/ui/inflight/shipHud/buffButtons.py b/eve/client/script/ui/inflight/shipHud/buffButtons.py @@ -108,7 +108,7 @@ class BuffHintProvider(object): if displayName is None: continue if expiryTime is not None: - timeRemaining = max(0L, expiryTime - GetSimTime()) + timeRemaining = max(0, expiryTime - GetSimTime()) formattedTimeRemaining = FormatTimeIntervalShortWritten(timeRemaining) else: formattedTimeRemaining = '' diff --git a/eve/client/script/ui/inflight/shipHud/slotsContainer.py b/eve/client/script/ui/inflight/shipHud/slotsContainer.py @@ -116,7 +116,7 @@ class SlotsContainer(UiHiderMixin, Container): self.SwapSlots(slotFlag1, slotFlag2) def GetModuleType(self, flag): - if not self.slotsByFlag.has_key(flag): + if flag not in self.slotsByFlag: return None module = self.slotsByFlag[flag].sr.module if not module: @@ -221,7 +221,7 @@ class SlotsContainer(UiHiderMixin, Container): if moduleInfo is None: continue myOrder[i] = moduleInfo.itemID - if currentControl.has_key(moduleInfo.itemID): + if moduleInfo.itemID in currentControl: item = sm.services['godma'].GetItem(moduleInfo.itemID) if item.groupID == const.groupMobileLaserSentry and len(item.modules): charges[moduleInfo.itemID] = item.modules[0] diff --git a/eve/client/script/ui/inflight/shipModuleButton/shipmodulebutton.py b/eve/client/script/ui/inflight/shipModuleButton/shipmodulebutton.py @@ -359,10 +359,10 @@ class ModuleButton(Container): return sm.GetService('invCache').GetInventoryFromId(session.shipid) def IsCorrectChargeSize(self, item, wantChargeSize): - if not self.__chargesizecache__.has_key(item.typeID): + if item.typeID not in self.__chargesizecache__: cRS = dogma.data.get_type_attributes(item.typeID) cAttribs = IndexedRows(cRS, ('attributeID',)) - if cAttribs.has_key(const.attributeChargeSize): + if const.attributeChargeSize in cAttribs: gotChargeSize = cAttribs[const.attributeChargeSize].value else: gotChargeSize = 0 @@ -509,7 +509,7 @@ class ModuleButton(Container): return (None, None) effect = self.dogmaLocation.dogmaStaticMgr.GetEffect(defaultEffectID) return (defaultEffectID, effect.effectName) - except StandardError: + except Exception: return (None, None) def RepairModule(self): @@ -1280,7 +1280,7 @@ class ModuleButton(Container): return moduleID = self.moduleinfo.itemID rampTimers = uicore.layer.shipui.sr.rampTimers - if rampTimers.has_key(moduleID): + if moduleID in rampTimers: del rampTimers[moduleID] if self.sr.ramps: self.sr.ramps.display = False diff --git a/eve/client/script/ui/login/antiaddiction.py b/eve/client/script/ui/login/antiaddiction.py @@ -7,6 +7,7 @@ import bluepy from eveprefs import prefs, boot from caching.memoize import Memoize from player_messaging.client.ui_message import prompt_player_fsd_dialog +from functools import reduce historyVersion = 7 def OnLogin(): diff --git a/eve/client/script/ui/login/charSelection/timeLeftCounters.py b/eve/client/script/ui/login/charSelection/timeLeftCounters.py @@ -54,7 +54,7 @@ class CountDownTimer(Container): self.highlight.display = False icon = Sprite(parent=self, pos=(0, 0, 32, 32), align=uiconst.CENTERLEFT, texturePath=iconPath, state=uiconst.UI_DISABLED) now = blue.os.GetWallclockTime() - timeLeft = max(0L, endTime - now) + timeLeft = max(0, endTime - now) timeLeftText = localization.formatters.FormatTimeIntervalWritten(long(timeLeft), showFrom='day', showTo='day') self.label = eveLabel.EveLabelLarge(parent=self, pos=(8, 0, 0, 0), align=uiconst.CENTERRIGHT, text=timeLeftText, state=uiconst.UI_DISABLED) if timeLeft < csUtil.WARNING_TIME: diff --git a/eve/client/script/ui/login/charcreation/bloodlineDollLoader.py b/eve/client/script/ui/login/charcreation/bloodlineDollLoader.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/login/charcreation/bloodlineDollLoader.py +from __future__ import absolute_import import eve.client.script.ui.login.charcreation.bloodlineSelector as BS -import grannyLoader +from . import grannyLoader from eve.client.script.paperDoll.paperDollSpawnWrappers import PaperDollCharacter class BloodlineDollLoader(object): diff --git a/eve/client/script/ui/login/charcreation/bloodlineSelector.py b/eve/client/script/ui/login/charcreation/bloodlineSelector.py @@ -1,11 +1,12 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/login/charcreation/bloodlineSelector.py +from __future__ import absolute_import import log import remotefilecache import trinity import random import blue import geo2 -import grannyLoader +from . import grannyLoader from eve.client.script.paperDoll.paperDollSpawnWrappers import PaperDollCharacter RACE_PATHS_MAPPING = {1: [[['res:/Graphics/Character/Unique/CharacterSelect/AchuraFemaleClothing', 'res:/Graphics/Character/Unique/CharacterSelect/AchuraMaleClothing'], 11, 3], [['res:/Graphics/Character/Unique/CharacterSelect/CivireFemaleClothing', 'res:/Graphics/Character/Unique/CharacterSelect/CivireMaleClothing'], 2, 4], [['res:/Graphics/Character/Unique/CharacterSelect/DeteisFemaleClothing', 'res:/Graphics/Character/Unique/CharacterSelect/DeteisMaleClothing'], 1, 5]], 2: [[['res:/Graphics/Character/Unique/CharacterSelect/BrutorFemaleClothing', 'res:/Graphics/Character/Unique/CharacterSelect/BrutorMaleClothing'], 4, 9], [['res:/Graphics/Character/Unique/CharacterSelect/SebiestorFemaleClothing', 'res:/Graphics/Character/Unique/CharacterSelect/SebiestorMaleClothing'], 3, 10], [['res:/Graphics/Character/Unique/CharacterSelect/VherokiorFemaleClothing', 'res:/Graphics/Character/Unique/CharacterSelect/VherokiorMaleClothing'], 14, 11]], diff --git a/eve/client/script/ui/login/charcreation/charCreationColorPicker.py b/eve/client/script/ui/login/charcreation/charCreationColorPicker.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/login/charcreation/charCreationColorPicker.py +from __future__ import print_function import math import carbonui.const as uiconst import charactercreator.const as ccConst @@ -517,14 +518,14 @@ class CharCreationColorPicker(Container): top, right, bottom) - print '(%s,%s,%s): ("res:/UI/Texture/CharacterCreation/colorBits/%s", %s, %s, %s, %s),' % (colorAmt, + print('(%s,%s,%s): ("res:/UI/Texture/CharacterCreation/colorBits/%s", %s, %s, %s, %s),' % (colorAmt, colorBitNo, isEnd, each, left, top, right, - bottom) + bottom)) def InitColors(self, colors, activeColorIndex = 0): if not len(colors): @@ -541,7 +542,7 @@ class CharCreationColorPicker(Container): colors = self._colorResources.get(info.bloodlineID, []) totalColors = len(colors) if totalColors > max(availableColorAmount): - print 'Color amount exceeded the maxmimum color amout' + print('Color amount exceeded the maxmimum color amout') return while totalColors not in availableColorAmount and colors: log.LogWarn('The amount of colors provided for colorwheel is incorrect, is:', totalColors, 'but should be one of:', availableColorAmount) diff --git a/eve/client/script/ui/login/charcreation/charCreationNavigation.py b/eve/client/script/ui/login/charcreation/charCreationNavigation.py @@ -271,7 +271,7 @@ class CharCreationNavigation(Container): if self.stepID == stepClicked.id: if not session.role & ROLE_PROGRAMMER: return - apply(self.callbackFunc, (stepClicked.id,)) + self.callbackFunc(stepClicked.id) @telemetry.ZONE_METHOD def OnStepMouseOver(self, container, *args): diff --git a/eve/client/script/ui/login/charcreation_new/charCreationColorPicker.py b/eve/client/script/ui/login/charcreation_new/charCreationColorPicker.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/login/charcreation_new/charCreationColorPicker.py +from __future__ import print_function import math import carbonui.const as uiconst import charactercreator.const as ccConst @@ -519,14 +520,14 @@ class CharCreationColorPicker(Container): top, right, bottom) - print '(%s,%s,%s): ("res:/UI/Texture/CharacterCreation/colorBits/%s", %s, %s, %s, %s),' % (colorAmt, + print('(%s,%s,%s): ("res:/UI/Texture/CharacterCreation/colorBits/%s", %s, %s, %s, %s),' % (colorAmt, colorBitNo, isEnd, each, left, top, right, - bottom) + bottom)) def InitColors(self, colors, activeColorIndex = 0): self.Flush() @@ -541,7 +542,7 @@ class CharCreationColorPicker(Container): colors = self._colorResources.get(info.bloodlineID, []) totalColors = len(colors) if totalColors > max(availableColorAmount): - print 'Color amount exceeded the maxmimum color amout' + print('Color amount exceeded the maxmimum color amout') return while totalColors not in availableColorAmount and colors: log.LogWarn('The amount of colors provided for colorwheel is incorrect, is:', totalColors, 'but should be one of:', availableColorAmount) diff --git a/eve/client/script/ui/moonmining/schedulingSvc.py b/eve/client/script/ui/moonmining/schedulingSvc.py @@ -58,7 +58,7 @@ class SchedulingSvc(Service): sm.ScatterEvent('OnMiningLaserFiredLocal') sm.GetService('audio').SendUIEvent('moon_mining_fire_at_moon_button_play') sm.RemoteSvc('moonExtractions').FractureChunkWithStructure() - except StandardError: + except Exception: self.laserFiredTimestamp = None sm.ScatterEvent('OnMiningLaserFiredFailedLocal') raise diff --git a/eve/client/script/ui/services/accountsvc.py b/eve/client/script/ui/services/accountsvc.py @@ -73,7 +73,7 @@ class Account(Service): self.data = {} def GetStaticData(self, itemName, trCol = None, trID = None, *args): - if not self.data.has_key(itemName): + if itemName not in self.data: account = self.GetAccountMgr() data = getattr(account, itemName)(*args) for rec in data: diff --git a/eve/client/script/ui/services/alliances/all_cso_alliance.py b/eve/client/script/ui/services/alliances/all_cso_alliance.py @@ -39,7 +39,7 @@ class AllianceO(BaseAllianceObject): allianceID = session.allianceid if allianceID is None: raise RuntimeError('NoSuchAlliance') - if self.alliancesByAllianceID is not None and self.alliancesByAllianceID.has_key(allianceID): + if self.alliancesByAllianceID is not None and allianceID in self.alliancesByAllianceID: return self.alliancesByAllianceID[allianceID] alliance = None if allianceID == session.allianceid: @@ -67,7 +67,7 @@ class AllianceO(BaseAllianceObject): self.alliancesByAllianceID[allianceID] = blue.DBRow(self.alliancesByAllianceID.header, line) else: - if not self.alliancesByAllianceID.has_key(allianceID): + if allianceID not in self.alliancesByAllianceID: return if bRemove: del self.alliancesByAllianceID[allianceID] @@ -76,13 +76,13 @@ class AllianceO(BaseAllianceObject): for columnName in change.iterkeys(): setattr(alliance, columnName, change[columnName][1]) - if cfg.allianceshortnames.data.has_key(allianceID): + if allianceID in cfg.allianceshortnames.data: header = cfg.allianceshortnames.header line = cfg.allianceshortnames.data[allianceID] i = -1 for columnName in header: i = i + 1 - if not change.has_key(columnName): + if columnName not in change: continue line[i] = change[columnName][1] diff --git a/eve/client/script/ui/services/alliances/all_cso_applications.py b/eve/client/script/ui/services/alliances/all_cso_applications.py @@ -46,7 +46,7 @@ class AllianceApplicationsO(BaseAllianceObject): self.applications[corpID] = blue.DBRow(self.applications.header, line) else: - if not self.applications.has_key(corpID): + if corpID not in self.applications: return if bRemove: del self.applications[corpID] diff --git a/eve/client/script/ui/services/alliances/all_cso_members.py b/eve/client/script/ui/services/alliances/all_cso_members.py @@ -44,7 +44,7 @@ class AllianceMembersO(BaseAllianceObject): self.members[corpID] = blue.DBRow(self.members.header, line) else: - if not self.members.has_key(corpID): + if corpID not in self.members: return if bRemove: del self.members[corpID] diff --git a/eve/client/script/ui/services/alliances/all_cso_relationships.py b/eve/client/script/ui/services/alliances/all_cso_relationships.py @@ -21,14 +21,14 @@ class AllianceRelationshipsO(BaseAllianceObject): def Set(self, relationship, toID): relationships = self.Get() - if relationships.has_key(toID): + if toID in relationships: if relationships[toID] == relationship: return self.GetMoniker().SetRelationship(relationship, toID) def Delete(self, toID): relationships = self.Get() - if not relationships.has_key(toID): + if toID not in relationships: return return self.GetMoniker().DeleteRelationship(toID) @@ -47,7 +47,7 @@ class AllianceRelationshipsO(BaseAllianceObject): self.relationships[toID] = blue.DBRow(self.relationships.header, line) else: - if not self.relationships.has_key(toID): + if toID not in self.relationships: return if bRemove: del self.relationships[toID] diff --git a/eve/client/script/ui/services/bugReporting.py b/eve/client/script/ui/services/bugReporting.py @@ -374,7 +374,7 @@ class BugReportingService(Service): else: crash_folder = os.path.join(blue.sysinfo.GetUserApplicationDataDirectory(), 'CCP', 'EVE', 'reports') crashes = [ (os.path.splitext(i)[0], os.path.getmtime(os.path.join(crash_folder, i))) for i in os.listdir(crash_folder) if i.lower().endswith('.dmp') ] - except StandardError: + except Exception: return crashes.sort(key=lambda x: x[1], reverse=True) @@ -795,7 +795,8 @@ class BugReportingWindow(Window): def RegisterPositionTraceKeyEvents(self): self.keyDownCookie = uicore.event.RegisterForTriuiEvents(uiconst.UI_KEYDOWN, self.OnGlobalKeyDownCallback) - def OnGlobalKeyDownCallback(self, wnd, eventID, (vkey, flag)): + def OnGlobalKeyDownCallback(self, wnd, eventID, param): + vkey, flag = param if self.destroyed: return False ctrl = uicore.uilib.Key(uiconst.VK_CONTROL) diff --git a/eve/client/script/ui/services/character.py b/eve/client/script/ui/services/character.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/services/character.py +from __future__ import print_function import colorsys import random import types @@ -646,7 +647,7 @@ class Character(Service): b, 1.0), colorVars[each]))) else: - print 'Unsupported modifier color', each + print('Unsupported modifier color', each) retColorsA = SortListOfTuples(retColorsA) retColorsBC = SortListOfTuples(retColorsBC) diff --git a/eve/client/script/ui/services/corporation/base_corporation.py b/eve/client/script/ui/services/corporation/base_corporation.py @@ -581,7 +581,7 @@ class Corporation(Service): raise def CheckApplication(self, retval): - if retval.has_key('appltext'): + if 'appltext' in retval: applicationText = retval['appltext'] if len(applicationText) > 1000: return localization.GetByLabel('UI/Corporations/BaseCorporationUI/ApplicationTextTooLong', length=len(applicationText)) diff --git a/eve/client/script/ui/services/corporation/bco_alliance.py b/eve/client/script/ui/services/corporation/bco_alliance.py @@ -43,7 +43,7 @@ class CorpAllianceO(BaseCorpObject): self.__applicationsByAllianceID[allianceID] = blue.DBRow(self.__applicationsByAllianceID.header, line) else: - if not self.__applicationsByAllianceID.has_key(allianceID): + if allianceID not in self.__applicationsByAllianceID: return if bRemove: del self.__applicationsByAllianceID[allianceID] diff --git a/eve/client/script/ui/services/corporation/bco_corporations.py b/eve/client/script/ui/services/corporation/bco_corporations.py @@ -21,7 +21,7 @@ class CorporationsO(BaseCorpObject): if 'corpid' in change: oldID, newID = change['corpid'] if newID is not None: - if self.corporationByCorporationID is not None and self.corporationByCorporationID.has_key(newID): + if self.corporationByCorporationID is not None and newID in self.corporationByCorporationID: del self.corporationByCorporationID[newID] def Reset(self): @@ -30,12 +30,12 @@ class CorporationsO(BaseCorpObject): def has_key(self, corpID): if self.corporationByCorporationID is not None: - return self.corporationByCorporationID.has_key(corpID) + return corpID in self.corporationByCorporationID def GetCorporation(self, corpid = None, new = 0): if corpid is None: corpid = session.corpid - if self.corporationByCorporationID is not None and self.corporationByCorporationID.has_key(corpid) and not new: + if self.corporationByCorporationID is not None and corpid in self.corporationByCorporationID and not new: return self.corporationByCorporationID[corpid] if corpid == session.corpid: corporation = self.GetCorpRegistry().GetCorporation() @@ -80,24 +80,24 @@ class CorporationsO(BaseCorpObject): self.corporationByCorporationID[corpID] = line else: - if not self.corporationByCorporationID.has_key(corpID): + if corpID not in self.corporationByCorporationID: return if bRemove: del self.corporationByCorporationID[corpID] else: corporation = self.corporationByCorporationID[corpID] for columnName in corporation.header: - if not change.has_key(columnName): + if columnName not in change: continue setattr(corporation, columnName, change[columnName][1]) - if cfg.corptickernames.data.has_key(corpID): + if corpID in cfg.corptickernames.data: header = cfg.corptickernames.header line = cfg.corptickernames.data[corpID] i = -1 for columnName in header: i = i + 1 - if not change.has_key(columnName): + if columnName not in change: continue line[i] = change[columnName][1] diff --git a/eve/client/script/ui/services/corporation/bco_members.py b/eve/client/script/ui/services/corporation/bco_members.py @@ -116,7 +116,7 @@ class CorporationMembersO(BaseCorpObject): eveowners = self.GetCorpRegistry().GetEveOwners() self.__memberIDs = [] for owner in eveowners: - if not cfg.eveowners.data.has_key(owner.ownerID): + if owner.ownerID not in cfg.eveowners.data: cfg.eveowners.data[owner.ownerID] = list(owner) + [None] self.__memberIDs.append(owner.ownerID) diff --git a/eve/client/script/ui/services/corporation/bco_shares.py b/eve/client/script/ui/services/corporation/bco_shares.py @@ -44,7 +44,7 @@ class SharesO(BaseCorpObject): def OnShareChange_thread(self, shareholderID, corporationID, change): if self.myShares is None and self.corpShares is None: return - IWasAShareholderInMyCorp = self.myShares is not None and self.myShares.has_key(session.corpid) + IWasAShareholderInMyCorp = self.myShares is not None and session.corpid in self.myShares bAdd, bRemove = self.GetAddRemoveFromChange(change) rowset = None key = corporationID @@ -54,10 +54,10 @@ class SharesO(BaseCorpObject): rowset = self.corpShares if rowset is not None and type(rowset) != type([]) and len(rowset) > 0: if bRemove: - if rowset.has_key(key): + if key in rowset: del rowset[key] else: rowset[key] = change - IAmAShareholderInMyCorp = self.myShares is not None and self.myShares.has_key(session.corpid) + IAmAShareholderInMyCorp = self.myShares is not None and session.corpid in self.myShares if IAmAShareholderInMyCorp != IWasAShareholderInMyCorp: sm.GetService('corpui').ResetWindow(bShowIfVisible=1) diff --git a/eve/client/script/ui/services/corporation/bco_titles.py b/eve/client/script/ui/services/corporation/bco_titles.py @@ -40,9 +40,9 @@ class TitlesO(BaseCorpObject): title = Row(header, line) self.titles[key] = title elif bRemove: - if self.titles.has_key(key): + if key in self.titles: del self.titles[key] - elif self.titles.has_key(key): + elif key in self.titles: title = self.titles[key] for columnName in change.iterkeys(): setattr(title, columnName, change[columnName][1]) diff --git a/eve/client/script/ui/services/corporation/corp_util.py b/eve/client/script/ui/services/corporation/corp_util.py @@ -78,7 +78,7 @@ def CanEditRole(roleID, grantable, playerIsCEO, playerIsDirector, IAmCEO, viewRo else: if not roleGroupings: roleGroupings = sm.GetService('corp').GetRoleGroupings() - if not roleGroupings.has_key(viewRoleGroupingID): + if viewRoleGroupingID not in roleGroupings: raise RuntimeError('UnknownViewType') roleGroup = roleGroupings[viewRoleGroupingID] if roleGroup.appliesTo == 'roles': diff --git a/eve/client/script/ui/services/encodedItemsWindow.py b/eve/client/script/ui/services/encodedItemsWindow.py @@ -76,7 +76,7 @@ class EncodedItemsWindow(Window): with open(fileName, 'wb') as outputPath: outputPath.write(data) prompt_player_fsd_dialog('CustomNotify', {'notify': GetByLabel(successMsgPath)}) - except StandardError: + except Exception: prompt_player_fsd_dialog('CustomNotify', {'notify': GetByLabel(failureMsgPath)}) raise finally: diff --git a/eve/client/script/ui/services/evePhotosvc.py b/eve/client/script/ui/services/evePhotosvc.py @@ -238,14 +238,14 @@ class EvePhoto(Service): return self.ReturnTexture(path, w, h, bw, bh) except: self.LogError('Failed to load image', path) - if self.urlloading.has_key(fullPath): + if fullPath in self.urlloading: del self.urlloading[fullPath] sys.exc_clear() return self.ErrorPic(sizeonly) if ignoreCache: sm.GetService('imageCache').InvalidateImage(fullPath) - while self.urlloading.has_key(fullPath): + while fullPath in self.urlloading: blue.pyos.BeNice() if not dontcache: @@ -313,11 +313,11 @@ class EvePhoto(Service): except Exception as e: if retry: sys.exc_clear() - if self.urlloading.has_key(fullPath): + if fullPath in self.urlloading: del self.urlloading[fullPath] return self.GetTextureFromURL(path, currentURL, ignoreCache, dontcache, fromWhere, sizeonly, 0) self.LogError(e, 'Failed to load image', repr(path)) - if self.urlloading.has_key(fullPath): + if fullPath in self.urlloading: del self.urlloading[fullPath] sys.exc_clear() return self.ErrorPic(sizeonly) @@ -373,6 +373,8 @@ class EvePhoto(Service): self.portraits = RemoteImageCacher('Character', self, '.jpg', imageServer, self.machoNet) self.pendingPortraitGeneration = settings.user.ui.Get('pendingPortraitGeneration', set()) for charID in self.pendingPortraitGeneration: + if charID is None: + continue self.LogInfo('Character', charID, 'is marked as newly customized.') self.portraits.AddToWatchList(charID, self.PortraitDownloaded) for size in PORTRAIT_SIZES: diff --git a/eve/client/script/ui/services/marketsvc.py b/eve/client/script/ui/services/marketsvc.py @@ -735,5 +735,5 @@ class MarketQuote(Service): numAvailable += order.volRemaining return numAvailable - except StandardError: + except Exception: logger.exception('GetMaxAvailable') diff --git a/eve/client/script/ui/services/medals.py b/eve/client/script/ui/services/medals.py @@ -74,7 +74,7 @@ class Medals(Service): medalInfo, medalGraphics = medals for medal in medalInfo: if medal.status in status: - if ret.has_key(medal.medalID): + if medal.medalID in ret: ret[medal.medalID].append(medal) else: ret[medal.medalID] = [medal] diff --git a/eve/client/script/ui/services/menuAction.py b/eve/client/script/ui/services/menuAction.py @@ -145,7 +145,7 @@ class Action(Container): funcArgs = (funcArgs,) else: funcArgs = () - apply(self.action[1], funcArgs) + self.action[1](*funcArgs) except Exception as e: log.LogError(e, 'Failed executing action:', self.action) log.LogException() diff --git a/eve/client/script/ui/services/menuSvcExtras/menuFunctions.py b/eve/client/script/ui/services/menuSvcExtras/menuFunctions.py @@ -331,7 +331,7 @@ def SetName(invOrSlimItem, invCacheSvc): return _SetStructureName(itemID) try: setval = cfg.evelocations.Get(itemID).name - except StandardError: + except Exception: setval = '' sys.exc_clear() diff --git a/eve/client/script/ui/services/menusvc.py b/eve/client/script/ui/services/menusvc.py @@ -12,7 +12,7 @@ from stargate.client.localGates import FindLocalStargate, FindLocalJumpGateForDe from eve.client.script.ui.comparison.comparisonSettings import use_new_comparison_tool from eve.common.script.sys.idCheckers import IsSkyhook from shipcaster.shipcasterConst import SHIPCASTER_PROXIMITY_TO_JUMP -from shipcaster.shipcasterUtil import GetTargetForShipcaster, GetFailureTextAndDisabledOption, GetTargetForStarterShipcaster +from shipcaster.client.shipcasterUtil import GetTargetForShipcaster, GetFailureTextAndDisabledOption, GetTargetForStarterShipcaster from carbon.common.script.net.moniker import Moniker from carbon.common.script.sys.serviceConst import ROLE_CONTENT, ROLE_GML, ROLE_LEGIONEER, ROLE_PROGRAMMER, ROLE_SPAWN, ROLE_WORLDMOD from carbon.common.script.sys.sessions import ThrottlePerSecond @@ -1011,7 +1011,7 @@ class MenuSvc(Service): inv = self.invCache.GetInventoryFromId(invItem.locationID) gm.append(('QA LOCK ITEM', inv.QALockItem, (invItem.itemID,))) gm.append(('QA UNLOCK ITEM', inv.QAUnlockItem, (invItem.itemID,))) - except StandardError: + except Exception: pass if charID and not idCheckers.IsNPC(charID): @@ -1210,7 +1210,7 @@ class MenuSvc(Service): if mapEditorOptions: gm.append(MenuEntryData('Map Editor', subMenuData=mapEditorOptions)) gm.append(None) - except StandardError: + except Exception: self.LogException('Failed to get map editor menu') d = {'CHARID': charID, @@ -2959,7 +2959,7 @@ class MenuSvc(Service): sublegality = self.GetIllegality(item.itemID, solarSystemID=solarSystemID) if sublegality: stuff += sublegality + ', ' - except StandardError: + except Exception: log.LogTraceback('bork in illegality check 2') sys.exc_clear() diff --git a/eve/client/script/ui/services/sessionChangeWindowOpener.py b/eve/client/script/ui/services/sessionChangeWindowOpener.py @@ -59,7 +59,7 @@ def CloseOutOfScopeWindows(scope): closeMethod() except TypeError: logger.exception('ScopeCheck: Failed to find a Close* method for window %s', window.name) - except StandardError: + except Exception: logger.exception('ScopeCheck: Close* method for window %s raised an error', window.name) @@ -80,7 +80,7 @@ def _TryOpenWnd(cls, windowID = None, windowInstanceID = None, **kwargs): if not isRegisteredAsOpen: return cls.OpenBehindFullscreenViews(windowID=windowID, windowInstanceID=windowInstanceID, **kwargs) - except StandardError as e: + except Exception as e: logger.exception('Failed at opening window') diff --git a/eve/client/script/ui/services/skillsvc.py b/eve/client/script/ui/services/skillsvc.py @@ -591,7 +591,7 @@ class SkillsSvc(Service): def GetSkillTrainingTimeLeftToUseType(self, skillTypeID, includeBoosters = True): if self.IsSkillRequirementMet(skillTypeID): - return 0L + return 0 required = self.GetRequiredSkillsRecursive(skillTypeID) totalTime = self.GetSkillTrainingTimeLeftForTypesAndLevels(required, includeBoosters) return long(totalTime) diff --git a/eve/client/script/ui/services/surveySvc.py b/eve/client/script/ui/services/surveySvc.py @@ -73,5 +73,5 @@ class SurveySvc(Service): return try: return sm.RemoteSvc('survey').GetActiveSurveyID() - except StandardError: + except Exception: self.LogException() diff --git a/eve/client/script/ui/services/wars/war_cso.py b/eve/client/script/ui/services/wars/war_cso.py @@ -77,7 +77,7 @@ class Wars(Service): try: warsByOwnerID = {ownerID:warIDs for ownerID, (lastUpdated, warIDs) in self.warsByOwnerID.iteritems()} warUtil.HandleWarChange(war, self.warsByWarID, warsByOwnerID, ownerIDs, change) - except StandardError: + except Exception: self.LogException() finally: corpUISignals.on_war_changed(war, ownerIDs, change) @@ -158,7 +158,7 @@ class Wars(Service): if session.charid: try: self._CheckForWarStartingOrEnding() - except StandardError: + except Exception: self.LogException() blue.pyos.synchro.SleepWallclock(10000) diff --git a/eve/client/script/ui/shared/agencyNew/ui/common/helpPanel.py b/eve/client/script/ui/shared/agencyNew/ui/common/helpPanel.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/agencyNew/ui/common/helpPanel.py +from __future__ import print_function import carbonui import carbonui.text.styles from carbonui import uiconst @@ -68,5 +69,5 @@ class _ScrollEntry(BaseScrollContEntry): carbonui.text.styles.TextBody(parent=self, name='label', align=carbonui.Align.TOLEFT, text=self.section.name, padding=5) def OnSelect(self, *artgs): - print '{} selected'.format(self.section.name) + print('{} selected'.format(self.section.name)) super(_ScrollEntry, self).OnSelect() diff --git a/eve/client/script/ui/shared/agencyNew/ui/contentGroupCards/verticalContentGroupCard.py b/eve/client/script/ui/shared/agencyNew/ui/contentGroupCards/verticalContentGroupCard.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/agencyNew/ui/contentGroupCards/verticalContentGroupCard.py +from __future__ import absolute_import import blue import eveformat import uthread -from baseContentGroupCard import BaseContentGroupCard +from .baseContentGroupCard import BaseContentGroupCard from carbonui import TextColor, uiconst from carbonui.primitives.container import Container from carbonui.primitives.containerAutoSize import ContainerAutoSize diff --git a/eve/client/script/ui/shared/agencyNew/ui/contentPages/contentPageSeasons.py b/eve/client/script/ui/shared/agencyNew/ui/contentPages/contentPageSeasons.py @@ -397,7 +397,7 @@ class SeasonContent(Container): for challenge in self.alphaChallenges.itervalues(): if self.seasonSvc.challenge_is_dormant(challenge.challenge_id): continue - if not self.challengeEntries.has_key(challenge.challenge_id) or self.seasonSvc.challenge_is_dormant(challenge.challenge_id): + if challenge.challenge_id not in self.challengeEntries or self.seasonSvc.challenge_is_dormant(challenge.challenge_id): idx = self.alphaChallenges.keys().index(challenge.challenge_id) entry = ChallengeEntry(name='challengeentry_%s' % challenge.challenge_id, parent=self.challengeGridContainer, challenge=challenge, challengeWidth=ENTRY_WIDTH, padding=(0, 2, 12, 8), opacity=0.0, idx=idx, align=uiconst.TOTOP) self.challengeEntries[challenge.challenge_id] = entry @@ -411,7 +411,7 @@ class SeasonContent(Container): for challenge in self.alphaChallenges.itervalues(): if self.seasonSvc.challenge_is_dormant(challenge.challenge_id): continue - if self.challengeEntries.has_key(challenge.challenge_id): + if challenge.challenge_id in self.challengeEntries: entry = self.challengeEntries[challenge.challenge_id] height += entry.GetHeight() + entry.padTop + entry.padBottom diff --git a/eve/client/script/ui/shared/assets/assetSafetyEntry.py b/eve/client/script/ui/shared/assets/assetSafetyEntry.py @@ -98,7 +98,7 @@ class AssetSafetyEntry(BaseListEntryCustomColumns): solarSystemTimeLeft, autoDeliverTimeLeft = self.GetDeliveryTimesLeft() progress = 1 - solarSystemTimeLeft / (const.DAY * float(self.daysUntilCanDeliverConst)) self.deliverBtn.SetProgress(progress) - formattedTimeLeft = FormatTimeIntervalShortWritten(max(0L, autoDeliverTimeLeft)) + formattedTimeLeft = FormatTimeIntervalShortWritten(max(0, autoDeliverTimeLeft)) self.autoTimeLeft.text = formattedTimeLeft self.SetDeliverBtnState(solarSystemTimeLeft) diff --git a/eve/client/script/ui/shared/dynamicResource/__init__.py b/eve/client/script/ui/shared/dynamicResource/__init__.py @@ -1,2 +1,3 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/dynamicResource/__init__.py -from dynamicResourceSvc import * +from __future__ import absolute_import +from .dynamicResourceSvc import * diff --git a/eve/client/script/ui/shared/epicArcs/epicArcController.py b/eve/client/script/ui/shared/epicArcs/epicArcController.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/epicArcs/epicArcController.py +from __future__ import print_function from carbonui.util.color import Color from eve.client.script.ui.shared.epicArcs import epicArcConst from eve.client.script.ui.station.agents import agentConst @@ -327,7 +328,7 @@ class EpicArcMissionNode(object): return nextNode.GetNextChapterID() def PrintArc(self): - print '%s: %s\n' % (self.missionID, self.GetName()) + print('%s: %s\n' % (self.missionID, self.GetName())) node = self._GetNextNode() if node: node.PrintArc() diff --git a/eve/client/script/ui/shared/eveCalendar.py b/eve/client/script/ui/shared/eveCalendar.py @@ -1725,7 +1725,7 @@ class EventList(Container): self.sr.eventScroll.multiSelect = 0 def GetEvents(self, *args): - return apply(self.getEventsFunc, self.getEventsArgs) + return self.getEventsFunc(*self.getEventsArgs) def GetEventEntryTuple(self, eventKV, *args): entry = self.GetEventEntry(eventKV) diff --git a/eve/client/script/ui/shared/factionalWarfare/enlistmentFlow/backgroundDeco.py b/eve/client/script/ui/shared/factionalWarfare/enlistmentFlow/backgroundDeco.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/factionalWarfare/enlistmentFlow/backgroundDeco.py +from __future__ import print_function import math import random from carbonui.primitives.transform import Transform @@ -196,7 +197,7 @@ class TestBgDeco(Window): reloadBtn = Button(parent=self.content, label='Reload', align=uiconst.TOPLEFT, func=self.DebugReload, top=0, idx=0) def RotateDeco(deco): - print 'deco.rotation = ', + print('deco.rotation = ', end=' ') if FloatCloseEnough(deco.rotation, 0): change = math.radians(22.5) newValue = deco.rotation + change diff --git a/eve/client/script/ui/shared/fitting/cleanShipButton.py b/eve/client/script/ui/shared/fitting/cleanShipButton.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/fitting/cleanShipButton.py +from __future__ import print_function from carbonui.primitives.container import Container from carbonui.primitives.containerAutoSize import ContainerAutoSize from carbonui.control.button import Button @@ -24,7 +25,7 @@ class CleanShipButton(ContainerAutoSize): hangar_view = sm.GetService('viewState').GetView(ViewState.Hangar) if hangar_view is not None: hangar_view.OnDirtLevelChanged(shipID) - print 'Ship cleaned! New dirt timestamp for ship %s is %s' % (shipID, newDirtTimestamp) + print('Ship cleaned! New dirt timestamp for ship %s is %s' % (shipID, newDirtTimestamp)) def Close(self): self.controller = None diff --git a/eve/client/script/ui/shared/fitting/shipSceneContainer.py b/eve/client/script/ui/shared/fitting/shipSceneContainer.py @@ -170,7 +170,7 @@ class ShipSceneContainer(SceneContainer): try: if IsModularShip(self.controller.typeID) and self.controller.IsSimulated(): del self.scene.objects[:] - except StandardError: + except Exception: pass return diff --git a/eve/client/script/ui/shared/fittingScreen/fittingPanels/minihangar.py b/eve/client/script/ui/shared/fittingScreen/fittingPanels/minihangar.py @@ -132,7 +132,7 @@ class CargoSlots(Container): return try: cap = self.GetCapacity() - except RuntimeError as e: + except (RuntimeError, AttributeError) as e: sm.GetService('fittingSvc').LogWarn('Failed to get cap for ship: ', e) return diff --git a/eve/client/script/ui/shared/fittingScreen/ghostFittingSvc.py b/eve/client/script/ui/shared/fittingScreen/ghostFittingSvc.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/fittingScreen/ghostFittingSvc.py +from __future__ import print_function import blue import carbonui.const as uiconst import dynamicitemattributes @@ -456,7 +457,7 @@ class GhostFittingSvc(Service): try: self.UnfitModule(oldAmmo.itemID, scatter=False) except Exception as e: - print 'e = ', e + print('e = ', e) shipID = self.fittingDogmaLocation.GetCurrentShipID() g = DBLessGhostFittingDataObject(shipID, flagID, ammoTypeID) diff --git a/eve/client/script/ui/shared/fittingScreen/priceLabel.py b/eve/client/script/ui/shared/fittingScreen/priceLabel.py @@ -20,8 +20,8 @@ from inventorycommon.typeHelpers import GetAveragePrice from localization import GetByLabel from shipfitting.multiBuyUtil import BuyMultipleTypesWithQty import eve.client.script.ui.shared.pointerTool.pointerToolConst as pConst -MILLION = 1000000L -BILLION = 1000000000L +MILLION = 1000000 +BILLION = 1000000000 class LabelPriceLabelCont(Container): default_align = uiconst.TOBOTTOM diff --git a/eve/client/script/ui/shared/fittingScreen/pythonEffects.py b/eve/client/script/ui/shared/fittingScreen/pythonEffects.py @@ -121,7 +121,7 @@ class Mine(Effect): def GetClamp(self, env, preferredDuration): import blue timePassed = blue.os.GetSimTime() - env.startedEffect - millisecondsPassed = timePassed / 10000L + millisecondsPassed = timePassed / 10000 return float(millisecondsPassed) / preferredDuration diff --git a/eve/client/script/ui/shared/fittingScreen/tryFit.py b/eve/client/script/ui/shared/fittingScreen/tryFit.py @@ -180,7 +180,7 @@ class TryFitter(object): dogmaLocation.LoadAmmoToModules(shipID, suitableModules, [ c.itemID for c in chargeItems ], chargeItems[0].locationID) loadResults = True loadedModules.update(suitableModules) - except StandardError as e: + except Exception as e: loadResults = e blue.pyos.synchro.SleepSim(50) diff --git a/eve/client/script/ui/shared/fleet/fleetWatchList.py b/eve/client/script/ui/shared/fleet/fleetWatchList.py @@ -253,7 +253,8 @@ class WatchListPanel(ActionPanel): if node.charID == charID: scroll.RemoveNodes([node]) if self.panelname: - self.SetCaption('%s [%s]' % (self.panelname, len(self.mainScroll.sr.nodes))) + numFavorites = len(FleetSvc().GetFavorites()) + self.SetCaption('%s [%s]' % (self.panelname, numFavorites)) self.UpdateHintAndStates() return diff --git a/eve/client/script/ui/shared/fleet/fleetbroadcast.py b/eve/client/script/ui/shared/fleet/fleetbroadcast.py @@ -225,7 +225,7 @@ def CopyFunctions(class_, locals_): for name, fn in class_.__dict__.iteritems(): if type(fn) is type(CopyFunctions): if name in locals_: - raise RuntimeError, 'What are you trying to do here?' + raise RuntimeError('What are you trying to do here?') locals_[name] = fn diff --git a/eve/client/script/ui/shared/industry/browserBlueprints.py b/eve/client/script/ui/shared/industry/browserBlueprints.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/industry/browserBlueprints.py +from __future__ import absolute_import from collections import defaultdict import gametime from carbonui.control.combo import Combo @@ -23,7 +24,7 @@ from eveexceptions import UserError from carbonui import TextColor from carbonui.text.styles import TextDetail from industry import facility -from labelUtils import GetFacilityLabelWithJump +from .labelUtils import GetFacilityLabelWithJump FACILITY_CURRENT = -1 FACILITY_NONE = -2 FACILITY_ALL = -3 diff --git a/eve/client/script/ui/shared/industry/industryWnd.py b/eve/client/script/ui/shared/industry/industryWnd.py @@ -177,7 +177,7 @@ class Industry(Window): try: return bpData.activities.keys()[0] - except StandardError: + except Exception: return industry.MANUFACTURING @telemetry.ZONE_METHOD diff --git a/eve/client/script/ui/shared/industry/tests/test_jump.py b/eve/client/script/ui/shared/industry/tests/test_jump.py @@ -4,7 +4,7 @@ import evePathfinder.pathfinderconst as pathfinderconst from testsuites.testcases import ClientTestCase def FakeGetByLabel(labelPath, **args): - if args.has_key('jumps'): + if 'jumps' in args: return True else: return False diff --git a/eve/client/script/ui/shared/info/infoContentBase.py b/eve/client/script/ui/shared/info/infoContentBase.py @@ -1517,7 +1517,7 @@ class InfoWindowMonolith(InfoContentBase): isBulwarkSystem = sm.GetService('fwWarzoneSvc').GetMapTagProvider().is_bulwark_system(self.item_id) if isBulwarkSystem: typeName += ' - %s' % GetByLabel('UI/Common/Bulwark') - except StandardError: + except Exception: logger.exception('Failed to check if bulwark system') locationTrace = self.GetLocationTrace(self.item_id, []) @@ -1847,10 +1847,10 @@ class InfoWindowMonolith(InfoContentBase): extraText = localization.GetByLabel('UI/InfoWindow/IfExtraText', extraText=t) else: extraText = '' - if cycle / 3600000L == 1: + if cycle / 3600000 == 1: text = localization.GetByLabel('UI/InfoWindow/FuelRequirementPerHour', qty=row.quantity, extraText=extraText) else: - numHours = cycle / 3600000L + numHours = cycle / 3600000 text = localization.GetByLabel('UI/InfoWindow/FuelRequirement', qty=row.quantity, numHours=numHours, extraText=extraText) menuFunc = lambda itemID = row.resourceTypeID: StartMenuService().GetMenuFromItemIDTypeID(None, itemID, includeMarketDetails=True).filter(['UI/Commands/ShowInfo']) le = GetFromClass(LabelTextSides, {'line': 1, diff --git a/eve/client/script/ui/shared/info/infosvc.py b/eve/client/script/ui/shared/info/infosvc.py @@ -3524,7 +3524,7 @@ class Info(Service): runs = {'qty': qty} if qty > 1: runs = uix.QtyPopup(100000, 1, qty, None, header) - if runs is not None and runs.has_key('qty') and runs['qty'] > 0: + if runs is not None and 'qty' in runs and runs['qty'] > 0: cntFrom = 1 cntTo = len(commands) + 1 sm.GetService('loading').ProgressWnd(GetByLabel('UI/Common/GiveLoot'), '', cntFrom, cntTo) diff --git a/eve/client/script/ui/shared/inventory/test/test_neocomInventoryBadging.py b/eve/client/script/ui/shared/inventory/test/test_neocomInventoryBadging.py @@ -6,10 +6,10 @@ from mock import Mock, patch from testhelpers.evemocks import SMMock from testsuites.testcases import ClientTestCase from unittest import main -SOLAR_SYSTEM_ID = 30005042L -STATION_ID = 60001327L -MY_SHIP_ID = 1000000123235L -ANOTHER_SHIP_ID = 1000000124167L +SOLAR_SYSTEM_ID = 30005042 +STATION_ID = 60001327 +MY_SHIP_ID = 1000000123235 +ANOTHER_SHIP_ID = 1000000124167 CHAR_ID_1 = 90000001 CHAR_ID_2 = 2112001018 @@ -87,56 +87,56 @@ class InventoryBadgingTestCase(ClientTestCase): def test_no_badging_if_item_manually_moved_from_cargo_to_item_hangar(self): change = {ixLocationID: MY_SHIP_ID, ixFlag: invconst.flagCargo} - item = ItemMock(itemID=1000000123391L, typeID=invconst.typeThrasherCombatCrate, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupSpecialEditionCommodities, categoryID=invconst.categorySpecialEditionAssets, customInfo='', stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123391, typeID=invconst.typeThrasherCombatCrate, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupSpecialEditionCommodities, categoryID=invconst.categorySpecialEditionAssets, customInfo='', stacksize=1, singleton=0) self._check_does_not_trigger_badging(change, item) def test_badging_if_item_redeemed(self): change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123399L, typeID=invconst.typeThrasherCombatCrate, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupSpecialEditionCommodities, categoryID=invconst.categorySpecialEditionAssets, customInfo=None, stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123399, typeID=invconst.typeThrasherCombatCrate, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupSpecialEditionCommodities, categoryID=invconst.categorySpecialEditionAssets, customInfo=None, stacksize=1, singleton=0) self._check_triggers_badging(change, item) def test_badging_if_ship_redeemed(self): change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123400L, typeID=invconst.typeMerlin, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupFrigate, categoryID=invconst.categoryShip, customInfo=None, stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123400, typeID=invconst.typeMerlin, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupFrigate, categoryID=invconst.categoryShip, customInfo=None, stacksize=1, singleton=0) self._check_triggers_badging(change, item) def test_badging_if_blueprint_copy_redeemed(self): change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000140926L, typeID=invconst.typeGnosisBlueprint, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=-2, groupID=invconst.groupBattlecruiserBlueprint, categoryID=invconst.categoryBlueprint, customInfo=None, stacksize=1, singleton=2) + item = ItemMock(itemID=1000000140926, typeID=invconst.typeGnosisBlueprint, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=-2, groupID=invconst.groupBattlecruiserBlueprint, categoryID=invconst.categoryBlueprint, customInfo=None, stacksize=1, singleton=2) self._check_triggers_badging(change, item) def test_badging_if_item_created_via_slash(self): change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123401L, typeID=invconst.typeThrasherCombatCrate, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupSpecialEditionCommodities, categoryID=invconst.categorySpecialEditionAssets, customInfo=None, stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123401, typeID=invconst.typeThrasherCombatCrate, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupSpecialEditionCommodities, categoryID=invconst.categorySpecialEditionAssets, customInfo=None, stacksize=1, singleton=0) self._check_triggers_badging(change, item) def test_badging_when_crate_is_opened(self): change = {invconst.ixStackSize: 1} - item = ItemMock(itemID=1000000123422L, typeID=invconst.typeA3DestroyerCrate, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=0, groupID=invconst.groupSpecialEditionCommodities, categoryID=invconst.categorySpecialEditionAssets, customInfo=None, stacksize=0, singleton=0) + item = ItemMock(itemID=1000000123422, typeID=invconst.typeA3DestroyerCrate, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=0, groupID=invconst.groupSpecialEditionCommodities, categoryID=invconst.categorySpecialEditionAssets, customInfo=None, stacksize=0, singleton=0) self._check_does_not_trigger_badging(change, item) change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123423L, typeID=invconst.typeSunesis, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupDestroyer, categoryID=invconst.categoryShip, customInfo=None, stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123423, typeID=invconst.typeSunesis, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupDestroyer, categoryID=invconst.categoryShip, customInfo=None, stacksize=1, singleton=0) self._check_triggers_badging(change, item) change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123424L, typeID=invconst.typeDamageControlI, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupDamageControl, categoryID=invconst.categoryModule, customInfo=None, stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123424, typeID=invconst.typeDamageControlI, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupDamageControl, categoryID=invconst.categoryModule, customInfo=None, stacksize=1, singleton=0) self._check_triggers_badging(change, item) change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123425L, typeID=invconst.typeTahronCustomHeatSink, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupHeatSink, categoryID=invconst.categoryModule, customInfo=None, stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123425, typeID=invconst.typeTahronCustomHeatSink, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupHeatSink, categoryID=invconst.categoryModule, customInfo=None, stacksize=1, singleton=0) self._check_triggers_badging(change, item) def test_badging_if_item_bought_in_lp_store(self): change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123427L, typeID=invconst.typeLimitedMemoryAugmentation, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupCyberLearning, categoryID=invconst.categoryImplant, customInfo=None, stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123427, typeID=invconst.typeLimitedMemoryAugmentation, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupCyberLearning, categoryID=invconst.categoryImplant, customInfo=None, stacksize=1, singleton=0) self._check_triggers_badging(change, item) def test_badging_if_item_bought_from_market(self): change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123428L, typeID=invconst.typeLimitedMemoryAugmentation, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupCyberLearning, categoryID=invconst.categoryImplant, customInfo=None, stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123428, typeID=invconst.typeLimitedMemoryAugmentation, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupCyberLearning, categoryID=invconst.categoryImplant, customInfo=None, stacksize=1, singleton=0) self._check_triggers_badging(change, item) def test_badging_if_item_acquired_from_contract(self): - item_id = 1000000123428L - contract_item_id = 1000000123429L + item_id = 1000000123428 + contract_item_id = 1000000123429 change = {ixOwnerID: invconst.ownerSystem, ixLocationID: contract_item_id, ixFlag: invconst.flagNone} @@ -144,8 +144,8 @@ class InventoryBadgingTestCase(ClientTestCase): self._check_triggers_badging(change, item) def test_badging_if_item_acquired_from_trade(self): - item_id = 1000000123431L - trade_item_id = 1000000123430L + item_id = 1000000123431 + trade_item_id = 1000000123430 previous_owner_id = CHAR_ID_2 owner_id = CHAR_ID_1 change = {ixOwnerID: previous_owner_id, @@ -154,8 +154,8 @@ class InventoryBadgingTestCase(ClientTestCase): self._check_triggers_badging(change, item) def test_badging_if_item_manufactured(self): - blueprint_item_id = 1000000123432L - item_id = 1000000123434L + blueprint_item_id = 1000000123432 + item_id = 1000000123434 change = {ixLocationID: locationRAMInstalledItems} item = ItemMock(itemID=blueprint_item_id, typeID=invconst.type1MNCivilianAfterburnerBlueprint, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=-1, groupID=invconst.groupPropulsionModuleBlueprint, categoryID=invconst.categoryBlueprint, customInfo='', stacksize=1, singleton=1) self._check_does_not_trigger_badging(change, item) @@ -165,22 +165,22 @@ class InventoryBadgingTestCase(ClientTestCase): def test_badging_if_item_given_in_mission(self): change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123436L, typeID=invconst.typeCratesOfCoolant, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=3, groupID=invconst.groupMiscellaneous, categoryID=invconst.categoryCommodity, customInfo=None, stacksize=3, singleton=0) + item = ItemMock(itemID=1000000123436, typeID=invconst.typeCratesOfCoolant, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=3, groupID=invconst.groupMiscellaneous, categoryID=invconst.categoryCommodity, customInfo=None, stacksize=3, singleton=0) self._check_triggers_badging(change, item) def test_no_badging_if_ore_mined(self): change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123441L, typeID=invconst.typeVeldspar, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=72, groupID=invconst.groupVeldspar, categoryID=invconst.categoryAsteroid, customInfo=KeyValMock(isMined=True), stacksize=72, singleton=0) + item = ItemMock(itemID=1000000123441, typeID=invconst.typeVeldspar, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=72, groupID=invconst.groupVeldspar, categoryID=invconst.categoryAsteroid, customInfo=KeyValMock(isMined=True), stacksize=72, singleton=0) self._check_does_not_trigger_badging(change, item) def test_no_badging_if_ship_assembled(self): change = {invconst.ixSingleton: 0} - item = ItemMock(itemID=1000000118245L, typeID=invconst.typeMerlin, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagHangar, quantity=-1, groupID=invconst.groupFrigate, categoryID=invconst.categoryShip, customInfo='', stacksize=1, singleton=1) + item = ItemMock(itemID=1000000118245, typeID=invconst.typeMerlin, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagHangar, quantity=-1, groupID=invconst.groupFrigate, categoryID=invconst.categoryShip, customInfo='', stacksize=1, singleton=1) self._check_does_not_trigger_badging(change, item) def test_no_badging_if_ship_repackaged(self): - ship_item_id_before = 1000000118245L - ship_item_id_after = 1000000123443L + ship_item_id_before = 1000000118245 + ship_item_id_after = 1000000123443 self.badging.get_tracked_item_storage = Mock(return_value=ItemStorageMock(unseen_item_ids=[])) change = {ixLocationID: STATION_ID} item = ItemMock(itemID=ship_item_id_before, typeID=invconst.typeMerlin, ownerID=CHAR_ID_1, locationID=locationJunkyard, flagID=invconst.flagHangar, quantity=-1, groupID=invconst.groupFrigate, categoryID=invconst.categoryShip, customInfo='', stacksize=1, singleton=1) @@ -192,8 +192,8 @@ class InventoryBadgingTestCase(ClientTestCase): self._check_does_not_trigger_badging(change, item) def test_no_badging_if_stack_split(self): - original_stack_item_id = 1000000123444L - new_stack_item_id = 1000000123445L + original_stack_item_id = 1000000123444 + new_stack_item_id = 1000000123445 self.badging.get_tracked_item_storage = Mock(return_value=ItemStorageMock(unseen_item_ids=[])) change = {ixItemID: original_stack_item_id, ixLocationID: locationAbstract} @@ -204,8 +204,8 @@ class InventoryBadgingTestCase(ClientTestCase): self._check_does_not_trigger_badging(change, item) def test_no_badging_if_swapping_ammo(self): - item_id_original_ammo_iron = 1000000123454L - item_id_new_ammo_tungsten = 1000000123453L + item_id_original_ammo_iron = 1000000123454 + item_id_new_ammo_tungsten = 1000000123453 change = {ixLocationID: locationAbstract} item = ItemMock(itemID=item_id_original_ammo_iron, typeID=invconst.typeIronChargeS, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=80, groupID=invconst.groupHybridAmmo, categoryID=invconst.categoryCharge, customInfo=KeyValMock(isAmmo=True), stacksize=80, singleton=0) self._check_does_not_trigger_badging(change, item) @@ -225,8 +225,8 @@ class InventoryBadgingTestCase(ClientTestCase): self._check_does_not_trigger_badging(change, item) def test_no_badging_if_swapping_crystal_ammo(self): - item_id_original_ammo_ultraviolet = 1000000123458L - item_id_new_ammo_gamma = 1000000123457L + item_id_original_ammo_ultraviolet = 1000000123458 + item_id_new_ammo_gamma = 1000000123457 change = {ixFlag: invconst.flagHiSlot0} item = ItemMock(itemID=item_id_original_ammo_ultraviolet, typeID=invconst.typeUltravioletS, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=1, groupID=invconst.groupFrequencyCrystal, categoryID=invconst.categoryCharge, customInfo=None, stacksize=1, singleton=0) self._check_does_not_trigger_badging(change, item) @@ -235,8 +235,8 @@ class InventoryBadgingTestCase(ClientTestCase): self._check_does_not_trigger_badging(change, item) def test_no_badging_if_loading_damageable_crystal_ammo_from_stack(self): - aurora_stack_in_cargo_item_id = 1000000140921L - aurora_loaded_item_id = 1000000140923L + aurora_stack_in_cargo_item_id = 1000000140921 + aurora_loaded_item_id = 1000000140923 change = {invconst.ixStackSize: 2} item = ItemMock(itemID=aurora_stack_in_cargo_item_id, typeID=invconst.typeAuroraL, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=1, groupID=invconst.groupAdvancedBeamLaserCrystal, categoryID=invconst.categoryCharge, customInfo=None, stacksize=1, singleton=0) self._check_does_not_trigger_badging(change, item) @@ -248,8 +248,8 @@ class InventoryBadgingTestCase(ClientTestCase): self._check_does_not_trigger_badging(change, item) def test_no_badging_if_probe_retracted(self): - item_id_retracted_probe = 1000000123462L - item_id_deployed_probe = 9000007165000001595L + item_id_retracted_probe = 1000000123462 + item_id_deployed_probe = 9000007165000001595 change = {ixLocationID: locationAbstract} item = ItemMock(itemID=item_id_retracted_probe, typeID=invconst.typeCombatScannerProbeI, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=1, groupID=invconst.groupScannerProbe, categoryID=invconst.categoryCharge, customInfo=(MY_SHIP_ID, MY_SHIP_ID), stacksize=1, singleton=0) self._check_does_not_trigger_badging(change, item) @@ -269,56 +269,56 @@ class InventoryBadgingTestCase(ClientTestCase): def test_no_badging_if_item_is_consumed(self): change = {invconst.ixStackSize: 25} - item = ItemMock(itemID=1000000123469L, typeID=invconst.typeLiquidOzone, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=0, groupID=invconst.groupIceProduct, categoryID=invconst.categoryMaterial, customInfo=None, stacksize=0, singleton=0) + item = ItemMock(itemID=1000000123469, typeID=invconst.typeLiquidOzone, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=0, groupID=invconst.groupIceProduct, categoryID=invconst.categoryMaterial, customInfo=None, stacksize=0, singleton=0) self._check_does_not_trigger_badging(change, item) def test_no_badging_if_booster_is_consumed(self): change = {invconst.ixSingleton: 0} - item = ItemMock(itemID=1000000124286L, typeID=invconst.typeQABooster, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=-1, groupID=invconst.groupBooster, categoryID=invconst.categoryImplant, customInfo=None, stacksize=1, singleton=1) + item = ItemMock(itemID=1000000124286, typeID=invconst.typeQABooster, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=-1, groupID=invconst.groupBooster, categoryID=invconst.categoryImplant, customInfo=None, stacksize=1, singleton=1) self._check_does_not_trigger_badging(change, item) change = {ixLocationID: STATION_ID, ixFlag: invconst.flagHangar} - item = ItemMock(itemID=1000000124286L, typeID=invconst.typeQABooster, ownerID=CHAR_ID_1, locationID=CHAR_ID_1, flagID=invconst.flagBooster, quantity=-1, groupID=invconst.groupBooster, categoryID=invconst.categoryImplant, customInfo=None, stacksize=1, singleton=1) + item = ItemMock(itemID=1000000124286, typeID=invconst.typeQABooster, ownerID=CHAR_ID_1, locationID=CHAR_ID_1, flagID=invconst.flagBooster, quantity=-1, groupID=invconst.groupBooster, categoryID=invconst.categoryImplant, customInfo=None, stacksize=1, singleton=1) self._check_does_not_trigger_badging(change, item) def test_no_badging_if_item_is_unspawned(self): change = {ixLocationID: MY_SHIP_ID} - item = ItemMock(itemID=1000000123472L, typeID=invconst.typeVeldspar, ownerID=CHAR_ID_1, locationID=locationJunkyard, flagID=invconst.flagCargo, quantity=1, groupID=invconst.groupVeldspar, categoryID=invconst.categoryAsteroid, customInfo=None, stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123472, typeID=invconst.typeVeldspar, ownerID=CHAR_ID_1, locationID=locationJunkyard, flagID=invconst.flagCargo, quantity=1, groupID=invconst.groupVeldspar, categoryID=invconst.categoryAsteroid, customInfo=None, stacksize=1, singleton=0) self._check_does_not_trigger_badging(change, item) def test_no_badging_if_item_unfitted(self): change = {ixLocationID: MY_SHIP_ID, ixFlag: invconst.flagMedSlot0} - item = ItemMock(itemID=1000000123519L, typeID=invconst.type1MNCivilianAfterburner, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=-1, groupID=invconst.groupPropulsionModule, categoryID=invconst.categoryModule, customInfo=None, stacksize=1, singleton=1) + item = ItemMock(itemID=1000000123519, typeID=invconst.type1MNCivilianAfterburner, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=-1, groupID=invconst.groupPropulsionModule, categoryID=invconst.categoryModule, customInfo=None, stacksize=1, singleton=1) self._check_does_not_trigger_badging(change, item) def test_no_badging_if_wreck_salvaged(self): change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000123970L, typeID=invconst.typeMetalScraps, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=1, groupID=invconst.groupCommodities, categoryID=invconst.categoryCommodity, customInfo=KeyValMock(isSalvaged=True), stacksize=1, singleton=0) + item = ItemMock(itemID=1000000123970, typeID=invconst.typeMetalScraps, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=1, groupID=invconst.groupCommodities, categoryID=invconst.categoryCommodity, customInfo=KeyValMock(isSalvaged=True), stacksize=1, singleton=0) self._check_does_not_trigger_badging(change, item) def test_no_badging_if_my_drone_scooped(self): change = {ixLocationID: SOLAR_SYSTEM_ID, ixFlag: invconst.flagNone} - item = ItemMock(itemID=1000000124245L, typeID=invconst.typeWarriorII, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=-1, groupID=invconst.groupCombatDrone, categoryID=invconst.categoryDrone, customInfo=(MY_SHIP_ID, None), stacksize=1, singleton=1) + item = ItemMock(itemID=1000000124245, typeID=invconst.typeWarriorII, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=-1, groupID=invconst.groupCombatDrone, categoryID=invconst.categoryDrone, customInfo=(MY_SHIP_ID, None), stacksize=1, singleton=1) self._check_does_not_trigger_badging(change, item) def test_no_badging_if_not_my_drone_scooped(self): change = {ixOwnerID: CHAR_ID_2, ixLocationID: SOLAR_SYSTEM_ID, ixFlag: invconst.flagNone} - item = ItemMock(itemID=1000000124245L, typeID=invconst.typeWarriorII, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=-1, groupID=invconst.groupCombatDrone, categoryID=invconst.categoryDrone, customInfo=(ANOTHER_SHIP_ID, None), stacksize=1, singleton=1) + item = ItemMock(itemID=1000000124245, typeID=invconst.typeWarriorII, ownerID=CHAR_ID_1, locationID=MY_SHIP_ID, flagID=invconst.flagCargo, quantity=-1, groupID=invconst.groupCombatDrone, categoryID=invconst.categoryDrone, customInfo=(ANOTHER_SHIP_ID, None), stacksize=1, singleton=1) self._check_does_not_trigger_badging(change, item) def test_no_badging_if_item_moved_from_inactive_ship_cargo(self): change = {ixLocationID: ANOTHER_SHIP_ID, ixFlag: invconst.flagCargo} - item = ItemMock(itemID=1000000124321L, typeID=invconst.typeVeldspar, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagCargo, quantity=1, groupID=invconst.groupVeldspar, categoryID=invconst.categoryAsteroid, customInfo=None, stacksize=1, singleton=0) + item = ItemMock(itemID=1000000124321, typeID=invconst.typeVeldspar, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagCargo, quantity=1, groupID=invconst.groupVeldspar, categoryID=invconst.categoryAsteroid, customInfo=None, stacksize=1, singleton=0) self._check_does_not_trigger_badging(change, item) def test_no_badging_if_plex_withdrawn_from_vault(self): change = {ixLocationID: locationAbstract} - item = ItemMock(itemID=1000000141792L, typeID=invconst.typePlex, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupCurrency, categoryID=invconst.categoryAccessories, customInfo=KeyValMock(isPlexFromVault=True), stacksize=1, singleton=0) + item = ItemMock(itemID=1000000141792, typeID=invconst.typePlex, ownerID=CHAR_ID_1, locationID=STATION_ID, flagID=invconst.flagHangar, quantity=1, groupID=invconst.groupCurrency, categoryID=invconst.categoryAccessories, customInfo=KeyValMock(isPlexFromVault=True), stacksize=1, singleton=0) self._check_does_not_trigger_badging(change, item) diff --git a/eve/client/script/ui/shared/item.py b/eve/client/script/ui/shared/item.py @@ -397,9 +397,9 @@ class InvItem(SE_BaseClassCore): if item.IsHardware(): if viewMode != VIEWMODE_LIST: texturePath = None - if attribs.has_key(const.attributeChargeSize): + if const.attributeChargeSize in attribs: texturePath = AMMOSIZE_TEXTURES[attribs[const.attributeChargeSize]] - elif attribs.has_key(const.attributeRigSize): + elif const.attributeRigSize in attribs: texturePath = AMMOSIZE_TEXTURES[attribs[const.attributeRigSize]] if texturePath: self.ConstructAmmoSizeIcon() @@ -421,7 +421,7 @@ class InvItem(SE_BaseClassCore): elif self.rec.groupID == const.groupVoucher and self.sr.node.voucher is not None: if self.rec.typeID != const.typeBookmark: self.subTypeID = self.sr.node.voucher.GetTypeInfo()[1] - elif self.rec.categoryID == const.categoryCharge and attribs.has_key(const.attributeChargeSize): + elif self.rec.categoryID == const.categoryCharge and const.attributeChargeSize in attribs: self.ConstructAmmoSizeIcon() self.sr.ammosize_icon.texturePath = AMMOSIZE_TEXTURES[attribs[const.attributeChargeSize]] factionID = sm.GetService('map').GetItem(session.solarsystemid2).factionID diff --git a/eve/client/script/ui/shared/logOffWnd.py b/eve/client/script/ui/shared/logOffWnd.py @@ -102,7 +102,7 @@ class LogOffWnd(Window): self.rewardSection.display = True padLeft, _, padRight, _ = self.GetContentToWindowEdgePadding() ReminderCont(parent=self.rewardSection, parentWidth=self.width - padLeft - padRight, align=uiconst.TOTOP) - except StandardError: + except Exception: log.LogException() self.rewardSection.display = False diff --git a/eve/client/script/ui/shared/loginRewards/loginRewardsWnd.py b/eve/client/script/ui/shared/loginRewards/loginRewardsWnd.py @@ -201,7 +201,7 @@ class RewardsContainer(Container): break blue.synchro.Sleep(100) - except StandardError as e: + except Exception as e: pass def BuildBottomBorder(self): diff --git a/eve/client/script/ui/shared/loginRewards/rewardToggleButtonGroupButton.py b/eve/client/script/ui/shared/loginRewards/rewardToggleButtonGroupButton.py @@ -80,7 +80,7 @@ class ToggleButtonGroupButtonHeader(Container): break blue.synchro.Sleep(100) - except StandardError as e: + except Exception as e: pass def AddExtras(self, attributes): diff --git a/eve/client/script/ui/shared/mapView/analytics/mapViewLogger.py b/eve/client/script/ui/shared/mapView/analytics/mapViewLogger.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/analytics/mapViewLogger.py +from __future__ import absolute_import from eve.client.script.ui.shared.mapView.mapViewConst import VIEWMODE_COLOR_SETTINGS, VIEWMODE_LINES_SHOW_JUMP_BRIDGES_SETTINGS, VIEWMODE_LAYOUT_SHOW_ABSTRACT_SETTINGS, VIEWMODE_MARKERS_SETTINGS, VIEWMODE_LINES_SHOW_ALLIANCE_SETTINGS, VIEWMODE_LINES_SETTINGS, VIEWMODE_LAYOUT_SETTINGS from eveexceptions.exceptionEater import EatsExceptions -from mapViewMessenger import MapViewMessenger +from .mapViewMessenger import MapViewMessenger import logging logLite = logging.getLogger(__name__) TRACKED_SETTINGS = {VIEWMODE_COLOR_SETTINGS, diff --git a/eve/client/script/ui/shared/mapView/categories/category_setting_listener.py b/eve/client/script/ui/shared/mapView/categories/category_setting_listener.py @@ -1,11 +1,12 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/categories/category_setting_listener.py +from __future__ import absolute_import from carbon.common.script.sys.serviceConst import ROLE_GML from carbonui.control.contextMenu.menuEntryData import MenuEntryDataCheckbox, MenuEntryData from clientsettings.setting import CharSettingBool from eve.client.script.ui.shared.mapView.categories.const import HIDEABLE_CATEGORIES, get_category_shown_setting_key, get_category_name, CATEGORY_GM from localization import GetByLabel from menu import MenuList -import category_signals as signals +from . import category_signals as signals class CategorySettingEntry(object): diff --git a/eve/client/script/ui/shared/mapView/categories/const.py b/eve/client/script/ui/shared/mapView/categories/const.py @@ -12,8 +12,7 @@ def get_npc_filters(): STARMODE_INCURSION, STARMODE_EDENCOM_FORTRESS, STARMODE_EDENCOM_MINOR_VICTORIES, - STARMODE_TRIGLAVIAN_MINOR_VICTORIES, - STARMODE_VANGUARD_NEMESIS] + STARMODE_TRIGLAVIAN_MINOR_VICTORIES] return ret diff --git a/eve/client/script/ui/shared/mapView/colorModeSettingsButton.py b/eve/client/script/ui/shared/mapView/colorModeSettingsButton.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/colorModeSettingsButton.py +from __future__ import print_function import eveicon import localization from carbon.common.script.sys.serviceConst import ROLE_GML @@ -56,11 +57,11 @@ class MapViewColorModeSettingButton(MapViewSettingButton): self.LoadColorModes() def DebugRunAll(self, *args): - print 'DebugRunAll' + print('DebugRunAll') for groupLabel, groupID, loadFunction in self.GetColorModeGroups(): colorModes = loadFunction() for colorMode in colorModes: - print ' -', colorMode, GetFormatFunctionLabel(colorMode) + print(' -', colorMode, GetFormatFunctionLabel(colorMode)) SetMapViewSetting(VIEWMODE_COLOR_SETTINGS, colorMode, self.mapViewID) if self.callback: self.callback(self.settingGroupKey, colorMode) @@ -180,8 +181,7 @@ class MapViewColorModeSettingButton(MapViewSettingButton): STARMODE_INCURSION, STARMODE_EDENCOM_FORTRESS, STARMODE_EDENCOM_MINOR_VICTORIES, - STARMODE_TRIGLAVIAN_MINOR_VICTORIES, - STARMODE_VANGUARD_NEMESIS] + STARMODE_TRIGLAVIAN_MINOR_VICTORIES] return ret def GetCorporationOptions(self): diff --git a/eve/client/script/ui/shared/mapView/dockPanelSubFrame.py b/eve/client/script/ui/shared/mapView/dockPanelSubFrame.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/dockPanelSubFrame.py +from __future__ import print_function from carbonui.primitives.base import Base from carbonui.primitives.container import Container from carbonui.primitives.fill import Fill @@ -83,7 +84,7 @@ class DockablePanelContentFrame(Container): uicore.animations.BlinkIn(self.content, startVal=1.0, endVal=minBlinkValue, duration=blinkDuration, curveType=uiconst.ANIM_BOUNCE, timeOffset=portraitOffset + portraitDuration) def PlaySelectedAnimation(self): - print 'PlaySelectedAnimation' + print('PlaySelectedAnimation') uicore.animations.BlinkIn(self.selectionFrame, startVal=OUTER_FRAME[3], endVal=0.0, duration=0.1, loops=2, curveType=uiconst.ANIM_BOUNCE, timeOffset=0.2) diff --git a/eve/client/script/ui/shared/mapView/filters/filtersByID.py b/eve/client/script/ui/shared/mapView/filters/filtersByID.py @@ -63,7 +63,6 @@ _filtersByID = {mapcommon.STARMODE_SETTLED_SYSTEMS_BY_CORP: MapFilterSettledByCo mapcommon.STARMODE_EDENCOM_MINOR_VICTORIES: MapFilterEDENCOMMinorVictories, mapcommon.STARMODE_TRIGLAVIAN_MINOR_VICTORIES: MapFilterTriglavianMinorVictories, mapcommon.STARMODE_VULNERABLE_SKYHOOKS: MapFilterVulnerableSkyhooks, - mapcommon.STARMODE_VANGUARD_NEMESIS: MapFilterVanguardNemesisConvoys, mapcommon.STARMODE_MILITIA: MapFilterAllMilitias, mapcommon.STARMODE_ASSETS: MapFilterMyAssets, mapcommon.STARMODE_STATION_SERVICE_CLONING: MapFilterCloningServices, diff --git a/eve/client/script/ui/shared/mapView/hexagonal/hexCell.py b/eve/client/script/ui/shared/mapView/hexagonal/hexCell.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/hexagonal/hexCell.py +from __future__ import absolute_import import math import random from carbon.common.script.util.timerstuff import AutoTimer @@ -9,7 +10,7 @@ from carbonui.primitives.vectorlinetrace import VectorLineTrace from eve.client.script.ui.control.eveLabel import EveLabelSmall import carbonui.const as uiconst from eve.client.script.ui.shared.mapView.hexagonal.hexMap import HexMap -import hexUtil +from . import hexUtil from carbonui.uicore import uicore class HexCell(Container): diff --git a/eve/client/script/ui/shared/mapView/hexagonal/hexMap.py b/eve/client/script/ui/shared/mapView/hexagonal/hexMap.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/hexagonal/hexMap.py +from __future__ import print_function import math import logging from carbon.common.script.util.timerstuff import AutoTimer @@ -391,9 +392,9 @@ class HexMap(Container): for objectID, hexCell in self.objectByID.iteritems(): positions[objectID] = hexCell.GetGridPosition() - print self.objectID, ':', positions - print '----' - print sorted(positions.values()) + print(self.objectID, ':', positions) + print('----') + print(sorted(positions.values())) self.initDragData = (self.left, self.top, uicore.uilib.x, @@ -599,10 +600,10 @@ class HexMap(Container): self.LoadExtraPrimaryConnections() unresolved = self.UpdateHexGridConnections(unresolved[:], busyPrimary) if unresolved: - print 'STILL UNRESOLVED !!!!', len(unresolved) + print('STILL UNRESOLVED !!!!', len(unresolved)) def LoadExtraPrimaryConnections(self): - print 'LoadExtraPrimaryConnections' + print('LoadExtraPrimaryConnections') xRange, yRange = self.pathfinderSize indexGrid = self.pathfinderIndexGrid pathFindingPairs = set() diff --git a/eve/client/script/ui/shared/mapView/hexagonal/hexMapUtil.py b/eve/client/script/ui/shared/mapView/hexagonal/hexMapUtil.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/hexagonal/hexMapUtil.py +from __future__ import print_function import geo2 import blue from carbon.common.script.util.timerstuff import AutoTimer @@ -262,7 +263,7 @@ class DebugMapBrowser(Window): if loadObjectID > 9 and not settings.user.ui.Get('mapLoadCombined', 0): ol, ll, penalty = ScanAllOverlap(self.currentMap) if penalty: - print 'Loaded', loadObjectID, 'penalty', penalty + print('Loaded', loadObjectID, 'penalty', penalty) if stopOnErrors: self.autoLoadTimer = None @@ -306,7 +307,7 @@ class DebugMapBrowser(Window): def _ScanCurrent(self, *args): if self.currentMap: ol, ll, penalty = ScanAllOverlap(self.currentMap) - print penalty + print(penalty) def MakePattern(self, *args): pass @@ -530,8 +531,8 @@ def PlotMapObjects(hexMap, objectID): hexMap.SetMapSize(size) hexMap.LoadMapData(objectID, loadLayout=False) objectIDs = sorted(hexMap.objectByID.keys()) - print '--------------------------------' - print 'Loaded', objectID, len(objectData), len(allSlots), allSlots + print('--------------------------------') + print('Loaded', objectID, len(objectData), len(allSlots), allSlots) bestLayout = None bestLayoutPenalty = sys.maxint hexMap.relocatedHexCells = [] @@ -557,7 +558,7 @@ def PlotMapObjects(hexMap, objectID): penalty = FixLayout(hexMap, bestLayoutPenalty, leafs, totalObjects) bestLayoutPenalty = penalty bestLayout = hexMap.GetCurrentLayout() - print ' New penalty', penalty, s + print(' New penalty', penalty, s) if bestLayoutPenalty == 0: break blue.synchro.Yield() @@ -574,9 +575,9 @@ def PlotMapObjects(hexMap, objectID): if plotObjectID in handmade: del handmade[plotObjectID] settings.user.ui.Set('mapHexLayout', handmade) - print ' BINGO resolved %s in %s tries' % (plotObjectID, s) + print(' BINGO resolved %s in %s tries' % (plotObjectID, s)) else: - print ' Best Layout Penalty', plotObjectID, bestLayoutPenalty + print(' Best Layout Penalty', plotObjectID, bestLayoutPenalty) registeredPlot = settings.user.ui.Get('mapHexPlotData', {}) registeredPlot[plotObjectID] = hexMap.GetCurrentLayout() settings.user.ui.Set('mapHexPlotData', registeredPlot) @@ -589,7 +590,7 @@ def FixLayout(hexMap, bestLayoutPenalty, leafs, totalObjects): if bestLayoutPenalty: if leafPenalty < bestLayoutPenalty: bestLayoutPenalty = leafPenalty - print ' Best Layout Penalty after leaf retract', plotObjectID, bestLayoutPenalty + print(' Best Layout Penalty after leaf retract', plotObjectID, bestLayoutPenalty) if bestLayoutPenalty: allSlots = [(0, 0)] + hexUtil.neighbours_amount_step((0, 0), totalObjects, 1, hexMap.isFlatTop) ol, ll, penalty = ScanAllOverlap(hexMap) @@ -597,7 +598,7 @@ def FixLayout(hexMap, bestLayoutPenalty, leafs, totalObjects): resolved = RelocateObject(hexMap, each, allSlots, sleep=False) if resolved: ol, ll, penalty = ScanAllOverlap(hexMap) - print ' Best Layout after object/line relocation', plotObjectID, penalty + print(' Best Layout after object/line relocation', plotObjectID, penalty) if penalty < bestLayoutPenalty: bestLayoutPenalty = penalty if not penalty: @@ -618,7 +619,7 @@ def FixLayout(hexMap, bestLayoutPenalty, leafs, totalObjects): resolved = RelocateObject(hexMap, hexCell, allSlots, sleep=False) if resolved: ol, ll, penalty = ScanAllOverlap(hexMap) - print ' Best Layout after line/line relocation', plotObjectID, penalty + print(' Best Layout after line/line relocation', plotObjectID, penalty) if penalty < bestLayoutPenalty: bestLayoutPenalty = penalty if not penalty: @@ -669,12 +670,12 @@ def PlotLayout(hexMap, objectID): if not bestLayoutPenalty or lineOverlapPenalty < bestLayoutPenalty: bestLayoutPenalty = lineOverlapPenalty bestLayout = allSlots[:] - print 'New best', bestLayoutPenalty + print('New best', bestLayoutPenalty) if bestLayoutPenalty == 0: break blue.synchro.Yield() - print 'Best result for ', plotObjectID, bestLayoutPenalty + print('Best result for ', plotObjectID, bestLayoutPenalty) for i, objectID in enumerate(sorted(objectIDs)): hexCell = hexMap.objectByID[objectID] x, y = bestLayout[i] diff --git a/eve/client/script/ui/shared/mapView/hexagonal/hexUtil.py b/eve/client/script/ui/shared/mapView/hexagonal/hexUtil.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/hexagonal/hexUtil.py +from __future__ import print_function __author__ = 'fridrik' import geo2 import math @@ -165,7 +166,7 @@ def intersect_line_segments(seg1, seg2): Dx, Dy = D X = Y = 0.0 if Ax == Bx and Ay == By or Cx == Dx and Cy == Dy: - print 'False1' + print('False1') return False if Ax == Cx and Ay == Cy or Bx == Cx and By == Cy or Ax == Dx and Ay == Dy or Bx == Dx and By == Dy: return False @@ -198,7 +199,7 @@ def closest_point_on_seg(seg_a, seg_b, circ_pos): seg_v = geo2.Vec2Subtract(seg_b, seg_a) pt_v = geo2.Vec2Subtract(circ_pos, seg_a) if geo2.Vec2Length(seg_v) <= 0: - raise ValueError, 'Invalid segment length' + raise ValueError('Invalid segment length') seg_v_unit = geo2.Vec2Normalize(seg_v) proj = geo2.Vec2Dot(seg_v_unit, pt_v) if proj <= 0: diff --git a/eve/client/script/ui/shared/mapView/layout/mapLayoutHandler.py b/eve/client/script/ui/shared/mapView/layout/mapLayoutHandler.py @@ -208,7 +208,7 @@ class MapViewLayoutHandler(object): if not IsValidDestination(solarSystemID): return False else: - return self.nodesBySolarSystemID.has_key(solarSystemID) + return solarSystemID in self.nodesBySolarSystemID def CreateSolarSystemNode(self, particleID, solarSystemID, position, system): if not IsValidDestination(solarSystemID): diff --git a/eve/client/script/ui/shared/mapView/mapDebugContainer.py b/eve/client/script/ui/shared/mapView/mapDebugContainer.py @@ -25,7 +25,7 @@ class MapDebugContainer(Container): return try: self._UpdateData() - except StandardError as e: + except Exception as e: logger.exception('Failed to update debug data') def _UpdateData(self): diff --git a/eve/client/script/ui/shared/mapView/mapViewFiltered.py b/eve/client/script/ui/shared/mapView/mapViewFiltered.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/mapViewFiltered.py +from __future__ import print_function import uthread import uthread2 import blue @@ -224,10 +225,10 @@ class MapViewFiltered(MapView): return super(MapViewFiltered, self).GetStarSize(solarSystemID) def DebugRunAllFilters(self, *args): - print 'DebugRunAll' + print('DebugRunAll') controller = MapViewColorModeController(self.mapViewID) for colorMode in controller.get_all_filters(): - print ' -', colorMode, GetFormatFunctionLabel(colorMode) + print(' -', colorMode, GetFormatFunctionLabel(colorMode)) SetMapViewSetting(VIEWMODE_COLOR_SETTINGS, colorMode, self.mapViewID) self.OnMapViewSettingChanged(VIEWMODE_COLOR_SETTINGS, colorMode) blue.synchro.Sleep(500) diff --git a/eve/client/script/ui/shared/mapView/mapViewLineOpacity.py b/eve/client/script/ui/shared/mapView/mapViewLineOpacity.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/mapViewLineOpacity.py +from __future__ import print_function from collections import defaultdict from eve.client.script.ui.shared.mapView import mapViewConst from eve.client.script.ui.shared.mapView.mapViewConst import VIEWMODE_LINES_NONE, VIEWMODE_LINES_SELECTION_REGION, VIEWMODE_LINES_SELECTION_REGION_NEIGHBOURS, OPACITY_LINES_HOVERED, OPACITY_LINES_SELECTED, VIEWMODE_LINES_ALL, MAP2D_ZOOM_TUBE_BUBBLE @@ -104,7 +105,7 @@ class BaseLineOpacityFinder(object): def DebugLineOpacity(self, prefix = '-'): lineID = 0 - print '%s - %s - self._opacityByLineID = %s' % (prefix, lineID, self._opacityByLineID.get(lineID, -1)) + print('%s - %s - self._opacityByLineID = %s' % (prefix, lineID, self._opacityByLineID.get(lineID, -1))) class LineOpacityFinder3D(BaseLineOpacityFinder): diff --git a/eve/client/script/ui/shared/mapView/mapViewProbeHandlerStandalone.py b/eve/client/script/ui/shared/mapView/mapViewProbeHandlerStandalone.py @@ -133,7 +133,8 @@ class MapViewProbeHandlerStandalone(object): def UpdateInputState(self): self.CheckKeyState() - def OnGlobalKeyCallback(self, wnd, eventID, (vkey, flag)): + def OnGlobalKeyCallback(self, wnd, eventID, param): + vkey, flag = param if vkey not in (uiconst.VK_CONTROL, uiconst.VK_MENU, uiconst.VK_SHIFT): return True if eventID == uiconst.UI_KEYDOWN and flag & 1073741824: diff --git a/eve/client/script/ui/shared/mapView/mapViewWorld.py b/eve/client/script/ui/shared/mapView/mapViewWorld.py @@ -527,7 +527,8 @@ class MapViewWorld(MapViewFiltered): else: self.mapCompass.Show() - def OnGlobalKeyCallback(self, wnd, eventID, (vkey, flag)): + def OnGlobalKeyCallback(self, wnd, eventID, param): + vkey, flag = param if vkey != uiconst.VK_CONTROL: return True if eventID == uiconst.UI_KEYDOWN and flag & 1073741824: diff --git a/eve/client/script/ui/shared/mapView/mapViewWorldNavigation.py b/eve/client/script/ui/shared/mapView/mapViewWorldNavigation.py @@ -24,7 +24,7 @@ class MapViewWorldNavigation(MapViewNavigation): return self._CheckPickNearMouse() self.nearMouseError = False - except StandardError: + except Exception: if not self.nearMouseError: logger.exception('Failure in _CheckPickNearMouse') self.nearMouseError = True diff --git a/eve/client/script/ui/shared/mapView/markers/mapMarkerBase.py b/eve/client/script/ui/shared/mapView/markers/mapMarkerBase.py @@ -370,7 +370,7 @@ class MarkerBase(object): if not handler: return False baseHandler = getattr(MarkerBase, handlerName, None) - if baseHandler and getattr(handler, 'im_func', None) is baseHandler.im_func: + if baseHandler and getattr(handler, '__func__', None) is baseHandler.__func__: return False return bool(handler) diff --git a/eve/client/script/ui/shared/mapView/markers/mapMarkerSolarSystem.py b/eve/client/script/ui/shared/mapView/markers/mapMarkerSolarSystem.py @@ -312,7 +312,7 @@ class MarkerLabelSolarSystem(MarkerSolarSystemBased): if not m: m = MenuData() m.extend(lineOptions) - except StandardError: + except Exception: pass return m diff --git a/eve/client/script/ui/shared/mapView/markers/mapMarkerSovHub.py b/eve/client/script/ui/shared/mapView/markers/mapMarkerSovHub.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/mapView/markers/mapMarkerSovHub.py +from __future__ import print_function import eveicon from carbon.common.script.sys.serviceConst import ROLE_PROGRAMMER from carbonui import uiconst @@ -114,7 +115,7 @@ class MarkerSovHub(MarkerIconBase): destID = workforceConfig.export_configuration.destination_system_id m.append(MenuEntryData(' %s: %s ' % (destID, workforceConfig.export_configuration.amount), func=lambda dID = destID: blue.pyos.SetClipboardData(str(dID)))) except Exception as e: - print 'e = ', e + print('e = ', e) return m diff --git a/eve/client/script/ui/shared/maps/mapcommon.py b/eve/client/script/ui/shared/maps/mapcommon.py @@ -124,7 +124,6 @@ STARMODE_ORE_AVAILABILITY_HIGH = 115 STARMODE_PHASED_ORE_SITES = 116 STARMODE_SYSTEM_DESIGNATIONS = 117 STARMODE_BULWARK_MINING_SITES = 118 -STARMODE_VANGUARD_NEMESIS = 119 STARMODE_SERVICE_AssassinationMissions = (STARMODE_SERVICE, appConst.stationServiceAssassinationMissions) STARMODE_SERVICE_BlackMarket = (STARMODE_SERVICE, appConst.stationServiceBlackMarket) STARMODE_SERVICE_Cloning = (STARMODE_SERVICE, appConst.stationServiceCloning) diff --git a/eve/client/script/ui/shared/maps/navigation.py b/eve/client/script/ui/shared/maps/navigation.py @@ -367,7 +367,7 @@ class StarMapLayer(LayerCore): regionID = self.PickRegionID() if regionID: return starmapSvc.GetItemMenu(regionID) - if blue.os.GetWallclockTimeNow() - self.lastTimeLeftMouseWasPressed < 30000L: + if blue.os.GetWallclockTimeNow() - self.lastTimeLeftMouseWasPressed < 30000: return loctations = [(MenuLabel('UI/Map/Navigation/menuSolarSystem'), starmapSvc.SetInterest, (session.solarsystemid2, 1)), (MenuLabel('UI/Map/Navigation/menuConstellation'), starmapSvc.SetInterest, (session.constellationid, 1)), (MenuLabel('UI/Map/Navigation/menuRegion'), starmapSvc.SetInterest, (session.regionid, 1))] panel = [(MenuLabel('UI/Map/Navigation/menuSearch'), self.ShowPanel, (localization.GetByLabel('UI/Map/Navigation/menuSearch'),)), (MenuLabel('UI/Map/Navigation/menuDisplayMapSettings'), self.ShowPanel, (localization.GetByLabel('UI/Map/Navigation/lblStarMap'),))] diff --git a/eve/client/script/ui/shared/maps/starMapSvc.py b/eve/client/script/ui/shared/maps/starMapSvc.py @@ -2405,7 +2405,7 @@ class StarMapSvc(Service): if labelids == 'all': labelids = labels.keys() for labelID in labelids: - if labels.has_key(labelID): + if labelID in labels: label = labels[labelID] if label is not None and not label.destroyed: label.Close() diff --git a/eve/client/script/ui/shared/maps/starModeHandler.py b/eve/client/script/ui/shared/maps/starModeHandler.py @@ -628,7 +628,7 @@ def ColorStarsByBookmarks(colorInfo, starColorMode): tabindex = string.find(memo, '\t') if tabindex != -1: comment = memo[:tabindex] - if not highlightSystems.has_key(solarSystemID): + if solarSystemID not in highlightSystems: highlightSystems[solarSystemID] = [comment] else: highlightSystems[solarSystemID].append(comment) diff --git a/eve/client/script/ui/shared/market/buyThisTypeWindow.py b/eve/client/script/ui/shared/market/buyThisTypeWindow.py @@ -758,7 +758,7 @@ class MarketActionWindow(Window): def OnChanged_quantityThread(self, quantity): try: self.UpdateTotals() - except StandardError: + except Exception: LogException() sys.exc_clear() diff --git a/eve/client/script/ui/shared/market/marketbase.py b/eve/client/script/ui/shared/market/marketbase.py @@ -325,7 +325,7 @@ class MarketBase(Container): if marketGroupID: try: self.groupListData = MarketGroupObject(marketGroupID) - except StandardError: + except Exception: self.groupListData = None else: @@ -793,7 +793,7 @@ class MarketBase(Container): else: ret[each.attributeID] = each.value - if not ret.has_key(const.attributeCapacity) and evetypes.GetCapacity(typeID): + if const.attributeCapacity not in ret and evetypes.GetCapacity(typeID): ret[const.attributeCapacity] = evetypes.GetCapacity(typeID) attrInfo = sm.GetService('godma').GetType(typeID) for each in attrInfo.displayAttributes: @@ -1442,7 +1442,7 @@ class MarketBase(Container): blue.pyos.synchro.Yield() try: self.sr.tabs.ShowPanelByName(localization.GetByLabel('UI/Common/Details')) - except StandardError as e: + except Exception as e: self.loadingType = 0 raise e @@ -2643,7 +2643,7 @@ class MarketData(Container): header = StripTags(header, stripOnly=['localized']) funcName = funcs.get(header, None) if funcName and hasattr(marketUtil, funcName): - apply(getattr(marketUtil, funcName, None), (order, data)) + getattr(marketUtil, funcName, None)(order, data) else: log.LogWarn('Unsupported header in record', header, order) data.label += '###<t>' diff --git a/eve/client/script/ui/shared/market/orders.py b/eve/client/script/ui/shared/market/orders.py @@ -193,7 +193,7 @@ class MarketOrders(Container): if funcName == 'GetQuantity': funcName = 'GetQuantitySlashVolume' if funcName and hasattr(marketUtil, funcName): - apply(getattr(marketUtil, funcName, None), (order, data)) + getattr(marketUtil, funcName, None)(order, data) else: log.LogWarn('Unsupported header in record', header, order) data.label += '###<t>' diff --git a/eve/client/script/ui/shared/medalribbonranks.py b/eve/client/script/ui/shared/medalribbonranks.py @@ -145,7 +145,7 @@ class LayerBase(Container): lay.state = uiconst.UI_PICKCHILDREN else: lay.state = uiconst.UI_HIDDEN - if not self.retdata.has_key(lay): + if lay not in self.retdata: self.retdata[id] = (type, mapping, self.GetSpriteColor(id)) curr = self.retdata[id] self.retdata[id] = (type, mapping, self.GetSpriteColor(id)) @@ -160,7 +160,7 @@ class LayerBase(Container): c.g, c.b, c.a) - if not self.retdata.has_key(id): + if id not in self.retdata: self.retdata[id] = ('', None, 0) curr = self.retdata[id] self.retdata[id] = (curr[0], curr[1], color) @@ -171,7 +171,7 @@ class LayerBase(Container): obj = self.GetSprite(id) if obj: obj.color.SetHSV(*hsv) - if not self.retdata.has_key(id): + if id not in self.retdata: self.retdata[id] = ('', 0) curr = self.retdata[id] colInt = trinity.TriColor(*obj.color.GetRGBA()).AsInt() diff --git a/eve/client/script/ui/shared/neocom/Alliances/all_ui_applications.py b/eve/client/script/ui/shared/neocom/Alliances/all_ui_applications.py @@ -259,7 +259,7 @@ class FormAlliancesApplications(Container): wnd.ShowModal() def CheckApplication(self, retval): - if retval.has_key('appltext'): + if 'appltext' in retval: applicationText = retval['appltext'] textLength = len(applicationText) if textLength > 1000: diff --git a/eve/client/script/ui/shared/neocom/Alliances/all_ui_systems.py b/eve/client/script/ui/shared/neocom/Alliances/all_ui_systems.py @@ -84,7 +84,7 @@ class FormAlliancesSystems(Container): self.futureSystemCont.display = True solarSystemID = self.capitalSystemInfo.newCapitalSystem self.futureSystemLabel.text = sm.GetService('infoPanel').GetSolarSystemTrace(solarSystemID, '') - interval = max(0L, self.capitalSystemInfo.newCapitalSystemValidAfter - gametime.GetWallclockTime()) + interval = max(0, self.capitalSystemInfo.newCapitalSystemValidAfter - gametime.GetWallclockTime()) self.futureSystemTime.text = GetByLabel('UI/Sovereignty/CapitalChangeTime', time=interval) else: self.futureSystemCont.display = False diff --git a/eve/client/script/ui/shared/neocom/attributes.py b/eve/client/script/ui/shared/neocom/attributes.py @@ -330,13 +330,13 @@ class AttributeRespecEntry(SE_BaseClassCore): def RefreshThread(self): if not self or self.destroyed: return - sleepMsec = max(self.sr.node.nextTimedRespec - blue.os.GetWallclockTime(), 0) / 10000L + sleepMsec = max(self.sr.node.nextTimedRespec - blue.os.GetWallclockTime(), 0) / 10000 sleepMsec = min(sleepMsec, 60000) while sleepMsec > 0: blue.pyos.synchro.SleepWallclock(sleepMsec) if not self or self.destroyed: return - sleepMsec = max(self.sr.node.nextTimedRespec - blue.os.GetWallclockTime(), 0) / 10000L + sleepMsec = max(self.sr.node.nextTimedRespec - blue.os.GetWallclockTime(), 0) / 10000 sleepMsec = min(sleepMsec, 60000) if not self or self.destroyed: diff --git a/eve/client/script/ui/shared/neocom/charsheet/charSheetUtil.py b/eve/client/script/ui/shared/neocom/charsheet/charSheetUtil.py @@ -40,7 +40,7 @@ def GetMedalScrollEntries(charID, noHeaders = False, publicOnly = False): continue inDecoList.append(medalID) details = characterMedalInfo.Filter('medalID') - if details and details.has_key(medalID): + if details and medalID in details: details = details.get(medalID) entry = sm.StartService('info').GetMedalEntry(medalData, details, 0) if entry: diff --git a/eve/client/script/ui/shared/neocom/charsheet/decorationsPanel.py b/eve/client/script/ui/shared/neocom/charsheet/decorationsPanel.py @@ -170,7 +170,7 @@ class DecorationsPanel(Container): continue inMedalList.append(medalID) details = characterMedalInfo.Filter('medalID') - if details and details.has_key(medalID): + if details and medalID in details: details = details.get(medalID) entry = self.CreateDecorationPermissionsEntry(characterMedal) if entry: diff --git a/eve/client/script/ui/shared/neocom/contracts/contractentry.py b/eve/client/script/ui/shared/neocom/contracts/contractentry.py @@ -223,7 +223,7 @@ class ContractEntry(SE_BaseClassCore): def OnSelect(self, *args): if getattr(self, 'OnSelectCallback', None): - apply(self.OnSelectCallback, args) + self.OnSelectCallback(*args) def _OnClose(self, *args): self.updatetimer = None diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_dlg_edit_member.py b/eve/client/script/ui/shared/neocom/corporation/corp_dlg_edit_member.py @@ -333,7 +333,7 @@ class EditMemberDialog(Window): rolesToDisplay = None if self.viewType == VIEW_TITLES: raise RuntimeError('NotImplemented') - if self.roleGroupings.has_key(self.viewRoleGroupingID): + if self.viewRoleGroupingID in self.roleGroupings: roleGrouping = self.roleGroupings[self.viewRoleGroupingID] if self.viewType == VIEW_ROLES: roleVariablesName = roleGrouping.appliesTo diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_ui_accounts.py b/eve/client/script/ui/shared/neocom/corporation/corp_ui_accounts.py @@ -211,7 +211,7 @@ class CorpAccounts(Container): self.sr.filtcombo.SelectItemByLabel(label) else: self.sr.filtcombo.SelectItemByIndex(regionKey) - except (Exception,) as e: + except Exception as e: sys.exc_clear() def CmpFunc(a, b): @@ -281,7 +281,7 @@ class CorpAccounts(Container): else: try: solarSystemID = sm.GetService('ui').GetStationStaticInfo(locationID).solarSystemID - except StandardError: + except Exception: solarSystemID = locationID solarSystemIDs.add(solarSystemID) @@ -306,7 +306,7 @@ class CorpAccounts(Container): regionID = mapSvc.GetParent(constellationID) jumps = sm.GetService('clientPathfinderService').GetJumpCountFromCurrent(solarSystemID) label = self._GetLocationLabel(solarSystemID, row.locationID, jumps) - except StandardError: + except Exception: log.LogException() label = locationName @@ -487,7 +487,7 @@ class CorpAccounts(Container): self.sr.filtcombo.SelectItemByLabel(cfg.evelocations.Get(regionKey).name) else: self.sr.filtcombo.SelectItemByIndex(regionKey) - except (Exception,) as e: + except Exception as e: sys.exc_clear() def CmpFunc(a, b): diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_ui_home.py b/eve/client/script/ui/shared/neocom/corporation/corp_ui_home.py @@ -663,7 +663,7 @@ class AcceptStructureEntry(LabelSidesWithIconButton): try: corpRegistry.RegisterNewAcceptStructureSettings(newSettingAccept) self.sr.node.doesAccept = newSettingAccept - except StandardError: + except Exception: self.sr.node.doesAccept = corpRegistry.DoesMyCorpAcceptStructures() log.LogException() @@ -699,7 +699,7 @@ class RestrictCorpMailsEntry(LabelSidesWithIconButton): try: corpRegistry.RegisterNewCorpMailRestrictionSettings(newSettingIsRestricted) self.sr.node.isRestricted = newSettingIsRestricted - except StandardError: + except Exception: self.sr.node.isRestricted = corpRegistry.DoesCorpRestrictCorpMails() log.LogException() diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_decorations.py b/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_decorations.py @@ -54,7 +54,7 @@ class CorpDecorations(Container): creator = cfg.eveowners.Get(medal.creatorID).name recipients = medal.noRecepients details = medalDetails.Filter('medalID') - if details and details.has_key(medalid): + if details and medalid in details: details = details.get(medalid) scrolllist.append(GetFromClass(ListGroup, {'GetSubContent': self.GetDecorationSubContent, 'label': '%s<t>%s<t>%s<t><t>%s' % (title, @@ -104,7 +104,7 @@ class CorpDecorations(Container): recipientsunified = {} if recipients: for recipient in recipients: - if not recipientsunified.has_key(recipient.recepientID): + if recipient.recepientID not in recipientsunified: recipientsunified[recipient.recepientID] = [recipient] else: recipientsunified[recipient.recepientID].append(recipient) diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_find.py b/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_find.py @@ -167,12 +167,12 @@ class CorpQueryMembersForm(): currentProperty = self.comboProperty.GetValue() requestedControlType = CONTROLS_BY_PROPERTY[currentProperty] currentControlType = None - if self.propertyControls.has_key('current'): + if 'current' in self.propertyControls: currentControlType = self.propertyControls['current'] if currentControlType == requestedControlType: return requestedControl = None - if self.propertyControls.has_key(requestedControlType): + if requestedControlType in self.propertyControls: requestedControl = self.propertyControls[requestedControlType] elif requestedControlType == 'role_picker': optionsList = [] @@ -212,7 +212,7 @@ class CorpQueryMembersForm(): requestedControl = control else: raise RuntimeError('UnexpectedControlTypeRequested') - if currentControlType is not None and self.propertyControls.has_key(currentControlType): + if currentControlType is not None and currentControlType in self.propertyControls: currentControl = self.propertyControls[currentControlType] currentControl.state = uiconst.UI_HIDDEN if requestedControl is None: @@ -309,7 +309,7 @@ class CorpQueryMembersForm(): property = self.comboProperty.GetValue() operator = self.comboOperator.GetValue() value = None - if self.propertyControls.has_key('current'): + if 'current' in self.propertyControls: currentControlType = self.propertyControls['current'] currentControl = self.propertyControls[currentControlType] value = currentControl.GetValue() @@ -342,7 +342,7 @@ class CorpQueryMembersForm(): property = self.comboProperty.GetValue() operator = self.comboOperator.GetValue() value = None - if self.propertyControls.has_key('current'): + if 'current' in self.propertyControls: currentControlType = self.propertyControls['current'] currentControl = self.propertyControls[currentControlType] value = currentControl.GetValue() diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_listentry.py b/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_listentry.py @@ -197,26 +197,26 @@ class CorpMemberRoleEntry(Generic): self.LogInfo('primaryKey:', primaryKey) self.LogInfo('change:', change) self.LogInfo('----------------------------------------------') - if change.has_key('corporationID') and change['corporationID'][1] == None: + if 'corporationID' in change and change['corporationID'][1] == None: self.LogError('memberListEntry should have been removed for charID:', primaryKey) return self.GetMembersListData() self.UpdateLabelText() viewRoleGroupingID = self.GetViewRoleGroupingID() viewType = self.GetViewType() - if not (change.has_key('roles') and None not in change['roles'] and const.corpRoleDirector & change['roles'][0] != const.corpRoleDirector & change['roles'][1]): + if not ('roles' in change and None not in change['roles'] and const.corpRoleDirector & change['roles'][0] != const.corpRoleDirector & change['roles'][1]): if viewType == VIEW_ROLES: roleGroup = self.sr.roleGroupings[viewRoleGroupingID] - if not change.has_key(roleGroup.appliesTo): + if roleGroup.appliesTo not in change: self.LogInfo('DataChanged returning. Viewing roles have not changed') return elif viewType == VIEW_GRANTABLE_ROLES: roleGroup = self.sr.roleGroupings[viewRoleGroupingID] - if not change.has_key(roleGroup.appliesToGrantable): + if roleGroup.appliesToGrantable not in change: self.LogInfo('DataChanged returning. Viewing grantable roles have not changed') return elif viewType == VIEW_TITLES: - if not change.has_key('titleMask'): + if 'titleMask' not in change: self.LogInfo('DataChanged returning. Viewing titles have not changed') return else: @@ -233,7 +233,7 @@ class CorpMemberRoleEntry(Generic): if i == 0: continue if i == 1: - if not change.has_key('baseID'): + if 'baseID' not in change: continue column = self.sr.columns[i][0] baseID = change['baseID'][1] diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_titles.py b/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_titles.py @@ -715,11 +715,11 @@ class CorpTitleEntry(Generic): self.UpdateLabelText() viewRoleGroupingID = self.GetViewRoleGroupingID() roleGroup = self.sr.roleGroupings[viewRoleGroupingID] - if not (change.has_key('roles') and const.corpRoleDirector & change['roles'][0] != const.corpRoleDirector & change['roles'][1]): + if not ('roles' in change and const.corpRoleDirector & change['roles'][0] != const.corpRoleDirector & change['roles'][1]): if self.sr.node.viewtype == VIEW_GRANTABLE_ROLES: - if not change.has_key(roleGroup.appliesToGrantable): + if roleGroup.appliesToGrantable not in change: return - elif not change.has_key(roleGroup.appliesTo): + elif roleGroup.appliesTo not in change: return i = -1 previousTabPosition = 0 @@ -728,7 +728,7 @@ class CorpTitleEntry(Generic): for tabstop in self.sr.node.parent.tabstops: i += 1 if i == 0: - if change.has_key('titleName'): + if 'titleName' in change: column = self.sr.columns[i][0] column.SetValue(change['titleName'][1]) continue diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_view_role_mgt.py b/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_view_role_mgt.py @@ -72,7 +72,7 @@ class CorpMembersViewRoleManagement(Container): if entry.panel is None or entry.panel.destroyed: continue if entry.rec.characterID == primaryKey: - if change.has_key('corporationID') and change['corporationID'][1] == None: + if 'corporationID' in change and change['corporationID'][1] == None: self.LogInfo('removing member list entry for charID:', primaryKey) self.sr.scroll.RemoveEntries([entry]) self.LogInfo('member list entry removed for charID:', primaryKey) diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_view_task_mgt.py b/eve/client/script/ui/shared/neocom/corporation/corp_ui_member_view_task_mgt.py @@ -183,7 +183,7 @@ class CorpMembersViewTaskManagement(Container): verb = self.comboVerb.GetValue() property = self.comboProperty.GetValue() value = None - if self.propertyControls.has_key('current'): + if 'current' in self.propertyControls: currentControlType = self.propertyControls['current'] if currentControlType is not None: currentControl = self.propertyControls[currentControlType] @@ -213,7 +213,7 @@ class CorpMembersViewTaskManagement(Container): verb = self.comboVerb.GetValue() property = self.comboProperty.GetValue() value = None - if self.propertyControls.has_key('current'): + if 'current' in self.propertyControls: currentControlType = self.propertyControls['current'] if currentControlType is not None: currentControl = self.propertyControls[currentControlType] @@ -287,12 +287,12 @@ class CorpMembersViewTaskManagement(Container): currentProperty = self.comboProperty.GetValue() requestedControlType = self.controlsByProperty[currentProperty] currentControlType = None - if self.propertyControls.has_key('current'): + if 'current' in self.propertyControls: currentControlType = self.propertyControls['current'] if currentControlType == requestedControlType: return requestedControl = None - if self.propertyControls.has_key(requestedControlType): + if requestedControlType in self.propertyControls: requestedControl = self.propertyControls[requestedControlType] elif requestedControlType == 'role_picker': optionsList = [] @@ -341,7 +341,7 @@ class CorpMembersViewTaskManagement(Container): requestedControl = None else: raise RuntimeError('UnexpectedControlTypeRequested') - if currentControlType is not None and self.propertyControls.has_key(currentControlType): + if currentControlType is not None and currentControlType in self.propertyControls: currentControl = self.propertyControls[currentControlType] currentControl.state = uiconst.UI_HIDDEN if requestedControl is not None: diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_ui_sanctionableactions.py b/eve/client/script/ui/shared/neocom/corporation/corp_ui_sanctionableactions.py @@ -270,10 +270,10 @@ class CorpSanctionableActions(Container): 'In Effect': localization.GetByLabel('UI/Corporations/CorpSanctionableActions/InEffect'), 'timeActedUpon': localization.GetByLabel('UI/Corporations/CorpSanctionableActions/TimeActedUpon'), 'timeRescended': localization.GetByLabel('UI/Corporations/CorpSanctionableActions/TimeRescinded')} - if len(fields) and fields.has_key('Description'): + if len(fields) and 'Description' in fields: scrolllist.append(GetFromClass(Text, {'text': fields['Description']})) for key in fields.iterkeys(): - if not theFields.has_key(key): + if key not in theFields: continue field = fields[key] title = theFields[key] diff --git a/eve/client/script/ui/shared/neocom/corporation/corp_ui_votes.py b/eve/client/script/ui/shared/neocom/corporation/corp_ui_votes.py @@ -96,7 +96,7 @@ class WizardDialogBase(Window): self.sr.scroll.Load(fixedEntryHeight=24, contentList=scrolllist) if scrolllist: uicore.registry.SetFocus(self.sr.scroll) - except StandardError: + except Exception: log.LogException() sys.exc_clear() diff --git a/eve/client/script/ui/shared/neocom/corporation/war/warKillEntry.py b/eve/client/script/ui/shared/neocom/corporation/war/warKillEntry.py @@ -89,7 +89,7 @@ class WarKillEntry(SE_BaseClassCore): try: killerName = cfg.eveowners.Get(self.finalCharacterID).name killerInfo = ('showinfo', const.typeCharacter, self.finalCharacterID) - except StandardError: + except Exception: killerName = evetypes.GetName(self.finalShipTypeID) killerInfo = ('showinfo', self.finalShipTypeID) diff --git a/eve/client/script/ui/shared/neocom/evemail.py b/eve/client/script/ui/shared/neocom/evemail.py @@ -2763,7 +2763,7 @@ class MailAssignColorWnd(Container): if getattr(obj, 'swatchID', None) is not None: if self.doneCallback is not None: args = tuple([obj.swatchID]) + self.doneArgs - apply(self.doneCallback, args) + self.doneCallback(*args) self.Close() def OnGlobalMouseUp(self, obj, msgID, param): diff --git a/eve/client/script/ui/shared/neocom/neocom/btnData/btnDataAchievements.py b/eve/client/script/ui/shared/neocom/neocom/btnData/btnDataAchievements.py @@ -1,50 +1,66 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/neocom/neocom/btnData/btnDataAchievements.py -import blue -import uthread2 -from localization import GetByLabel +import threadutils from achievement_system.client.api.repository import get_repository +from achievement_system.client.api.signal import on_achievement_milestone_reached, on_achievement_milestone_reward_claimed, on_category_milestone_reached, on_category_milestone_reward_claimed from eve.client.script.ui.shared.neocom.neocom.btnData.btnDataNode import BtnDataNode -_POLL_INTERVAL_MS = 5000 -_has_unclaimed = False +from localization import GetByLabel class BtnDataNodeAchievements(BtnDataNode): + __notifyevents__ = ['OnSessionChanged'] def __init__(self, *args, **kwargs): + self.has_unclaimed = False BtnDataNode.__init__(self, *args, **kwargs) - self._poll_thread = uthread2.StartTasklet(self._poll_loop) + self.update_badge() + + def _ConstructSignals(self): + BtnDataNode._ConstructSignals(self) + on_achievement_milestone_reached.connect(self.on_achievement_milestone_reached) + on_achievement_milestone_reward_claimed.connect(self.on_achievement_milestone_reward_claimed) + on_category_milestone_reached.connect(self.on_category_milestone_reached) + on_category_milestone_reward_claimed.connect(self.on_category_milestone_reward_claimed) + sm.RegisterNotify(self) def _disconnect_signals(self): BtnDataNode._disconnect_signals(self) - if self._poll_thread: - self._poll_thread.kill() - self._poll_thread = None + on_achievement_milestone_reached.disconnect(self.on_achievement_milestone_reached) + on_achievement_milestone_reward_claimed.disconnect(self.on_achievement_milestone_reward_claimed) + on_category_milestone_reached.disconnect(self.on_category_milestone_reached) + on_category_milestone_reward_claimed.disconnect(self.on_category_milestone_reward_claimed) + sm.UnregisterNotify(self) - def _poll_loop(self): - while not self.destroyed: - self._update_badge() - blue.pyos.synchro.SleepWallclock(_POLL_INTERVAL_MS) - - def _update_badge(self): + @threadutils.highlander_threaded + def update_badge(self): if not session.charid or self.destroyed: return - try: - has_unclaimed = get_repository().get_unclaimed_rewards_count() > 0 - except AttributeError: + has_unclaimed = get_repository().get_unclaimed_rewards_count() > 0 + if has_unclaimed == self.has_unclaimed: return - - self._update_has_unclaimed(has_unclaimed) - - def _update_has_unclaimed(self, value): - global _has_unclaimed - if value != _has_unclaimed: - _has_unclaimed = value - self.OnBadgeCountChanged() + self.has_unclaimed = has_unclaimed + self.OnBadgeCountChanged() def GetItemCount(self): - if _has_unclaimed: + if self.has_unclaimed: return 1 return 0 def GetUnseenItemsHint(self): - if self.GetItemCount(): - return GetByLabel('UI/Neocom/UnclaimedRewards') + if self.GetItemCount() == 0: + return None + return GetByLabel('UI/Neocom/UnclaimedRewards') + + def on_achievement_milestone_reached(self, achievement_id, milestone_id): + self.update_badge() + + def on_achievement_milestone_reward_claimed(self, achievement_id, milestone_id): + self.update_badge() + + def on_category_milestone_reached(self, category_id, milestone_id): + self.update_badge() + + def on_category_milestone_reward_claimed(self, category_id, milestone_id): + self.update_badge() + + def OnSessionChanged(self, is_remote, session, change): + if 'charid' in change: + self.update_badge() diff --git a/eve/client/script/ui/shared/neocom/neocom/neocomPanelEntries.py b/eve/client/script/ui/shared/neocom/neocom/neocomPanelEntries.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/neocom/neocom/neocomPanelEntries.py +from __future__ import absolute_import import carbonui.const as uiconst from eve.client.script.ui.control.eveWindowUnderlay import ListEntryUnderlay import eve.client.script.ui.shared.pointerTool.pointerToolConst as pConst @@ -28,7 +29,7 @@ from eve.client.script.ui.shared.neocom.neocom.neocomConst import BLINK_INTERVAL from eve.client.script.ui.shared.neocom.neocom.neocomIconColorSettings import get_neocom_icon_color_setting, get_veto_tags from eve.client.script.ui.shared.neocom.neocom.neocomColorMenuView import NeocomButtonColorPicker from localization import GetByLabel -import neocomSignals +from . import neocomSignals COLOR_ICON = eveColor.SILVER_GREY class PanelEntryBase(Container): @@ -154,7 +155,8 @@ class PanelEntryBase(Container): def GetMenu(self): m = self.btnData.GetMenu() or [] - m.append((GetByLabel('UI/Neocom/PinToNeocom'), sm.GetService('neocom').AddButtonToRoot, (self.btnData,))) + if sm.GetService('neocom').CanPinToNeocom(self.btnData): + m.append((GetByLabel('UI/Neocom/PinToNeocom'), sm.GetService('neocom').AddButtonToRoot, (self.btnData,))) cm = self.btnData.GetIconColorMenu() if cm is not None: m.append(cm) diff --git a/eve/client/script/ui/shared/neocom/neocom/neocomPanels.py b/eve/client/script/ui/shared/neocom/neocom/neocomPanels.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/neocom/neocom/neocomPanels.py +from __future__ import absolute_import import blue import carbonui.const as uiconst import localization @@ -14,7 +15,7 @@ from carbonui.control.singlelineedits.singleLineEditText import SingleLineEditTe from carbonui.uilib import Uilib import localization import fuzzy -import neocomSignals +from . import neocomSignals class NeoComeSearchField(SingleLineEditText): diff --git a/eve/client/script/ui/shared/neocom/neocom/neocomSvc.py b/eve/client/script/ui/shared/neocom/neocom/neocomSvc.py @@ -1,10 +1,11 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/neocom/neocom/neocomSvc.py +from __future__ import absolute_import import logging import blue import carbonui.const as uiconst import eveicon import localization -import neocomPanelEntries +from . import neocomPanelEntries import threadutils import uthread from auraguidance.client.api import get_aura_guidance_repository @@ -18,6 +19,7 @@ from carbon.common.script.sys.serviceConst import ROLEMASK_ELEVATEDPLAYER from carbonui.control.contextMenu.menuEntryData import MenuEntryData from carbonui.uicore import uicore from carbonui.window.stack import WindowStack +from eve.client.script.ui.view.aurumstore.specialNeocomButton import AurumStoreNeocomButtonExtension from eve.client.script.ui.shared.inventory.neocomInventoryBadging import NeocomInventoryBadging from eve.client.script.ui.shared.loginRewards.loginRewardsWnd import DailyLoginRewardsWnd from eve.client.script.ui.shared.maps.browserwindow import MapBrowserWnd @@ -27,7 +29,7 @@ from eve.client.script.ui.shared.neocom.neocom.neocomRawData import GetEveMenuRa from eve.client.script.ui.shared.neocom.wallet.walletUtil import GetSettingValue from jobboard.client import job_board_signals from menu import MenuLabel -from neocom2.btnIDs import AURA_GUIDANCE_ID, CHARACTER_SHEET_ID, SKILLS_ID +from neocom2.btnIDs import AURA_GUIDANCE_ID, AURUM_STORE_ID, CHARACTER_SHEET_ID, SKILLS_ID from chat.client.window import BaseChatWindow from storylines.client.airnpe import get_air_npe_controller from .btnData import btnDataFactory @@ -72,6 +74,7 @@ class NeocomSvc(Service): self.charSheetBtnDataRoot = None self.aura_chat_btn = None self._are_signals_connected = False + self.aurum_store_btn = None def ConnectSignals(self): neocomSignals.on_all_button_blinking_setting_changed.connect(self.OnAllButtonBlinkSettingChanged) @@ -101,6 +104,7 @@ class NeocomSvc(Service): if self.inventoryBadging: sm.UnregisterNotify(self.inventoryBadging) self.RemoveAuraGuidanceNeocomButton() + self.RemoveAurumStoreNeocomButton() self.ReInitialize() def ReInitialize(self): @@ -120,6 +124,7 @@ class NeocomSvc(Service): self.blinkThread = None self.eveMenuBtnDataRoot = None self.aura_chat_btn = None + self.aurum_store_btn = None def Reload(self): self.Stop() @@ -172,6 +177,20 @@ class NeocomSvc(Service): else: btnData.SetHasNewActivityOff() + def CreateAurumStoreNeocomButton(self): + if self.fixedButtonDataRoot is None: + return + if self.aurum_store_btn is None: + self.aurum_store_btn = AurumStoreNeocomButtonExtension() + self.RegisterFixedButtonExtension(self.aurum_store_btn) + + def RemoveAurumStoreNeocomButton(self): + if self.fixedButtonDataRoot is None: + return + if self.aurum_store_btn is not None: + self.UnregisterFixedButtonExtension(self.aurum_store_btn) + self.aurum_store_btn = None + def _CheckNewDefaultButtons(self, rawData): defaultRawData = GetNeocomDefaultRawData() originalRawData = settings.char.ui.Get('neocomButtonRawDataOriginal', defaultRawData) @@ -238,6 +257,7 @@ class NeocomSvc(Service): aura_guidance_repository = get_aura_guidance_repository() if aura_guidance_repository.is_enabled(): self.CreateAuraGuidanceNeocomButton() + self.CreateAurumStoreNeocomButton() if not self.neocomContainer: self._ConstructFixedButtonDataRoot() self.neocomContainer = NeocomContainer(parent=uicore.layer.sidePanels, idx=0, align=neocomUtil.GetNeocomAlign(), mainBtnDataRoot=self.mainBtnDataRoot, eveMenuBtnDataRoot=self.eveMenuBtnDataRoot, skillsBtnDataRoot=self.skillsBtnDataRoot, fixedButtonDataRoot=self.fixedButtonDataRoot, charSheetBtnDataRoot=self.charSheetBtnDataRoot) @@ -735,6 +755,13 @@ class NeocomSvc(Service): if existingBtnData: existingBtnData.Remove() return + if btnData.id == AURUM_STORE_ID and self.aurum_store_btn is not None and self.aurum_store_btn.is_visible: + wndCls = getattr(btnData, 'wndCls', None) + if wndCls: + existingBtnData = self.mainBtnDataRoot.GetBtnDataByWndCls(wndCls, recursive=False) + if existingBtnData: + existingBtnData.Remove() + return oldRootNode = btnData.GetRootNode() oldBtnData = self.mainBtnDataRoot.GetBtnDataByWndCls(btnData.wndCls, recursive=False) btnData.MoveTo(self.mainBtnDataRoot, index) @@ -799,3 +826,9 @@ class NeocomSvc(Service): sm.GetService('neocom').Blink('wallet', hint) if lpBefore is not None and lpAfter is not None: sm.ScatterEvent('OnCharacterLpUpdatedInWallet', issuerCorpID, lpBefore, lpAfter) + + def CanPinToNeocom(self, btnData): + if btnData.id == AURUM_STORE_ID and self.aurum_store_btn is not None and self.aurum_store_btn.is_visible: + return False + else: + return True diff --git a/eve/client/script/ui/shared/neocom/notepad.py b/eve/client/script/ui/shared/neocom/notepad.py @@ -88,7 +88,7 @@ class NotepadWindow(Window): self.notes['N:' + str(entry.noteID)] = n if entry.label.startswith('S:'): label = entry.label[2:] - if self.settings.has_key(label): + if label in self.settings: self.settings[label].append(entry.noteID) else: self.settings[label] = [entry.noteID] @@ -146,9 +146,9 @@ class NotepadWindow(Window): uthread.new(self.SetSetting, 'Folders', folderstr) def SetSetting(self, id, string): - if self.settingStrs.has_key(id) and self.settingStrs[id] == string: + if id in self.settingStrs and self.settingStrs[id] == string: return - if self.settings.has_key(id): + if id in self.settings: dbIDs = self.settings[id] dbIDs.sort() else: @@ -174,9 +174,9 @@ class NotepadWindow(Window): self.settings[id] = newIDs def GetSetting(self, id): - if self.settingStrs.has_key(id): + if id in self.settingStrs: return self.settingStrs[id] - if not self.settings.has_key(id): + if id not in self.settings: return None parallelCalls = [] for noteID in self.settings[id]: diff --git a/eve/client/script/ui/shared/neocom/ownerSearch.py b/eve/client/script/ui/shared/neocom/ownerSearch.py @@ -119,7 +119,7 @@ class OwnerSearchWindow(Window): if ignoreConfirm or entry.confirmOnDblClick: self.currentScroll.SelectNode(entry.sr.node) if self.dblClickFunc is not None: - apply(self.dblClickFunc, (self.currentScroll.GetSelected,)) + self.dblClickFunc(self.currentScroll.GetSelected) def ClickEntry(self, *args): self.RefreshSelection() diff --git a/eve/client/script/ui/shared/neocom/petition.py b/eve/client/script/ui/shared/neocom/petition.py @@ -255,7 +255,7 @@ class PetitionSvc(Service): seenPetitions = {} scrolllist = [] for p in mp: - if not seenPetitions.has_key(p.petitionID): + if p.petitionID not in seenPetitions: data = self.GetPetitionData('my', p) data.groupID = groupid data.p = p diff --git a/eve/client/script/ui/shared/neocom/petitionWindow.py b/eve/client/script/ui/shared/neocom/petitionWindow.py @@ -168,7 +168,7 @@ class PetitionWindow(Window): result = sm.GetService('form').ProcessForm(self.sr.formData[1], self.sr.formData[2]) catCountry = sm.RemoteSvc('petitioner').GetUserCatalogCountry() if result: - if self.billingCategories.has_key((result['subCategory'][0], catCountry)): + if (result['subCategory'][0], catCountry) in self.billingCategories: url, messageLabel = self.billingCategories[result['subCategory'][0], catCountry] result = prompt_player(localization.GetByLabel(messageLabel), result['subCategory'][1], options=uiconst.YESNO)[0] if result == uiconst.ID_YES: diff --git a/eve/client/script/ui/shared/planet/colonyTemplateLoading.py b/eve/client/script/ui/shared/planet/colonyTemplateLoading.py @@ -161,7 +161,7 @@ def _LoadPiTemplate(newSPs, colonyTemplate): continue try: planetUI.planet.CreateRoute(path, route[TemplateRouteDataDictKeys.ItemType], route[TemplateRouteDataDictKeys.ItemQuantity]) - except StandardError: + except Exception: failedRoutes.append(route) message_player(GetByLabel('UI/PI/RouteBuildingProgress', currentNum=i + 1, totalNum=totalNumRoutes), flash_existing=False) diff --git a/eve/client/script/ui/shared/planet/colonyTemplateWindow.py b/eve/client/script/ui/shared/planet/colonyTemplateWindow.py @@ -284,7 +284,7 @@ class ColonyTemplateWindow(Window): try: with open(os.path.join(defaultStoragePath, singleTemp)) as tempStream: templates.append(ColonyTemplate(tempStream.read(), singleTemp)) - except StandardError as e: + except Exception as e: pass templates = sorted(templates, key=lambda x: x.description.lower()) diff --git a/eve/client/script/ui/shared/planet/pinContainers/ecuContainer.py b/eve/client/script/ui/shared/planet/pinContainers/ecuContainer.py @@ -52,10 +52,10 @@ class ECUContainer(BasePinContainer): if self.IsSomeProductUnrouted(): deposName += '\n<color=red>%s</color>' % localization.GetByLabel('UI/PI/Common/NotRouted') else: - currCycle = 0L - totalTimeLeft = localization.GetByLabel('UI/PI/Common/TimeHourMinSec', time=0L) + currCycle = 0 + totalTimeLeft = localization.GetByLabel('UI/PI/Common/TimeHourMinSec', time=0) currCycleProportion = 0.0 - cycleTime = 0L + cycleTime = 0 deposName = '<color=red>%s</color>' % localization.GetByLabel('UI/PI/Common/ProgramNotActive') qtyRemaining = 0 currCycleOutput = localization.GetByLabel('UI/PI/Common/NoneOutput') diff --git a/eve/client/script/ui/shared/planet/planetUtil.py b/eve/client/script/ui/shared/planet/planetUtil.py @@ -28,7 +28,7 @@ def GetTexturePath(pinGrouping, groupID = None): return 'res:/UI/Texture/Planet/icons/processor.png' try: return iconsByGroupID[groupID] - except StandardError: + except Exception: return '' diff --git a/eve/client/script/ui/shared/planet/templatePreviewWindow.py b/eve/client/script/ui/shared/planet/templatePreviewWindow.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/planet/templatePreviewWindow.py +from __future__ import print_function import math import random import blue @@ -288,8 +289,8 @@ class TemplatePreviewWindow(Window): if lineSet in sm.GetService('planetUI').planetTransform.children: sm.GetService('planetUI').planetTransform.children.remove(lineSet) cld.RemoveLineSet(RING_NAME) - except StandardError as e: - print 'except = ', e + except Exception as e: + print('except = ', e) class PinMover(object): diff --git a/eve/client/script/ui/shared/pointerTool/entry.py b/eve/client/script/ui/shared/pointerTool/entry.py @@ -77,7 +77,7 @@ class PointerWndEntry(SE_BaseClassCore): newHeight = int(smallerRatio * textureHeight) self.icon.width = newWidth self.icon.height = newHeight - except StandardError as e: + except Exception as e: pass def GetHeight(self, *args): diff --git a/eve/client/script/ui/shared/pointerTool/helpPointerSvc.py b/eve/client/script/ui/shared/pointerTool/helpPointerSvc.py @@ -512,7 +512,7 @@ class HelpPointerSvc(Service): if not pointersFound: self.pendingThread = None - except StandardError: + except Exception: self.pendingPointers.clear() self.pendingThread = None raise diff --git a/eve/client/script/ui/shared/pointerTool/pointerOverlay.py b/eve/client/script/ui/shared/pointerTool/pointerOverlay.py @@ -63,7 +63,7 @@ class PointerOverlay(object): else: parent = eachElement f = PointerFill(parent=parent, idx=0, state=uiconst.UI_NORMAL, colorRGB=(0.2, 0.6, 1), uiElementName=key) - except StandardError as e: + except Exception as e: elementPos = eachElement.GetAbsolute() f = PointerFill(parent=self.fillCont, align=uiconst.ABSOLUTE, colorRGB=(0.2, 0.6, 1), idx=0, state=uiconst.UI_NORMAL, pos=elementPos, uiElementName=key) self._CreateBinding(key, eachElement, f) diff --git a/eve/client/script/ui/shared/pointerTool/pointerWnd.py b/eve/client/script/ui/shared/pointerTool/pointerWnd.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/pointerTool/pointerWnd.py +from __future__ import print_function import uthread from carbon.common.script.util.timerstuff import AutoTimer from carbonui.primitives.container import Container @@ -159,7 +160,7 @@ class PointerToolWnd(Window): else: bgParent = eachElement f = PointerFrame(bgParent=bgParent, idx=0, state=uiconst.UI_DISABLED, color=(0.2, 0.6, 1, 0.3)) - except StandardError as e: + except Exception as e: elementPos = eachElement.GetAbsolute() f = PointerFrame(parent=self.frameCont, align=uiconst.ABSOLUTE, color=(0.2, 0.6, 1, 0.3), idx=0, state=uiconst.UI_DISABLED, pos=elementPos) self._CreateBinding(key, eachElement, f) @@ -225,8 +226,8 @@ class PointerToolWnd(Window): try: self._RemoveAllFramesAndStopCurveSet() uicore.event.UnregisterForTriuiEvents(self._keyDownCookie) - except StandardError as e: - print 'e = ', e + except Exception as e: + print('e = ', e) frame = getattr(self, '_hiliteFrame', None) if frame: diff --git a/eve/client/script/ui/shared/pointerTool/textContainerWithSubIcon.py b/eve/client/script/ui/shared/pointerTool/textContainerWithSubIcon.py @@ -114,5 +114,5 @@ class PointerContainerWithPath(Container): newHeight = int(smallerRatio * textureHeight) sprite.width = int(newWidth) sprite.height = int(newHeight) - except StandardError as e: + except Exception as e: pass diff --git a/eve/client/script/ui/shared/preview.py b/eve/client/script/ui/shared/preview.py @@ -61,6 +61,7 @@ import charactercreator.client.animparams as animparams from eve.client.script.environment.sofService import GetSofService from carbonui.uicore import uicore from eveservices.menu import GetMenuService +from functools import reduce MESH_NAMES_BY_GROUPID = {invconst.groupApparelEyewear: [ACCESSORIES_CATEGORIES.ACCESSORIES], invconst.groupApparelProsthetics: [ACCESSORIES_CATEGORIES.SLEEVESLOWER], invconst.groupApparelTattoos: [ACCESSORIES_CATEGORIES.SLEEVESLOWER], diff --git a/eve/client/script/ui/shared/progressWnd.py b/eve/client/script/ui/shared/progressWnd.py @@ -113,7 +113,7 @@ class ProgressWnd(ContainerAutoSize): blue.pyos.synchro.SleepWallclock(10) if not self.destroyed: - self.progressText.text = FmtDate(0L) + self.progressText.text = FmtDate(long(0)) self.Abort() def SetReadProgress(self, have, need): diff --git a/eve/client/script/ui/shared/radialMenu/radialMenu.py b/eve/client/script/ui/shared/radialMenu/radialMenu.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/radialMenu/radialMenu.py +from __future__ import print_function import math from carbon.common.script.util import timerstuff from carbon.common.script.util.format import FmtDist @@ -771,19 +772,19 @@ class RadialMenuTest(RadialMenu): return optionsInfo def TestA(self, *args): - print 'TestAx' + print('TestAx') def TestB(self, *args): - print '~~~~ TestB' + print('~~~~ TestB') def TestC(self, *args): - print 'TestC' + print('TestC') def TestD(self, *args): - print 'TestD' + print('TestD') def GetIconTexturePath(self, activeOption, menuOptions = None, *args): return menuOptions.iconPath def Orbit(self, itemID, value, *args): - print 'value = ', value + print('value = ', value) diff --git a/eve/client/script/ui/shared/shipTree/infoBubble.py b/eve/client/script/ui/shared/shipTree/infoBubble.py @@ -386,7 +386,7 @@ class InfoBubbleShip(InfoBubble): self.ConstructElements(cfg.infoBubbleTypeElements[self.typeID]) try: TraitsContainer(parent=self.mainContent, typeID=self.typeID) - except StandardError: + except Exception: log.LogException() self.Close() return diff --git a/eve/client/script/ui/shared/shipTree/shipTreeLayer.py b/eve/client/script/ui/shared/shipTree/shipTreeLayer.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/shipTree/shipTreeLayer.py +from __future__ import absolute_import import carbonui.const as uiconst from carbonui.control.layer import LayerCore -from shipTreeContainer import ShipTreeContainer +from .shipTreeContainer import ShipTreeContainer from carbonui.primitives.fill import Fill from eve.client.script.ui.shared.shipTree.shipTreeConst import ZOOMED_IN, ZOOMED_OUT, COLOR_BG, MAIN_FACTIONS, PAD_SIDE, PAD_TOP from eve.client.script.ui.control.panContainer import PanContainer diff --git a/eve/client/script/ui/shared/shipTree/shipTreeShipGroup.py b/eve/client/script/ui/shared/shipTree/shipTreeShipGroup.py @@ -1,13 +1,14 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/shipTree/shipTreeShipGroup.py +from __future__ import absolute_import import uthread2 from carbon.client.script.environment.AudioUtil import PlaySound from carbonui.primitives.containerAutoSize import ContainerAutoSize import carbonui.const as uiconst from eve.client.script.ui.control.eveLabel import EveHeaderMedium -import shipTreeConst +from . import shipTreeConst from eve.client.script.ui.shared.shipTree.skillLevelsCont import SkillLevelsCont from expertSystems.client import ExpertSystemService -from shipTreeShipIcon import ShipTreeShipIcon +from .shipTreeShipIcon import ShipTreeShipIcon from carbonui.primitives.sprite import Sprite from carbonui.primitives.container import Container from carbonui.primitives.fill import Fill diff --git a/eve/client/script/ui/shared/shipTree/shipTreeShipIcon.py b/eve/client/script/ui/shared/shipTree/shipTreeShipIcon.py @@ -1,10 +1,11 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/shipTree/shipTreeShipIcon.py +from __future__ import absolute_import from carbon.client.script.environment.AudioUtil import PlaySound import log import carbonui.const as uiconst import evetypes import inventorycommon.typeHelpers -import shipTreeConst +from . import shipTreeConst import trinity from carbon.client.script.environment.AudioUtil import PlaySound from carbonui.const import ANIM_REPEAT, ANIM_WAVE diff --git a/eve/client/script/ui/shared/shortcuts.py b/eve/client/script/ui/shared/shortcuts.py @@ -85,7 +85,8 @@ class KeyboardWnd(Window): self.BuildKeyBoard() self.MarkShortcutsByComboValue() - def OnGlobalKeyCallback(self, wnd, eventID, (vkey, flag)): + def OnGlobalKeyCallback(self, wnd, eventID, param): + vkey, flag = param conts = self.keyToCont.get(vkey, None) if conts: for eachCont in conts: @@ -243,7 +244,7 @@ class KeyboardWnd(Window): def Close(self, *args, **kwargs): try: uicore.event.UnregisterForTriuiEvents(self.keyDownCookie) - except StandardError: + except Exception: import log log.LogTraceback('error when unregistering cookie') diff --git a/eve/client/script/ui/shared/skins/skinPanel.py b/eve/client/script/ui/shared/skins/skinPanel.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/skins/skinPanel.py +from __future__ import absolute_import import blue import carbonui.text.styles import contextlib @@ -25,7 +26,7 @@ from carbonui.primitives.frame import Frame from carbonui.primitives.sprite import Sprite from carbonui.primitives.line import Line from carbonui.uianimations import animations -from defaultSkinSettings import get_default_skin_id_for_hull, set_default_skin_for_hull, clear_default_skin_for_hull +from .defaultSkinSettings import get_default_skin_id_for_hull, set_default_skin_for_hull, clear_default_skin_for_hull from eve.client.script.ui import eveColor from eve.client.script.ui.control.infoIcon import MoreInfoIcon from eve.client.script.ui.control.themeColored import FillThemeColored, GradientThemeColored diff --git a/eve/client/script/ui/shared/skyhook/fakeData.py b/eve/client/script/ui/shared/skyhook/fakeData.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/skyhook/fakeData.py +from __future__ import print_function import uthread2 class FakeColonyData(object): @@ -43,10 +44,10 @@ class FakeData(object): return self._GetColonyInfo(planetID).active def StartProductionAtSkyhook(self, planetID): - print 'Fake StartProductionAtSkyhook' + print('Fake StartProductionAtSkyhook') def StopProductionAtSkyhook(self, planetID): - print 'Fake StopProductionAtSkyhook' + print('Fake StopProductionAtSkyhook') def GetReagentsInSkyhookNow(self, planetID): colonyInfo = self._GetColonyInfo(planetID) diff --git a/eve/client/script/ui/shared/skyhook/skyhookWnd.py b/eve/client/script/ui/shared/skyhook/skyhookWnd.py @@ -308,7 +308,7 @@ class ThreadedLoader(object): self.threadDict = {} def StartLoading(self, func): - funcName = func.func_name + funcName = func.__name__ existingThread = self.threadDict.pop(funcName, None) if existingThread: existingThread.kill() diff --git a/eve/client/script/ui/shared/sov/threadedLoader.py b/eve/client/script/ui/shared/sov/threadedLoader.py @@ -9,7 +9,7 @@ class ThreadedLoader(object): self.threadDict = {} def StartLoading(self, func, classInstance, *args): - funcName = '%s_%s' % (func.func_name, id(classInstance)) + funcName = '%s_%s' % (func.__name__, id(classInstance)) existingThread = self.threadDict.pop(funcName, None) if existingThread: existingThread.kill() diff --git a/eve/client/script/ui/shared/systemMenu/systemmenu.py b/eve/client/script/ui/shared/systemMenu/systemmenu.py @@ -1891,7 +1891,7 @@ class SystemMenu(LayerCore): 'InvasionWarningUndock': GetByLabel('UI/SystemMenu/ResetSettings/ResetSuppressMessageSettings/InvasionWarningUndockConfirmation'), 'CloseWindowStackPrompt': GetByLabel('UI/SystemMenu/ResetSettings/ResetSuppressMessageSettings/CloseWindowStackPrompt'), 'ShipNameChangeOnAssemble': GetByLabel('UI/Ship/NameChange/ResetSuppressSetting')} - if configTranslation.has_key(suppression[9:]): + if suppression[9:] in configTranslation: txt = configTranslation[suppression[9:]] else: txt = cfg.GetRawMessageTitle(suppression[9:]) diff --git a/eve/client/script/ui/shared/theatersOfWar/dashboard/dashboard.py b/eve/client/script/ui/shared/theatersOfWar/dashboard/dashboard.py @@ -173,14 +173,19 @@ class TheatersOfWarDashboardWnd(Window): was_selected = self.window_controller.previously_selected_panel == panel_id self.window_controller.previously_selected_panel = panel_id self.side_navigation.set_entry_selected(panel_id) + selected_panel = None for _panel_id, panel in self.panels.items(): if panel_id == _panel_id: - panel.Show() - if hasattr(panel, 'LoadPanel'): - panel.LoadPanel(was_selected, **kwargs) + selected_panel = panel else: panel.Hide() + if selected_panel: + selected_panel.Show() + if hasattr(selected_panel, 'LoadPanel'): + selected_panel.LoadPanel(was_selected, **kwargs) + if self.destroyed: + return self.window_controller.selected_panel_id = panel_id self.window_controller.register_history(panel_id, kwargs.get('extra_args', {})) diff --git a/eve/client/script/ui/shared/theatersOfWar/dashboard/windowController.py b/eve/client/script/ui/shared/theatersOfWar/dashboard/windowController.py @@ -1,11 +1,12 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/shared/theatersOfWar/dashboard/windowController.py +from __future__ import absolute_import from clientsettings.setting import CharSettingNumeric from contextlib import contextmanager from eve.client.script.ui.control.historyBuffer import HistoryBuffer from eve.client.script.ui.shared.theatersOfWar.campaigns.panel_controller import CampaignPanelController from eve.client.script.ui.shared.theatersOfWar.dashboard.dashboardConst import ID_CAMPAIGNS from eveexceptions import ExceptionEater -from signals import Signal +from .signals import Signal selected_panel_id = CharSettingNumeric('TheatersOfWar_SelectedPanelID', False) class TheatersOfWarWindowController(object): diff --git a/eve/client/script/ui/shared/uilog.py b/eve/client/script/ui/shared/uilog.py @@ -99,7 +99,7 @@ class Logger(Service): self.newfileAttempts = 0 self.addmsg = [] self.persistInterval = 1000 - self.combatMessagePeriod = 10000L * prefs.GetValue('combatMessagePeriod', 200) + self.combatMessagePeriod = 10000 * prefs.GetValue('combatMessagePeriod', 200) self.lastCombatMessage = 0 self.inMovingMode = False self.frameCounterAndWindow = (None, None) diff --git a/eve/client/script/ui/shared/underConstruction/util.py b/eve/client/script/ui/shared/underConstruction/util.py @@ -52,7 +52,7 @@ def _CalculatePriceProgress(qtyByTypeID, qtyRequiredByTypeID): if totalValueOfNeeded: return float(valueOfComponents) / totalValueOfNeeded - except StandardError as e: + except Exception as e: logger.exception('Failed _CalculatePriceProgress for wnd') diff --git a/eve/client/script/ui/skillPlan/browser/skillPlanEntry.py b/eve/client/script/ui/skillPlan/browser/skillPlanEntry.py @@ -167,5 +167,5 @@ class SkillPlanEntry(Container): try: skillPlanID = self.skillPlan.GetID().int self.uniqueUiName = GetUniqueSkillPlanName(skillPlanID) - except StandardError as e: + except Exception as e: logger.exception('Failed to set unique name for skill plan, e: %s' % e) diff --git a/eve/client/script/ui/skillPlan/milestone/milestoneProgressIndicator.py b/eve/client/script/ui/skillPlan/milestone/milestoneProgressIndicator.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/skillPlan/milestone/milestoneProgressIndicator.py +from __future__ import absolute_import import blue -import milestoneTooltips +from . import milestoneTooltips from carbon.client.script.environment.AudioUtil import PlaySound from carbon.common.script.sys.serviceConst import ROLE_PROGRAMMER from carbonui import uiconst diff --git a/eve/client/script/ui/skillPlan/selectedPlan/selectedSkillPlanContainer.py b/eve/client/script/ui/skillPlan/selectedPlan/selectedSkillPlanContainer.py @@ -242,7 +242,7 @@ class SelectedSkillPlanContainer(Container): planID = self.skillPlan.GetID().int self.toggleContentsButton.uniqueUiName = GetUniqueSkillPlanBtn(planID, 0) self.startTrainingBtn.uniqueUiName = GetUniqueSkillPlanBtn(planID, 1) - except StandardError: + except Exception: pass def UpdateComponents(self): diff --git a/eve/client/script/ui/skillPlan/skillPlanEditor/skillPlanEditorOverview.py b/eve/client/script/ui/skillPlan/skillPlanEditor/skillPlanEditorOverview.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/skillPlan/skillPlanEditor/skillPlanEditorOverview.py +from __future__ import absolute_import import evetypes import uthread2 from carbon.client.script.environment.AudioUtil import PlaySound @@ -18,7 +19,7 @@ from eve.client.script.ui.skillPlan.controls.milestoneIndicatorHeader import Loa from eve.client.script.ui.skillPlan.milestone.skillPlanProgressIndicatorEditable import SkillPlanProgressIndicatorEditable from localization import GetByLabel, GetByMessageID from player_messaging.client.ui_message import prompt_player_fsd_dialog -from saveSkillPlanButton import SkillPlanEditorSaveButton +from .saveSkillPlanButton import SkillPlanEditorSaveButton from skills.skillplan import skillPlanConst from skills.skillplan.skillPlanConst import MAX_LEN_NAME, MAX_LEN_DESC from skills.skillplan.skillPlanService import GetSkillPlanSvc diff --git a/eve/client/script/ui/skillPlan/skillQueuePanel/skillQueueSkillEntry.py b/eve/client/script/ui/skillPlan/skillQueuePanel/skillQueueSkillEntry.py @@ -276,7 +276,7 @@ class SkillQueueSkillEntry(BaseSkillEntry): return if ETA: time = ETA - gametime.GetWallclockTime() - secs = time / 10000000L + secs = time / 10000000 else: time = 0 secs = 0 diff --git a/eve/client/script/ui/skillTree/skillTreeNode.py b/eve/client/script/ui/skillTree/skillTreeNode.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/skillTree/skillTreeNode.py +from __future__ import print_function import itertools from collections import defaultdict import evetypes @@ -19,9 +20,9 @@ class SkillTreeController(SkillController): child.parentsByLevel[level].append(self) def PrintChildren(self, depth = 0): - print '-' * depth + evetypes.GetName(self.GetTypeID()) + print('-' * depth + evetypes.GetName(self.GetTypeID())) for level, children in self.childrenByLevel.iteritems(): - print '\n' + '-' * depth + 'LEVEL %s:' % level + print('\n' + '-' * depth + 'LEVEL %s:' % level) for child in children: child.PrintChildren(depth + 1) diff --git a/eve/client/script/ui/station/insurance/base_insurance.py b/eve/client/script/ui/station/insurance/base_insurance.py @@ -328,7 +328,7 @@ class InsuranceWindow(Window): if shipName is not None: itemName = shipName.locationName contract = None - if self.contracts.has_key(item.itemID): + if item.itemID in self.contracts: contract = self.contracts[item.itemID] name = evetypes.GetName(item.typeID) if contract is None: diff --git a/eve/client/script/ui/station/missions/missionentry.py b/eve/client/script/ui/station/missions/missionentry.py @@ -25,7 +25,7 @@ class VirtualBaseMissionEntry(SE_BaseClassCore): def OnSelect(self, *args): if getattr(self, 'OnSelectCallback', None): - apply(self.OnSelectCallback, args) + self.OnSelectCallback(*args) def OnClick(self, *args): self.sr.node.scroll.SelectNode(self.sr.node) diff --git a/eve/client/script/ui/structure/dropbox/dropboxWnd.py b/eve/client/script/ui/structure/dropbox/dropboxWnd.py @@ -127,7 +127,7 @@ class DropboxWnd(Window): dist = bp.GetBall(structureID).surfaceDist if dist > self.validRange: self.Close() - except StandardError: + except Exception: self.Close() def VerifyNotCloaked(self): diff --git a/eve/client/script/ui/util/form.py b/eve/client/script/ui/util/form.py @@ -115,7 +115,7 @@ class Form(Service): else: log.LogWarn('Unknown fieldtype in form generator') continue - if self.type.has_key('key'): + if 'key' in self.type: if self.code: self.retfields.append([self.code, self.type]) self.parent.sr.Set(self.type['key'], self.code) @@ -127,7 +127,7 @@ class Form(Service): self.code.SelectAll() if self.type.get('setfocus', 0) == 1: self.parent.sr.focus = self.code - if self.type.has_key('stopconfirm') and hasattr(self.code, 'stopconfirm'): + if 'stopconfirm' in self.type and hasattr(self.code, 'stopconfirm'): self.code.stopconfirm = self.type['stopconfirm'] if self.type.get('frame', 0) == 1: idx = 0 @@ -174,13 +174,13 @@ class Form(Service): def AddTab(self): _form, _retfield, _required, _tabpanels, _errorcheck, _refresh = self._GetForm(self.type['format'], FormWnd(name='form', align=uiconst.TOTOP, parent=self.parent), self.retfields, self.reqresult, self.errorcheck, self.tabpanels, self.tabgroup, self.refresh, 0) - if self.type.has_key('key'): + if 'key' in self.type: self.parent.sr.panels[self.type['key']] = _form if self.type.get('panelvisible', 0): _form.state = uiconst.UI_PICKCHILDREN else: _form.state = uiconst.UI_HIDDEN - if self.type.has_key('tabvisible'): + if 'tabvisible' in self.type: if self.type['tabvisible'] == 1: self.tabgroup.append([self.type['tabtext'], _form, @@ -258,12 +258,12 @@ class Form(Service): if width: self.code.SetAlign(uiconst.TOLEFT) self.code.width = width - if self.type.has_key('OnReturn'): + if 'OnReturn' in self.type: self.code.data = {'key': self.type['key']} self.code.OnReturn = self.type['OnReturn'] - if self.type.has_key('unusedkeydowncallback'): + if 'unusedkeydowncallback' in self.type: self.code.OnUnusedKeyDown = self.type['unusedkeydowncallback'] - if self.type.has_key('onanychar'): + if 'onanychar' in self.type: self.code.OnAnyChar = self.type['onanychar'] label = self.type.get('label', '') text = self.type.get('text', None) @@ -298,7 +298,7 @@ class Form(Service): self.code.SetSettingsKey(self.type['key']) self.code.data = {'key': self.type['key'], 'callback': onchange} - if self.type.has_key('showpanel'): + if 'showpanel' in self.type: self.code.data['showpanel'] = self.type['showpanel'] if self.code.sr.label: self.refresh.append((self.code, self.code.sr.label)) @@ -327,7 +327,7 @@ class Form(Service): self.new = Container(name='btnonly', parent=self.parent, align=uiconst.TOTOP, height=self.type.get('height', 20)) align = uiconst.TORIGHT for wantedbtn in self.type['buttons']: - if wantedbtn.has_key('align'): + if 'align' in wantedbtn: al = {'left': uiconst.CENTERLEFT, 'right': uiconst.CENTERRIGHT} align = al.get(wantedbtn['align'], uiconst.CENTERRIGHT) @@ -346,7 +346,7 @@ class Form(Service): result.update(each) continue value = each[0].GetValue() - if each[1]['type'] == 'checkbox' and each[1].has_key('group') and value == 1: + if each[1]['type'] == 'checkbox' and 'group' in each[1] and value == 1: result[each[1]['group']] = each[1]['key'] else: result[each[1]['key']] = value @@ -363,7 +363,7 @@ class Form(Service): retval = each[0].GetValue() if retval is None or retval == '' or type(retval) in types.StringTypes and retval.strip() == '': fieldname = '' - if each[1].has_key('label'): + if 'label' in each[1]: fieldname = each[1]['label'] if fieldname == '_hide': fieldname = each[1]['key'] @@ -371,7 +371,7 @@ class Form(Service): fieldname = each[1]['key'] prompt_player_fsd_dialog('MissingRequiredField', {'fieldname': fieldname}) return - if each[1]['type'] == 'checkbox' and each[1].has_key('group'): + if each[1]['type'] == 'checkbox' and 'group' in each[1]: if each[1]['group'] not in result: prompt_player_fsd_dialog('MissingRequiredField', {'fieldname': each[1]['group']}) return @@ -403,7 +403,7 @@ class FormWnd(Container): Container._OnClose(self) windowKeys = self.sr.panels.keys() for key in windowKeys: - if not self.sr.panels.has_key(key): + if key not in self.sr.panels: continue wnd = self.sr.panels[key] del self.sr.panels[key] @@ -417,9 +417,9 @@ class FormWnd(Container): self.sr.panels[panelkey].state = uiconst.UI_NORMAL def OnCheckboxChange(self, sender, *args): - if sender.data.has_key('callback'): + if 'callback' in sender.data: sender.data['callback'](sender) - if sender.data.has_key('showpanel') and self.sr.panels.has_key(sender.data['showpanel']): + if 'showpanel' in sender.data and sender.data['showpanel'] in self.sr.panels: self.ShowPanel(sender.data['showpanel']) def OnChange(self, *args): diff --git a/eve/client/script/ui/util/gradientEdit.py b/eve/client/script/ui/util/gradientEdit.py @@ -178,13 +178,13 @@ class GradientEditor(Window): value = self.rgbPoints[index] location = self.rgbDivs[index] if index < len(self.rgbPoints) - 1: - value = map(lambda (x, y): (x + y) * 0.5, zip(value, self.rgbPoints[index + 1])) + value = map(lambda x_y: (x_y[0] + x_y[1]) * 0.5, zip(value, self.rgbPoints[index + 1])) location = 0.5 * (location + self.rgbDivs[index + 1]) self.rgbDivs.insert(index + 1, location) self.rgbPoints.insert(index + 1, value) self.SelectRGBCursor(index + 1) elif index > 0: - value = map(lambda (x, y): (x + y) * 0.5, zip(value, self.rgbPoints[index - 1])) + value = map(lambda x_y1: (x_y1[0] + x_y1[1]) * 0.5, zip(value, self.rgbPoints[index - 1])) location = 0.5 * (location + self.rgbDivs[index - 1]) self.rgbDivs.insert(index, location) self.rgbPoints.insert(index, value) diff --git a/eve/client/script/ui/util/uix.py b/eve/client/script/ui/util/uix.py @@ -2,6 +2,7 @@ import math import sys import appConst +import numbers import types import blue import caching @@ -105,7 +106,7 @@ def GetItemData(rec, viewMode, viewOnly = 0, container = None, scrollID = None, data.categoryName = evetypes.GetCategoryName(rec.typeID) estPrice = GetAveragePrice(rec) data.estPrice = rec.stacksize * estPrice if estPrice and rec.stacksize else None - data.sort_ammosizeconstraints = attribs.has_key(const.attributeChargeSize) + data.sort_ammosizeconstraints = const.attributeChargeSize in attribs data.sort_slotsize = sort_slotsize data.Set('sort_%s' % localization.GetByLabel('UI/Common/Name'), GetItemName(rec, data).lower()) data.Set('sort_%s' % localization.GetByLabel('UI/Common/Type'), GetCategoryGroupTypeStringForItem(rec).lower()) @@ -227,7 +228,7 @@ def GetImplantsCostForCharacter(): return implantCost return None - except StandardError as e: + except Exception as e: log.LogException('Failing to get implant cost') @@ -743,13 +744,13 @@ def GetVisibleItemHeaders(scrollID): def GetLightYearDistance(fromSystem, toSystem, fraction = True): for system in (fromSystem, toSystem): - if type(system) not in (types.IntType, types.InstanceType, types.LongType): + if not isinstance(system, numbers.Integral): return None if not IsKnownSpaceSystem(system): return None def GetLoc(system): - if type(system) in (types.IntType, types.LongType): + if isinstance(system, numbers.Integral): return cfg.evelocations.Get(system) if type(system) == types.InstanceType: return system diff --git a/eve/client/script/ui/view/hangarBehaviours/baseHangarBehaviours.py b/eve/client/script/ui/view/hangarBehaviours/baseHangarBehaviours.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/view/hangarBehaviours/baseHangarBehaviours.py +from __future__ import absolute_import import evetypes import trinity import logging @@ -15,7 +16,7 @@ from eve.client.script.environment.model.turretSet import TurretSet from eve.client.script.environment.sofService import GetSofService from eve.client.script.environment.spaceObject.cosmeticsManager import CosmeticsManager from evegraphics.CosmeticsLoader import CosmeticsLoader -import modularHangarBehavioursConstants as hConst +from . import modularHangarBehavioursConstants as hConst log = logging.getLogger(__name__) class BaseHangarShipBehaviour(object): @@ -42,6 +43,7 @@ class BaseHangarShipBehaviour(object): self.SetupShipAnimation(model, typeID, itemID) self.SetShipDamage(itemID, model) self.FitTurrets(itemID, typeID, model) + self.SetInHangarVariables(model) self.shipSwitchingInProcess = False return model @@ -154,6 +156,11 @@ class BaseHangarShipBehaviour(object): self.turretSets = TurretSet.FitTurrets(itemID, model, sofFactionName) self._SetHighLodForTurrets(model) + def SetInHangarVariables(self, model): + if model is None: + return + model.SetControllerVariable('inHangar', 1.0) + def UpdateTurretState(self, dogmaItem): if dogmaItem.itemID not in self.turretSets: return diff --git a/eve/client/script/ui/view/hangarBehaviours/defaultHangarBehaviours.py b/eve/client/script/ui/view/hangarBehaviours/defaultHangarBehaviours.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/view/hangarBehaviours/defaultHangarBehaviours.py +from __future__ import absolute_import import geo2 import math import trinity -from baseHangarBehaviours import BaseHangarShipBehaviour, BaseHangarShipDroneBehaviour +from .baseHangarBehaviours import BaseHangarShipBehaviour, BaseHangarShipDroneBehaviour from carbonui.uicore import uicore class DefaultHangarShipBehaviour(BaseHangarShipBehaviour): diff --git a/eve/client/script/ui/view/hangarBehaviours/modularHangarBehaviours.py b/eve/client/script/ui/view/hangarBehaviours/modularHangarBehaviours.py @@ -1,4 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/view/hangarBehaviours/modularHangarBehaviours.py +from __future__ import print_function +from __future__ import absolute_import import blue import random as rnd import geo2 @@ -6,14 +8,14 @@ import trinity import math import uthread import logging -import modularHangarBehavioursConstants as hConst +from . import modularHangarBehavioursConstants as hConst from cosmetics.common.ships.skins.static_data.skin_type import ShipSkinType from eve.common.script.sys.idCheckers import IsJunkLocation from inventorycommon import const from uthread2 import call_after_simtime_delay from fsdBuiltData.common.graphicIDs import GetGraphicFile -from baseHangarBehaviours import BaseHangarShipBehaviour, BaseHangarShipDroneBehaviour -from modularHangarBehavioursConstants import GetShipSizeClass, IsInLookUpTable +from .baseHangarBehaviours import BaseHangarShipBehaviour, BaseHangarShipDroneBehaviour +from .modularHangarBehavioursConstants import GetShipSizeClass, IsInLookUpTable import evecamera from evetypes import GetGroupID from gametime import GetSecondsUntilSimTime @@ -938,6 +940,7 @@ class ModularHangarShipBehaviour(BaseHangarShipBehaviour): if hasattr(model, 'boosters') and model.boosters is not None: model.boosters.display = True self._AddDetailsToShipModel(itemID, typeID, model, playerShip=playerShip, skipSetupAnimation=skipSetupAnimation) + self.SetInHangarVariables(model) return model def OnShipsRepaired(self, itemIDs): @@ -975,7 +978,7 @@ class ModularHangarShipBehaviour(BaseHangarShipBehaviour): self._activeSkinID = sm.GetService('cosmeticsSvc').GetFirstPartySkinObjectForCurrentSession(skin_state.skin_data.skin_id) def ProcessCamera(self, camera, newModel, typeID): - print 'process camera called with newModel typeID: ', typeID + print('process camera called with newModel typeID: ', typeID) def _shipRequiresBigDock(self, ship): pass diff --git a/eve/client/script/ui/view/hangarBehaviours/modularHangarCapitalBehaviours.py b/eve/client/script/ui/view/hangarBehaviours/modularHangarCapitalBehaviours.py @@ -1,14 +1,15 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/view/hangarBehaviours/modularHangarCapitalBehaviours.py +from __future__ import absolute_import import blue import geo2 import trinity import math import logging import uthread -import modularHangarBehavioursConstants as hConst +from . import modularHangarBehavioursConstants as hConst from uthread2 import call_after_simtime_delay from fsdBuiltData.common.graphicIDs import GetGraphicFile -from modularHangarBehaviours import ModularHangarShipBehaviour, ModularHangarDroneBehaviour +from .modularHangarBehaviours import ModularHangarShipBehaviour, ModularHangarDroneBehaviour from evetypes import GetGroupID import inventorycommon.const as invC import evecamera @@ -244,6 +245,7 @@ class ModularCapitalHangarShipBehaviour(ModularHangarShipBehaviour): self.SetShipDirtLevel(itemID, model) self.SetShipKillCounter(itemID, model) self.SetupShipAnimation(model, typeID, itemID) + self.SetInHangarVariables(model) return model def ProcessSkinChange(self, newModel): diff --git a/eve/client/script/ui/view/hangarRegistry.py b/eve/client/script/ui/view/hangarRegistry.py @@ -1,10 +1,11 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/view/hangarRegistry.py +from __future__ import absolute_import import evetypes import const import inventorycommon.const as invC from eveuniverse.security import is_low_sec_or_lower_solar_system -from hangarBehaviours import capitalHangarBehaviours, defaultHangarBehaviours, modularHangarBehaviours, modularHangarCapitalBehaviours -from hangarBehaviours.modularHangarBehavioursConstants import GetShipSizeClass +from .hangarBehaviours import capitalHangarBehaviours, defaultHangarBehaviours, modularHangarBehaviours, modularHangarCapitalBehaviours +from .hangarBehaviours.modularHangarBehavioursConstants import GetShipSizeClass HANGAR_TYPE_OVERRIDE = None HANGAR_VFX_TRIGGERS_MULTIEFFECT_GID = 28022 ALL_DEFAULT_BEHAVIOURS = {'ship': defaultHangarBehaviours.DefaultHangarShipBehaviour, diff --git a/eve/client/script/ui/view/hangarView.py b/eve/client/script/ui/view/hangarView.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/ui/view/hangarView.py +from __future__ import absolute_import import math import random import evecamera @@ -14,7 +15,7 @@ import trinity import uthread import uthread2 import blue -import hangarRegistry as hangar +from . import hangarRegistry as hangar from eveuniverse.security import securityClassHighSec, is_high_sec_or_higher_solar_system, is_low_sec_or_lower_solar_system from fsdBuiltData.common.soundIDs import GetSoundEventName from eve.client.script.environment.sofService import GetSofService diff --git a/eve/client/script/util/contractutils.py b/eve/client/script/util/contractutils.py @@ -15,25 +15,25 @@ def FmtISKWithDescription(isk, justDesc = False): iskFmt = FmtISK(isk, showFractionsAlways=0) isk = float(isk) if abs(isk) >= 1000000000000: - isk = long(isk / 10000000000L) + isk = long(isk / 10000000000) if justDesc: iskFmt = GetByLabel('UI/Contracts/Util/AmountInTrillions', amount=isk / 100.0) else: iskFmt = GetByLabel('UI/Contracts/Util/AmountInTrillionsDetailed', iskAmount=iskFmt, amount=isk / 100.0) elif abs(isk) >= 1000000000: - isk = long(isk / 10000000L) + isk = long(isk / 10000000) if justDesc: iskFmt = GetByLabel('UI/Contracts/Util/AmountInBillions', amount=isk / 100.0) else: iskFmt = GetByLabel('UI/Contracts/Util/AmountInBillionsDetailed', iskAmount=iskFmt, amount=isk / 100.0) elif abs(isk) >= 1000000: - isk = long(isk / 10000L) + isk = long(isk / 10000) if justDesc: iskFmt = GetByLabel('UI/Contracts/Util/AmountInMillions', amount=isk / 100.0) else: iskFmt = GetByLabel('UI/Contracts/Util/AmountInMillionDetailed', iskAmount=iskFmt, amount=isk / 100.0) elif abs(isk) >= 10000: - isk = long(isk / 10L) + isk = long(isk / 10) if justDesc: iskFmt = GetByLabel('UI/Contracts/Util/AmountInThousands', amount=isk / 100.0) else: @@ -215,5 +215,5 @@ def GetContractLabel(contract, contractItems, additionalColumns = ''): def GetCorpseName(itemID): try: return cfg.evelocations.Get(itemID).name - except StandardError: + except Exception: pass diff --git a/eve/client/script/util/eveMisc.py b/eve/client/script/util/eveMisc.py @@ -75,13 +75,13 @@ def CSPAChargedActionForMany(message, obj, function, *args): 'namelist': namelist}, uiconst.YESNO) != uiconst.ID_YES: return None kwArgs = {'approvedCost': totalCost} - return apply(getattr(obj, function), args, kwArgs) + return getattr(obj, function)(*args, **kwArgs) raise def CSPAChargedAction(message, obj, function, *args): try: - return apply(getattr(obj, function), args) + return getattr(obj, function)(*args) except UserError as e: if e.msg == 'ContactCostNotApproved': info = e.args[1] @@ -89,7 +89,7 @@ def CSPAChargedAction(message, obj, function, *args): 'amountISK': info['totalCostISK']}, uiconst.YESNO) != uiconst.ID_YES: return None kwArgs = {'approvedCost': info['totalCost']} - return apply(getattr(obj, function), args, kwArgs) + return getattr(obj, function)(*args, **kwArgs) raise diff --git a/eve/client/script/util/godmarowset.py b/eve/client/script/util/godmarowset.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/util/godmarowset.py +from __future__ import print_function import blue import types import log @@ -10,7 +11,7 @@ def rowsetIterator(rowset): for key in rowset.iterkeys(): yield rowset.__getitem__(key) - elif isinstance(rowset, (GodmaRowset,)): + elif isinstance(rowset, GodmaRowset): for i in xrange(len(rowset)): yield rowset.__getitem__(i) @@ -131,7 +132,7 @@ class GodmaFilterRowset(CFilterRowset): return ret if isinstance(self.rowClass, types.MethodType) or not isinstance(ret, self.rowClass): if not isinstance(ret, blue.DBRow): - print ' _!_ GodmaFilteredRowset storing non-DBRow as leaf-element:', type(ret) + print(' _!_ GodmaFilteredRowset storing non-DBRow as leaf-element:', type(ret)) ret = blue.DBRow(self.header, ret) return self.rowClass(self.header, ret) return ret diff --git a/eve/client/script/util/profiling.py b/eve/client/script/util/profiling.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/util/profiling.py +from __future__ import print_function import blue import stackless import uthread @@ -207,10 +208,10 @@ class ProfilingScheduler(Service): def SetUpEnvironment(self): if settings.public.generic.Get('memoryMapping', 1): - print 'memory mapping should be turned off for normal profiling' - print 'in prefs.ini set' - print 'memoryMapping=0' - print 'and restart EVE' + print('memory mapping should be turned off for normal profiling') + print('in prefs.ini set') + print('memoryMapping=0') + print('and restart EVE') return 0 if not session.charid: prompt_player_fsd_dialog('CustomInfo', {'info': 'You have to be in the game to use the profiler'}) diff --git a/eve/client/script/util/webtools.py b/eve/client/script/util/webtools.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/client/script/util/webtools.py +from __future__ import print_function import os import sys from time import strftime, gmtime @@ -18,7 +19,7 @@ MAX_ICON_RANGE = 200 def Msg(msg): prompt_player_fsd_dialog('CustomNotify', {'notify': msg}) log.general.Log(msg, log.LGNOTICE) - print msg + print(msg) class WebTools(Service): diff --git a/eve/common/script/dogma/baseDogmaLocation.py b/eve/common/script/dogma/baseDogmaLocation.py @@ -742,7 +742,7 @@ class BaseDogmaLocation(object): effects = dogmaItem.activeEffects itemKey = dogmaItem.itemID for otherEffectID, activationInfo2 in effects.items(): - if otherEffectID != effectID and effects.has_key(otherEffectID): + if otherEffectID != effectID and otherEffectID in effects: otherDuration = effects[otherEffectID][const.ACT_IDX_DURATION] if otherDuration == -1 and self.dogmaStaticMgr.effects[otherEffectID].effectCategory != const.dgmEffPassive: self.StopEffect(otherEffectID, itemKey, False, activationInfo2) @@ -997,7 +997,7 @@ class BaseDogmaLocation(object): if isinstance(attributeID, str): attributeID = self.dogmaStaticMgr.attributesByName[attributeID].attributeID if attributeID in self.attributeChangeCallbacksByAttributeID: - log.LogException('RegisterCallback::Overwriting a callback %s %s' % (attributeID, self.attributeChangeCallbacksByAttributeID[attributeID].func_name)) + log.LogException('RegisterCallback::Overwriting a callback %s %s' % (attributeID, self.attributeChangeCallbacksByAttributeID[attributeID].__name__)) self.attributeChangeCallbacksByAttributeID[attributeID] = cb def UnregisterCallback(self, attributeID): @@ -1590,7 +1590,7 @@ class BaseDogmaLocation(object): def QueryAttributeValue(self, itemID, attributeID): try: val = self.GetAttributeValue(itemID, attributeID) - except StandardError: + except Exception: val = '[No idea!]' sys.exc_clear() diff --git a/eve/common/script/dogma/baseDogmaStaticSvc.py b/eve/common/script/dogma/baseDogmaStaticSvc.py @@ -142,7 +142,7 @@ class BaseDogmaStaticSvc(Service): for typeID in self.effectsByType.iterkeys(): passiveEffects = [] for effectID in self.effectsByType[typeID].iterkeys(): - if self.unwantedEffects.has_key(effectID): + if effectID in self.unwantedEffects: continue effect = self.effects[effectID] if effect.effectCategory in [const.dgmEffPassive, const.dgmEffSystem]: @@ -221,7 +221,7 @@ class BaseDogmaStaticSvc(Service): return typeID in self.attributesByTypeAttribute def TypeHasEffect(self, typeID, effectID): - return self.effectsByType.has_key(typeID) and self.effectsByType[typeID].has_key(effectID) + return typeID in self.effectsByType and effectID in self.effectsByType[typeID] def GetAttributesByCategory(self, categoryID): return self.attributesByCategory.get(categoryID, []) diff --git a/eve/common/script/dogma/online.py b/eve/common/script/dogma/online.py @@ -63,7 +63,7 @@ class OnlineEffect(Effect): dogmaLM.SetAttributeValue(itemID, const.attributeIsOnline, 0) def _ShouldAppleCapacitorCharge(self, shipID, env, dogmaLM): - if dogmaLM.embarkingShips.has_key(shipID) or shipID in dogmaLM.loadingItems: + if shipID in dogmaLM.embarkingShips or shipID in dogmaLM.loadingItems: return True if not charsession: return True diff --git a/eve/common/script/mgt/buffBarConst.py b/eve/common/script/mgt/buffBarConst.py @@ -429,7 +429,7 @@ DBUFFS_BY_SLOT = {Slot_FocusedWarpScrambler: [dbuff.const.dbuffWarpPenalty], dbuff.const.dbuffTriglavianSystemEffectRemoteArmorRepair, dbuff.const.dbuffTriglavianSystemEffectRemoteShieldBoost], Slot_GallenteElectionSystemEffects: [dbuff.const.dbuffGallenteElectionLocalArmor, dbuff.const.dbuffGallenteElectionHybridTracking, dbuff.const.dbuffGallenteElectionWarpSpeedBonus], - Slot_HordeModeStructureEffects: [dbuff.const.dbuffHordeModeSmartBombBlocker, dbuff.const.dbuffHordeModeMJFGBlocker], + Slot_HordeModeStructureEffects: [dbuff.const.dbuffHordeModeMJFGBlocker, dbuff.const.dbuffHordeModeSmartBombBlocker, dbuff.const.dbuffHordeModeVortonProjectorBlocker], Slot_HordeModeWreckEffects: [dbuff.const.dbuffHordeModeWarpDriveBlocker, dbuff.const.dbuffHordeModeCloakingDeviceBlocker], Slot_HordeModeBonusEffects: [dbuff.const.dbuffHordeModeHeatDamageReduction, dbuff.const.dbuffHordeModeOverloadBonus, @@ -442,7 +442,11 @@ DBUFFS_BY_SLOT = {Slot_FocusedWarpScrambler: [dbuff.const.dbuffWarpPenalty], dbuff.const.dbuffHordeModeLocalArmorRepairAmountBonus, dbuff.const.dbuffHordeModeLocalShieldBoostAmountBonus, dbuff.const.dbuffHordeModeRemoteArmorRepairAmountBonus, - dbuff.const.dbuffHordeModeRemoteShieldBoostAmountBonus], + dbuff.const.dbuffHordeModeRemoteShieldBoostAmountBonus, + dbuff.const.dbuffHordeModeLightFighterDamageBonus, + dbuff.const.dbuffHordeModeFighterVelocityBonus, + dbuff.const.dbuffHordeModeTurretOptimalRangeBonus, + dbuff.const.dbuffHordeModeMissileFlightTimeBonus], Slot_CapDayAmarrSystemWideEffect: [dbuff.const.dbuffCapDayAmarrEnergyTurretDamage, dbuff.const.dBuffCapDayAmarrArmorResistance, dbuff.const.dbuffCapDayAmarrWarpSpeed], Slot_CapDayCaldariSystemWideEffect: [dbuff.const.dbuffCapDayCaldariLauncherROF, dbuff.const.dbuffCapDayCaldariShieldHP, dbuff.const.dbuffCapDayCaldariWarpSpeed], Slot_CapDayMinmatarSystemWideEffect: [dbuff.const.dbuffCapDayMinmatarProjectileFalloff, dbuff.const.dbuffCapDayMinmatarVelocity, dbuff.const.dbuffCapDayMinmatarWarpSpeed], diff --git a/eve/common/script/net/eveMachoNet.py b/eve/common/script/net/eveMachoNet.py @@ -195,7 +195,7 @@ class EveMachoNetService(macho.MachoNetService): onlineCount2 = 0 trialCount2 = 0 self.dbzuser.OnlineCounts_Insert(onlineCount, trialCount, onlineCount2, trialCount2) - except StandardError: + except Exception: log.LogException() sys.exc_clear() except: @@ -234,7 +234,7 @@ class EveMachoNetService(macho.MachoNetService): key = ('beyonce', sm.services['stationSvc'].GetStation(address, prime=0).solarSystemID) if key[1]: alternatives.append(key) - except StandardError: + except Exception: log.LogException('Could not locate the station you asked for without blocking') sys.exc_clear() @@ -252,7 +252,7 @@ class EveMachoNetService(macho.MachoNetService): else: try: stationAddress = sm.StartService('stationSvc').GetStation(address).solarSystemID - except StandardError: + except Exception: log.LogException() raise RuntimeError('The station you asked for does not reside in any known solar system') @@ -451,7 +451,7 @@ class EveMachoNetService(macho.MachoNetService): else: for each in clientIDs: - if self.transportIDbyClientID.has_key(each) and self.transportsByID.has_key(self.transportIDbyClientID[each]): + if each in self.transportIDbyClientID and self.transportIDbyClientID[each] in self.transportsByID: transportIDs.add(self.transportIDbyClientID[each]) else: self.LogInfo('Transport for client ', each, ' not found while sending narrowcast.') diff --git a/eve/common/script/paperDoll/paperDollDataManagement.py b/eve/common/script/paperDoll/paperDollDataManagement.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/common/script/paperDoll/paperDollDataManagement.py +from __future__ import print_function import os import uthread import copy @@ -156,7 +157,7 @@ class ModifierLoader(): except Exception as e: import logging logging.error(e) - print e + print(e) finally: ModifierLoader.__sharedLoadSource = legacy_r_drive.loadFromContent ModifierLoader.__sharedResData = self.resData diff --git a/eve/common/script/paperDoll/paperDollTestUtils.py b/eve/common/script/paperDoll/paperDollTestUtils.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/common/script/paperDoll/paperDollTestUtils.py +from __future__ import print_function import blue import random import eve.common.script.paperDoll.paperDollDefinitions as pdDef @@ -16,7 +17,7 @@ class RandomModifierManager(object): ridx = random.randint(0, limit) - 1 modifier = candidates[ridx] fun(modifier) - print 'Modifier chosen is %s' % modifier.name + print('Modifier chosen is %s' % modifier.name) self.pdc.doll.Update(self.pdc.factory, self.pdc.avatar) while self.pdc.doll.busyUpdating: pdCf.Yield() @@ -38,13 +39,13 @@ class RandomModifierManager(object): blue.synchro.SleepWallclock(1000) removedCount = 0 while removedCount < len(self.modifiers): - print 'Removing random modifier' + print('Removing random modifier') self.RandomRemover() removedCount += 1 while removedCount > 0: - print 'Adding random modifier' + print('Adding random modifier') self.RandomDresser() removedCount -= 1 - print 'Done!' + print('Done!') diff --git a/eve/common/script/sys/eveCfg.py b/eve/common/script/sys/eveCfg.py @@ -299,7 +299,7 @@ class EveConfig(sysCfg.Config): True: True} try: return constMapping[cfg.GetMessage(msgKey, msgParams).suppress] - except StandardError: + except Exception: return def IsChargeCompatible(self, item): diff --git a/eve/common/script/sys/eveSessions.py b/eve/common/script/sys/eveSessions.py @@ -88,8 +88,8 @@ def GetCharLocationEx(charID): def IsUndockingSessionChange(session, change): - goingFromStation = change.has_key('stationid') and change.get('stationid')[0] - goingToSpace = change.has_key('solarsystemid') and change.get('solarsystemid')[1] + goingFromStation = 'stationid' in change and change.get('stationid')[0] + goingToSpace = 'solarsystemid' in change and change.get('solarsystemid')[1] return goingFromStation and goingToSpace diff --git a/eve/common/script/sys/rowset.py b/eve/common/script/sys/rowset.py @@ -298,7 +298,7 @@ class IndexRowset: return self.items.iteritems() def has_key(self, key): - return self.items.has_key(key) + return key in self.items def __setitem__(self, ind, row): if self in self.__immutable__: @@ -351,13 +351,13 @@ class IndexRowset: raise RuntimeError('Immutable IndexRowsets may not be modified') ind = self.header.index(indexName) for i in lines: - if not (not overWrite and self.items.has_key(i[ind])): + if not (not overWrite and i[ind] in self.items): self.items[i[ind]] = i def Map(self, indexes): ret = Rowset(self.header, []) for i in indexes: - if self.has_key(i): + if i in self: ret.append(self[i]) return ret diff --git a/eve/common/script/sys/strangeStrings.py b/eve/common/script/sys/strangeStrings.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/common/script/sys/strangeStrings.py +from future.utils import raise_ import stackless class A: @@ -18,7 +19,7 @@ class A: try: r = AgentUnicode(unicode(s)) except: - raise TypeError, "Can't unpickle strange string of type %s" % type(s) + raise_(TypeError, "Can't unpickle strange string of type %s" % type(s)) r.messageID = messageID if formatDict: diff --git a/eve/common/script/util/contractscommon.py b/eve/common/script/util/contractscommon.py @@ -187,7 +187,7 @@ def GetCorpRoleAtLocation(session, locationID): rolesAtHQ = session.rolesAtHQ rolesAtBase = session.rolesAtBase rolesAtOther = session.rolesAtOther - corprole = 0L + corprole = 0 if locationID == hqID: corprole = rolesAtAll | rolesAtHQ elif locationID == baseID: diff --git a/eve/common/script/util/esiUtils.py b/eve/common/script/util/esiUtils.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/common/script/util/esiUtils.py +from __future__ import absolute_import from crimewatch.util import GetKillReportHashValue -from eveCommonUtils import CopyTextToClipboard +from .eveCommonUtils import CopyTextToClipboard from globalConfig.getFunctions import GetESIBaseUrl, GetESITenant def GetESIKillmailUrl(killmail): diff --git a/eve/common/script/util/notificationUtil.py b/eve/common/script/util/notificationUtil.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/common/script/util/notificationUtil.py +from __future__ import absolute_import import sys import types import yaml @@ -17,7 +18,7 @@ from billtypes.data import get_bill_type_name_id from carbon.common.script.util.linkUtil import GetShowInfoLink from carbon.common.script.util.mathCommon import FloatCloseEnough from eveprefs import boot -from notificationconst import * +from .notificationconst import * from corporation import voting from corporation.common.goals.link import get_goal_link from freelanceprojects.common.link import get_project_link diff --git a/eve/common/script/util/test/test_retry.py b/eve/common/script/util/test/test_retry.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/common/script/util/test/test_retry.py +from __future__ import print_function from eve.common.script.util.retry import retry_with_exponential_backoff from mock import Mock from stackless_response_router.exceptions import TimeoutException @@ -50,7 +51,7 @@ class TestRetry(ServerClientTestCase): retry_with_exponential_backoff(func=retries_tracker.do, max_attempts=max_attempts, retry_delay_in_seconds=1, jitter=True, waiter=Mock(), should_retry=lambda result: force_retry or isinstance(result, TimeoutException)) else: retry_with_exponential_backoff(func=retries_tracker.do, max_attempts=max_attempts, retry_delay_in_seconds=1, jitter=True, waiter=Mock(), should_retry=lambda result: force_retry or isinstance(result, TimeoutException)) - print 'retries_tracker.number_of_calls', retries_tracker.number_of_calls, 'expected', expected_calls + print('retries_tracker.number_of_calls', retries_tracker.number_of_calls, 'expected', expected_calls) self.assertEqual(retries_tracker.number_of_calls, expected_calls) diff --git a/eve/devtools/script/amdFidelityFx.py b/eve/devtools/script/amdFidelityFx.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/amdFidelityFx.py +from __future__ import print_function import trinity from carbonui.control.singlelineedits.singleLineEditFloat import SingleLineEditFloat from carbonui.primitives.containerAutoSize import ContainerAutoSize @@ -73,7 +74,7 @@ class FidelityFXWindow(Window): def ApplyToScene(self, resetBackbuffers = False): scene = self.GetScene() if not scene: - print 'No scene...' + print('No scene...') return if not scene.postprocess: scene.postprocess = trinity.Tr2PostProcess2() diff --git a/eve/devtools/script/campaignDebugger.py b/eve/devtools/script/campaignDebugger.py @@ -71,7 +71,7 @@ class CampaignDebugger(Window): elif cfg.eveowners.GetIfExists(value) and value > 100000: message_text = cfg.eveowners.Get(value).name value_text = '%s <i>(%s)</i>' % (value_text, message_text) - except StandardError: + except Exception: pass return (value_text, message_text) diff --git a/eve/devtools/script/dna.py b/eve/devtools/script/dna.py @@ -374,7 +374,7 @@ class Ship(): if not fromAssemble: try: shipTypeID = sm.GetService('clientDogmaIM').GetDogmaLocation().GetDogmaItem(shipID).GetTypeID() - except StandardError: + except Exception: shipTypeID = sm.GetService('invCache').GetInventoryFromId(shipID).typeID if shipTypeID != self.typeID: @@ -408,17 +408,17 @@ class Ship(): for item in ship.GetFittedItems().itervalues(): if item.typeID == self.moduleByFlag[item.flagID]: - if fit.has_key(item.flagID): + if item.flagID in fit: del fit[item.flagID] else: source[typeID].append(item) - if setup.has_key(item.typeID): + if item.typeID in setup: setup[item.typeID] -= 1 invCache = sm.GetService('invCache') for item in invCache.GetInventory(const.containerHangar).List(const.flagHangar): if IsShipFittable(item.categoryID): - if setup.has_key(item.typeID): + if item.typeID in setup: if item.singleton: source[item.typeID].insert(0, item) else: @@ -462,9 +462,9 @@ class Ship(): fitByTypeID = {} for slot in (const.flagLoSlot0, const.flagMedSlot0, const.flagHiSlot0): for flag in xrange(slot, slot + 8): - if fit.has_key(flag): + if flag in fit: typeID = fit[flag] - if fitByTypeID.has_key(typeID): + if typeID in fitByTypeID: fitByTypeID[typeID].append(flag) else: fitByTypeID[typeID] = [flag] @@ -555,7 +555,7 @@ class Ship(): c = 0 for typeID, requiredLevel in sm.RemoteSvc('dogmaIM').GetRequiredSkillLevels(eachTypeID).iteritems(): c += 1 - if not (skills.has_key(typeID) and skills[typeID] >= requiredLevel): + if not (typeID in skills and skills[typeID] >= requiredLevel): required[typeID] = max(required.get(typeID, 0), requiredLevel) StopCycle() @@ -573,7 +573,7 @@ class Ship(): setup['modulelist'] = [] for flag, typeID in self.itermodules(): if typeID: - if setup.has_key(typeID): + if typeID in setup: setup[typeID] += 1 else: setup['modulelist'].append(typeID) diff --git a/eve/devtools/script/dogmaTimeWnd.py b/eve/devtools/script/dogmaTimeWnd.py @@ -25,7 +25,7 @@ class DogmaTimeConverterWindow(Window): now = datetime.datetime.now() EveLabelMedium(parent=self.content, text=HINT_TEXT, align=uiconst.TOTOP) self.pickerCont = ContainerAutoSize(parent=self.content, align=uiconst.TOTOP, height=Button.default_height, padTop=8) - self.datePicker = DatePickerControl(name='fromPicker', parent=self.pickerCont, setValue=[now.year, now.month, now.day], ranges=(0L, datetimeutils.date_to_blue(datetime.datetime.max)), fontSize=16, align=uiconst.TOLEFT) + self.datePicker = DatePickerControl(name='fromPicker', parent=self.pickerCont, setValue=[now.year, now.month, now.day], ranges=(0, datetimeutils.date_to_blue(datetime.datetime.max)), fontSize=16, align=uiconst.TOLEFT) EveLabelMedium(parent=ContainerAutoSize(parent=self.pickerCont, align=uiconst.TOLEFT), text='-', align=uiconst.CENTER, padLeft=8, padRight=8) self.hourMinPicker = HourMinPickerControl(parent=self.pickerCont, setValue=(now.hour, now.minute), fontSize=16, align=uiconst.TOLEFT) self.button = Button(parent=self.pickerCont, align=uiconst.TOLEFT, func=self.OnButtonClick, label='Convert', padLeft=8) @@ -47,7 +47,7 @@ class DogmaTimeConverterWindow(Window): label = EveLabelMedium(parent=self.explanationCont, text=HINT_TEXT, align=uiconst.TOLEFT, width=340, padLeft=5) label.Layout() self.pickerCont = Container(parent=self.sr.main, align=uiconst.TOTOP, height=20) - self.datePicker = DatePickerControl(name='fromPicker', parent=self.pickerCont, setValue=[now.year, now.month, now.day], left=left, ranges=(0L, datetimeutils.date_to_blue(datetime.datetime.max)), fontSize=16, align=uiconst.TOLEFT) + self.datePicker = DatePickerControl(name='fromPicker', parent=self.pickerCont, setValue=[now.year, now.month, now.day], left=left, ranges=(0, datetimeutils.date_to_blue(datetime.datetime.max)), fontSize=16, align=uiconst.TOLEFT) EveLabelMedium(parent=self.pickerCont, text='-', align=uiconst.TOLEFT, width=7, padLeft=7) self.hourMinPicker = HourMinPickerControl(parent=self.pickerCont, left=left, setValue=(now.hour, now.minute), fontSize=16, align=uiconst.TOLEFT) self.button = Button(parent=self.pickerCont, align=uiconst.TOLEFT, func=self.OnButtonClick, width=100, height=20, label='Convert', padLeft=5) diff --git a/eve/devtools/script/insider.py b/eve/devtools/script/insider.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/insider.py +from __future__ import print_function import eveformat import serverInfo from agentinteraction.debugwindow import CareerAgentDebugWnd @@ -223,7 +224,7 @@ class InsiderService(service.Service): def WaitOutSession(self, *args): if blue.os.GetSimTime() <= session.nextSessionChange: - ms = 1000 + 1000L * (session.nextSessionChange - blue.os.GetSimTime()) / 10000000L + ms = 1000 + 1000 * (session.nextSessionChange - blue.os.GetSimTime()) / 10000000 blue.pyos.synchro.SleepSim(ms) @staticmethod @@ -416,7 +417,7 @@ class InsiderService(service.Service): dudSpawn = False if evetypes.GetIsGroupAnchoredByGroup(evetypes.GetGroupID(entity)): respawnEntities.append(entity) - print 'appended entity %s' % entity + print('appended entity %s' % entity) continue else: blue.pyos.synchro.SleepSim(1000) @@ -931,7 +932,7 @@ class InsiderService(service.Service): for group in entitySpawnGroups: for id, name in nameDict.iteritems(): if name[0].lower().startswith(group.lower()): - if entityByGroup.has_key(group): + if group in entityByGroup: entityByGroup[group].append(id) usedIDs.append(id) allIDs.append(id) @@ -942,7 +943,7 @@ class InsiderService(service.Service): for id in nameDict.iterkeys(): if id not in usedIDs: - if entityByGroup.has_key('Other'): + if 'Other' in entityByGroup: entityByGroup['Other'].append(id) allIDs.append(id) else: diff --git a/eve/devtools/script/itools.py b/eve/devtools/script/itools.py @@ -1,17 +1,18 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/itools.py +from future.utils import raise_ revision = 5 import os import types def relpath(target, base = os.curdir): if not os.path.exists(target): - raise OSError, 'Target does not exist: ' + target + raise_(OSError, 'Target does not exist: ' + target) if not os.path.isdir(base): - raise OSError, 'Base is not a directory or does not exist: ' + base + raise_(OSError, 'Base is not a directory or does not exist: ' + base) base_list = os.path.abspath(base).split(os.sep) target_list = os.path.abspath(target).split(os.sep) if base_list[0].lower() != target_list[0].lower(): - raise OSError, 'Target is on a different drive to base. Target: ' + target_list[0].lower() + ', base: ' + base_list[0].lower() + raise_(OSError, 'Target is on a different drive to base. Target: ' + target_list[0].lower() + ', base: ' + base_list[0].lower()) for i in range(min(len(base_list), len(target_list))): if base_list[i].lower() != target_list[i].lower(): break diff --git a/eve/devtools/script/mapEditor/mapEditorWnd.py b/eve/devtools/script/mapEditor/mapEditorWnd.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/mapEditor/mapEditorWnd.py +from __future__ import print_function from carbonui import Align from carbonui.control.button import Button from carbonui.control.contextMenu.menuData import MenuData @@ -148,7 +149,8 @@ class MapEditorWnd(Window): menuData.AddEntry('Map size', subMenuData=subMenuData) - def OnGlobalKeyCallback(self, wnd, eventID, (vkey, flag)): + def OnGlobalKeyCallback(self, wnd, eventID, param): + vkey, flag = param if vkey == VK_CONTROL: self.map.UpdateCircles() return True @@ -171,7 +173,7 @@ class MapEditorWnd(Window): landmarkIDsAndPos = sorted(landmark_overriden_coordinates.items()) textList = [] for landmarkID, pos in landmarkIDsAndPos: - print 'landmarkID = %s :\t%s \t%s' % (landmarkID, pos[0], pos[1]) + print('landmarkID = %s :\t%s \t%s' % (landmarkID, pos[0], pos[1])) textList.append('%s:\t%s\t%s' % (landmarkID, pos[0], pos[1])) text = '\r\n'.join(textList) @@ -182,7 +184,7 @@ class MapEditorWnd(Window): uicore.event.UnregisterForTriuiEvents(self.keyDownCookie) uicore.event.UnregisterForTriuiEvents(self.keyUpCookie) self.discconnect_signals() - except StandardError: + except Exception: import log log.LogTraceback('error when unregistering cookie') diff --git a/eve/devtools/script/menu_charge.py b/eve/devtools/script/menu_charge.py @@ -9,6 +9,7 @@ import carbonui.const as uiconst from carbonui.uicore import uicore from eve.common.lib import appConst as const from eve.common.script.sys import eveCfg +from functools import reduce class ChargeService(Service): __module__ = __name__ diff --git a/eve/devtools/script/networkdatamonitor.py b/eve/devtools/script/networkdatamonitor.py @@ -11,6 +11,7 @@ from carbonui.control.window import Window from eve.common.lib import appConst as const import log import uthread2 +from functools import reduce PROPS = [('Packets out', 'packets_out', 0), ('Packets in', 'packets_in', 0), ('Kilobytes out', 'bytes_out', 1), diff --git a/eve/devtools/script/param.py b/eve/devtools/script/param.py @@ -4,13 +4,13 @@ def _typecast(cls, value): try: return cls(value) - except StandardError: + except Exception: if type(cls) == type: raise Error('invalid %s argument: %s' % (cls.__name__, value)) raise -class Error(StandardError): +class Error(Exception): __guid__ = 'param.Error' diff --git a/eve/devtools/script/pythonobjects.py b/eve/devtools/script/pythonobjects.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/pythonobjects.py +from __future__ import print_function import gc import weakref import sys @@ -218,7 +219,7 @@ class PythonObjectClassDetails(Window): import gc self.scroll.Clear() self.classDetailsContainer.Flush() - print 'cleaned up: ', gc.collect() + print('cleaned up: ', gc.collect()) self.Refresh() def Refresh(self): diff --git a/eve/devtools/script/renderjobprofiler.py b/eve/devtools/script/renderjobprofiler.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/renderjobprofiler.py +from __future__ import print_function import blue from carbonui.control.combo import Combo from carbonui.primitives.container import Container @@ -39,7 +40,7 @@ class RenderJobProfiler(Window): if not self._renderJob: return table = '\n'.join(('{0}\t{1:.4f}\t{2:.4f}'.format(step.name or type(step).__name__, step.cpuTime, step.gpuTime) for step in self._renderJob.steps)) - print table + print(table) blue.pyos.SetClipboardData(table) def _UpdateTiming(self): diff --git a/eve/devtools/script/slashError.py b/eve/devtools/script/slashError.py @@ -1,5 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/slashError.py -class Error(StandardError): +class Error(Exception): __guid__ = 'slash.Error' diff --git a/eve/devtools/script/spiffy.py b/eve/devtools/script/spiffy.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/spiffy.py +from __future__ import print_function import sys import log import types @@ -15,9 +16,9 @@ from carbonui.primitives.sprite import Sprite from carbonui.uicore import uicore from eve.client.script.ui.control import eveIcon, eveLabel from eve.client.script.ui.util import uix -ENTRY_HASSUBMENU = 1L -ENTRY_ISDYNAMIC = 2L -ENTRY_VADJUST = 4L +ENTRY_HASSUBMENU = 1 +ENTRY_ISDYNAMIC = 2 +ENTRY_VADJUST = 4 ADDTOP = 2 MENUWIDTH = 64 BARWIDTH = 24 @@ -48,7 +49,7 @@ class MenuEntry(Container): def Setup(self, entry, menuobj = None, fontsize = None, addleft = 3): self.hilited = self.ghosted = self.disabled = False - self.flags = 0L + self.flags = 0 self.action = self.args = self.iconmap = None self.iconmapscaling = 0.25 self.fontsize = fontsize @@ -78,7 +79,7 @@ class MenuEntry(Container): if len(action) > 2: self.args = action[2] else: - raise TypeError, 'Unsupported submenu type' + raise TypeError('Unsupported submenu type') elif type(action) == types.ListType: self.flags |= ENTRY_HASSUBMENU self.action = action @@ -89,7 +90,7 @@ class MenuEntry(Container): else: self.action = None else: - raise TypeError, 'Unsupported entry definition type' + raise TypeError('Unsupported entry definition type') if self.fontsize: self.hspace = 0 elif self.height <= 16: @@ -172,7 +173,7 @@ class MenuEntry(Container): m = self.action() except Exception as e: log.LogException() - print str(e) + print(str(e)) m = [{'label': 'ERROR', 'disabled': True, 'ghosted': True, @@ -316,7 +317,7 @@ class Menu(Container): left = x - self.width top = y - addtop else: - raise ValueError, "origin must be one of 'topleft', 'topright', 'bottomleft', 'bottomright'" + raise ValueError("origin must be one of 'topleft', 'topright', 'bottomleft', 'bottomright'") if left < 0: left = 0 elif left + self.width > uicore.desktop.absoluteRight: diff --git a/eve/devtools/script/svc_copycat2.py b/eve/devtools/script/svc_copycat2.py @@ -1,4 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/svc_copycat2.py +from __future__ import print_function +from future.utils import raise_ import cPickle import sys import blue @@ -279,7 +281,7 @@ class CopycatService(Service): try: out = open(os.path.join(self.GetInsiderDir(), 'destroyed.txt'), 'w') for line in self.last10killed: - print >> out, '%s=%d=%s' % line + print('%s=%d=%s' % line, file=out) out.close() except: @@ -337,7 +339,7 @@ class CopycatService(Service): def XMLTagStart(tag, attrs): if tag == 'data': if self._root: - raise RuntimeError, 'Craptastic!' + raise RuntimeError('Craptastic!') self._root = self.currentfolder = self.currentitem = CCFolder() elif tag == 'group': folder = CCFolder() @@ -664,7 +666,7 @@ class CopycatService(Service): return item = self.CopyFromItem(fromItem) typeID = int(item.dna.split(':')[1]) - if temp.has_key(typeID): + if typeID in temp: temp[typeID].append(item) else: temp[typeID] = [item] @@ -686,7 +688,7 @@ class CopycatService(Service): items.append(folder) else: for typeID in info.types: - if temp.has_key(typeID): + if typeID in temp: folder = CCFolder() folder.name = info.marketGroupName for item in temp[typeID]: @@ -721,7 +723,7 @@ class CopycatService(Service): groupname = evetypes.GetGroupName(typeID) else: groupname = 'Unknown' - if self.fixedgroups.has_key(groupname): + if groupname in self.fixedgroups: folder = self.fixedgroups[groupname] else: folder = self.fixedgroups[groupname] = CCFolder() @@ -900,7 +902,7 @@ class CopycatService(Service): title = 'Open Database' verb = 'Open' else: - raise ValueError, "'%s' is not a DoImport mode" % mode + raise_(ValueError, "'%s' is not a DoImport mode" % mode) if mode != 'reload': filename = AskFile(title, 'Enter name of file to %s' % verb, setvalue=filename) if not filename: @@ -944,7 +946,7 @@ class CopycatService(Service): elif mode == 'selection': pass else: - raise ValueError, 'Unknown save mode: %s' % mode + raise_(ValueError, 'Unknown save mode: %s' % mode) self.UpdateStatus() def GetMenu_Ship(self): diff --git a/eve/devtools/script/svc_dgmattr.py b/eve/devtools/script/svc_dgmattr.py @@ -1,12 +1,14 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/svc_dgmattr.py import itertools import sys +import blue import dogma.data as dogma_data import eve.common.lib.appConst as const import log import re import webbrowser from carbon.common.script.sys.serviceConst import ROLE_GMH, ROLE_PROGRAMMER +from carbon.common.script.util.commonutils import StripTags from carbon.common.script.util.htmlwriter import HTMLEncode from carbonui import uiconst from carbonui.control.button import Button @@ -67,6 +69,7 @@ class AttrEntry(Generic): value = GetGodma().GetStateManager().GetAttribute(n.itemID, n.attributeName) menu_data.AddEntry('Change Attribute', lambda : StartMenuService().SetDogmaAttribute(n.itemID, n.attributeName, value)) menu_data.AddEntry('Edit in FSD Editor', lambda : webbrowser.open('http://localhost:8000/dogma/attributes/{}/edit'.format(n.attributeID))) + menu_data.AddEntry('Copy Data', subMenuData=[MenuEntryData('server value', func=lambda : blue.pyos.SetClipboardData(StripTags(unicode(n.serverValue)))), MenuEntryData('Client value', func=lambda : blue.pyos.SetClipboardData(StripTags(unicode(n.clientValue)))), MenuEntryData('Godma value', func=lambda : blue.pyos.SetClipboardData(StripTags(unicode(n.godmaValue))))]) return menu_data def ShowAttributeDetailsFromServer(self): @@ -172,7 +175,10 @@ class AttributeInspector(Window): 'baseValue': baseValue, 'fittingDogmaValue': fittingDogmaValue, 'ShowAttribute': self.ShowAttribute, - 'itemID': self.itemID}) + 'itemID': self.itemID, + 'clientValue': clientValue, + 'godmaValue': godmaValue, + 'serverValue': serverValue}) return entry def AttrID_FromName(self, attrName): diff --git a/eve/devtools/script/svc_invtools.py b/eve/devtools/script/svc_invtools.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/svc_invtools.py +from __future__ import print_function import random import types import time @@ -218,18 +219,18 @@ class InvTools(Service): if qtyCargo == qtyDest: pass else: - print k, ' is in destination and qty is different!' + print(k, ' is in destination and qty is different!') else: - print '\t%s is not in destination', k - print '\tsrc inv rec', self.GetItemFromContainer(k, source) - print '\tdest inv rec:', self.GetItemFromContainer(k, destination) + print('\t%s is not in destination', k) + print('\tsrc inv rec', self.GetItemFromContainer(k, source)) + print('\tdest inv rec:', self.GetItemFromContainer(k, destination)) postSourceCopy = postSourceCargo.copy() postSourceCopy.update(cargoDict) - print '\tsrc ok?\t', ['No', 'Yes'][postSourceCopy == sourceCargo] + print('\tsrc ok?\t', ['No', 'Yes'][postSourceCopy == sourceCargo]) destinationCopy = destinationCargo.copy() destinationCopy.update(cargoDict) - print '\tdest ok?\t', ['No', 'Yes'][destinationCopy == postDestinationCargo] + print('\tdest ok?\t', ['No', 'Yes'][destinationCopy == postDestinationCargo]) def InvMoveLoop(self, loop = None, noSpawn = True, *args): if loop is None: @@ -350,22 +351,22 @@ class InvTools(Service): while loop: for src, dest, f, m in moveCommands: if f is not None: - print "Moving from %s to %s's %s using %s:" % (lookup[src], + print("Moving from %s to %s's %s using %s:" % (lookup[src], lookup[dest], lookup[f], - usecase[m]) + usecase[m])) else: - print 'Moving from %s to %s using %s:' % (lookup[src], lookup[dest], usecase[m]) + print('Moving from %s to %s using %s:' % (lookup[src], lookup[dest], usecase[m])) t = time.time() self.MoveItems(itemIDs, src, dest, f, m) duration = time.time() - t - print 'Move took %d:%.2d to move %s items\n' % (duration / 60, duration % 60, len(items)) + print('Move took %d:%.2d to move %s items\n' % (duration / 60, duration % 60, len(items))) loop -= 1 finish = time.time() - start - print 'Move test complete, total time: %d:%.2d for %s iteration(s)' % (finish / 60, finish % 60, _loop) - print '%s items were moved %s times' % (len(items), len(moveCommands) * _loop) + print('Move test complete, total time: %d:%.2d for %s iteration(s)' % (finish / 60, finish % 60, _loop)) + print('%s items were moved %s times' % (len(items), len(moveCommands) * _loop)) class InvToolsWnd(Window): diff --git a/eve/devtools/script/svc_modtest.py b/eve/devtools/script/svc_modtest.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/svc_modtest.py +from __future__ import print_function import blue import dogma.data import evetypes @@ -165,7 +166,7 @@ class ModTest(Service): def _WaitForIdle(module, timeout = 60000, reason = None): if reason: - print 'WaitForIdle: %s' % reason + print('WaitForIdle: %s' % reason) blue.pyos.synchro.SleepWallclock(100) timeout -= 100 while not _Idle(module) and timeout > 0: @@ -254,7 +255,7 @@ class ModTest(Service): for gid in groups: for ammo in self.ammo[gid]: if ammo.chargeSize == attr.chargeSize and evetypes.GetMarketGroupID(ammo.typeID): - print '%s <- %s' % (evetypes.GetName(attr.typeID), evetypes.GetName(ammo.typeID)) + print('%s <- %s' % (evetypes.GetName(attr.typeID), evetypes.GetName(ammo.typeID))) sm.RemoteSvc('slash').SlashCmd('/create %d' % ammo.typeID) try: sm.GetService('clientDogmaIM').GetDogmaLocation().LoadAmmoTypeToModule(module.id, ammo.typeID) diff --git a/eve/devtools/script/svc_poser.py b/eve/devtools/script/svc_poser.py @@ -727,7 +727,7 @@ class PoserService(Service): self.structureTypeID[evetypes.GetName(typeID).lower().replace(' ', '')] = typeID elif categoryID == const.categoryCharge: groupID = evetypes.GetGroupID(typeID) - if self.ammo.has_key(groupID): + if groupID in self.ammo: self.ammo[groupID].append(godma.GetType(typeID)) else: self.ammo[groupID] = [godma.GetType(typeID)] diff --git a/eve/devtools/script/svc_simulator.py b/eve/devtools/script/svc_simulator.py @@ -20,16 +20,16 @@ class Simulator: self.data = sim = [] for a in mods: duration = getattr(a, 'speed', 0) or a.duration - sim.append([a.capacitorNeed, long(duration * 10000), 0L]) + sim.append([a.capacitorNeed, long(duration * 10000), 0]) def Reset(self): for x in self.data: - x[2] = 0L + x[2] = 0 def Run(self, capacitorCapacity, rechargeRate): capacitor = capacitorCapacity tauThingy = float(const.dgmTauConstant) * (rechargeRate / 5.0) - currentTime = nextTime = 0L + currentTime = nextTime = 0 while capacitor > 0.0 and nextTime < const.DAY: capacitor = (1.0 + (sqrt(capacitor / capacitorCapacity) - 1.0) * exp((currentTime - nextTime) / tauThingy)) ** 2 * capacitorCapacity currentTime = nextTime diff --git a/eve/devtools/script/svc_slash.py b/eve/devtools/script/svc_slash.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/svc_slash.py +from future.utils import raise_ import logging import os import random @@ -416,7 +417,7 @@ class SlashService(Service): break else: self.Echo('<font color="#00ff55">slash result: None</font><br>') - raise UserError, e + raise_(UserError, e) count -= 1 blue.pyos.synchro.SleepWallclock(100) @@ -518,7 +519,7 @@ class SlashService(Service): command = matches[0] else: raise Error('%s is ambiguous. It resolves to multiple commands or aliases: %s' % (command, matches)) - if self.aliases.has_key(command) or isMacro: + if command in self.aliases or isMacro: if isMacro: sequence = txt else: @@ -1296,7 +1297,7 @@ class SlashService(Service): invCache.GetInventoryFromId(id).MultiAdd(addList, session.shipid, flag=const.flagNone) if blue.os.GetSimTime() <= session.nextSessionChange: - ms = 1000 + 1000L * (session.nextSessionChange - blue.os.GetSimTime()) / 10000000L + ms = 1000 + 1000 * (session.nextSessionChange - blue.os.GetSimTime()) / 10000000 blue.pyos.synchro.SleepSim(ms) if newShipItemID: ship = sm.StartService('gameui').GetShipAccess() @@ -1989,7 +1990,7 @@ class SlashService(Service): logger.debug('PAT: f=%s', f) loc = f.f_locals logger.debug('PAT: loc=%s', loc) - if loc.has_key('self'): + if 'self' in loc: target = loc['self'] logger.debug('PAT: target=%s', target) from packages.xmppchatclient.xmppchatwindow import XmppChatWindow diff --git a/eve/devtools/script/telemetrypanel.py b/eve/devtools/script/telemetrypanel.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/telemetrypanel.py +from __future__ import print_function import blue import uthread from carbonui import uiconst @@ -52,14 +53,14 @@ class TelemetryPanel(Window): blue.pyos.taskletTimer.telemetryOn = True if self.timedCaptureChk.GetValue(): duration = float(self.durationEdit.text) - print 'Starting Telemetry timed capture (%4.2f seconds)' % duration + print('Starting Telemetry timed capture (%4.2f seconds)' % duration) StartTimedTelemetry(duration) else: - print 'Starting Telemetry' + print('Starting Telemetry') StartTelemetry() def _Stop(self, args): - print 'Stopping Telemetry' + print('Stopping Telemetry') blue.statistics.StopTelemetry() blue.pyos.taskletTimer.telemetryOn = False diff --git a/eve/devtools/script/tournamentRefereeTools.py b/eve/devtools/script/tournamentRefereeTools.py @@ -973,7 +973,7 @@ class TournamentRefereeTool(Window): else: color = 'red' lines.append("<color='%s'> %.1fkm %s" % (color, dist / metersInKM, cfg.eveowners.Get(charID).ownerName)) - except StandardError: + except Exception: lines.append("<color='red'> -- %s" % (cfg.eveowners.Get(charID).ownerName,)) lines.append("<color='blue'>" + self.blueTeam) diff --git a/eve/devtools/script/uiControlCatalog/__init__.py b/eve/devtools/script/uiControlCatalog/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/uiControlCatalog/__init__.py +from __future__ import print_function import inspect import pkgutil import os @@ -7,20 +8,20 @@ import imp def Test(): path = os.path.dirname(__file__) + '/controls' ret = walk_modules(path) - print 'RETURNING', ret + print('RETURNING', ret) return ret def walk_modules(path): for module_loader, name, ispkg in pkgutil.iter_modules([path]): - print name, ispkg + print(name, ispkg) if ispkg: return walk_modules(path + '/' + name) module = get_module(module_loader, name) - print module.__file__ + print(module.__file__) for n, val in inspect.getmembers(module): if n == 'CLASS': - print 'YES', val + print('YES', val) def get_module(module_loader, name): diff --git a/eve/devtools/script/uiControlCatalog/sample.py b/eve/devtools/script/uiControlCatalog/sample.py @@ -33,7 +33,7 @@ class Sample(object): def get_snippet(self): linecache.checkcache(filename=inspect.getfile(self.__class__)) method = self.sample_code - if method.func_code == Sample.sample_code.func_code: + if method.__code__ == Sample.sample_code.__code__: return '' lines = inspect.getsourcelines(method)[0][1:] ret = '' diff --git a/eve/devtools/script/uiEventListener.py b/eve/devtools/script/uiEventListener.py @@ -278,7 +278,7 @@ class UIGlobalEventPanel(BaseEventPanel): func = event.func if func: class_name = getattr(func.im_class, '__guid__', func.im_class.__name__) - func = '%s.%s' % (class_name, func.im_func.func_name) + func = '%s.%s' % (class_name, func.__func__.__name__) return '%s<t>%s<t>%s<t>%s<t>%s' % (event.name, func, event.winParams, diff --git a/eve/devtools/script/uiPerformanceTestWnd.py b/eve/devtools/script/uiPerformanceTestWnd.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/uiPerformanceTestWnd.py +from __future__ import print_function import blue import carbonui.const as uiconst from carbonui.control.button import Button @@ -60,7 +61,7 @@ class UIPerformanceTestWnd(Window): totalTime += time[-1] txt += '\nTotal time: %s' % (totalTime / float(const.SEC)) - print txt + print(txt) blue.pyos.SetClipboardData(txt) diff --git a/eve/devtools/script/warpVector.py b/eve/devtools/script/warpVector.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/eve/devtools/script/warpVector.py +from __future__ import print_function import geo2 from carbonui import ButtonVariant, ButtonStyle, Density from carbonui.control.button import Button @@ -78,18 +79,18 @@ class SetAndWarp(Container): def SetX(self, x_value): self.vector[0] = x_value settings.user.ui.Set('warpvector_%s_%s' % (self.index, 0), x_value) - print self.vector - print type(self.vector[0]) + print(self.vector) + print(type(self.vector[0])) def SetY(self, y_value): self.vector[1] = y_value settings.user.ui.Set('warpvector_%s_%s' % (self.index, 1), y_value) - print self.vector + print(self.vector) def SetZ(self, z_value): self.vector[2] = z_value settings.user.ui.Set('warpvector_%s_%s' % (self.index, 2), z_value) - print self.vector + print(self.vector) def Warp(self, *args): vector_x = float(settings.user.ui.Get(self.GetConfigNameForField(0))) @@ -98,10 +99,10 @@ class SetAndWarp(Container): warpVector = [vector_x, vector_y, vector_z] current_pos = sm.GetService('slash').SlashCmd('/getpos') desired_pos = geo2.Vec3AddD(current_pos, warpVector) - print 'warpVector.warp:' - print ('current_pos: ', current_pos) - print ('self.vector: ', self.vector) - print ('desired_pos: ', desired_pos) + print('warpVector.warp:') + print(('current_pos: ', current_pos)) + print(('self.vector: ', self.vector)) + print(('desired_pos: ', desired_pos)) sm.GetService('slash').SlashCmd('/warptopoint {} {} {}'.format(desired_pos[0], desired_pos[1], desired_pos[2])) def CopyCoords(self, *args): diff --git a/eve/devtools/script/windowManager.py b/eve/devtools/script/windowManager.py @@ -101,7 +101,7 @@ class WindowManager(Window): self.UpdateInfo(key, wndCls) def UpdateInfo(self, key, wndCls): - self.filenameEdit.SetValue(wndCls.ApplyAttributes.func_code.co_filename) + self.filenameEdit.SetValue(wndCls.ApplyAttributes.__code__.co_filename) settings.user.ui.Set('windowManagerOpenWindow', wndCls.__name__) def GetWndClsByName(self, name): diff --git a/eveProto/__init__.py b/eveProto/__init__.py @@ -1,4 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/__init__.py +from __future__ import print_function +from __future__ import absolute_import import logging import sys import monolithconfig @@ -48,7 +50,7 @@ def is_running_stackless(): def log_everywhere(msg): logging.info(msg) - print msg + print(msg) def import_grpc_and_protobuf_module(import_name): @@ -114,4 +116,4 @@ def on_import(): on_import() -from monolith_converters import * +from .monolith_converters import * diff --git a/eveProto/generated/eve/academy/__init__.py b/eveProto/generated/eve/academy/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/academy/__init__.py +pass diff --git a/eveProto/generated/eve/academy/ships/__init__.py b/eveProto/generated/eve/academy/ships/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/academy/ships/__init__.py +pass diff --git a/eveProto/generated/eve/academy/ships/events_pb2.py b/eveProto/generated/eve/academy/ships/events_pb2.py @@ -0,0 +1,38 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/academy/ships/events_pb2.py +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 +from eveProto.generated.eve.inventory import generic_item_pb2 as eve_dot_inventory_dot_generic__item__pb2 +from eveProto.generated.eve.ship import ship_pb2 as eve_dot_ship_dot_ship__pb2 +from eveProto.generated.eve.ship import ship_type_pb2 as eve_dot_ship_dot_ship__type__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/academy/ships/events.proto', package='eve.academy.ships.events', syntax='proto3', serialized_options='ZCgithub.com/ccpgames/eve-proto-go/generated/eve/academy/ships/events', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1eeve/academy/ships/events.proto\x12\x18eve.academy.ships.events\x1a\x1deve/character/character.proto\x1a eve/inventory/generic_item.proto\x1a\x13eve/ship/ship.proto\x1a\x18eve/ship/ship_type.proto"\x89\x01\n\x08Borrowed\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12+\n\tship_type\x18\x02 \x01(\x0b2\x18.eve.shiptype.Identifier\x12"\n\x04ship\x18\x03 \x01(\x0b2\x14.eve.ship.Identifier"\x86\x02\n\x08Returned\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12+\n\tship_type\x18\x02 \x01(\x0b2\x18.eve.shiptype.Identifier\x12"\n\x04ship\x18\x03 \x01(\x0b2\x14.eve.ship.Identifier\x12=\n\x0ereturned_items\x18\x04 \x03(\x0b2%.eve.inventory.genericitem.Identifier\x12<\n\rremoved_items\x18\x05 \x03(\x0b2%.eve.inventory.genericitem.IdentifierBEZCgithub.com/ccpgames/eve-proto-go/generated/eve/academy/ships/eventsb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, + eve_dot_inventory_dot_generic__item__pb2.DESCRIPTOR, + eve_dot_ship_dot_ship__pb2.DESCRIPTOR, + eve_dot_ship_dot_ship__type__pb2.DESCRIPTOR]) +_BORROWED = _descriptor.Descriptor(name='Borrowed', full_name='eve.academy.ships.events.Borrowed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.academy.ships.events.Borrowed.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='ship_type', full_name='eve.academy.ships.events.Borrowed.ship_type', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='ship', full_name='eve.academy.ships.events.Borrowed.ship', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=173, serialized_end=310) +_RETURNED = _descriptor.Descriptor(name='Returned', full_name='eve.academy.ships.events.Returned', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.academy.ships.events.Returned.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='ship_type', full_name='eve.academy.ships.events.Returned.ship_type', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='ship', full_name='eve.academy.ships.events.Returned.ship', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='returned_items', full_name='eve.academy.ships.events.Returned.returned_items', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='removed_items', full_name='eve.academy.ships.events.Returned.removed_items', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=313, serialized_end=575) +_BORROWED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER +_BORROWED.fields_by_name['ship_type'].message_type = eve_dot_ship_dot_ship__type__pb2._IDENTIFIER +_BORROWED.fields_by_name['ship'].message_type = eve_dot_ship_dot_ship__pb2._IDENTIFIER +_RETURNED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER +_RETURNED.fields_by_name['ship_type'].message_type = eve_dot_ship_dot_ship__type__pb2._IDENTIFIER +_RETURNED.fields_by_name['ship'].message_type = eve_dot_ship_dot_ship__pb2._IDENTIFIER +_RETURNED.fields_by_name['returned_items'].message_type = eve_dot_inventory_dot_generic__item__pb2._IDENTIFIER +_RETURNED.fields_by_name['removed_items'].message_type = eve_dot_inventory_dot_generic__item__pb2._IDENTIFIER +DESCRIPTOR.message_types_by_name['Borrowed'] = _BORROWED +DESCRIPTOR.message_types_by_name['Returned'] = _RETURNED +_sym_db.RegisterFileDescriptor(DESCRIPTOR) +Borrowed = _reflection.GeneratedProtocolMessageType('Borrowed', (_message.Message,), {'DESCRIPTOR': _BORROWED, + '__module__': 'eve.academy.ships.events_pb2'}) +_sym_db.RegisterMessage(Borrowed) +Returned = _reflection.GeneratedProtocolMessageType('Returned', (_message.Message,), {'DESCRIPTOR': _RETURNED, + '__module__': 'eve.academy.ships.events_pb2'}) +_sym_db.RegisterMessage(Returned) +DESCRIPTOR._options = None diff --git a/eveProto/generated/eve/achievement/api/admin/requests_pb2.py b/eveProto/generated/eve/achievement/api/admin/requests_pb2.py @@ -8,7 +8,7 @@ from eveProto.generated.eve.achievement.contribution import contribution_pb2 as from eveProto.generated.eve.achievement.definition import achievement_pb2 as eve_dot_achievement_dot_definition_dot_achievement__pb2 from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 from eveProto.generated.eve.quasar.admin import admin_pb2 as eve_dot_quasar_dot_admin_dot_admin__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/achievement/api/admin/requests.proto', package='eve.achievement.api.admin', syntax='proto3', serialized_options='ZDgithub.com/ccpgames/eve-proto-go/generated/eve/achievement/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n(eve/achievement/api/admin/requests.proto\x12\x19eve.achievement.api.admin\x1a/eve/achievement/contribution/contribution.proto\x1a,eve/achievement/definition/achievement.proto\x1a\x1deve/character/character.proto\x1a\x1ceve/quasar/admin/admin.proto"\x97\x02\n\x12AddProgressRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12;\n\x0bachievement\x18\x02 \x01(\x0b2&.eve.achievement.definition.Identifier\x12\x18\n\x0eprogress_delta\x18\x03 \x01(\x04H\x00\x12D\n\tchecklist\x18\x04 \x01(\x0b2/.eve.achievement.contribution.ChecklistProgressH\x00\x12*\n\x07context\x18\x05 \x01(\x0b2\x19.eve.quasar.admin.ContextB\n\n\x08progress"\x15\n\x13AddProgressResponse"\xa5\x01\n\x0cResetRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12;\n\x0bachievement\x18\x02 \x01(\x0b2&.eve.achievement.definition.Identifier\x12*\n\x07context\x18\x03 \x01(\x0b2\x19.eve.quasar.admin.Context"\x0f\n\rResetResponseBFZDgithub.com/ccpgames/eve-proto-go/generated/eve/achievement/api/adminb\x06proto3', dependencies=[eve_dot_achievement_dot_contribution_dot_contribution__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/achievement/api/admin/requests.proto', package='eve.achievement.api.admin', syntax='proto3', serialized_options='ZDgithub.com/ccpgames/eve-proto-go/generated/eve/achievement/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n(eve/achievement/api/admin/requests.proto\x12\x19eve.achievement.api.admin\x1a/eve/achievement/contribution/contribution.proto\x1a,eve/achievement/definition/achievement.proto\x1a\x1deve/character/character.proto\x1a\x1ceve/quasar/admin/admin.proto"\x97\x02\n\x12AddProgressRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12;\n\x0bachievement\x18\x02 \x01(\x0b2&.eve.achievement.definition.Identifier\x12\x18\n\x0eprogress_delta\x18\x03 \x01(\x04H\x00\x12D\n\tchecklist\x18\x04 \x01(\x0b2/.eve.achievement.contribution.ChecklistProgressH\x00\x12*\n\x07context\x18\x05 \x01(\x0b2\x19.eve.quasar.admin.ContextB\n\n\x08progress"\x15\n\x13AddProgressResponse"\xa5\x01\n\x0cResetRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12;\n\x0bachievement\x18\x02 \x01(\x0b2&.eve.achievement.definition.Identifier\x12*\n\x07context\x18\x03 \x01(\x0b2\x19.eve.quasar.admin.Context"\x0f\n\rResetResponse"\xa6\x01\n\x0cGrantRequest\x12;\n\x0bachievement\x18\x01 \x01(\x0b2&.eve.achievement.definition.Identifier\x12-\n\ncharacters\x18\x02 \x03(\x0b2\x19.eve.character.Identifier\x12*\n\x07context\x18\x03 \x01(\x0b2\x19.eve.quasar.admin.Context"\xc0\x04\n\rGrantResponse\x12C\n\x07granted\x18\x01 \x01(\x0b20.eve.achievement.api.admin.GrantResponse.GrantedH\x00\x12\x1b\n\x11unspecified_error\x18\x02 \x01(\x08H\x00\x12V\n\x11failed_characters\x18\x03 \x01(\x0b29.eve.achievement.api.admin.GrantResponse.FailedCharactersH\x00\x12]\n\x15all_characters_failed\x18\x04 \x01(\x0b2<.eve.achievement.api.admin.GrantResponse.AllCharactersFailedH\x00\x12l\n\x1dtoo_many_requested_characters\x18\x05 \x01(\x0b2C.eve.achievement.api.admin.GrantResponse.TooManyRequestedCharactersH\x00\x1a\t\n\x07Granted\x1aA\n\x10FailedCharacters\x12-\n\ncharacters\x18\x01 \x03(\x0b2\x19.eve.character.Identifier\x1a\x15\n\x13AllCharactersFailed\x1a9\n\x1aTooManyRequestedCharacters\x12\x1b\n\x13max_character_count\x18\x01 \x01(\rB\x08\n\x06resultBFZDgithub.com/ccpgames/eve-proto-go/generated/eve/achievement/api/adminb\x06proto3', dependencies=[eve_dot_achievement_dot_contribution_dot_contribution__pb2.DESCRIPTOR, eve_dot_achievement_dot_definition_dot_achievement__pb2.DESCRIPTOR, eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_quasar_dot_admin_dot_admin__pb2.DESCRIPTOR]) @@ -20,6 +20,19 @@ _ADDPROGRESSREQUEST = _descriptor.Descriptor(name='AddProgressRequest', full_nam _ADDPROGRESSRESPONSE = _descriptor.Descriptor(name='AddProgressResponse', full_name='eve.achievement.api.admin.AddProgressResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=509, serialized_end=530) _RESETREQUEST = _descriptor.Descriptor(name='ResetRequest', full_name='eve.achievement.api.admin.ResetRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.achievement.api.admin.ResetRequest.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='achievement', full_name='eve.achievement.api.admin.ResetRequest.achievement', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='context', full_name='eve.achievement.api.admin.ResetRequest.context', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=533, serialized_end=698) _RESETRESPONSE = _descriptor.Descriptor(name='ResetResponse', full_name='eve.achievement.api.admin.ResetResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=700, serialized_end=715) +_GRANTREQUEST = _descriptor.Descriptor(name='GrantRequest', full_name='eve.achievement.api.admin.GrantRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement', full_name='eve.achievement.api.admin.GrantRequest.achievement', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='characters', full_name='eve.achievement.api.admin.GrantRequest.characters', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='context', full_name='eve.achievement.api.admin.GrantRequest.context', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=718, serialized_end=884) +_GRANTRESPONSE_GRANTED = _descriptor.Descriptor(name='Granted', full_name='eve.achievement.api.admin.GrantResponse.Granted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1295, serialized_end=1304) +_GRANTRESPONSE_FAILEDCHARACTERS = _descriptor.Descriptor(name='FailedCharacters', full_name='eve.achievement.api.admin.GrantResponse.FailedCharacters', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='characters', full_name='eve.achievement.api.admin.GrantResponse.FailedCharacters.characters', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1306, serialized_end=1371) +_GRANTRESPONSE_ALLCHARACTERSFAILED = _descriptor.Descriptor(name='AllCharactersFailed', full_name='eve.achievement.api.admin.GrantResponse.AllCharactersFailed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1373, serialized_end=1394) +_GRANTRESPONSE_TOOMANYREQUESTEDCHARACTERS = _descriptor.Descriptor(name='TooManyRequestedCharacters', full_name='eve.achievement.api.admin.GrantResponse.TooManyRequestedCharacters', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='max_character_count', full_name='eve.achievement.api.admin.GrantResponse.TooManyRequestedCharacters.max_character_count', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1396, serialized_end=1453) +_GRANTRESPONSE = _descriptor.Descriptor(name='GrantResponse', full_name='eve.achievement.api.admin.GrantResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='granted', full_name='eve.achievement.api.admin.GrantResponse.granted', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='unspecified_error', full_name='eve.achievement.api.admin.GrantResponse.unspecified_error', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='failed_characters', full_name='eve.achievement.api.admin.GrantResponse.failed_characters', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='all_characters_failed', full_name='eve.achievement.api.admin.GrantResponse.all_characters_failed', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='too_many_requested_characters', full_name='eve.achievement.api.admin.GrantResponse.too_many_requested_characters', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GRANTRESPONSE_GRANTED, + _GRANTRESPONSE_FAILEDCHARACTERS, + _GRANTRESPONSE_ALLCHARACTERSFAILED, + _GRANTRESPONSE_TOOMANYREQUESTEDCHARACTERS], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='result', full_name='eve.achievement.api.admin.GrantResponse.result', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=887, serialized_end=1463) _ADDPROGRESSREQUEST.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _ADDPROGRESSREQUEST.fields_by_name['achievement'].message_type = eve_dot_achievement_dot_definition_dot_achievement__pb2._IDENTIFIER _ADDPROGRESSREQUEST.fields_by_name['checklist'].message_type = eve_dot_achievement_dot_contribution_dot_contribution__pb2._CHECKLISTPROGRESS @@ -31,10 +44,34 @@ _ADDPROGRESSREQUEST.fields_by_name['checklist'].containing_oneof = _ADDPROGRESSR _RESETREQUEST.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _RESETREQUEST.fields_by_name['achievement'].message_type = eve_dot_achievement_dot_definition_dot_achievement__pb2._IDENTIFIER _RESETREQUEST.fields_by_name['context'].message_type = eve_dot_quasar_dot_admin_dot_admin__pb2._CONTEXT +_GRANTREQUEST.fields_by_name['achievement'].message_type = eve_dot_achievement_dot_definition_dot_achievement__pb2._IDENTIFIER +_GRANTREQUEST.fields_by_name['characters'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER +_GRANTREQUEST.fields_by_name['context'].message_type = eve_dot_quasar_dot_admin_dot_admin__pb2._CONTEXT +_GRANTRESPONSE_GRANTED.containing_type = _GRANTRESPONSE +_GRANTRESPONSE_FAILEDCHARACTERS.fields_by_name['characters'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER +_GRANTRESPONSE_FAILEDCHARACTERS.containing_type = _GRANTRESPONSE +_GRANTRESPONSE_ALLCHARACTERSFAILED.containing_type = _GRANTRESPONSE +_GRANTRESPONSE_TOOMANYREQUESTEDCHARACTERS.containing_type = _GRANTRESPONSE +_GRANTRESPONSE.fields_by_name['granted'].message_type = _GRANTRESPONSE_GRANTED +_GRANTRESPONSE.fields_by_name['failed_characters'].message_type = _GRANTRESPONSE_FAILEDCHARACTERS +_GRANTRESPONSE.fields_by_name['all_characters_failed'].message_type = _GRANTRESPONSE_ALLCHARACTERSFAILED +_GRANTRESPONSE.fields_by_name['too_many_requested_characters'].message_type = _GRANTRESPONSE_TOOMANYREQUESTEDCHARACTERS +_GRANTRESPONSE.oneofs_by_name['result'].fields.append(_GRANTRESPONSE.fields_by_name['granted']) +_GRANTRESPONSE.fields_by_name['granted'].containing_oneof = _GRANTRESPONSE.oneofs_by_name['result'] +_GRANTRESPONSE.oneofs_by_name['result'].fields.append(_GRANTRESPONSE.fields_by_name['unspecified_error']) +_GRANTRESPONSE.fields_by_name['unspecified_error'].containing_oneof = _GRANTRESPONSE.oneofs_by_name['result'] +_GRANTRESPONSE.oneofs_by_name['result'].fields.append(_GRANTRESPONSE.fields_by_name['failed_characters']) +_GRANTRESPONSE.fields_by_name['failed_characters'].containing_oneof = _GRANTRESPONSE.oneofs_by_name['result'] +_GRANTRESPONSE.oneofs_by_name['result'].fields.append(_GRANTRESPONSE.fields_by_name['all_characters_failed']) +_GRANTRESPONSE.fields_by_name['all_characters_failed'].containing_oneof = _GRANTRESPONSE.oneofs_by_name['result'] +_GRANTRESPONSE.oneofs_by_name['result'].fields.append(_GRANTRESPONSE.fields_by_name['too_many_requested_characters']) +_GRANTRESPONSE.fields_by_name['too_many_requested_characters'].containing_oneof = _GRANTRESPONSE.oneofs_by_name['result'] DESCRIPTOR.message_types_by_name['AddProgressRequest'] = _ADDPROGRESSREQUEST DESCRIPTOR.message_types_by_name['AddProgressResponse'] = _ADDPROGRESSRESPONSE DESCRIPTOR.message_types_by_name['ResetRequest'] = _RESETREQUEST DESCRIPTOR.message_types_by_name['ResetResponse'] = _RESETRESPONSE +DESCRIPTOR.message_types_by_name['GrantRequest'] = _GRANTREQUEST +DESCRIPTOR.message_types_by_name['GrantResponse'] = _GRANTRESPONSE _sym_db.RegisterFileDescriptor(DESCRIPTOR) AddProgressRequest = _reflection.GeneratedProtocolMessageType('AddProgressRequest', (_message.Message,), {'DESCRIPTOR': _ADDPROGRESSREQUEST, '__module__': 'eve.achievement.api.admin.requests_pb2'}) @@ -48,4 +85,22 @@ _sym_db.RegisterMessage(ResetRequest) ResetResponse = _reflection.GeneratedProtocolMessageType('ResetResponse', (_message.Message,), {'DESCRIPTOR': _RESETRESPONSE, '__module__': 'eve.achievement.api.admin.requests_pb2'}) _sym_db.RegisterMessage(ResetResponse) +GrantRequest = _reflection.GeneratedProtocolMessageType('GrantRequest', (_message.Message,), {'DESCRIPTOR': _GRANTREQUEST, + '__module__': 'eve.achievement.api.admin.requests_pb2'}) +_sym_db.RegisterMessage(GrantRequest) +GrantResponse = _reflection.GeneratedProtocolMessageType('GrantResponse', (_message.Message,), {'Granted': _reflection.GeneratedProtocolMessageType('Granted', (_message.Message,), {'DESCRIPTOR': _GRANTRESPONSE_GRANTED, + '__module__': 'eve.achievement.api.admin.requests_pb2'}), + 'FailedCharacters': _reflection.GeneratedProtocolMessageType('FailedCharacters', (_message.Message,), {'DESCRIPTOR': _GRANTRESPONSE_FAILEDCHARACTERS, + '__module__': 'eve.achievement.api.admin.requests_pb2'}), + 'AllCharactersFailed': _reflection.GeneratedProtocolMessageType('AllCharactersFailed', (_message.Message,), {'DESCRIPTOR': _GRANTRESPONSE_ALLCHARACTERSFAILED, + '__module__': 'eve.achievement.api.admin.requests_pb2'}), + 'TooManyRequestedCharacters': _reflection.GeneratedProtocolMessageType('TooManyRequestedCharacters', (_message.Message,), {'DESCRIPTOR': _GRANTRESPONSE_TOOMANYREQUESTEDCHARACTERS, + '__module__': 'eve.achievement.api.admin.requests_pb2'}), + 'DESCRIPTOR': _GRANTRESPONSE, + '__module__': 'eve.achievement.api.admin.requests_pb2'}) +_sym_db.RegisterMessage(GrantResponse) +_sym_db.RegisterMessage(GrantResponse.Granted) +_sym_db.RegisterMessage(GrantResponse.FailedCharacters) +_sym_db.RegisterMessage(GrantResponse.AllCharactersFailed) +_sym_db.RegisterMessage(GrantResponse.TooManyRequestedCharacters) DESCRIPTOR._options = None diff --git a/eveProto/generated/eve/achievement/reward/api/requests_pb2.py b/eveProto/generated/eve/achievement/reward/api/requests_pb2.py @@ -11,18 +11,23 @@ from eveProto.generated.eve.achievement.milestone.definition import milestone_pb from eveProto.generated.eve.achievement.reward.definition import reward_pb2 as eve_dot_achievement_dot_reward_dot_definition_dot_reward__pb2 from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 from eveProto.generated.eve import eve_pb2 as eve_dot_eve__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/achievement/reward/api/requests.proto', package='eve.achievement.reward.api', syntax='proto3', serialized_options='ZEgithub.com/ccpgames/eve-proto-go/generated/eve/achievement/reward/api', create_key=_descriptor._internal_create_key, serialized_pb='\n)eve/achievement/reward/api/requests.proto\x12\x1aeve.achievement.reward.api\x1a2eve/achievement/category/definition/category.proto\x1a=eve/achievement/category/milestone/definition/milestone.proto\x1a,eve/achievement/definition/achievement.proto\x1a4eve/achievement/milestone/definition/milestone.proto\x1a.eve/achievement/reward/definition/reward.proto\x1a\x1deve/character/character.proto\x1a\reve/eve.proto"X\n\x13GetUnclaimedRequest\x12(\n\x05owner\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12\x17\n\x04page\x18\x02 \x01(\x0b2\t.eve.Page"\xe9\x05\n\x14GetUnclaimedResponse\x12H\n\x07rewards\x18\x01 \x03(\x0b27.eve.achievement.reward.api.GetUnclaimedResponse.Reward\x12 \n\tnext_page\x18\x02 \x01(\x0b2\r.eve.NextPage\x1a\xe4\x04\n\x06Reward\x12g\n\x12achievement_source\x18\x01 \x01(\x0b2I.eve.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSourceH\x00\x12a\n\x0fcategory_source\x18\x02 \x01(\x0b2F.eve.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySourceH\x00\x12H\n\x11unclaimed_rewards\x18\x03 \x03(\x0b2-.eve.achievement.reward.definition.Identifier\x1a\x95\x01\n\x11AchievementSource\x12;\n\x0bachievement\x18\x01 \x01(\x0b2&.eve.achievement.definition.Identifier\x12C\n\tmilestone\x18\x02 \x01(\x0b20.eve.achievement.milestone.definition.Identifier\x1a\xa1\x01\n\x0eCategorySource\x12A\n\x08category\x18\x01 \x01(\x0b2/.eve.achievement.category.definition.Identifier\x12L\n\tmilestone\x18\x02 \x01(\x0b29.eve.achievement.category.milestone.definition.IdentifierB\x08\n\x06sourceBGZEgithub.com/ccpgames/eve-proto-go/generated/eve/achievement/reward/apib\x06proto3', dependencies=[eve_dot_achievement_dot_category_dot_definition_dot_category__pb2.DESCRIPTOR, +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/achievement/reward/api/requests.proto', package='eve.achievement.reward.api', syntax='proto3', serialized_options='ZEgithub.com/ccpgames/eve-proto-go/generated/eve/achievement/reward/api', create_key=_descriptor._internal_create_key, serialized_pb='\n)eve/achievement/reward/api/requests.proto\x12\x1aeve.achievement.reward.api\x1a2eve/achievement/category/definition/category.proto\x1a=eve/achievement/category/milestone/definition/milestone.proto\x1a,eve/achievement/definition/achievement.proto\x1a4eve/achievement/milestone/definition/milestone.proto\x1a.eve/achievement/reward/definition/reward.proto\x1a\x1deve/character/character.proto\x1a\reve/eve.proto\x1a\x1fgoogle/protobuf/timestamp.proto"X\n\x13GetUnclaimedRequest\x12(\n\x05owner\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12\x17\n\x04page\x18\x02 \x01(\x0b2\t.eve.Page"\x9a\x06\n\x14GetUnclaimedResponse\x12H\n\x07rewards\x18\x01 \x03(\x0b27.eve.achievement.reward.api.GetUnclaimedResponse.Reward\x12 \n\tnext_page\x18\x02 \x01(\x0b2\r.eve.NextPage\x1a\x95\x05\n\x06Reward\x12g\n\x12achievement_source\x18\x01 \x01(\x0b2I.eve.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSourceH\x00\x12a\n\x0fcategory_source\x18\x02 \x01(\x0b2F.eve.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySourceH\x00\x12H\n\x11unclaimed_rewards\x18\x03 \x03(\x0b2-.eve.achievement.reward.definition.Identifier\x12/\n\x0bexpiry_date\x18\x04 \x01(\x0b2\x1a.google.protobuf.Timestamp\x1a\x95\x01\n\x11AchievementSource\x12;\n\x0bachievement\x18\x01 \x01(\x0b2&.eve.achievement.definition.Identifier\x12C\n\tmilestone\x18\x02 \x01(\x0b20.eve.achievement.milestone.definition.Identifier\x1a\xa1\x01\n\x0eCategorySource\x12A\n\x08category\x18\x01 \x01(\x0b2/.eve.achievement.category.definition.Identifier\x12L\n\tmilestone\x18\x02 \x01(\x0b29.eve.achievement.category.milestone.definition.IdentifierB\x08\n\x06sourceBGZEgithub.com/ccpgames/eve-proto-go/generated/eve/achievement/reward/apib\x06proto3', dependencies=[eve_dot_achievement_dot_category_dot_definition_dot_category__pb2.DESCRIPTOR, eve_dot_achievement_dot_category_dot_milestone_dot_definition_dot_milestone__pb2.DESCRIPTOR, eve_dot_achievement_dot_definition_dot_achievement__pb2.DESCRIPTOR, eve_dot_achievement_dot_milestone_dot_definition_dot_milestone__pb2.DESCRIPTOR, eve_dot_achievement_dot_reward_dot_definition_dot_reward__pb2.DESCRIPTOR, eve_dot_character_dot_character__pb2.DESCRIPTOR, - eve_dot_eve__pb2.DESCRIPTOR]) -_GETUNCLAIMEDREQUEST = _descriptor.Descriptor(name='GetUnclaimedRequest', full_name='eve.achievement.reward.api.GetUnclaimedRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='owner', full_name='eve.achievement.reward.api.GetUnclaimedRequest.owner', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='page', full_name='eve.achievement.reward.api.GetUnclaimedRequest.page', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=382, serialized_end=470) -_GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE = _descriptor.Descriptor(name='AchievementSource', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource.achievement', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=895, serialized_end=1044) -_GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE = _descriptor.Descriptor(name='CategorySource', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='category', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource.category', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1047, serialized_end=1208) -_GETUNCLAIMEDRESPONSE_REWARD = _descriptor.Descriptor(name='Reward', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement_source', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.achievement_source', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='category_source', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.category_source', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='unclaimed_rewards', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.unclaimed_rewards', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE, _GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='source', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.source', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=606, serialized_end=1218) -_GETUNCLAIMEDRESPONSE = _descriptor.Descriptor(name='GetUnclaimedResponse', full_name='eve.achievement.reward.api.GetUnclaimedResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='rewards', full_name='eve.achievement.reward.api.GetUnclaimedResponse.rewards', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='next_page', full_name='eve.achievement.reward.api.GetUnclaimedResponse.next_page', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETUNCLAIMEDRESPONSE_REWARD], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=473, serialized_end=1218) + eve_dot_eve__pb2.DESCRIPTOR, + google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR]) +_GETUNCLAIMEDREQUEST = _descriptor.Descriptor(name='GetUnclaimedRequest', full_name='eve.achievement.reward.api.GetUnclaimedRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='owner', full_name='eve.achievement.reward.api.GetUnclaimedRequest.owner', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='page', full_name='eve.achievement.reward.api.GetUnclaimedRequest.page', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=415, serialized_end=503) +_GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE = _descriptor.Descriptor(name='AchievementSource', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource.achievement', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=977, serialized_end=1126) +_GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE = _descriptor.Descriptor(name='CategorySource', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='category', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource.category', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1129, serialized_end=1290) +_GETUNCLAIMEDRESPONSE_REWARD = _descriptor.Descriptor(name='Reward', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement_source', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.achievement_source', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='category_source', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.category_source', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='unclaimed_rewards', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.unclaimed_rewards', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='expiry_date', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.expiry_date', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE, _GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='source', full_name='eve.achievement.reward.api.GetUnclaimedResponse.Reward.source', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=639, serialized_end=1300) +_GETUNCLAIMEDRESPONSE = _descriptor.Descriptor(name='GetUnclaimedResponse', full_name='eve.achievement.reward.api.GetUnclaimedResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='rewards', full_name='eve.achievement.reward.api.GetUnclaimedResponse.rewards', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='next_page', full_name='eve.achievement.reward.api.GetUnclaimedResponse.next_page', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETUNCLAIMEDRESPONSE_REWARD], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=506, serialized_end=1300) _GETUNCLAIMEDREQUEST.fields_by_name['owner'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _GETUNCLAIMEDREQUEST.fields_by_name['page'].message_type = eve_dot_eve__pb2._PAGE _GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE.fields_by_name['achievement'].message_type = eve_dot_achievement_dot_definition_dot_achievement__pb2._IDENTIFIER @@ -34,6 +39,7 @@ _GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE.containing_type = _GETUNCLAIMEDRESPO _GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['achievement_source'].message_type = _GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE _GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['category_source'].message_type = _GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE _GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['unclaimed_rewards'].message_type = eve_dot_achievement_dot_reward_dot_definition_dot_reward__pb2._IDENTIFIER +_GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['expiry_date'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP _GETUNCLAIMEDRESPONSE_REWARD.containing_type = _GETUNCLAIMEDRESPONSE _GETUNCLAIMEDRESPONSE_REWARD.oneofs_by_name['source'].fields.append(_GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['achievement_source']) _GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['achievement_source'].containing_oneof = _GETUNCLAIMEDRESPONSE_REWARD.oneofs_by_name['source'] diff --git a/eveProto/generated/eve/assetholding/entitlement/entitlement_pb2.py b/eveProto/generated/eve/assetholding/entitlement/entitlement_pb2.py @@ -18,7 +18,7 @@ from eveProto.generated.eve.character import character_pb2 as eve_dot_character_ from eveProto.generated.eve.corporation import corporation_pb2 as eve_dot_corporation_dot_corporation__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/assetholding/entitlement/entitlement.proto', package='eve.assetholding.entitlement', syntax='proto3', serialized_options='ZGgithub.com/ccpgames/eve-proto-go/generated/eve/assetholding/entitlement', create_key=_descriptor._internal_create_key, serialized_pb='\n.eve/assetholding/entitlement/entitlement.proto\x12\x1ceve.assetholding.entitlement\x1a"eve/assetholding/asset/asset.proto\x1a\x1eeve/assetholding/context.proto\x1a5eve/assetholding/cosmetic/character/title/title.proto\x1a9eve/assetholding/cosmetic/ship/skin/license/license.proto\x1a4eve/assetholding/inventory/itemstack/itemstack.proto\x1a2eve/assetholding/inventory/itemtype/itemtype.proto\x1a\x1eeve/assetholding/isk/isk.proto\x1a2eve/assetholding/loyaltypoints/loyaltypoints.proto\x1a eve/assetholding/plex/plex.proto\x1a.eve/assetholding/skillpoints/skillpoints.proto\x1a\x1deve/character/character.proto\x1a!eve/corporation/corporation.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xae\x01\n\nIdentifier\x124\n\x06holder\x18\x01 \x01(\x0b2$.eve.assetholding.entitlement.Holder\x121\n\x05asset\x18\x02 \x01(\x0b2".eve.assetholding.asset.Identifier\x127\n\x08group_by\x18\x03 \x01(\x0b2%.eve.assetholding.entitlement.GroupBy"\x95\x03\n\nAttributes\x128\n\x08quantity\x18\x01 \x01(\x0b2&.eve.assetholding.entitlement.Quantity\x12*\n\x04unit\x18\x02 \x01(\x0b2\x1c.eve.assetholding.asset.Unit\x126\n\nbenefactor\x18\x03 \x01(\x0b2".eve.assetholding.asset.Benefactor\x12*\n\x07context\x18\x04 \x01(\x0b2\x19.eve.assetholding.Context\x12$\n\x1ano_last_modified_timestamp\x18\x05 \x01(\x08H\x00\x12=\n\x17last_modified_timestamp\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12B\n\rconfiguration\x18\x07 \x01(\x0b2+.eve.assetholding.entitlement.ConfigurationB\x14\n\x12modified_timestamp"<\n\x07GroupBy\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x04uuid\x18\x02 \x01(\x0cH\x00B\x13\n\x11external_identity"v\n\x06Holder\x12.\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.IdentifierH\x00\x122\n\x0bcorporation\x18\x02 \x01(\x0b2\x1b.eve.corporation.IdentifierH\x00B\x08\n\x06holder"+\n\x08Quantity\x12\r\n\x05total\x18\x01 \x01(\x04\x12\x10\n\x08redeemed\x18\x02 \x01(\x04"\xa7\t\n\rConfiguration\x12\x17\n\rno_autoredeem\x18\x01 \x01(\x08H\x00\x12L\n\nautoredeem\x18\x02 \x01(\x0b26.eve.assetholding.entitlement.Configuration.AutoredeemH\x00\x12\x18\n\x0eno_constraints\x18\x03 \x01(\x08H\x01\x12[\n\x12redeem_constraints\x18\x04 \x01(\x0b2=.eve.assetholding.entitlement.Configuration.RedeemConstraintsH\x01\x1a\x97\x05\n\nAutoredeem\x123\n\x10autoredeem_after\x18\x01 \x01(\x0b2\x19.google.protobuf.Duration\x12K\n\titemstack\x18\x02 \x01(\x0b26.eve.assetholding.inventory.itemstack.RedeemParametersH\x00\x12I\n\x08itemtype\x18\x03 \x01(\x0b25.eve.assetholding.inventory.itemtype.RedeemParametersH\x00\x125\n\x03isk\x18\x04 \x01(\x0b2&.eve.assetholding.isk.RedeemParametersH\x00\x12I\n\rloyaltypoints\x18\x05 \x01(\x0b20.eve.assetholding.loyaltypoints.RedeemParametersH\x00\x127\n\x04plex\x18\x06 \x01(\x0b2\'.eve.assetholding.plex.RedeemParametersH\x00\x12E\n\x0bskillpoints\x18\x07 \x01(\x0b2..eve.assetholding.skillpoints.RedeemParametersH\x00\x12Z\n\x11ship_skin_license\x18\x08 \x01(\x0b2=.eve.assetholding.cosmetic.ship.skin.license.RedeemParametersH\x00\x12V\n\x0fcharacter_title\x18\t \x01(\x0b2;.eve.assetholding.cosmetic.character.title.RedeemParametersH\x00B\x06\n\x04unit\x1a\xdd\x01\n\x11RedeemConstraints\x12\x14\n\x0comega_locked\x18\x01 \x01(\x08\x12m\n\x13autoredeem_behavior\x18\x02 \x01(\x0b2P.eve.assetholding.entitlement.Configuration.RedeemConstraints.AutoredeemBehavior\x1aC\n\x12AutoredeemBehavior\x12\x10\n\x06delete\x18\x01 \x01(\x08H\x00\x12\x11\n\x07exclude\x18\x02 \x01(\x08H\x00B\x08\n\x06actionB\x1a\n\x18autoredeem_configurationB"\n redeem_constraints_configurationBIZGgithub.com/ccpgames/eve-proto-go/generated/eve/assetholding/entitlementb\x06proto3', dependencies=[eve_dot_assetholding_dot_asset_dot_asset__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/assetholding/entitlement/entitlement.proto', package='eve.assetholding.entitlement', syntax='proto3', serialized_options='ZGgithub.com/ccpgames/eve-proto-go/generated/eve/assetholding/entitlement', create_key=_descriptor._internal_create_key, serialized_pb='\n.eve/assetholding/entitlement/entitlement.proto\x12\x1ceve.assetholding.entitlement\x1a"eve/assetholding/asset/asset.proto\x1a\x1eeve/assetholding/context.proto\x1a5eve/assetholding/cosmetic/character/title/title.proto\x1a9eve/assetholding/cosmetic/ship/skin/license/license.proto\x1a4eve/assetholding/inventory/itemstack/itemstack.proto\x1a2eve/assetholding/inventory/itemtype/itemtype.proto\x1a\x1eeve/assetholding/isk/isk.proto\x1a2eve/assetholding/loyaltypoints/loyaltypoints.proto\x1a eve/assetholding/plex/plex.proto\x1a.eve/assetholding/skillpoints/skillpoints.proto\x1a\x1deve/character/character.proto\x1a!eve/corporation/corporation.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xae\x01\n\nIdentifier\x124\n\x06holder\x18\x01 \x01(\x0b2$.eve.assetholding.entitlement.Holder\x121\n\x05asset\x18\x02 \x01(\x0b2".eve.assetholding.asset.Identifier\x127\n\x08group_by\x18\x03 \x01(\x0b2%.eve.assetholding.entitlement.GroupBy"\xc6\x03\n\nAttributes\x128\n\x08quantity\x18\x01 \x01(\x0b2&.eve.assetholding.entitlement.Quantity\x12*\n\x04unit\x18\x02 \x01(\x0b2\x1c.eve.assetholding.asset.Unit\x126\n\nbenefactor\x18\x03 \x01(\x0b2".eve.assetholding.asset.Benefactor\x12*\n\x07context\x18\x04 \x01(\x0b2\x19.eve.assetholding.Context\x12$\n\x1ano_last_modified_timestamp\x18\x05 \x01(\x08H\x00\x12=\n\x17last_modified_timestamp\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12B\n\rconfiguration\x18\x07 \x01(\x0b2+.eve.assetholding.entitlement.Configuration\x12/\n\x0bexpiry_date\x18\x08 \x01(\x0b2\x1a.google.protobuf.TimestampB\x14\n\x12modified_timestamp"<\n\x07GroupBy\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x04uuid\x18\x02 \x01(\x0cH\x00B\x13\n\x11external_identity"v\n\x06Holder\x12.\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.IdentifierH\x00\x122\n\x0bcorporation\x18\x02 \x01(\x0b2\x1b.eve.corporation.IdentifierH\x00B\x08\n\x06holder"+\n\x08Quantity\x12\r\n\x05total\x18\x01 \x01(\x04\x12\x10\n\x08redeemed\x18\x02 \x01(\x04"\xa7\t\n\rConfiguration\x12\x17\n\rno_autoredeem\x18\x01 \x01(\x08H\x00\x12L\n\nautoredeem\x18\x02 \x01(\x0b26.eve.assetholding.entitlement.Configuration.AutoredeemH\x00\x12\x18\n\x0eno_constraints\x18\x03 \x01(\x08H\x01\x12[\n\x12redeem_constraints\x18\x04 \x01(\x0b2=.eve.assetholding.entitlement.Configuration.RedeemConstraintsH\x01\x1a\x97\x05\n\nAutoredeem\x123\n\x10autoredeem_after\x18\x01 \x01(\x0b2\x19.google.protobuf.Duration\x12K\n\titemstack\x18\x02 \x01(\x0b26.eve.assetholding.inventory.itemstack.RedeemParametersH\x00\x12I\n\x08itemtype\x18\x03 \x01(\x0b25.eve.assetholding.inventory.itemtype.RedeemParametersH\x00\x125\n\x03isk\x18\x04 \x01(\x0b2&.eve.assetholding.isk.RedeemParametersH\x00\x12I\n\rloyaltypoints\x18\x05 \x01(\x0b20.eve.assetholding.loyaltypoints.RedeemParametersH\x00\x127\n\x04plex\x18\x06 \x01(\x0b2\'.eve.assetholding.plex.RedeemParametersH\x00\x12E\n\x0bskillpoints\x18\x07 \x01(\x0b2..eve.assetholding.skillpoints.RedeemParametersH\x00\x12Z\n\x11ship_skin_license\x18\x08 \x01(\x0b2=.eve.assetholding.cosmetic.ship.skin.license.RedeemParametersH\x00\x12V\n\x0fcharacter_title\x18\t \x01(\x0b2;.eve.assetholding.cosmetic.character.title.RedeemParametersH\x00B\x06\n\x04unit\x1a\xdd\x01\n\x11RedeemConstraints\x12\x14\n\x0comega_locked\x18\x01 \x01(\x08\x12m\n\x13autoredeem_behavior\x18\x02 \x01(\x0b2P.eve.assetholding.entitlement.Configuration.RedeemConstraints.AutoredeemBehavior\x1aC\n\x12AutoredeemBehavior\x12\x10\n\x06delete\x18\x01 \x01(\x08H\x00\x12\x11\n\x07exclude\x18\x02 \x01(\x08H\x00B\x08\n\x06actionB\x1a\n\x18autoredeem_configurationB"\n redeem_constraints_configurationBIZGgithub.com/ccpgames/eve-proto-go/generated/eve/assetholding/entitlementb\x06proto3', dependencies=[eve_dot_assetholding_dot_asset_dot_asset__pb2.DESCRIPTOR, eve_dot_assetholding_dot_context__pb2.DESCRIPTOR, eve_dot_assetholding_dot_cosmetic_dot_character_dot_title_dot_title__pb2.DESCRIPTOR, eve_dot_assetholding_dot_cosmetic_dot_ship_dot_skin_dot_license_dot_license__pb2.DESCRIPTOR, @@ -39,10 +39,11 @@ _ATTRIBUTES = _descriptor.Descriptor(name='Attributes', full_name='eve.assethold _descriptor.FieldDescriptor(name='context', full_name='eve.assetholding.entitlement.Attributes.context', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='no_last_modified_timestamp', full_name='eve.assetholding.entitlement.Attributes.no_last_modified_timestamp', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='last_modified_timestamp', full_name='eve.assetholding.entitlement.Attributes.last_modified_timestamp', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='configuration', full_name='eve.assetholding.entitlement.Attributes.configuration', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='modified_timestamp', full_name='eve.assetholding.entitlement.Attributes.modified_timestamp', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=843, serialized_end=1248) -_GROUPBY = _descriptor.Descriptor(name='GroupBy', full_name='eve.assetholding.entitlement.GroupBy', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='name', full_name='eve.assetholding.entitlement.GroupBy.name', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='uuid', full_name='eve.assetholding.entitlement.GroupBy.uuid', index=1, number=2, type=12, cpp_type=9, label=1, has_default_value=False, default_value='', message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='external_identity', full_name='eve.assetholding.entitlement.GroupBy.external_identity', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1250, serialized_end=1310) -_HOLDER = _descriptor.Descriptor(name='Holder', full_name='eve.assetholding.entitlement.Holder', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.assetholding.entitlement.Holder.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='corporation', full_name='eve.assetholding.entitlement.Holder.corporation', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='holder', full_name='eve.assetholding.entitlement.Holder.holder', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1312, serialized_end=1430) -_QUANTITY = _descriptor.Descriptor(name='Quantity', full_name='eve.assetholding.entitlement.Quantity', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='total', full_name='eve.assetholding.entitlement.Quantity.total', index=0, number=1, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='redeemed', full_name='eve.assetholding.entitlement.Quantity.redeemed', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1432, serialized_end=1475) + _descriptor.FieldDescriptor(name='configuration', full_name='eve.assetholding.entitlement.Attributes.configuration', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='expiry_date', full_name='eve.assetholding.entitlement.Attributes.expiry_date', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='modified_timestamp', full_name='eve.assetholding.entitlement.Attributes.modified_timestamp', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=843, serialized_end=1297) +_GROUPBY = _descriptor.Descriptor(name='GroupBy', full_name='eve.assetholding.entitlement.GroupBy', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='name', full_name='eve.assetholding.entitlement.GroupBy.name', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='uuid', full_name='eve.assetholding.entitlement.GroupBy.uuid', index=1, number=2, type=12, cpp_type=9, label=1, has_default_value=False, default_value='', message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='external_identity', full_name='eve.assetholding.entitlement.GroupBy.external_identity', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1299, serialized_end=1359) +_HOLDER = _descriptor.Descriptor(name='Holder', full_name='eve.assetholding.entitlement.Holder', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.assetholding.entitlement.Holder.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='corporation', full_name='eve.assetholding.entitlement.Holder.corporation', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='holder', full_name='eve.assetholding.entitlement.Holder.holder', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1361, serialized_end=1479) +_QUANTITY = _descriptor.Descriptor(name='Quantity', full_name='eve.assetholding.entitlement.Quantity', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='total', full_name='eve.assetholding.entitlement.Quantity.total', index=0, number=1, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='redeemed', full_name='eve.assetholding.entitlement.Quantity.redeemed', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1481, serialized_end=1524) _CONFIGURATION_AUTOREDEEM = _descriptor.Descriptor(name='Autoredeem', full_name='eve.assetholding.entitlement.Configuration.Autoredeem', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='autoredeem_after', full_name='eve.assetholding.entitlement.Configuration.Autoredeem.autoredeem_after', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='itemstack', full_name='eve.assetholding.entitlement.Configuration.Autoredeem.itemstack', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='itemtype', full_name='eve.assetholding.entitlement.Configuration.Autoredeem.itemtype', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -51,13 +52,13 @@ _CONFIGURATION_AUTOREDEEM = _descriptor.Descriptor(name='Autoredeem', full_name= _descriptor.FieldDescriptor(name='plex', full_name='eve.assetholding.entitlement.Configuration.Autoredeem.plex', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='skillpoints', full_name='eve.assetholding.entitlement.Configuration.Autoredeem.skillpoints', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='ship_skin_license', full_name='eve.assetholding.entitlement.Configuration.Autoredeem.ship_skin_license', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='character_title', full_name='eve.assetholding.entitlement.Configuration.Autoredeem.character_title', index=8, number=9, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='unit', full_name='eve.assetholding.entitlement.Configuration.Autoredeem.unit', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1718, serialized_end=2381) -_CONFIGURATION_REDEEMCONSTRAINTS_AUTOREDEEMBEHAVIOR = _descriptor.Descriptor(name='AutoredeemBehavior', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.AutoredeemBehavior', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='delete', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.AutoredeemBehavior.delete', index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='exclude', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.AutoredeemBehavior.exclude', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='action', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.AutoredeemBehavior.action', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=2538, serialized_end=2605) -_CONFIGURATION_REDEEMCONSTRAINTS = _descriptor.Descriptor(name='RedeemConstraints', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='omega_locked', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.omega_locked', index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='autoredeem_behavior', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.autoredeem_behavior', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_CONFIGURATION_REDEEMCONSTRAINTS_AUTOREDEEMBEHAVIOR], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=2384, serialized_end=2605) + _descriptor.FieldDescriptor(name='character_title', full_name='eve.assetholding.entitlement.Configuration.Autoredeem.character_title', index=8, number=9, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='unit', full_name='eve.assetholding.entitlement.Configuration.Autoredeem.unit', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1767, serialized_end=2430) +_CONFIGURATION_REDEEMCONSTRAINTS_AUTOREDEEMBEHAVIOR = _descriptor.Descriptor(name='AutoredeemBehavior', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.AutoredeemBehavior', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='delete', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.AutoredeemBehavior.delete', index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='exclude', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.AutoredeemBehavior.exclude', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='action', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.AutoredeemBehavior.action', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=2587, serialized_end=2654) +_CONFIGURATION_REDEEMCONSTRAINTS = _descriptor.Descriptor(name='RedeemConstraints', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='omega_locked', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.omega_locked', index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='autoredeem_behavior', full_name='eve.assetholding.entitlement.Configuration.RedeemConstraints.autoredeem_behavior', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_CONFIGURATION_REDEEMCONSTRAINTS_AUTOREDEEMBEHAVIOR], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=2433, serialized_end=2654) _CONFIGURATION = _descriptor.Descriptor(name='Configuration', full_name='eve.assetholding.entitlement.Configuration', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='no_autoredeem', full_name='eve.assetholding.entitlement.Configuration.no_autoredeem', index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='autoredeem', full_name='eve.assetholding.entitlement.Configuration.autoredeem', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='no_constraints', full_name='eve.assetholding.entitlement.Configuration.no_constraints', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='redeem_constraints', full_name='eve.assetholding.entitlement.Configuration.redeem_constraints', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_CONFIGURATION_AUTOREDEEM, _CONFIGURATION_REDEEMCONSTRAINTS], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='autoredeem_configuration', full_name='eve.assetholding.entitlement.Configuration.autoredeem_configuration', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor(name='redeem_constraints_configuration', full_name='eve.assetholding.entitlement.Configuration.redeem_constraints_configuration', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1478, serialized_end=2669) + _descriptor.FieldDescriptor(name='redeem_constraints', full_name='eve.assetholding.entitlement.Configuration.redeem_constraints', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_CONFIGURATION_AUTOREDEEM, _CONFIGURATION_REDEEMCONSTRAINTS], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='autoredeem_configuration', full_name='eve.assetholding.entitlement.Configuration.autoredeem_configuration', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor(name='redeem_constraints_configuration', full_name='eve.assetholding.entitlement.Configuration.redeem_constraints_configuration', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1527, serialized_end=2718) _IDENTIFIER.fields_by_name['holder'].message_type = _HOLDER _IDENTIFIER.fields_by_name['asset'].message_type = eve_dot_assetholding_dot_asset_dot_asset__pb2._IDENTIFIER _IDENTIFIER.fields_by_name['group_by'].message_type = _GROUPBY @@ -67,6 +68,7 @@ _ATTRIBUTES.fields_by_name['benefactor'].message_type = eve_dot_assetholding_dot _ATTRIBUTES.fields_by_name['context'].message_type = eve_dot_assetholding_dot_context__pb2._CONTEXT _ATTRIBUTES.fields_by_name['last_modified_timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP _ATTRIBUTES.fields_by_name['configuration'].message_type = _CONFIGURATION +_ATTRIBUTES.fields_by_name['expiry_date'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP _ATTRIBUTES.oneofs_by_name['modified_timestamp'].fields.append(_ATTRIBUTES.fields_by_name['no_last_modified_timestamp']) _ATTRIBUTES.fields_by_name['no_last_modified_timestamp'].containing_oneof = _ATTRIBUTES.oneofs_by_name['modified_timestamp'] _ATTRIBUTES.oneofs_by_name['modified_timestamp'].fields.append(_ATTRIBUTES.fields_by_name['last_modified_timestamp']) diff --git a/eveProto/generated/eve/career/admin/admin_pb2.py b/eveProto/generated/eve/career/admin/admin_pb2.py @@ -7,24 +7,24 @@ _sym_db = _symbol_database.Default() from eveProto.generated.eve.career import goal_pb2 as eve_dot_career_dot_goal__pb2 from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 from eveProto.generated.eve.quasar.admin import admin_pb2 as eve_dot_quasar_dot_admin_dot_admin__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/admin/admin.proto', package='eve.career.goal.admin', syntax='proto3', serialized_options='Z@github.com/ccpgames/eve-proto-go/generated/eve/career/goal/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1ceve/career/admin/admin.proto\x12\x15eve.career.goal.admin\x1a\x15eve/career/goal.proto\x1a\x1deve/character/character.proto\x1a\x1ceve/quasar/admin/admin.proto"j\n\rCreateRequest\x12-\n\x08contents\x18\x01 \x01(\x0b2\x1b.eve.career.goal.Attributes\x12*\n\x07context\x18\x02 \x01(\x0b2\x19.eve.quasar.admin.Context";\n\x0eCreateResponse\x12)\n\x04goal\x18\x01 \x01(\x0b2\x1b.eve.career.goal.Identifier"\xab\x01\n\x12AddProgressRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12\x10\n\x08progress\x18\x03 \x01(\r\x12*\n\x07context\x18\x04 \x01(\x0b2\x19.eve.quasar.admin.Context":\n\x13AddProgressResponse\x12\x10\n\x08progress\x18\x01 \x01(\r\x12\x11\n\tcompleted\x18\x02 \x01(\x08"\xab\x01\n\x12SetProgressRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12\x10\n\x08progress\x18\x03 \x01(\r\x12*\n\x07context\x18\x04 \x01(\x0b2\x19.eve.quasar.admin.Context"f\n\x13SetProgressResponse\x12\x10\n\x08progress\x18\x01 \x01(\r\x12\x11\n\tcompleted\x18\x02 \x01(\x08\x12*\n\x07context\x18\x03 \x01(\x0b2\x19.eve.quasar.admin.Context"\xc1\x01\n*AddToUniqueValuesCounterSetProgressRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12\x0e\n\x06values\x18\x03 \x03(\t\x12*\n\x07context\x18\x04 \x01(\x0b2\x19.eve.quasar.admin.Context"R\n+AddToUniqueValuesCounterSetProgressResponse\x12\x10\n\x08progress\x18\x01 \x01(\r\x12\x11\n\tcompleted\x18\x02 \x01(\x08BBZ@github.com/ccpgames/eve-proto-go/generated/eve/career/goal/adminb\x06proto3', dependencies=[eve_dot_career_dot_goal__pb2.DESCRIPTOR, eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_quasar_dot_admin_dot_admin__pb2.DESCRIPTOR]) -_CREATEREQUEST = _descriptor.Descriptor(name='CreateRequest', full_name='eve.career.goal.admin.CreateRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='contents', full_name='eve.career.goal.admin.CreateRequest.contents', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='context', full_name='eve.career.goal.admin.CreateRequest.context', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=139, serialized_end=245) -_CREATERESPONSE = _descriptor.Descriptor(name='CreateResponse', full_name='eve.career.goal.admin.CreateResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.admin.CreateResponse.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=247, serialized_end=306) +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/admin/admin.proto', package='eve.career.goal.admin', syntax='proto3', serialized_options='Z@github.com/ccpgames/eve-proto-go/generated/eve/career/goal/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1ceve/career/admin/admin.proto\x12\x15eve.career.goal.admin\x1a\x15eve/career/goal.proto\x1a\x1deve/character/character.proto\x1a\x1ceve/quasar/admin/admin.proto"n\n\rCreateRequest\x12-\n\x08contents\x18\x01 \x01(\x0b2\x1b.eve.career.goal.Attributes\x12*\n\x07context\x18\x02 \x01(\x0b2\x19.eve.quasar.admin.Context:\x02\x18\x01"?\n\x0eCreateResponse\x12)\n\x04goal\x18\x01 \x01(\x0b2\x1b.eve.career.goal.Identifier:\x02\x18\x01"\xaf\x01\n\x12AddProgressRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12\x10\n\x08progress\x18\x03 \x01(\r\x12*\n\x07context\x18\x04 \x01(\x0b2\x19.eve.quasar.admin.Context:\x02\x18\x01">\n\x13AddProgressResponse\x12\x10\n\x08progress\x18\x01 \x01(\r\x12\x11\n\tcompleted\x18\x02 \x01(\x08:\x02\x18\x01"\xaf\x01\n\x12SetProgressRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12\x10\n\x08progress\x18\x03 \x01(\r\x12*\n\x07context\x18\x04 \x01(\x0b2\x19.eve.quasar.admin.Context:\x02\x18\x01"j\n\x13SetProgressResponse\x12\x10\n\x08progress\x18\x01 \x01(\r\x12\x11\n\tcompleted\x18\x02 \x01(\x08\x12*\n\x07context\x18\x03 \x01(\x0b2\x19.eve.quasar.admin.Context:\x02\x18\x01"\xc5\x01\n*AddToUniqueValuesCounterSetProgressRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12\x0e\n\x06values\x18\x03 \x03(\t\x12*\n\x07context\x18\x04 \x01(\x0b2\x19.eve.quasar.admin.Context:\x02\x18\x01"V\n+AddToUniqueValuesCounterSetProgressResponse\x12\x10\n\x08progress\x18\x01 \x01(\r\x12\x11\n\tcompleted\x18\x02 \x01(\x08:\x02\x18\x01BBZ@github.com/ccpgames/eve-proto-go/generated/eve/career/goal/adminb\x06proto3', dependencies=[eve_dot_career_dot_goal__pb2.DESCRIPTOR, eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_quasar_dot_admin_dot_admin__pb2.DESCRIPTOR]) +_CREATEREQUEST = _descriptor.Descriptor(name='CreateRequest', full_name='eve.career.goal.admin.CreateRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='contents', full_name='eve.career.goal.admin.CreateRequest.contents', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='context', full_name='eve.career.goal.admin.CreateRequest.context', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=139, serialized_end=249) +_CREATERESPONSE = _descriptor.Descriptor(name='CreateResponse', full_name='eve.career.goal.admin.CreateResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.admin.CreateResponse.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=251, serialized_end=314) _ADDPROGRESSREQUEST = _descriptor.Descriptor(name='AddProgressRequest', full_name='eve.career.goal.admin.AddProgressRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.admin.AddProgressRequest.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.admin.AddProgressRequest.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='progress', full_name='eve.career.goal.admin.AddProgressRequest.progress', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='context', full_name='eve.career.goal.admin.AddProgressRequest.context', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=309, serialized_end=480) -_ADDPROGRESSRESPONSE = _descriptor.Descriptor(name='AddProgressResponse', full_name='eve.career.goal.admin.AddProgressResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='progress', full_name='eve.career.goal.admin.AddProgressResponse.progress', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='completed', full_name='eve.career.goal.admin.AddProgressResponse.completed', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=482, serialized_end=540) + _descriptor.FieldDescriptor(name='context', full_name='eve.career.goal.admin.AddProgressRequest.context', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=317, serialized_end=492) +_ADDPROGRESSRESPONSE = _descriptor.Descriptor(name='AddProgressResponse', full_name='eve.career.goal.admin.AddProgressResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='progress', full_name='eve.career.goal.admin.AddProgressResponse.progress', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='completed', full_name='eve.career.goal.admin.AddProgressResponse.completed', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=494, serialized_end=556) _SETPROGRESSREQUEST = _descriptor.Descriptor(name='SetProgressRequest', full_name='eve.career.goal.admin.SetProgressRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.admin.SetProgressRequest.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.admin.SetProgressRequest.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='progress', full_name='eve.career.goal.admin.SetProgressRequest.progress', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='context', full_name='eve.career.goal.admin.SetProgressRequest.context', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=543, serialized_end=714) -_SETPROGRESSRESPONSE = _descriptor.Descriptor(name='SetProgressResponse', full_name='eve.career.goal.admin.SetProgressResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='progress', full_name='eve.career.goal.admin.SetProgressResponse.progress', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='completed', full_name='eve.career.goal.admin.SetProgressResponse.completed', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='context', full_name='eve.career.goal.admin.SetProgressResponse.context', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=716, serialized_end=818) + _descriptor.FieldDescriptor(name='context', full_name='eve.career.goal.admin.SetProgressRequest.context', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=559, serialized_end=734) +_SETPROGRESSRESPONSE = _descriptor.Descriptor(name='SetProgressResponse', full_name='eve.career.goal.admin.SetProgressResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='progress', full_name='eve.career.goal.admin.SetProgressResponse.progress', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='completed', full_name='eve.career.goal.admin.SetProgressResponse.completed', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='context', full_name='eve.career.goal.admin.SetProgressResponse.context', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=736, serialized_end=842) _ADDTOUNIQUEVALUESCOUNTERSETPROGRESSREQUEST = _descriptor.Descriptor(name='AddToUniqueValuesCounterSetProgressRequest', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressRequest.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressRequest.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='values', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressRequest.values', index=2, number=3, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='context', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressRequest.context', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=821, serialized_end=1014) -_ADDTOUNIQUEVALUESCOUNTERSETPROGRESSRESPONSE = _descriptor.Descriptor(name='AddToUniqueValuesCounterSetProgressResponse', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='progress', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressResponse.progress', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='completed', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressResponse.completed', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1016, serialized_end=1098) + _descriptor.FieldDescriptor(name='context', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressRequest.context', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=845, serialized_end=1042) +_ADDTOUNIQUEVALUESCOUNTERSETPROGRESSRESPONSE = _descriptor.Descriptor(name='AddToUniqueValuesCounterSetProgressResponse', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='progress', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressResponse.progress', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='completed', full_name='eve.career.goal.admin.AddToUniqueValuesCounterSetProgressResponse.completed', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1044, serialized_end=1130) _CREATEREQUEST.fields_by_name['contents'].message_type = eve_dot_career_dot_goal__pb2._ATTRIBUTES _CREATEREQUEST.fields_by_name['context'].message_type = eve_dot_quasar_dot_admin_dot_admin__pb2._CONTEXT _CREATERESPONSE.fields_by_name['goal'].message_type = eve_dot_career_dot_goal__pb2._IDENTIFIER @@ -72,3 +72,11 @@ AddToUniqueValuesCounterSetProgressResponse = _reflection.GeneratedProtocolMessa '__module__': 'eve.career.admin.admin_pb2'}) _sym_db.RegisterMessage(AddToUniqueValuesCounterSetProgressResponse) DESCRIPTOR._options = None +_CREATEREQUEST._options = None +_CREATERESPONSE._options = None +_ADDPROGRESSREQUEST._options = None +_ADDPROGRESSRESPONSE._options = None +_SETPROGRESSREQUEST._options = None +_SETPROGRESSRESPONSE._options = None +_ADDTOUNIQUEVALUESCOUNTERSETPROGRESSREQUEST._options = None +_ADDTOUNIQUEVALUESCOUNTERSETPROGRESSRESPONSE._options = None diff --git a/eveProto/generated/eve/career/goal/api/admin/events_pb2.py b/eveProto/generated/eve/career/goal/api/admin/events_pb2.py @@ -5,9 +5,9 @@ from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/goal/api/admin/events.proto', package='eve.career.goal.api.admin', syntax='proto3', serialized_options='ZDgithub.com/ccpgames/eve-proto-go/generated/eve/career/goal/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n&eve/career/goal/api/admin/events.proto\x12\x19eve.career.goal.api.admin\x1a\x1deve/character/character.proto"I\n\x19MigrateCharacterCommanded\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"\x1c\n\x1aMigrateToDynamoDBCommandedBFZDgithub.com/ccpgames/eve-proto-go/generated/eve/career/goal/api/adminb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR]) -_MIGRATECHARACTERCOMMANDED = _descriptor.Descriptor(name='MigrateCharacterCommanded', full_name='eve.career.goal.api.admin.MigrateCharacterCommanded', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.api.admin.MigrateCharacterCommanded.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=100, serialized_end=173) -_MIGRATETODYNAMODBCOMMANDED = _descriptor.Descriptor(name='MigrateToDynamoDBCommanded', full_name='eve.career.goal.api.admin.MigrateToDynamoDBCommanded', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=175, serialized_end=203) +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/goal/api/admin/events.proto', package='eve.career.goal.api.admin', syntax='proto3', serialized_options='ZDgithub.com/ccpgames/eve-proto-go/generated/eve/career/goal/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n&eve/career/goal/api/admin/events.proto\x12\x19eve.career.goal.api.admin\x1a\x1deve/character/character.proto"M\n\x19MigrateCharacterCommanded\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier:\x02\x18\x01" \n\x1aMigrateToDynamoDBCommanded:\x02\x18\x01BFZDgithub.com/ccpgames/eve-proto-go/generated/eve/career/goal/api/adminb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR]) +_MIGRATECHARACTERCOMMANDED = _descriptor.Descriptor(name='MigrateCharacterCommanded', full_name='eve.career.goal.api.admin.MigrateCharacterCommanded', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.api.admin.MigrateCharacterCommanded.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=100, serialized_end=177) +_MIGRATETODYNAMODBCOMMANDED = _descriptor.Descriptor(name='MigrateToDynamoDBCommanded', full_name='eve.career.goal.api.admin.MigrateToDynamoDBCommanded', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=179, serialized_end=211) _MIGRATECHARACTERCOMMANDED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER DESCRIPTOR.message_types_by_name['MigrateCharacterCommanded'] = _MIGRATECHARACTERCOMMANDED DESCRIPTOR.message_types_by_name['MigrateToDynamoDBCommanded'] = _MIGRATETODYNAMODBCOMMANDED @@ -19,3 +19,5 @@ MigrateToDynamoDBCommanded = _reflection.GeneratedProtocolMessageType('MigrateTo '__module__': 'eve.career.goal.api.admin.events_pb2'}) _sym_db.RegisterMessage(MigrateToDynamoDBCommanded) DESCRIPTOR._options = None +_MIGRATECHARACTERCOMMANDED._options = None +_MIGRATETODYNAMODBCOMMANDED._options = None diff --git a/eveProto/generated/eve/career/goal/api/admin/requests_pb2.py b/eveProto/generated/eve/career/goal/api/admin/requests_pb2.py @@ -7,17 +7,17 @@ _sym_db = _symbol_database.Default() from eveProto.generated.eve.career import goal_pb2 as eve_dot_career_dot_goal__pb2 from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/goal/api/admin/requests.proto', package='eve.career.goal.api.admin', syntax='proto3', serialized_options='ZDgithub.com/ccpgames/eve-proto-go/generated/eve/career/goal/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n(eve/career/goal/api/admin/requests.proto\x12\x19eve.career.goal.api.admin\x1a\x15eve/career/goal.proto\x1a\x1deve/character/character.proto\x1a\x1fgoogle/protobuf/timestamp.proto"H\n\x18GetAllByCharacterRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"\x88\x04\n\x19GetAllByCharacterResponse\x12H\n\x05goals\x18\x01 \x03(\x0b29.eve.career.goal.api.admin.GetAllByCharacterResponse.Goal\x1a\xa0\x03\n\x04Goal\x12)\n\x04goal\x18\x01 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12\x10\n\x08progress\x18\x02 \x01(\r\x12\x17\n\rnot_completed\x18\x03 \x01(\x08H\x00\x124\n\x0ecompleted_time\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12g\n\x13reward_label_states\x18\x05 \x03(\x0b2J.eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState\x1a\x95\x01\n\x10RewardLabelState\x12+\n\x05label\x18\x01 \x01(\x0e2\x1c.eve.career.goal.RewardLabel\x122\n\x0cclaimed_time\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0bnot_claimed\x18\x03 \x01(\x08H\x00B\t\n\x07claimedB\x0b\n\tcompleted"j\n\x0fCompleteRequest\x12)\n\x04goal\x18\x01 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12,\n\tcharacter\x18\x02 \x01(\x0b2\x19.eve.character.Identifier"\x12\n\x10CompleteResponseBFZDgithub.com/ccpgames/eve-proto-go/generated/eve/career/goal/api/adminb\x06proto3', dependencies=[eve_dot_career_dot_goal__pb2.DESCRIPTOR, eve_dot_character_dot_character__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR]) -_GETALLBYCHARACTERREQUEST = _descriptor.Descriptor(name='GetAllByCharacterRequest', full_name='eve.career.goal.api.admin.GetAllByCharacterRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.api.admin.GetAllByCharacterRequest.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=158, serialized_end=230) -_GETALLBYCHARACTERRESPONSE_GOAL_REWARDLABELSTATE = _descriptor.Descriptor(name='RewardLabelState', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='label', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.label', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='claimed_time', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.claimed_time', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='not_claimed', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.not_claimed', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='claimed', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.claimed', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=591, serialized_end=740) +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/goal/api/admin/requests.proto', package='eve.career.goal.api.admin', syntax='proto3', serialized_options='ZDgithub.com/ccpgames/eve-proto-go/generated/eve/career/goal/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n(eve/career/goal/api/admin/requests.proto\x12\x19eve.career.goal.api.admin\x1a\x15eve/career/goal.proto\x1a\x1deve/character/character.proto\x1a\x1fgoogle/protobuf/timestamp.proto"L\n\x18GetAllByCharacterRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier:\x02\x18\x01"\x8c\x04\n\x19GetAllByCharacterResponse\x12H\n\x05goals\x18\x01 \x03(\x0b29.eve.career.goal.api.admin.GetAllByCharacterResponse.Goal\x1a\xa0\x03\n\x04Goal\x12)\n\x04goal\x18\x01 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12\x10\n\x08progress\x18\x02 \x01(\r\x12\x17\n\rnot_completed\x18\x03 \x01(\x08H\x00\x124\n\x0ecompleted_time\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12g\n\x13reward_label_states\x18\x05 \x03(\x0b2J.eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState\x1a\x95\x01\n\x10RewardLabelState\x12+\n\x05label\x18\x01 \x01(\x0e2\x1c.eve.career.goal.RewardLabel\x122\n\x0cclaimed_time\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0bnot_claimed\x18\x03 \x01(\x08H\x00B\t\n\x07claimedB\x0b\n\tcompleted:\x02\x18\x01"n\n\x0fCompleteRequest\x12)\n\x04goal\x18\x01 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12,\n\tcharacter\x18\x02 \x01(\x0b2\x19.eve.character.Identifier:\x02\x18\x01"\x16\n\x10CompleteResponse:\x02\x18\x01BFZDgithub.com/ccpgames/eve-proto-go/generated/eve/career/goal/api/adminb\x06proto3', dependencies=[eve_dot_career_dot_goal__pb2.DESCRIPTOR, eve_dot_character_dot_character__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR]) +_GETALLBYCHARACTERREQUEST = _descriptor.Descriptor(name='GetAllByCharacterRequest', full_name='eve.career.goal.api.admin.GetAllByCharacterRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.api.admin.GetAllByCharacterRequest.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=158, serialized_end=234) +_GETALLBYCHARACTERRESPONSE_GOAL_REWARDLABELSTATE = _descriptor.Descriptor(name='RewardLabelState', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='label', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.label', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='claimed_time', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.claimed_time', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='not_claimed', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.not_claimed', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='claimed', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.RewardLabelState.claimed', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=595, serialized_end=744) _GETALLBYCHARACTERRESPONSE_GOAL = _descriptor.Descriptor(name='Goal', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='progress', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.progress', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='not_completed', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.not_completed', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='completed_time', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.completed_time', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='reward_label_states', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.reward_label_states', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETALLBYCHARACTERRESPONSE_GOAL_REWARDLABELSTATE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='completed', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.completed', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=337, serialized_end=753) -_GETALLBYCHARACTERRESPONSE = _descriptor.Descriptor(name='GetAllByCharacterResponse', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goals', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.goals', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETALLBYCHARACTERRESPONSE_GOAL], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=233, serialized_end=753) -_COMPLETEREQUEST = _descriptor.Descriptor(name='CompleteRequest', full_name='eve.career.goal.api.admin.CompleteRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.api.admin.CompleteRequest.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.api.admin.CompleteRequest.character', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=755, serialized_end=861) -_COMPLETERESPONSE = _descriptor.Descriptor(name='CompleteResponse', full_name='eve.career.goal.api.admin.CompleteResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=863, serialized_end=881) + _descriptor.FieldDescriptor(name='reward_label_states', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.reward_label_states', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETALLBYCHARACTERRESPONSE_GOAL_REWARDLABELSTATE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='completed', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.Goal.completed', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=341, serialized_end=757) +_GETALLBYCHARACTERRESPONSE = _descriptor.Descriptor(name='GetAllByCharacterResponse', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goals', full_name='eve.career.goal.api.admin.GetAllByCharacterResponse.goals', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETALLBYCHARACTERRESPONSE_GOAL], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=237, serialized_end=761) +_COMPLETEREQUEST = _descriptor.Descriptor(name='CompleteRequest', full_name='eve.career.goal.api.admin.CompleteRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.api.admin.CompleteRequest.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.api.admin.CompleteRequest.character', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=763, serialized_end=873) +_COMPLETERESPONSE = _descriptor.Descriptor(name='CompleteResponse', full_name='eve.career.goal.api.admin.CompleteResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=875, serialized_end=897) _GETALLBYCHARACTERREQUEST.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _GETALLBYCHARACTERRESPONSE_GOAL_REWARDLABELSTATE.fields_by_name['label'].enum_type = eve_dot_career_dot_goal__pb2._REWARDLABEL _GETALLBYCHARACTERRESPONSE_GOAL_REWARDLABELSTATE.fields_by_name['claimed_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP @@ -61,3 +61,7 @@ CompleteResponse = _reflection.GeneratedProtocolMessageType('CompleteResponse', '__module__': 'eve.career.goal.api.admin.requests_pb2'}) _sym_db.RegisterMessage(CompleteResponse) DESCRIPTOR._options = None +_GETALLBYCHARACTERREQUEST._options = None +_GETALLBYCHARACTERRESPONSE._options = None +_COMPLETEREQUEST._options = None +_COMPLETERESPONSE._options = None diff --git a/eveProto/generated/eve/career/goal/api/events_pb2.py b/eveProto/generated/eve/career/goal/api/events_pb2.py @@ -6,9 +6,9 @@ from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from eveProto.generated.eve.career import goal_pb2 as eve_dot_career_dot_goal__pb2 from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/goal/api/events.proto', package='eve.career.goal.api', syntax='proto3', serialized_options='Z>github.com/ccpgames/eve-proto-go/generated/eve/career/goal/api', create_key=_descriptor._internal_create_key, serialized_pb='\n eve/career/goal/api/events.proto\x12\x13eve.career.goal.api\x1a\x15eve/career/goal.proto\x1a\x1deve/character/character.proto"d\n\tCompleted\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier"\x96\x01\n\x0eRewardsClaimed\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12+\n\x05label\x18\x03 \x01(\x0e2\x1c.eve.career.goal.RewardLabelB@Z>github.com/ccpgames/eve-proto-go/generated/eve/career/goal/apib\x06proto3', dependencies=[eve_dot_career_dot_goal__pb2.DESCRIPTOR, eve_dot_character_dot_character__pb2.DESCRIPTOR]) -_COMPLETED = _descriptor.Descriptor(name='Completed', full_name='eve.career.goal.api.Completed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.api.Completed.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.api.Completed.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=111, serialized_end=211) -_REWARDSCLAIMED = _descriptor.Descriptor(name='RewardsClaimed', full_name='eve.career.goal.api.RewardsClaimed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.api.RewardsClaimed.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.api.RewardsClaimed.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='label', full_name='eve.career.goal.api.RewardsClaimed.label', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=214, serialized_end=364) +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/goal/api/events.proto', package='eve.career.goal.api', syntax='proto3', serialized_options='Z>github.com/ccpgames/eve-proto-go/generated/eve/career/goal/api', create_key=_descriptor._internal_create_key, serialized_pb='\n eve/career/goal/api/events.proto\x12\x13eve.career.goal.api\x1a\x15eve/career/goal.proto\x1a\x1deve/character/character.proto"h\n\tCompleted\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier:\x02\x18\x01"\x9a\x01\n\x0eRewardsClaimed\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12+\n\x05label\x18\x03 \x01(\x0e2\x1c.eve.career.goal.RewardLabel:\x02\x18\x01B@Z>github.com/ccpgames/eve-proto-go/generated/eve/career/goal/apib\x06proto3', dependencies=[eve_dot_career_dot_goal__pb2.DESCRIPTOR, eve_dot_character_dot_character__pb2.DESCRIPTOR]) +_COMPLETED = _descriptor.Descriptor(name='Completed', full_name='eve.career.goal.api.Completed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.api.Completed.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.api.Completed.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=111, serialized_end=215) +_REWARDSCLAIMED = _descriptor.Descriptor(name='RewardsClaimed', full_name='eve.career.goal.api.RewardsClaimed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.api.RewardsClaimed.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.api.RewardsClaimed.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='label', full_name='eve.career.goal.api.RewardsClaimed.label', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=218, serialized_end=372) _COMPLETED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _COMPLETED.fields_by_name['goal'].message_type = eve_dot_career_dot_goal__pb2._IDENTIFIER _REWARDSCLAIMED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER @@ -24,3 +24,5 @@ RewardsClaimed = _reflection.GeneratedProtocolMessageType('RewardsClaimed', (_me '__module__': 'eve.career.goal.api.events_pb2'}) _sym_db.RegisterMessage(RewardsClaimed) DESCRIPTOR._options = None +_COMPLETED._options = None +_REWARDSCLAIMED._options = None diff --git a/eveProto/generated/eve/career/goal/api/requests_pb2.py b/eveProto/generated/eve/career/goal/api/requests_pb2.py @@ -5,10 +5,10 @@ from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from eveProto.generated.eve.career import goal_pb2 as eve_dot_career_dot_goal__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/goal/api/requests.proto', package='eve.career.goal.api', syntax='proto3', serialized_options='Z>github.com/ccpgames/eve-proto-go/generated/eve/career/goal/api', create_key=_descriptor._internal_create_key, serialized_pb='\n"eve/career/goal/api/requests.proto\x12\x13eve.career.goal.api\x1a\x15eve/career/goal.proto"\x17\n\x15GetDefinitionsRequest"\xbd\x01\n\x16GetDefinitionsResponse\x12?\n\x05goals\x18\x01 \x03(\x0b20.eve.career.goal.api.GetDefinitionsResponse.Goal\x1ab\n\x04Goal\x12)\n\x04goal\x18\x01 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12/\n\nattributes\x18\x02 \x01(\x0b2\x1b.eve.career.goal.AttributesB@Z>github.com/ccpgames/eve-proto-go/generated/eve/career/goal/apib\x06proto3', dependencies=[eve_dot_career_dot_goal__pb2.DESCRIPTOR]) -_GETDEFINITIONSREQUEST = _descriptor.Descriptor(name='GetDefinitionsRequest', full_name='eve.career.goal.api.GetDefinitionsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=82, serialized_end=105) -_GETDEFINITIONSRESPONSE_GOAL = _descriptor.Descriptor(name='Goal', full_name='eve.career.goal.api.GetDefinitionsResponse.Goal', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.api.GetDefinitionsResponse.Goal.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attributes', full_name='eve.career.goal.api.GetDefinitionsResponse.Goal.attributes', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=199, serialized_end=297) -_GETDEFINITIONSRESPONSE = _descriptor.Descriptor(name='GetDefinitionsResponse', full_name='eve.career.goal.api.GetDefinitionsResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goals', full_name='eve.career.goal.api.GetDefinitionsResponse.goals', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETDEFINITIONSRESPONSE_GOAL], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=108, serialized_end=297) +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/goal/api/requests.proto', package='eve.career.goal.api', syntax='proto3', serialized_options='Z>github.com/ccpgames/eve-proto-go/generated/eve/career/goal/api', create_key=_descriptor._internal_create_key, serialized_pb='\n"eve/career/goal/api/requests.proto\x12\x13eve.career.goal.api\x1a\x15eve/career/goal.proto"\x1b\n\x15GetDefinitionsRequest:\x02\x18\x01"\xc1\x01\n\x16GetDefinitionsResponse\x12?\n\x05goals\x18\x01 \x03(\x0b20.eve.career.goal.api.GetDefinitionsResponse.Goal\x1ab\n\x04Goal\x12)\n\x04goal\x18\x01 \x01(\x0b2\x1b.eve.career.goal.Identifier\x12/\n\nattributes\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Attributes:\x02\x18\x01B@Z>github.com/ccpgames/eve-proto-go/generated/eve/career/goal/apib\x06proto3', dependencies=[eve_dot_career_dot_goal__pb2.DESCRIPTOR]) +_GETDEFINITIONSREQUEST = _descriptor.Descriptor(name='GetDefinitionsRequest', full_name='eve.career.goal.api.GetDefinitionsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=82, serialized_end=109) +_GETDEFINITIONSRESPONSE_GOAL = _descriptor.Descriptor(name='Goal', full_name='eve.career.goal.api.GetDefinitionsResponse.Goal', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.api.GetDefinitionsResponse.Goal.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attributes', full_name='eve.career.goal.api.GetDefinitionsResponse.Goal.attributes', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=203, serialized_end=301) +_GETDEFINITIONSRESPONSE = _descriptor.Descriptor(name='GetDefinitionsResponse', full_name='eve.career.goal.api.GetDefinitionsResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goals', full_name='eve.career.goal.api.GetDefinitionsResponse.goals', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETDEFINITIONSRESPONSE_GOAL], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=112, serialized_end=305) _GETDEFINITIONSRESPONSE_GOAL.fields_by_name['goal'].message_type = eve_dot_career_dot_goal__pb2._IDENTIFIER _GETDEFINITIONSRESPONSE_GOAL.fields_by_name['attributes'].message_type = eve_dot_career_dot_goal__pb2._ATTRIBUTES _GETDEFINITIONSRESPONSE_GOAL.containing_type = _GETDEFINITIONSRESPONSE @@ -26,3 +26,5 @@ GetDefinitionsResponse = _reflection.GeneratedProtocolMessageType('GetDefinition _sym_db.RegisterMessage(GetDefinitionsResponse) _sym_db.RegisterMessage(GetDefinitionsResponse.Goal) DESCRIPTOR._options = None +_GETDEFINITIONSREQUEST._options = None +_GETDEFINITIONSRESPONSE._options = None diff --git a/eveProto/generated/eve/career/goal_pb2.py b/eveProto/generated/eve/career/goal_pb2.py @@ -11,13 +11,13 @@ from eveProto.generated.eve.inventory import generic_item_type_pb2 as eve_dot_in from eveProto.generated.eve.isk import isk_pb2 as eve_dot_isk_dot_isk__pb2 from eveProto.generated.eve.localization import message_pb2 as eve_dot_localization_dot_message__pb2 from eveProto.generated.eve.ui import annotation_pb2 as eve_dot_ui_dot_annotation__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/goal.proto', package='eve.career.goal', syntax='proto3', serialized_options='Z:github.com/ccpgames/eve-proto-go/generated/eve/career/goal', create_key=_descriptor._internal_create_key, serialized_pb='\n\x15eve/career/goal.proto\x12\x0feve.career.goal\x1a\x1deve/character/character.proto\x1a!eve/fulfillment/offer/offer.proto\x1a%eve/inventory/generic_item_type.proto\x1a\x11eve/isk/isk.proto\x1a\x1eeve/localization/message.proto\x1a\x17eve/ui/annotation.proto"\x1a\n\nIdentifier\x12\x0c\n\x04uuid\x18\x01 \x01(\x0c"\xfc\x03\n\nAttributes\x122\n\x04name\x18\x01 \x01(\x0b2$.eve.localization.message.Identifier\x129\n\x0bdescription\x18\x02 \x01(\x0b2$.eve.localization.message.Identifier\x12\x0e\n\x06target\x18\x03 \x01(\r\x125\n\x06reward\x18\x04 \x01(\x0b2!.eve.fulfillment.offer.IdentifierB\x02\x18\x01\x12*\n\x0eui_annotations\x18\x05 \x03(\x0b2\x12.eve.ui.Annotation\x12\x0e\n\x06threat\x18\x06 \x01(\r\x122\n\x06career\x18\x07 \x01(\x0e2".eve.career.goal.Attributes.Career\x12\x15\n\rcareer_points\x18\x08 \x01(\r\x12(\n\x07rewards\x18\t \x03(\x0b2\x17.eve.career.goal.Reward"\x86\x01\n\x06Career\x12\x16\n\x12CAREER_UNSPECIFIED\x10\x00\x12\x16\n\x12CAREER_EXPLORATION\x10\x01\x12\x18\n\x14CAREER_INDUSTRIALIST\x10\x02\x12\x13\n\x0fCAREER_ENFORCER\x10\x03\x12\x1d\n\x19CAREER_SOLDIER_OF_FORTUNE\x10\x04"h\n\tCompleted\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier:\x02\x18\x01"l\n\rRewardClaimed\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier:\x02\x18\x01"n\n\x06Reward\x120\n\x0breward_type\x18\x01 \x01(\x0b2\x1b.eve.career.goal.RewardType\x122\n\x0creward_label\x18\x02 \x01(\x0e2\x1c.eve.career.goal.RewardLabel"\x7f\n\nRewardType\x12/\n\x04item\x18\x01 \x01(\x0b2\x1f.eve.career.goal.ItemRewardTypeH\x00\x12 \n\x03isk\x18\x02 \x01(\x0b2\x11.eve.isk.CurrencyH\x00\x12\x16\n\x0cskill_points\x18\x03 \x01(\rH\x00B\x06\n\x04type"a\n\x0eItemRewardType\x12=\n\nidentifier\x18\x01 \x01(\x0b2).eve.inventory.genericitemtype.Identifier\x12\x10\n\x08quantity\x18\x02 \x01(\r*[\n\x0bRewardLabel\x12\x1c\n\x18REWARD_LABEL_UNSPECIFIED\x10\x00\x12\x16\n\x12REWARD_LABEL_ALPHA\x10\x01\x12\x16\n\x12REWARD_LABEL_OMEGA\x10\x02B<Z:github.com/ccpgames/eve-proto-go/generated/eve/career/goalb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/goal.proto', package='eve.career.goal', syntax='proto3', serialized_options='Z:github.com/ccpgames/eve-proto-go/generated/eve/career/goal', create_key=_descriptor._internal_create_key, serialized_pb='\n\x15eve/career/goal.proto\x12\x0feve.career.goal\x1a\x1deve/character/character.proto\x1a!eve/fulfillment/offer/offer.proto\x1a%eve/inventory/generic_item_type.proto\x1a\x11eve/isk/isk.proto\x1a\x1eeve/localization/message.proto\x1a\x17eve/ui/annotation.proto"\x1e\n\nIdentifier\x12\x0c\n\x04uuid\x18\x01 \x01(\x0c:\x02\x18\x01"\x80\x04\n\nAttributes\x122\n\x04name\x18\x01 \x01(\x0b2$.eve.localization.message.Identifier\x129\n\x0bdescription\x18\x02 \x01(\x0b2$.eve.localization.message.Identifier\x12\x0e\n\x06target\x18\x03 \x01(\r\x125\n\x06reward\x18\x04 \x01(\x0b2!.eve.fulfillment.offer.IdentifierB\x02\x18\x01\x12*\n\x0eui_annotations\x18\x05 \x03(\x0b2\x12.eve.ui.Annotation\x12\x0e\n\x06threat\x18\x06 \x01(\r\x122\n\x06career\x18\x07 \x01(\x0e2".eve.career.goal.Attributes.Career\x12\x15\n\rcareer_points\x18\x08 \x01(\r\x12(\n\x07rewards\x18\t \x03(\x0b2\x17.eve.career.goal.Reward"\x86\x01\n\x06Career\x12\x16\n\x12CAREER_UNSPECIFIED\x10\x00\x12\x16\n\x12CAREER_EXPLORATION\x10\x01\x12\x18\n\x14CAREER_INDUSTRIALIST\x10\x02\x12\x13\n\x0fCAREER_ENFORCER\x10\x03\x12\x1d\n\x19CAREER_SOLDIER_OF_FORTUNE\x10\x04:\x02\x18\x01"h\n\tCompleted\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier:\x02\x18\x01"l\n\rRewardClaimed\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12)\n\x04goal\x18\x02 \x01(\x0b2\x1b.eve.career.goal.Identifier:\x02\x18\x01"r\n\x06Reward\x120\n\x0breward_type\x18\x01 \x01(\x0b2\x1b.eve.career.goal.RewardType\x122\n\x0creward_label\x18\x02 \x01(\x0e2\x1c.eve.career.goal.RewardLabel:\x02\x18\x01"\x83\x01\n\nRewardType\x12/\n\x04item\x18\x01 \x01(\x0b2\x1f.eve.career.goal.ItemRewardTypeH\x00\x12 \n\x03isk\x18\x02 \x01(\x0b2\x11.eve.isk.CurrencyH\x00\x12\x16\n\x0cskill_points\x18\x03 \x01(\rH\x00:\x02\x18\x01B\x06\n\x04type"e\n\x0eItemRewardType\x12=\n\nidentifier\x18\x01 \x01(\x0b2).eve.inventory.genericitemtype.Identifier\x12\x10\n\x08quantity\x18\x02 \x01(\r:\x02\x18\x01*_\n\x0bRewardLabel\x12\x1c\n\x18REWARD_LABEL_UNSPECIFIED\x10\x00\x12\x16\n\x12REWARD_LABEL_ALPHA\x10\x01\x12\x16\n\x12REWARD_LABEL_OMEGA\x10\x02\x1a\x02\x18\x01B<Z:github.com/ccpgames/eve-proto-go/generated/eve/career/goalb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_fulfillment_dot_offer_dot_offer__pb2.DESCRIPTOR, eve_dot_inventory_dot_generic__item__type__pb2.DESCRIPTOR, eve_dot_isk_dot_isk__pb2.DESCRIPTOR, eve_dot_localization_dot_message__pb2.DESCRIPTOR, eve_dot_ui_dot_annotation__pb2.DESCRIPTOR]) -_REWARDLABEL = _descriptor.EnumDescriptor(name='RewardLabel', full_name='eve.career.goal.RewardLabel', filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[_descriptor.EnumValueDescriptor(name='REWARD_LABEL_UNSPECIFIED', index=0, number=0, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='REWARD_LABEL_ALPHA', index=1, number=1, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='REWARD_LABEL_OMEGA', index=2, number=2, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options=None, serialized_start=1318, serialized_end=1409) +_REWARDLABEL = _descriptor.EnumDescriptor(name='RewardLabel', full_name='eve.career.goal.RewardLabel', filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[_descriptor.EnumValueDescriptor(name='REWARD_LABEL_UNSPECIFIED', index=0, number=0, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='REWARD_LABEL_ALPHA', index=1, number=1, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='REWARD_LABEL_OMEGA', index=2, number=2, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options='\x18\x01', serialized_start=1339, serialized_end=1434) _sym_db.RegisterEnumDescriptor(_REWARDLABEL) RewardLabel = enum_type_wrapper.EnumTypeWrapper(_REWARDLABEL) REWARD_LABEL_UNSPECIFIED = 0 @@ -27,9 +27,9 @@ _ATTRIBUTES_CAREER = _descriptor.EnumDescriptor(name='Career', full_name='eve.ca _descriptor.EnumValueDescriptor(name='CAREER_EXPLORATION', index=1, number=1, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='CAREER_INDUSTRIALIST', index=2, number=2, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='CAREER_ENFORCER', index=3, number=3, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor(name='CAREER_SOLDIER_OF_FORTUNE', index=4, number=4, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options=None, serialized_start=626, serialized_end=760) + _descriptor.EnumValueDescriptor(name='CAREER_SOLDIER_OF_FORTUNE', index=4, number=4, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options=None, serialized_start=630, serialized_end=764) _sym_db.RegisterEnumDescriptor(_ATTRIBUTES_CAREER) -_IDENTIFIER = _descriptor.Descriptor(name='Identifier', full_name='eve.career.goal.Identifier', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='uuid', full_name='eve.career.goal.Identifier.uuid', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value='', message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=223, serialized_end=249) +_IDENTIFIER = _descriptor.Descriptor(name='Identifier', full_name='eve.career.goal.Identifier', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='uuid', full_name='eve.career.goal.Identifier.uuid', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value='', message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=223, serialized_end=253) _ATTRIBUTES = _descriptor.Descriptor(name='Attributes', full_name='eve.career.goal.Attributes', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='name', full_name='eve.career.goal.Attributes.name', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='description', full_name='eve.career.goal.Attributes.description', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='target', full_name='eve.career.goal.Attributes.target', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -38,12 +38,12 @@ _ATTRIBUTES = _descriptor.Descriptor(name='Attributes', full_name='eve.career.go _descriptor.FieldDescriptor(name='threat', full_name='eve.career.goal.Attributes.threat', index=5, number=6, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='career', full_name='eve.career.goal.Attributes.career', index=6, number=7, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='career_points', full_name='eve.career.goal.Attributes.career_points', index=7, number=8, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='rewards', full_name='eve.career.goal.Attributes.rewards', index=8, number=9, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[_ATTRIBUTES_CAREER], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=252, serialized_end=760) -_COMPLETED = _descriptor.Descriptor(name='Completed', full_name='eve.career.goal.Completed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.Completed.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.Completed.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=762, serialized_end=866) -_REWARDCLAIMED = _descriptor.Descriptor(name='RewardClaimed', full_name='eve.career.goal.RewardClaimed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.RewardClaimed.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.RewardClaimed.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=868, serialized_end=976) -_REWARD = _descriptor.Descriptor(name='Reward', full_name='eve.career.goal.Reward', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='reward_type', full_name='eve.career.goal.Reward.reward_type', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='reward_label', full_name='eve.career.goal.Reward.reward_label', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=978, serialized_end=1088) -_REWARDTYPE = _descriptor.Descriptor(name='RewardType', full_name='eve.career.goal.RewardType', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='item', full_name='eve.career.goal.RewardType.item', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='isk', full_name='eve.career.goal.RewardType.isk', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='skill_points', full_name='eve.career.goal.RewardType.skill_points', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='type', full_name='eve.career.goal.RewardType.type', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1090, serialized_end=1217) -_ITEMREWARDTYPE = _descriptor.Descriptor(name='ItemRewardType', full_name='eve.career.goal.ItemRewardType', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='identifier', full_name='eve.career.goal.ItemRewardType.identifier', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='quantity', full_name='eve.career.goal.ItemRewardType.quantity', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1219, serialized_end=1316) + _descriptor.FieldDescriptor(name='rewards', full_name='eve.career.goal.Attributes.rewards', index=8, number=9, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[_ATTRIBUTES_CAREER], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=256, serialized_end=768) +_COMPLETED = _descriptor.Descriptor(name='Completed', full_name='eve.career.goal.Completed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.Completed.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.Completed.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=770, serialized_end=874) +_REWARDCLAIMED = _descriptor.Descriptor(name='RewardClaimed', full_name='eve.career.goal.RewardClaimed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.career.goal.RewardClaimed.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='goal', full_name='eve.career.goal.RewardClaimed.goal', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=876, serialized_end=984) +_REWARD = _descriptor.Descriptor(name='Reward', full_name='eve.career.goal.Reward', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='reward_type', full_name='eve.career.goal.Reward.reward_type', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='reward_label', full_name='eve.career.goal.Reward.reward_label', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=986, serialized_end=1100) +_REWARDTYPE = _descriptor.Descriptor(name='RewardType', full_name='eve.career.goal.RewardType', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='item', full_name='eve.career.goal.RewardType.item', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='isk', full_name='eve.career.goal.RewardType.isk', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='skill_points', full_name='eve.career.goal.RewardType.skill_points', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='type', full_name='eve.career.goal.RewardType.type', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1103, serialized_end=1234) +_ITEMREWARDTYPE = _descriptor.Descriptor(name='ItemRewardType', full_name='eve.career.goal.ItemRewardType', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='identifier', full_name='eve.career.goal.ItemRewardType.identifier', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='quantity', full_name='eve.career.goal.ItemRewardType.quantity', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1236, serialized_end=1337) _ATTRIBUTES.fields_by_name['name'].message_type = eve_dot_localization_dot_message__pb2._IDENTIFIER _ATTRIBUTES.fields_by_name['description'].message_type = eve_dot_localization_dot_message__pb2._IDENTIFIER _ATTRIBUTES.fields_by_name['reward'].message_type = eve_dot_fulfillment_dot_offer_dot_offer__pb2._IDENTIFIER @@ -97,6 +97,12 @@ ItemRewardType = _reflection.GeneratedProtocolMessageType('ItemRewardType', (_me '__module__': 'eve.career.goal_pb2'}) _sym_db.RegisterMessage(ItemRewardType) DESCRIPTOR._options = None +_REWARDLABEL._options = None +_IDENTIFIER._options = None _ATTRIBUTES.fields_by_name['reward']._options = None +_ATTRIBUTES._options = None _COMPLETED._options = None _REWARDCLAIMED._options = None +_REWARD._options = None +_REWARDTYPE._options = None +_ITEMREWARDTYPE._options = None diff --git a/eveProto/generated/eve/career/path_pb2.py b/eveProto/generated/eve/career/path_pb2.py @@ -5,12 +5,12 @@ from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/path.proto', package='eve.career', syntax='proto3', serialized_options='Z5github.com/ccpgames/eve-proto-go/generated/eve/career', create_key=_descriptor._internal_create_key, serialized_pb='\n\x15eve/career/path.proto\x12\neve.career*\x84\x01\n\x04Path\x12\x16\n\x12CAREER_UNSPECIFIED\x10\x00\x12\x16\n\x12CAREER_EXPLORATION\x10\x01\x12\x18\n\x14CAREER_INDUSTRIALIST\x10\x02\x12\x13\n\x0fCAREER_ENFORCER\x10\x03\x12\x1d\n\x19CAREER_SOLDIER_OF_FORTUNE\x10\x04B7Z5github.com/ccpgames/eve-proto-go/generated/eve/careerb\x06proto3') +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/career/path.proto', package='eve.career', syntax='proto3', serialized_options='Z5github.com/ccpgames/eve-proto-go/generated/eve/career', create_key=_descriptor._internal_create_key, serialized_pb='\n\x15eve/career/path.proto\x12\neve.career*\x88\x01\n\x04Path\x12\x16\n\x12CAREER_UNSPECIFIED\x10\x00\x12\x16\n\x12CAREER_EXPLORATION\x10\x01\x12\x18\n\x14CAREER_INDUSTRIALIST\x10\x02\x12\x13\n\x0fCAREER_ENFORCER\x10\x03\x12\x1d\n\x19CAREER_SOLDIER_OF_FORTUNE\x10\x04\x1a\x02\x18\x01B7Z5github.com/ccpgames/eve-proto-go/generated/eve/careerb\x06proto3') _PATH = _descriptor.EnumDescriptor(name='Path', full_name='eve.career.Path', filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[_descriptor.EnumValueDescriptor(name='CAREER_UNSPECIFIED', index=0, number=0, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='CAREER_EXPLORATION', index=1, number=1, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='CAREER_INDUSTRIALIST', index=2, number=2, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='CAREER_ENFORCER', index=3, number=3, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor(name='CAREER_SOLDIER_OF_FORTUNE', index=4, number=4, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options=None, serialized_start=38, serialized_end=170) + _descriptor.EnumValueDescriptor(name='CAREER_SOLDIER_OF_FORTUNE', index=4, number=4, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options='\x18\x01', serialized_start=38, serialized_end=174) _sym_db.RegisterEnumDescriptor(_PATH) Path = enum_type_wrapper.EnumTypeWrapper(_PATH) CAREER_UNSPECIFIED = 0 @@ -21,3 +21,4 @@ CAREER_SOLDIER_OF_FORTUNE = 4 DESCRIPTOR.enum_types_by_name['Path'] = _PATH _sym_db.RegisterFileDescriptor(DESCRIPTOR) DESCRIPTOR._options = None +_PATH._options = None diff --git a/eveProto/generated/eve/character/api/events_pb2.py b/eveProto/generated/eve/character/api/events_pb2.py @@ -0,0 +1,95 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/character/api/events_pb2.py +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 +from eveProto.generated.eve.corporation import corporation_pb2 as eve_dot_corporation_dot_corporation__pb2 +from eveProto.generated.eve.corporation import role_pb2 as eve_dot_corporation_dot_role__pb2 +from eveProto.generated.eve.ship import ship_pb2 as eve_dot_ship_dot_ship__pb2 +from eveProto.generated.eve.solarsystem import solarsystem_pb2 as eve_dot_solarsystem_dot_solarsystem__pb2 +from eveProto.generated.eve.station import station_pb2 as eve_dot_station_dot_station__pb2 +from eveProto.generated.eve.structure import structure_pb2 as eve_dot_structure_dot_structure__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/character/api/events.proto', package='eve.character.api', syntax='proto3', serialized_options='Z<github.com/ccpgames/eve-proto-go/generated/eve/character/api', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1eeve/character/api/events.proto\x12\x11eve.character.api\x1a\x1deve/character/character.proto\x1a!eve/corporation/corporation.proto\x1a\x1aeve/corporation/role.proto\x1a\x13eve/ship/ship.proto\x1a!eve/solarsystem/solarsystem.proto\x1a\x19eve/station/station.proto\x1a\x1deve/structure/structure.proto"\x95\x04\n\x07Onlined\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x121\n\x0fship_deprecated\x18\x03 \x01(\x0b2\x14.eve.ship.IdentifierB\x02\x18\x01\x120\n\x0bcorporation\x18\x04 \x01(\x0b2\x1b.eve.corporation.Identifier\x12/\n\x05roles\x18\x05 \x01(\x0b2 .eve.corporation.role.Collection\x12/\n\x04ship\x18\x06 \x01(\x0b2\x1f.eve.character.api.Onlined.ShipH\x00\x12.\n\tstructure\x18\x07 \x01(\x0b2\x19.eve.structure.IdentifierH\x00\x1a\xa4\x01\n\x04Ship\x12"\n\x04ship\x18\x01 \x01(\x0b2\x14.eve.ship.Identifier\x12*\n\x07station\x18\x02 \x01(\x0b2\x17.eve.station.IdentifierH\x00\x12.\n\tstructure\x18\x03 \x01(\x0b2\x19.eve.structure.IdentifierH\x00\x12\x12\n\x08undocked\x18\x04 \x01(\x08H\x00B\x08\n\x06dockedB\x0b\n\tboardable"\x81\x03\n\x08Offlined\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x120\n\x04ship\x18\x03 \x01(\x0b2 .eve.character.api.Offlined.ShipH\x00\x12.\n\tstructure\x18\x04 \x01(\x0b2\x19.eve.structure.IdentifierH\x00\x1a\xa4\x01\n\x04Ship\x12"\n\x04ship\x18\x01 \x01(\x0b2\x14.eve.ship.Identifier\x12*\n\x07station\x18\x02 \x01(\x0b2\x17.eve.station.IdentifierH\x00\x12.\n\tstructure\x18\x03 \x01(\x0b2\x19.eve.structure.IdentifierH\x00\x12\x12\n\x08undocked\x18\x04 \x01(\x08H\x00B\x08\n\x06dockedB\x0b\n\tboardableB>Z<github.com/ccpgames/eve-proto-go/generated/eve/character/apib\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, + eve_dot_corporation_dot_corporation__pb2.DESCRIPTOR, + eve_dot_corporation_dot_role__pb2.DESCRIPTOR, + eve_dot_ship_dot_ship__pb2.DESCRIPTOR, + eve_dot_solarsystem_dot_solarsystem__pb2.DESCRIPTOR, + eve_dot_station_dot_station__pb2.DESCRIPTOR, + eve_dot_structure_dot_structure__pb2.DESCRIPTOR]) +_ONLINED_SHIP = _descriptor.Descriptor(name='Ship', full_name='eve.character.api.Onlined.Ship', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='ship', full_name='eve.character.api.Onlined.Ship.ship', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='station', full_name='eve.character.api.Onlined.Ship.station', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='structure', full_name='eve.character.api.Onlined.Ship.structure', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='undocked', full_name='eve.character.api.Onlined.Ship.undocked', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='docked', full_name='eve.character.api.Onlined.Ship.docked', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=618, serialized_end=782) +_ONLINED = _descriptor.Descriptor(name='Onlined', full_name='eve.character.api.Onlined', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.api.Onlined.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.api.Onlined.solar_system', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='ship_deprecated', full_name='eve.character.api.Onlined.ship_deprecated', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options='\x18\x01', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='corporation', full_name='eve.character.api.Onlined.corporation', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='roles', full_name='eve.character.api.Onlined.roles', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='ship', full_name='eve.character.api.Onlined.ship', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='structure', full_name='eve.character.api.Onlined.structure', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_ONLINED_SHIP], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='boardable', full_name='eve.character.api.Onlined.boardable', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=262, serialized_end=795) +_OFFLINED_SHIP = _descriptor.Descriptor(name='Ship', full_name='eve.character.api.Offlined.Ship', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='ship', full_name='eve.character.api.Offlined.Ship.ship', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='station', full_name='eve.character.api.Offlined.Ship.station', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='structure', full_name='eve.character.api.Offlined.Ship.structure', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='undocked', full_name='eve.character.api.Offlined.Ship.undocked', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='docked', full_name='eve.character.api.Offlined.Ship.docked', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=618, serialized_end=782) +_OFFLINED = _descriptor.Descriptor(name='Offlined', full_name='eve.character.api.Offlined', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.api.Offlined.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.api.Offlined.solar_system', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='ship', full_name='eve.character.api.Offlined.ship', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='structure', full_name='eve.character.api.Offlined.structure', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_OFFLINED_SHIP], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='boardable', full_name='eve.character.api.Offlined.boardable', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=798, serialized_end=1183) +_ONLINED_SHIP.fields_by_name['ship'].message_type = eve_dot_ship_dot_ship__pb2._IDENTIFIER +_ONLINED_SHIP.fields_by_name['station'].message_type = eve_dot_station_dot_station__pb2._IDENTIFIER +_ONLINED_SHIP.fields_by_name['structure'].message_type = eve_dot_structure_dot_structure__pb2._IDENTIFIER +_ONLINED_SHIP.containing_type = _ONLINED +_ONLINED_SHIP.oneofs_by_name['docked'].fields.append(_ONLINED_SHIP.fields_by_name['station']) +_ONLINED_SHIP.fields_by_name['station'].containing_oneof = _ONLINED_SHIP.oneofs_by_name['docked'] +_ONLINED_SHIP.oneofs_by_name['docked'].fields.append(_ONLINED_SHIP.fields_by_name['structure']) +_ONLINED_SHIP.fields_by_name['structure'].containing_oneof = _ONLINED_SHIP.oneofs_by_name['docked'] +_ONLINED_SHIP.oneofs_by_name['docked'].fields.append(_ONLINED_SHIP.fields_by_name['undocked']) +_ONLINED_SHIP.fields_by_name['undocked'].containing_oneof = _ONLINED_SHIP.oneofs_by_name['docked'] +_ONLINED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER +_ONLINED.fields_by_name['solar_system'].message_type = eve_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER +_ONLINED.fields_by_name['ship_deprecated'].message_type = eve_dot_ship_dot_ship__pb2._IDENTIFIER +_ONLINED.fields_by_name['corporation'].message_type = eve_dot_corporation_dot_corporation__pb2._IDENTIFIER +_ONLINED.fields_by_name['roles'].message_type = eve_dot_corporation_dot_role__pb2._COLLECTION +_ONLINED.fields_by_name['ship'].message_type = _ONLINED_SHIP +_ONLINED.fields_by_name['structure'].message_type = eve_dot_structure_dot_structure__pb2._IDENTIFIER +_ONLINED.oneofs_by_name['boardable'].fields.append(_ONLINED.fields_by_name['ship']) +_ONLINED.fields_by_name['ship'].containing_oneof = _ONLINED.oneofs_by_name['boardable'] +_ONLINED.oneofs_by_name['boardable'].fields.append(_ONLINED.fields_by_name['structure']) +_ONLINED.fields_by_name['structure'].containing_oneof = _ONLINED.oneofs_by_name['boardable'] +_OFFLINED_SHIP.fields_by_name['ship'].message_type = eve_dot_ship_dot_ship__pb2._IDENTIFIER +_OFFLINED_SHIP.fields_by_name['station'].message_type = eve_dot_station_dot_station__pb2._IDENTIFIER +_OFFLINED_SHIP.fields_by_name['structure'].message_type = eve_dot_structure_dot_structure__pb2._IDENTIFIER +_OFFLINED_SHIP.containing_type = _OFFLINED +_OFFLINED_SHIP.oneofs_by_name['docked'].fields.append(_OFFLINED_SHIP.fields_by_name['station']) +_OFFLINED_SHIP.fields_by_name['station'].containing_oneof = _OFFLINED_SHIP.oneofs_by_name['docked'] +_OFFLINED_SHIP.oneofs_by_name['docked'].fields.append(_OFFLINED_SHIP.fields_by_name['structure']) +_OFFLINED_SHIP.fields_by_name['structure'].containing_oneof = _OFFLINED_SHIP.oneofs_by_name['docked'] +_OFFLINED_SHIP.oneofs_by_name['docked'].fields.append(_OFFLINED_SHIP.fields_by_name['undocked']) +_OFFLINED_SHIP.fields_by_name['undocked'].containing_oneof = _OFFLINED_SHIP.oneofs_by_name['docked'] +_OFFLINED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER +_OFFLINED.fields_by_name['solar_system'].message_type = eve_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER +_OFFLINED.fields_by_name['ship'].message_type = _OFFLINED_SHIP +_OFFLINED.fields_by_name['structure'].message_type = eve_dot_structure_dot_structure__pb2._IDENTIFIER +_OFFLINED.oneofs_by_name['boardable'].fields.append(_OFFLINED.fields_by_name['ship']) +_OFFLINED.fields_by_name['ship'].containing_oneof = _OFFLINED.oneofs_by_name['boardable'] +_OFFLINED.oneofs_by_name['boardable'].fields.append(_OFFLINED.fields_by_name['structure']) +_OFFLINED.fields_by_name['structure'].containing_oneof = _OFFLINED.oneofs_by_name['boardable'] +DESCRIPTOR.message_types_by_name['Onlined'] = _ONLINED +DESCRIPTOR.message_types_by_name['Offlined'] = _OFFLINED +_sym_db.RegisterFileDescriptor(DESCRIPTOR) +Onlined = _reflection.GeneratedProtocolMessageType('Onlined', (_message.Message,), {'Ship': _reflection.GeneratedProtocolMessageType('Ship', (_message.Message,), {'DESCRIPTOR': _ONLINED_SHIP, + '__module__': 'eve.character.api.events_pb2'}), + 'DESCRIPTOR': _ONLINED, + '__module__': 'eve.character.api.events_pb2'}) +_sym_db.RegisterMessage(Onlined) +_sym_db.RegisterMessage(Onlined.Ship) +Offlined = _reflection.GeneratedProtocolMessageType('Offlined', (_message.Message,), {'Ship': _reflection.GeneratedProtocolMessageType('Ship', (_message.Message,), {'DESCRIPTOR': _OFFLINED_SHIP, + '__module__': 'eve.character.api.events_pb2'}), + 'DESCRIPTOR': _OFFLINED, + '__module__': 'eve.character.api.events_pb2'}) +_sym_db.RegisterMessage(Offlined) +_sym_db.RegisterMessage(Offlined.Ship) +DESCRIPTOR._options = None +_ONLINED.fields_by_name['ship_deprecated']._options = None diff --git a/eveProto/generated/eve/character/api_pb2.py b/eveProto/generated/eve/character/api_pb2.py @@ -1,32 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/character/api_pb2.py -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -_sym_db = _symbol_database.Default() -from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 -from eveProto.generated.eve.corporation import corporation_pb2 as eve_dot_corporation_dot_corporation__pb2 -from eveProto.generated.eve.corporation import role_pb2 as eve_dot_corporation_dot_role__pb2 -from eveProto.generated.eve.ship import ship_pb2 as eve_dot_ship_dot_ship__pb2 -from eveProto.generated.eve.solarsystem import solarsystem_pb2 as eve_dot_solarsystem_dot_solarsystem__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/character/api.proto', package='eve.character.api', syntax='proto3', serialized_options='Z<github.com/ccpgames/eve-proto-go/generated/eve/character/api', create_key=_descriptor._internal_create_key, serialized_pb='\n\x17eve/character/api.proto\x12\x11eve.character.api\x1a\x1deve/character/character.proto\x1a!eve/corporation/corporation.proto\x1a\x1aeve/corporation/role.proto\x1a\x13eve/ship/ship.proto\x1a!eve/solarsystem/solarsystem.proto"\xf1\x01\n\x07Onlined\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x12"\n\x04ship\x18\x03 \x01(\x0b2\x14.eve.ship.Identifier\x120\n\x0bcorporation\x18\x04 \x01(\x0b2\x1b.eve.corporation.Identifier\x12/\n\x05roles\x18\x05 \x01(\x0b2 .eve.corporation.role.CollectionB>Z<github.com/ccpgames/eve-proto-go/generated/eve/character/apib\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, - eve_dot_corporation_dot_corporation__pb2.DESCRIPTOR, - eve_dot_corporation_dot_role__pb2.DESCRIPTOR, - eve_dot_ship_dot_ship__pb2.DESCRIPTOR, - eve_dot_solarsystem_dot_solarsystem__pb2.DESCRIPTOR]) -_ONLINED = _descriptor.Descriptor(name='Onlined', full_name='eve.character.api.Onlined', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.api.Onlined.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.api.Onlined.solar_system', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='ship', full_name='eve.character.api.Onlined.ship', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='corporation', full_name='eve.character.api.Onlined.corporation', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='roles', full_name='eve.character.api.Onlined.roles', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=197, serialized_end=438) -_ONLINED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER -_ONLINED.fields_by_name['solar_system'].message_type = eve_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER -_ONLINED.fields_by_name['ship'].message_type = eve_dot_ship_dot_ship__pb2._IDENTIFIER -_ONLINED.fields_by_name['corporation'].message_type = eve_dot_corporation_dot_corporation__pb2._IDENTIFIER -_ONLINED.fields_by_name['roles'].message_type = eve_dot_corporation_dot_role__pb2._COLLECTION -DESCRIPTOR.message_types_by_name['Onlined'] = _ONLINED -_sym_db.RegisterFileDescriptor(DESCRIPTOR) -Onlined = _reflection.GeneratedProtocolMessageType('Onlined', (_message.Message,), {'DESCRIPTOR': _ONLINED, - '__module__': 'eve.character.api_pb2'}) -_sym_db.RegisterMessage(Onlined) -DESCRIPTOR._options = None diff --git a/eveProto/generated/eve/character/location/presence/__init__.py b/eveProto/generated/eve/character/location/presence/__init__.py @@ -1,2 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/character/location/presence/__init__.py -pass diff --git a/eveProto/generated/eve/character/location/presence/api/__init__.py b/eveProto/generated/eve/character/location/presence/api/__init__.py @@ -1,2 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/character/location/presence/api/__init__.py -pass diff --git a/eveProto/generated/eve/character/location/presence/api/events_pb2.py b/eveProto/generated/eve/character/location/presence/api/events_pb2.py @@ -1,65 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/character/location/presence/api/events_pb2.py -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -_sym_db = _symbol_database.Default() -from eveProto.generated.eve.alliance import alliance_pb2 as eve_dot_alliance_dot_alliance__pb2 -from eveProto.generated.eve.bubble.presence import presence_pb2 as eve_dot_bubble_dot_presence_dot_presence__pb2 -from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 -from eveProto.generated.eve.character.location import presence_pb2 as eve_dot_character_dot_location_dot_presence__pb2 -from eveProto.generated.eve.corporation import corporation_pb2 as eve_dot_corporation_dot_corporation__pb2 -from eveProto.generated.eve.faction import faction_pb2 as eve_dot_faction_dot_faction__pb2 -from eveProto.generated.eve.solarsystem import solarsystem_pb2 as eve_dot_solarsystem_dot_solarsystem__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/character/location/presence/api/events.proto', package='eve.character.location.presence.api', syntax='proto3', serialized_options='ZNgithub.com/ccpgames/eve-proto-go/generated/eve/character/location/presence/api', create_key=_descriptor._internal_create_key, serialized_pb='\n0eve/character/location/presence/api/events.proto\x12#eve.character.location.presence.api\x1a\x1beve/alliance/alliance.proto\x1a"eve/bubble/presence/presence.proto\x1a\x1deve/character/character.proto\x1a%eve/character/location/presence.proto\x1a!eve/corporation/corporation.proto\x1a\x19eve/faction/faction.proto\x1a!eve/solarsystem/solarsystem.proto"\xdb\x02\n\x12SolarSystemEntered\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x120\n\x0bcorporation\x18\x03 \x01(\x0b2\x1b.eve.corporation.Identifier\x12\x15\n\x0bno_alliance\x18\x04 \x01(\x08H\x00\x12,\n\x08alliance\x18\x05 \x01(\x0b2\x18.eve.alliance.IdentifierH\x00\x12\x14\n\nno_faction\x18\x06 \x01(\x08H\x01\x12*\n\x07faction\x18\x07 \x01(\x0b2\x17.eve.faction.IdentifierH\x01B\x15\n\x13alliance_membershipB\x14\n\x12faction_membership"t\n\x11SolarSystemExited\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.Identifier"\xec\x01\n\x0cTransitioned\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x128\n\x08previous\x18\x02 \x01(\x0b2&.eve.character.location.presence.State\x127\n\x07current\x18\x03 \x01(\x0b2&.eve.character.location.presence.State\x12;\n\x16current_bubble_members\x18\x04 \x03(\x0b2\x1b.eve.bubble.presence.MemberBPZNgithub.com/ccpgames/eve-proto-go/generated/eve/character/location/presence/apib\x06proto3', dependencies=[eve_dot_alliance_dot_alliance__pb2.DESCRIPTOR, - eve_dot_bubble_dot_presence_dot_presence__pb2.DESCRIPTOR, - eve_dot_character_dot_character__pb2.DESCRIPTOR, - eve_dot_character_dot_location_dot_presence__pb2.DESCRIPTOR, - eve_dot_corporation_dot_corporation__pb2.DESCRIPTOR, - eve_dot_faction_dot_faction__pb2.DESCRIPTOR, - eve_dot_solarsystem_dot_solarsystem__pb2.DESCRIPTOR]) -_SOLARSYSTEMENTERED = _descriptor.Descriptor(name='SolarSystemEntered', full_name='eve.character.location.presence.api.SolarSystemEntered', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.location.presence.api.SolarSystemEntered.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.location.presence.api.SolarSystemEntered.solar_system', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='corporation', full_name='eve.character.location.presence.api.SolarSystemEntered.corporation', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='no_alliance', full_name='eve.character.location.presence.api.SolarSystemEntered.no_alliance', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='alliance', full_name='eve.character.location.presence.api.SolarSystemEntered.alliance', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='no_faction', full_name='eve.character.location.presence.api.SolarSystemEntered.no_faction', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='faction', full_name='eve.character.location.presence.api.SolarSystemEntered.faction', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='alliance_membership', full_name='eve.character.location.presence.api.SolarSystemEntered.alliance_membership', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor(name='faction_membership', full_name='eve.character.location.presence.api.SolarSystemEntered.faction_membership', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=322, serialized_end=669) -_SOLARSYSTEMEXITED = _descriptor.Descriptor(name='SolarSystemExited', full_name='eve.character.location.presence.api.SolarSystemExited', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.location.presence.api.SolarSystemExited.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.location.presence.api.SolarSystemExited.solar_system', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=671, serialized_end=787) -_TRANSITIONED = _descriptor.Descriptor(name='Transitioned', full_name='eve.character.location.presence.api.Transitioned', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.location.presence.api.Transitioned.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='previous', full_name='eve.character.location.presence.api.Transitioned.previous', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='current', full_name='eve.character.location.presence.api.Transitioned.current', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='current_bubble_members', full_name='eve.character.location.presence.api.Transitioned.current_bubble_members', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=790, serialized_end=1026) -_SOLARSYSTEMENTERED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER -_SOLARSYSTEMENTERED.fields_by_name['solar_system'].message_type = eve_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER -_SOLARSYSTEMENTERED.fields_by_name['corporation'].message_type = eve_dot_corporation_dot_corporation__pb2._IDENTIFIER -_SOLARSYSTEMENTERED.fields_by_name['alliance'].message_type = eve_dot_alliance_dot_alliance__pb2._IDENTIFIER -_SOLARSYSTEMENTERED.fields_by_name['faction'].message_type = eve_dot_faction_dot_faction__pb2._IDENTIFIER -_SOLARSYSTEMENTERED.oneofs_by_name['alliance_membership'].fields.append(_SOLARSYSTEMENTERED.fields_by_name['no_alliance']) -_SOLARSYSTEMENTERED.fields_by_name['no_alliance'].containing_oneof = _SOLARSYSTEMENTERED.oneofs_by_name['alliance_membership'] -_SOLARSYSTEMENTERED.oneofs_by_name['alliance_membership'].fields.append(_SOLARSYSTEMENTERED.fields_by_name['alliance']) -_SOLARSYSTEMENTERED.fields_by_name['alliance'].containing_oneof = _SOLARSYSTEMENTERED.oneofs_by_name['alliance_membership'] -_SOLARSYSTEMENTERED.oneofs_by_name['faction_membership'].fields.append(_SOLARSYSTEMENTERED.fields_by_name['no_faction']) -_SOLARSYSTEMENTERED.fields_by_name['no_faction'].containing_oneof = _SOLARSYSTEMENTERED.oneofs_by_name['faction_membership'] -_SOLARSYSTEMENTERED.oneofs_by_name['faction_membership'].fields.append(_SOLARSYSTEMENTERED.fields_by_name['faction']) -_SOLARSYSTEMENTERED.fields_by_name['faction'].containing_oneof = _SOLARSYSTEMENTERED.oneofs_by_name['faction_membership'] -_SOLARSYSTEMEXITED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER -_SOLARSYSTEMEXITED.fields_by_name['solar_system'].message_type = eve_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER -_TRANSITIONED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER -_TRANSITIONED.fields_by_name['previous'].message_type = eve_dot_character_dot_location_dot_presence__pb2._STATE -_TRANSITIONED.fields_by_name['current'].message_type = eve_dot_character_dot_location_dot_presence__pb2._STATE -_TRANSITIONED.fields_by_name['current_bubble_members'].message_type = eve_dot_bubble_dot_presence_dot_presence__pb2._MEMBER -DESCRIPTOR.message_types_by_name['SolarSystemEntered'] = _SOLARSYSTEMENTERED -DESCRIPTOR.message_types_by_name['SolarSystemExited'] = _SOLARSYSTEMEXITED -DESCRIPTOR.message_types_by_name['Transitioned'] = _TRANSITIONED -_sym_db.RegisterFileDescriptor(DESCRIPTOR) -SolarSystemEntered = _reflection.GeneratedProtocolMessageType('SolarSystemEntered', (_message.Message,), {'DESCRIPTOR': _SOLARSYSTEMENTERED, - '__module__': 'eve.character.location.presence.api.events_pb2'}) -_sym_db.RegisterMessage(SolarSystemEntered) -SolarSystemExited = _reflection.GeneratedProtocolMessageType('SolarSystemExited', (_message.Message,), {'DESCRIPTOR': _SOLARSYSTEMEXITED, - '__module__': 'eve.character.location.presence.api.events_pb2'}) -_sym_db.RegisterMessage(SolarSystemExited) -Transitioned = _reflection.GeneratedProtocolMessageType('Transitioned', (_message.Message,), {'DESCRIPTOR': _TRANSITIONED, - '__module__': 'eve.character.location.presence.api.events_pb2'}) -_sym_db.RegisterMessage(Transitioned) -DESCRIPTOR._options = None diff --git a/eveProto/generated/eve/character/location/presence/api/requests_pb2.py b/eveProto/generated/eve/character/location/presence/api/requests_pb2.py @@ -1,25 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/character/location/presence/api/requests_pb2.py -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -_sym_db = _symbol_database.Default() -from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 -from eveProto.generated.eve.character.location import presence_pb2 as eve_dot_character_dot_location_dot_presence__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/character/location/presence/api/requests.proto', package='eve.character.location.presence.api', syntax='proto3', serialized_options='ZNgithub.com/ccpgames/eve-proto-go/generated/eve/character/location/presence/api', create_key=_descriptor._internal_create_key, serialized_pb='\n2eve/character/location/presence/api/requests.proto\x12#eve.character.location.presence.api\x1a\x1deve/character/character.proto\x1a%eve/character/location/presence.proto"C\n\x0fGetStateRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier:\x02\x18\x01"M\n\x10GetStateResponse\x125\n\x05state\x18\x01 \x01(\x0b2&.eve.character.location.presence.State:\x02\x18\x01BPZNgithub.com/ccpgames/eve-proto-go/generated/eve/character/location/presence/apib\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_character_dot_location_dot_presence__pb2.DESCRIPTOR]) -_GETSTATEREQUEST = _descriptor.Descriptor(name='GetStateRequest', full_name='eve.character.location.presence.api.GetStateRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.location.presence.api.GetStateRequest.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=161, serialized_end=228) -_GETSTATERESPONSE = _descriptor.Descriptor(name='GetStateResponse', full_name='eve.character.location.presence.api.GetStateResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='state', full_name='eve.character.location.presence.api.GetStateResponse.state', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=230, serialized_end=307) -_GETSTATEREQUEST.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER -_GETSTATERESPONSE.fields_by_name['state'].message_type = eve_dot_character_dot_location_dot_presence__pb2._STATE -DESCRIPTOR.message_types_by_name['GetStateRequest'] = _GETSTATEREQUEST -DESCRIPTOR.message_types_by_name['GetStateResponse'] = _GETSTATERESPONSE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) -GetStateRequest = _reflection.GeneratedProtocolMessageType('GetStateRequest', (_message.Message,), {'DESCRIPTOR': _GETSTATEREQUEST, - '__module__': 'eve.character.location.presence.api.requests_pb2'}) -_sym_db.RegisterMessage(GetStateRequest) -GetStateResponse = _reflection.GeneratedProtocolMessageType('GetStateResponse', (_message.Message,), {'DESCRIPTOR': _GETSTATERESPONSE, - '__module__': 'eve.character.location.presence.api.requests_pb2'}) -_sym_db.RegisterMessage(GetStateResponse) -DESCRIPTOR._options = None -_GETSTATEREQUEST._options = None -_GETSTATERESPONSE._options = None diff --git a/eveProto/generated/eve/character/location/presence_pb2.py b/eveProto/generated/eve/character/location/presence_pb2.py @@ -1,97 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/character/location/presence_pb2.py -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -_sym_db = _symbol_database.Default() -from eveProto.generated.eve.alliance import alliance_pb2 as eve_dot_alliance_dot_alliance__pb2 -from eveProto.generated.eve.bubble import bubble_pb2 as eve_dot_bubble_dot_bubble__pb2 -from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 -from eveProto.generated.eve.corporation import corporation_pb2 as eve_dot_corporation_dot_corporation__pb2 -from eveProto.generated.eve.faction import faction_pb2 as eve_dot_faction_dot_faction__pb2 -from eveProto.generated.eve.ship import ship_pb2 as eve_dot_ship_dot_ship__pb2 -from eveProto.generated.eve.solarsystem import solarsystem_pb2 as eve_dot_solarsystem_dot_solarsystem__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/character/location/presence.proto', package='eve.character.location.presence', syntax='proto3', serialized_options='ZJgithub.com/ccpgames/eve-proto-go/generated/eve/character/location/presence', create_key=_descriptor._internal_create_key, serialized_pb='\n%eve/character/location/presence.proto\x12\x1feve.character.location.presence\x1a\x1beve/alliance/alliance.proto\x1a\x17eve/bubble/bubble.proto\x1a\x1deve/character/character.proto\x1a!eve/corporation/corporation.proto\x1a\x19eve/faction/faction.proto\x1a\x13eve/ship/ship.proto\x1a!eve/solarsystem/solarsystem.proto"\xdf\x02\n\x12SolarSystemEntered\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x120\n\x0bcorporation\x18\x03 \x01(\x0b2\x1b.eve.corporation.Identifier\x12\x15\n\x0bno_alliance\x18\x04 \x01(\x08H\x00\x12,\n\x08alliance\x18\x05 \x01(\x0b2\x18.eve.alliance.IdentifierH\x00\x12\x14\n\nno_faction\x18\x06 \x01(\x08H\x01\x12*\n\x07faction\x18\x07 \x01(\x0b2\x17.eve.faction.IdentifierH\x01:\x02\x18\x01B\x15\n\x13alliance_membershipB\x14\n\x12faction_membership"x\n\x11SolarSystemExited\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.Identifier:\x02\x18\x01"\x92\x04\n\x05State\x12H\n\x0csolar_system\x18\x01 \x01(\x0b22.eve.character.location.presence.State.SolarSystem\x12=\n\x06bubble\x18\x02 \x01(\x0b2-.eve.character.location.presence.State.Bubble\x129\n\x04ship\x18\x03 \x01(\x0b2+.eve.character.location.presence.State.Ship\x12\x0e\n\x06online\x18\x04 \x01(\x08\x1ap\n\x0bSolarSystem\x126\n\x0fin_solar_system\x18\x01 \x01(\x0b2\x1b.eve.solarsystem.IdentifierH\x00\x12\x1d\n\x13not_in_solar_system\x18\x02 \x01(\x08H\x00B\n\n\x08presence\x1aZ\n\x06Bubble\x12+\n\tin_bubble\x18\x01 \x01(\x0b2\x16.eve.bubble.IdentifierH\x00\x12\x17\n\rnot_in_bubble\x18\x02 \x01(\x08H\x00B\n\n\x08presence\x1ac\n\x04Ship\x12\'\n\x07in_ship\x18\x01 \x01(\x0b2\x14.eve.ship.IdentifierH\x00\x12\x15\n\x0bnot_in_ship\x18\x02 \x01(\x08H\x00\x12\x0f\n\x07cloaked\x18\x03 \x01(\x08B\n\n\x08presence:\x02\x18\x01BLZJgithub.com/ccpgames/eve-proto-go/generated/eve/character/location/presenceb\x06proto3', dependencies=[eve_dot_alliance_dot_alliance__pb2.DESCRIPTOR, - eve_dot_bubble_dot_bubble__pb2.DESCRIPTOR, - eve_dot_character_dot_character__pb2.DESCRIPTOR, - eve_dot_corporation_dot_corporation__pb2.DESCRIPTOR, - eve_dot_faction_dot_faction__pb2.DESCRIPTOR, - eve_dot_ship_dot_ship__pb2.DESCRIPTOR, - eve_dot_solarsystem_dot_solarsystem__pb2.DESCRIPTOR]) -_SOLARSYSTEMENTERED = _descriptor.Descriptor(name='SolarSystemEntered', full_name='eve.character.location.presence.SolarSystemEntered', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.location.presence.SolarSystemEntered.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.location.presence.SolarSystemEntered.solar_system', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='corporation', full_name='eve.character.location.presence.SolarSystemEntered.corporation', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='no_alliance', full_name='eve.character.location.presence.SolarSystemEntered.no_alliance', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='alliance', full_name='eve.character.location.presence.SolarSystemEntered.alliance', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='no_faction', full_name='eve.character.location.presence.SolarSystemEntered.no_faction', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='faction', full_name='eve.character.location.presence.SolarSystemEntered.faction', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='alliance_membership', full_name='eve.character.location.presence.SolarSystemEntered.alliance_membership', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor(name='faction_membership', full_name='eve.character.location.presence.SolarSystemEntered.faction_membership', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=278, serialized_end=629) -_SOLARSYSTEMEXITED = _descriptor.Descriptor(name='SolarSystemExited', full_name='eve.character.location.presence.SolarSystemExited', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.location.presence.SolarSystemExited.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.location.presence.SolarSystemExited.solar_system', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=631, serialized_end=751) -_STATE_SOLARSYSTEM = _descriptor.Descriptor(name='SolarSystem', full_name='eve.character.location.presence.State.SolarSystem', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='in_solar_system', full_name='eve.character.location.presence.State.SolarSystem.in_solar_system', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='not_in_solar_system', full_name='eve.character.location.presence.State.SolarSystem.not_in_solar_system', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='presence', full_name='eve.character.location.presence.State.SolarSystem.presence', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=975, serialized_end=1087) -_STATE_BUBBLE = _descriptor.Descriptor(name='Bubble', full_name='eve.character.location.presence.State.Bubble', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='in_bubble', full_name='eve.character.location.presence.State.Bubble.in_bubble', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='not_in_bubble', full_name='eve.character.location.presence.State.Bubble.not_in_bubble', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='presence', full_name='eve.character.location.presence.State.Bubble.presence', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1089, serialized_end=1179) -_STATE_SHIP = _descriptor.Descriptor(name='Ship', full_name='eve.character.location.presence.State.Ship', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='in_ship', full_name='eve.character.location.presence.State.Ship.in_ship', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='not_in_ship', full_name='eve.character.location.presence.State.Ship.not_in_ship', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='cloaked', full_name='eve.character.location.presence.State.Ship.cloaked', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='presence', full_name='eve.character.location.presence.State.Ship.presence', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1181, serialized_end=1280) -_STATE = _descriptor.Descriptor(name='State', full_name='eve.character.location.presence.State', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.location.presence.State.solar_system', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='bubble', full_name='eve.character.location.presence.State.bubble', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='ship', full_name='eve.character.location.presence.State.ship', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='online', full_name='eve.character.location.presence.State.online', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_STATE_SOLARSYSTEM, _STATE_BUBBLE, _STATE_SHIP], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=754, serialized_end=1284) -_SOLARSYSTEMENTERED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER -_SOLARSYSTEMENTERED.fields_by_name['solar_system'].message_type = eve_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER -_SOLARSYSTEMENTERED.fields_by_name['corporation'].message_type = eve_dot_corporation_dot_corporation__pb2._IDENTIFIER -_SOLARSYSTEMENTERED.fields_by_name['alliance'].message_type = eve_dot_alliance_dot_alliance__pb2._IDENTIFIER -_SOLARSYSTEMENTERED.fields_by_name['faction'].message_type = eve_dot_faction_dot_faction__pb2._IDENTIFIER -_SOLARSYSTEMENTERED.oneofs_by_name['alliance_membership'].fields.append(_SOLARSYSTEMENTERED.fields_by_name['no_alliance']) -_SOLARSYSTEMENTERED.fields_by_name['no_alliance'].containing_oneof = _SOLARSYSTEMENTERED.oneofs_by_name['alliance_membership'] -_SOLARSYSTEMENTERED.oneofs_by_name['alliance_membership'].fields.append(_SOLARSYSTEMENTERED.fields_by_name['alliance']) -_SOLARSYSTEMENTERED.fields_by_name['alliance'].containing_oneof = _SOLARSYSTEMENTERED.oneofs_by_name['alliance_membership'] -_SOLARSYSTEMENTERED.oneofs_by_name['faction_membership'].fields.append(_SOLARSYSTEMENTERED.fields_by_name['no_faction']) -_SOLARSYSTEMENTERED.fields_by_name['no_faction'].containing_oneof = _SOLARSYSTEMENTERED.oneofs_by_name['faction_membership'] -_SOLARSYSTEMENTERED.oneofs_by_name['faction_membership'].fields.append(_SOLARSYSTEMENTERED.fields_by_name['faction']) -_SOLARSYSTEMENTERED.fields_by_name['faction'].containing_oneof = _SOLARSYSTEMENTERED.oneofs_by_name['faction_membership'] -_SOLARSYSTEMEXITED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER -_SOLARSYSTEMEXITED.fields_by_name['solar_system'].message_type = eve_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER -_STATE_SOLARSYSTEM.fields_by_name['in_solar_system'].message_type = eve_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER -_STATE_SOLARSYSTEM.containing_type = _STATE -_STATE_SOLARSYSTEM.oneofs_by_name['presence'].fields.append(_STATE_SOLARSYSTEM.fields_by_name['in_solar_system']) -_STATE_SOLARSYSTEM.fields_by_name['in_solar_system'].containing_oneof = _STATE_SOLARSYSTEM.oneofs_by_name['presence'] -_STATE_SOLARSYSTEM.oneofs_by_name['presence'].fields.append(_STATE_SOLARSYSTEM.fields_by_name['not_in_solar_system']) -_STATE_SOLARSYSTEM.fields_by_name['not_in_solar_system'].containing_oneof = _STATE_SOLARSYSTEM.oneofs_by_name['presence'] -_STATE_BUBBLE.fields_by_name['in_bubble'].message_type = eve_dot_bubble_dot_bubble__pb2._IDENTIFIER -_STATE_BUBBLE.containing_type = _STATE -_STATE_BUBBLE.oneofs_by_name['presence'].fields.append(_STATE_BUBBLE.fields_by_name['in_bubble']) -_STATE_BUBBLE.fields_by_name['in_bubble'].containing_oneof = _STATE_BUBBLE.oneofs_by_name['presence'] -_STATE_BUBBLE.oneofs_by_name['presence'].fields.append(_STATE_BUBBLE.fields_by_name['not_in_bubble']) -_STATE_BUBBLE.fields_by_name['not_in_bubble'].containing_oneof = _STATE_BUBBLE.oneofs_by_name['presence'] -_STATE_SHIP.fields_by_name['in_ship'].message_type = eve_dot_ship_dot_ship__pb2._IDENTIFIER -_STATE_SHIP.containing_type = _STATE -_STATE_SHIP.oneofs_by_name['presence'].fields.append(_STATE_SHIP.fields_by_name['in_ship']) -_STATE_SHIP.fields_by_name['in_ship'].containing_oneof = _STATE_SHIP.oneofs_by_name['presence'] -_STATE_SHIP.oneofs_by_name['presence'].fields.append(_STATE_SHIP.fields_by_name['not_in_ship']) -_STATE_SHIP.fields_by_name['not_in_ship'].containing_oneof = _STATE_SHIP.oneofs_by_name['presence'] -_STATE.fields_by_name['solar_system'].message_type = _STATE_SOLARSYSTEM -_STATE.fields_by_name['bubble'].message_type = _STATE_BUBBLE -_STATE.fields_by_name['ship'].message_type = _STATE_SHIP -DESCRIPTOR.message_types_by_name['SolarSystemEntered'] = _SOLARSYSTEMENTERED -DESCRIPTOR.message_types_by_name['SolarSystemExited'] = _SOLARSYSTEMEXITED -DESCRIPTOR.message_types_by_name['State'] = _STATE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) -SolarSystemEntered = _reflection.GeneratedProtocolMessageType('SolarSystemEntered', (_message.Message,), {'DESCRIPTOR': _SOLARSYSTEMENTERED, - '__module__': 'eve.character.location.presence_pb2'}) -_sym_db.RegisterMessage(SolarSystemEntered) -SolarSystemExited = _reflection.GeneratedProtocolMessageType('SolarSystemExited', (_message.Message,), {'DESCRIPTOR': _SOLARSYSTEMEXITED, - '__module__': 'eve.character.location.presence_pb2'}) -_sym_db.RegisterMessage(SolarSystemExited) -State = _reflection.GeneratedProtocolMessageType('State', (_message.Message,), {'SolarSystem': _reflection.GeneratedProtocolMessageType('SolarSystem', (_message.Message,), {'DESCRIPTOR': _STATE_SOLARSYSTEM, - '__module__': 'eve.character.location.presence_pb2'}), - 'Bubble': _reflection.GeneratedProtocolMessageType('Bubble', (_message.Message,), {'DESCRIPTOR': _STATE_BUBBLE, - '__module__': 'eve.character.location.presence_pb2'}), - 'Ship': _reflection.GeneratedProtocolMessageType('Ship', (_message.Message,), {'DESCRIPTOR': _STATE_SHIP, - '__module__': 'eve.character.location.presence_pb2'}), - 'DESCRIPTOR': _STATE, - '__module__': 'eve.character.location.presence_pb2'}) -_sym_db.RegisterMessage(State) -_sym_db.RegisterMessage(State.SolarSystem) -_sym_db.RegisterMessage(State.Bubble) -_sym_db.RegisterMessage(State.Ship) -DESCRIPTOR._options = None -_SOLARSYSTEMENTERED._options = None -_SOLARSYSTEMEXITED._options = None -_STATE._options = None diff --git a/eveProto/generated/eve/character/logonstatus_pb2.py b/eveProto/generated/eve/character/logonstatus_pb2.py @@ -8,7 +8,7 @@ from eveProto.generated.eve.character import character_pb2 as eve_dot_character_ from eveProto.generated.eve.ship import ship_pb2 as eve_dot_ship_dot_ship__pb2 from eveProto.generated.eve.solarsystem import solarsystem_pb2 as eve_dot_solarsystem_dot_solarsystem__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/character/logonstatus.proto', package='eve.character.logonstatus', syntax='proto3', serialized_options='ZDgithub.com/ccpgames/eve-proto-go/generated/eve/character/logonstatus', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1feve/character/logonstatus.proto\x12\x19eve.character.logonstatus\x1a\x1deve/character/character.proto\x1a\x13eve/ship/ship.proto\x1a!eve/solarsystem/solarsystem.proto\x1a\x1fgoogle/protobuf/timestamp.proto":\n\nGetRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"&\n\x0bGetResponse\x12\x11\n\tis_online\x18\x01 \x01(\x08J\x04\x08\x02\x10\t"?\n\x0fGetCountRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"\'\n\x10GetCountResponse\x12\x13\n\x0blogon_count\x18\x01 \x01(\x03">\n\x0eGetLastRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"\xb2\x01\n\x0fGetLastResponse\x120\n\nlast_logon\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12\x12\n\x08no_logon\x18\x03 \x01(\x08H\x00\x121\n\x0blast_logoff\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01\x12\x13\n\tno_logoff\x18\x05 \x01(\x08H\x01B\x07\n\x05logonB\x08\n\x06logoff"\x92\x01\n\x07Onlined\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x12"\n\x04ship\x18\x03 \x01(\x0b2\x14.eve.ship.Identifier:\x02\x18\x01"k\n\x08Offlined\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.IdentifierBFZDgithub.com/ccpgames/eve-proto-go/generated/eve/character/logonstatusb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/character/logonstatus.proto', package='eve.character.logonstatus', syntax='proto3', serialized_options='ZDgithub.com/ccpgames/eve-proto-go/generated/eve/character/logonstatus', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1feve/character/logonstatus.proto\x12\x19eve.character.logonstatus\x1a\x1deve/character/character.proto\x1a\x13eve/ship/ship.proto\x1a!eve/solarsystem/solarsystem.proto\x1a\x1fgoogle/protobuf/timestamp.proto":\n\nGetRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"&\n\x0bGetResponse\x12\x11\n\tis_online\x18\x01 \x01(\x08J\x04\x08\x02\x10\t"?\n\x0fGetCountRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"\'\n\x10GetCountResponse\x12\x13\n\x0blogon_count\x18\x01 \x01(\x03">\n\x0eGetLastRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"\xb2\x01\n\x0fGetLastResponse\x120\n\nlast_logon\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12\x12\n\x08no_logon\x18\x03 \x01(\x08H\x00\x121\n\x0blast_logoff\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x01\x12\x13\n\tno_logoff\x18\x05 \x01(\x08H\x01B\x07\n\x05logonB\x08\n\x06logoff"\x92\x01\n\x07Onlined\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x12"\n\x04ship\x18\x03 \x01(\x0b2\x14.eve.ship.Identifier:\x02\x18\x01"o\n\x08Offlined\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x121\n\x0csolar_system\x18\x02 \x01(\x0b2\x1b.eve.solarsystem.Identifier:\x02\x18\x01BFZDgithub.com/ccpgames/eve-proto-go/generated/eve/character/logonstatusb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_ship_dot_ship__pb2.DESCRIPTOR, eve_dot_solarsystem_dot_solarsystem__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR]) @@ -22,7 +22,7 @@ _GETLASTRESPONSE = _descriptor.Descriptor(name='GetLastResponse', full_name='eve _descriptor.FieldDescriptor(name='last_logoff', full_name='eve.character.logonstatus.GetLastResponse.last_logoff', index=2, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='no_logoff', full_name='eve.character.logonstatus.GetLastResponse.no_logoff', index=3, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='logon', full_name='eve.character.logonstatus.GetLastResponse.logon', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor(name='logoff', full_name='eve.character.logonstatus.GetLastResponse.logoff', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=453, serialized_end=631) _ONLINED = _descriptor.Descriptor(name='Onlined', full_name='eve.character.logonstatus.Onlined', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.logonstatus.Onlined.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.logonstatus.Onlined.solar_system', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='ship', full_name='eve.character.logonstatus.Onlined.ship', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=634, serialized_end=780) -_OFFLINED = _descriptor.Descriptor(name='Offlined', full_name='eve.character.logonstatus.Offlined', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.logonstatus.Offlined.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.logonstatus.Offlined.solar_system', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=782, serialized_end=889) +_OFFLINED = _descriptor.Descriptor(name='Offlined', full_name='eve.character.logonstatus.Offlined', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.character.logonstatus.Offlined.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='solar_system', full_name='eve.character.logonstatus.Offlined.solar_system', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=782, serialized_end=893) _GETREQUEST.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _GETCOUNTREQUEST.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _GETLASTREQUEST.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER @@ -76,3 +76,4 @@ Offlined = _reflection.GeneratedProtocolMessageType('Offlined', (_message.Messag _sym_db.RegisterMessage(Offlined) DESCRIPTOR._options = None _ONLINED._options = None +_OFFLINED._options = None diff --git a/eveProto/generated/eve/corporation/logo/__init__.py b/eveProto/generated/eve/corporation/logo/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/corporation/logo/__init__.py +pass diff --git a/eveProto/generated/eve/corporation/logo/api/__init__.py b/eveProto/generated/eve/corporation/logo/api/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/corporation/logo/api/__init__.py +pass diff --git a/eveProto/generated/eve/corporation/logo/api/requests_pb2.py b/eveProto/generated/eve/corporation/logo/api/requests_pb2.py @@ -0,0 +1,23 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/corporation/logo/api/requests_pb2.py +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +from eveProto.generated.eve.corporation import corporation_pb2 as eve_dot_corporation_dot_corporation__pb2 +from eveProto.generated.eve.corporation import logo_pb2 as eve_dot_corporation_dot_logo__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/corporation/logo/api/requests.proto', package='eve.corporation.logo.api', syntax='proto3', serialized_options='ZCgithub.com/ccpgames/eve-proto-go/generated/eve/corporation/logo/api', create_key=_descriptor._internal_create_key, serialized_pb='\n\'eve/corporation/logo/api/requests.proto\x12\x18eve.corporation.logo.api\x1a!eve/corporation/corporation.proto\x1a\x1aeve/corporation/logo.proto">\n\nGetRequest\x120\n\x0bcorporation\x18\x01 \x01(\x0b2\x1b.eve.corporation.Identifier"7\n\x0bGetResponse\x12(\n\x04logo\x18\x01 \x01(\x0b2\x1a.eve.corporation.logo.LogoBEZCgithub.com/ccpgames/eve-proto-go/generated/eve/corporation/logo/apib\x06proto3', dependencies=[eve_dot_corporation_dot_corporation__pb2.DESCRIPTOR, eve_dot_corporation_dot_logo__pb2.DESCRIPTOR]) +_GETREQUEST = _descriptor.Descriptor(name='GetRequest', full_name='eve.corporation.logo.api.GetRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='corporation', full_name='eve.corporation.logo.api.GetRequest.corporation', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=132, serialized_end=194) +_GETRESPONSE = _descriptor.Descriptor(name='GetResponse', full_name='eve.corporation.logo.api.GetResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='logo', full_name='eve.corporation.logo.api.GetResponse.logo', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=196, serialized_end=251) +_GETREQUEST.fields_by_name['corporation'].message_type = eve_dot_corporation_dot_corporation__pb2._IDENTIFIER +_GETRESPONSE.fields_by_name['logo'].message_type = eve_dot_corporation_dot_logo__pb2._LOGO +DESCRIPTOR.message_types_by_name['GetRequest'] = _GETREQUEST +DESCRIPTOR.message_types_by_name['GetResponse'] = _GETRESPONSE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) +GetRequest = _reflection.GeneratedProtocolMessageType('GetRequest', (_message.Message,), {'DESCRIPTOR': _GETREQUEST, + '__module__': 'eve.corporation.logo.api.requests_pb2'}) +_sym_db.RegisterMessage(GetRequest) +GetResponse = _reflection.GeneratedProtocolMessageType('GetResponse', (_message.Message,), {'DESCRIPTOR': _GETRESPONSE, + '__module__': 'eve.corporation.logo.api.requests_pb2'}) +_sym_db.RegisterMessage(GetResponse) +DESCRIPTOR._options = None diff --git a/eveProto/generated/eve/cosmetic/market/component/listing/api/events_pb2.py b/eveProto/generated/eve/cosmetic/market/component/listing/api/events_pb2.py @@ -8,7 +8,7 @@ from eveProto.generated.eve.character import character_pb2 as eve_dot_character_ from eveProto.generated.eve.cosmetic.market.component.listing import listing_pb2 as eve_dot_cosmetic_dot_market_dot_component_dot_listing_dot_listing__pb2 from eveProto.generated.eve.cosmetic.market.transaction import transaction_pb2 as eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2 from eveProto.generated.eve.inventory import generic_item_type_pb2 as eve_dot_inventory_dot_generic__item__type__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/market/component/listing/api/events.proto', package='eve.cosmetic.market.component.listing.api', syntax='proto3', serialized_options='ZTgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/component/listing/api', create_key=_descriptor._internal_create_key, serialized_pb='\n6eve/cosmetic/market/component/listing/api/events.proto\x12)eve.cosmetic.market.component.listing.api\x1a\x1deve/character/character.proto\x1a3eve/cosmetic/market/component/listing/listing.proto\x1a1eve/cosmetic/market/transaction/transaction.proto\x1a%eve/inventory/generic_item_type.proto"\x92\x01\n$CompletePurchaseTransactionCommanded\x12(\n\x05buyer\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"7\n\x07Queried\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"\xd2\x01\n\x11PurchaseInitiated\x12(\n\x05buyer\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x12?\n\tcomponent\x18\x03 \x01(\x0b2,.eve.cosmetic.market.component.listing.Entry\x12\x10\n\x08quantity\x18\x04 \x01(\r"R\n\x0ePurchaseFailed\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"\x97\x01\n\x11PurchaseCompleted\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x12@\n\ritems_granted\x18\x02 \x03(\x0b2).eve.inventory.genericitemtype.IdentifierBVZTgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/component/listing/apib\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/market/component/listing/api/events.proto', package='eve.cosmetic.market.component.listing.api', syntax='proto3', serialized_options='ZTgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/component/listing/api', create_key=_descriptor._internal_create_key, serialized_pb='\n6eve/cosmetic/market/component/listing/api/events.proto\x12)eve.cosmetic.market.component.listing.api\x1a\x1deve/character/character.proto\x1a3eve/cosmetic/market/component/listing/listing.proto\x1a1eve/cosmetic/market/transaction/transaction.proto\x1a%eve/inventory/generic_item_type.proto"\x92\x01\n$CompletePurchaseTransactionCommanded\x12(\n\x05buyer\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"7\n\x07Queried\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"\xd2\x01\n\x11PurchaseInitiated\x12(\n\x05buyer\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x12?\n\tcomponent\x18\x03 \x01(\x0b2,.eve.cosmetic.market.component.listing.Entry\x12\x10\n\x08quantity\x18\x04 \x01(\r"R\n\x0ePurchaseFailed\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"\x94\x02\n\x11PurchaseCompleted\x12(\n\x05buyer\x18\x03 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x12?\n\tcomponent\x18\x04 \x01(\x0b2,.eve.cosmetic.market.component.listing.Entry\x12\x10\n\x08quantity\x18\x05 \x01(\r\x12@\n\ritems_granted\x18\x02 \x03(\x0b2).eve.inventory.genericitemtype.IdentifierBVZTgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/component/listing/apib\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_cosmetic_dot_market_dot_component_dot_listing_dot_listing__pb2.DESCRIPTOR, eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2.DESCRIPTOR, eve_dot_inventory_dot_generic__item__type__pb2.DESCRIPTOR]) @@ -19,7 +19,11 @@ _PURCHASEINITIATED = _descriptor.Descriptor(name='PurchaseInitiated', full_name= _descriptor.FieldDescriptor(name='component', full_name='eve.cosmetic.market.component.listing.api.PurchaseInitiated.component', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='quantity', full_name='eve.cosmetic.market.component.listing.api.PurchaseInitiated.quantity', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=482, serialized_end=692) _PURCHASEFAILED = _descriptor.Descriptor(name='PurchaseFailed', full_name='eve.cosmetic.market.component.listing.api.PurchaseFailed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.component.listing.api.PurchaseFailed.transaction', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=694, serialized_end=776) -_PURCHASECOMPLETED = _descriptor.Descriptor(name='PurchaseCompleted', full_name='eve.cosmetic.market.component.listing.api.PurchaseCompleted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.component.listing.api.PurchaseCompleted.transaction', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='items_granted', full_name='eve.cosmetic.market.component.listing.api.PurchaseCompleted.items_granted', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=779, serialized_end=930) +_PURCHASECOMPLETED = _descriptor.Descriptor(name='PurchaseCompleted', full_name='eve.cosmetic.market.component.listing.api.PurchaseCompleted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='buyer', full_name='eve.cosmetic.market.component.listing.api.PurchaseCompleted.buyer', index=0, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.component.listing.api.PurchaseCompleted.transaction', index=1, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='component', full_name='eve.cosmetic.market.component.listing.api.PurchaseCompleted.component', index=2, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='quantity', full_name='eve.cosmetic.market.component.listing.api.PurchaseCompleted.quantity', index=3, number=5, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='items_granted', full_name='eve.cosmetic.market.component.listing.api.PurchaseCompleted.items_granted', index=4, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=779, serialized_end=1055) _COMPLETEPURCHASETRANSACTIONCOMMANDED.fields_by_name['buyer'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _COMPLETEPURCHASETRANSACTIONCOMMANDED.fields_by_name['transaction'].message_type = eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2._IDENTIFIER _QUERIED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER @@ -27,7 +31,9 @@ _PURCHASEINITIATED.fields_by_name['buyer'].message_type = eve_dot_character_dot_ _PURCHASEINITIATED.fields_by_name['transaction'].message_type = eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2._IDENTIFIER _PURCHASEINITIATED.fields_by_name['component'].message_type = eve_dot_cosmetic_dot_market_dot_component_dot_listing_dot_listing__pb2._ENTRY _PURCHASEFAILED.fields_by_name['transaction'].message_type = eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2._IDENTIFIER +_PURCHASECOMPLETED.fields_by_name['buyer'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _PURCHASECOMPLETED.fields_by_name['transaction'].message_type = eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2._IDENTIFIER +_PURCHASECOMPLETED.fields_by_name['component'].message_type = eve_dot_cosmetic_dot_market_dot_component_dot_listing_dot_listing__pb2._ENTRY _PURCHASECOMPLETED.fields_by_name['items_granted'].message_type = eve_dot_inventory_dot_generic__item__type__pb2._IDENTIFIER DESCRIPTOR.message_types_by_name['CompletePurchaseTransactionCommanded'] = _COMPLETEPURCHASETRANSACTIONCOMMANDED DESCRIPTOR.message_types_by_name['Queried'] = _QUERIED diff --git a/eveProto/generated/eve/cosmetic/market/skin/listing/api/admin/requests_pb2.py b/eveProto/generated/eve/cosmetic/market/skin/listing/api/admin/requests_pb2.py @@ -8,14 +8,14 @@ from eveProto.generated.eve.character import character_pb2 as eve_dot_character_ from eveProto.generated.eve.cosmetic.market.skin.listing import listing_pb2 as eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2 from eveProto.generated.eve.quasar.admin import admin_pb2 as eve_dot_quasar_dot_admin_dot_admin__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/market/skin/listing/api/admin/requests.proto', package='eve.cosmetic.market.skin.listing.api.admin', syntax='proto3', serialized_options='ZUgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n9eve/cosmetic/market/skin/listing/api/admin/requests.proto\x12*eve.cosmetic.market.skin.listing.api.admin\x1a\x1deve/character/character.proto\x1a.eve/cosmetic/market/skin/listing/listing.proto\x1a\x1ceve/quasar/admin/admin.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xae\x01\n\x14SetExpirationRequest\x12=\n\x07listing\x18\x01 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier\x12+\n\x07expires\x18\x02 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12*\n\x07context\x18\x03 \x01(\x0b2\x19.eve.quasar.admin.Context"\x17\n\x15SetExpirationResponse"x\n\x1eGetAllListedByCharacterRequest\x12*\n\x07creator\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12*\n\x07context\x18\x02 \x01(\x0b2\x19.eve.quasar.admin.Context"\\\n\x1fGetAllListedByCharacterResponse\x129\n\x08listings\x18\x01 \x03(\x0b2\'.eve.cosmetic.market.skin.listing.EntryBWZUgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/api/adminb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/market/skin/listing/api/admin/requests.proto', package='eve.cosmetic.market.skin.listing.api.admin', syntax='proto3', serialized_options='ZUgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n9eve/cosmetic/market/skin/listing/api/admin/requests.proto\x12*eve.cosmetic.market.skin.listing.api.admin\x1a\x1deve/character/character.proto\x1a.eve/cosmetic/market/skin/listing/listing.proto\x1a\x1ceve/quasar/admin/admin.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xae\x01\n\x14SetExpirationRequest\x12=\n\x07listing\x18\x01 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier\x12+\n\x07expires\x18\x02 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12*\n\x07context\x18\x03 \x01(\x0b2\x19.eve.quasar.admin.Context"\x17\n\x15SetExpirationResponse"|\n\x1eGetAllListedByCharacterRequest\x12*\n\x07creator\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12*\n\x07context\x18\x02 \x01(\x0b2\x19.eve.quasar.admin.Context:\x02\x18\x01"`\n\x1fGetAllListedByCharacterResponse\x129\n\x08listings\x18\x01 \x03(\x0b2\'.eve.cosmetic.market.skin.listing.Entry:\x02\x18\x01BWZUgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/api/adminb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2.DESCRIPTOR, eve_dot_quasar_dot_admin_dot_admin__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR]) _SETEXPIRATIONREQUEST = _descriptor.Descriptor(name='SetExpirationRequest', full_name='eve.cosmetic.market.skin.listing.api.admin.SetExpirationRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='listing', full_name='eve.cosmetic.market.skin.listing.api.admin.SetExpirationRequest.listing', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='expires', full_name='eve.cosmetic.market.skin.listing.api.admin.SetExpirationRequest.expires', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='context', full_name='eve.cosmetic.market.skin.listing.api.admin.SetExpirationRequest.context', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=248, serialized_end=422) _SETEXPIRATIONRESPONSE = _descriptor.Descriptor(name='SetExpirationResponse', full_name='eve.cosmetic.market.skin.listing.api.admin.SetExpirationResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=424, serialized_end=447) -_GETALLLISTEDBYCHARACTERREQUEST = _descriptor.Descriptor(name='GetAllListedByCharacterRequest', full_name='eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='creator', full_name='eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterRequest.creator', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='context', full_name='eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterRequest.context', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=449, serialized_end=569) -_GETALLLISTEDBYCHARACTERRESPONSE = _descriptor.Descriptor(name='GetAllListedByCharacterResponse', full_name='eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='listings', full_name='eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterResponse.listings', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=571, serialized_end=663) +_GETALLLISTEDBYCHARACTERREQUEST = _descriptor.Descriptor(name='GetAllListedByCharacterRequest', full_name='eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='creator', full_name='eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterRequest.creator', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='context', full_name='eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterRequest.context', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=449, serialized_end=573) +_GETALLLISTEDBYCHARACTERRESPONSE = _descriptor.Descriptor(name='GetAllListedByCharacterResponse', full_name='eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='listings', full_name='eve.cosmetic.market.skin.listing.api.admin.GetAllListedByCharacterResponse.listings', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=575, serialized_end=671) _SETEXPIRATIONREQUEST.fields_by_name['listing'].message_type = eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2._IDENTIFIER _SETEXPIRATIONREQUEST.fields_by_name['expires'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP _SETEXPIRATIONREQUEST.fields_by_name['context'].message_type = eve_dot_quasar_dot_admin_dot_admin__pb2._CONTEXT @@ -40,3 +40,5 @@ GetAllListedByCharacterResponse = _reflection.GeneratedProtocolMessageType('GetA '__module__': 'eve.cosmetic.market.skin.listing.api.admin.requests_pb2'}) _sym_db.RegisterMessage(GetAllListedByCharacterResponse) DESCRIPTOR._options = None +_GETALLLISTEDBYCHARACTERREQUEST._options = None +_GETALLLISTEDBYCHARACTERRESPONSE._options = None diff --git a/eveProto/generated/eve/cosmetic/market/skin/listing/api/events_pb2.py b/eveProto/generated/eve/cosmetic/market/skin/listing/api/events_pb2.py @@ -11,7 +11,7 @@ from eveProto.generated.eve.cosmetic.market.skin.search import search_pb2 as eve from eveProto.generated.eve.cosmetic.market.transaction import transaction_pb2 as eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2 from eveProto.generated.eve.cosmetic.ship.skin.thirdparty.license import license_pb2 as eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_license_dot_license__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/market/skin/listing/api/events.proto', package='eve.cosmetic.market.skin.listing.api', syntax='proto3', serialized_options='ZOgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/api', create_key=_descriptor._internal_create_key, serialized_pb='\n1eve/cosmetic/market/skin/listing/api/events.proto\x12$eve.cosmetic.market.skin.listing.api\x1a\x1deve/character/character.proto\x1a eve/cosmetic/market/market.proto\x1a.eve/cosmetic/market/skin/listing/listing.proto\x1a,eve/cosmetic/market/skin/search/search.proto\x1a1eve/cosmetic/market/transaction/transaction.proto\x1a7eve/cosmetic/ship/skin/thirdparty/license/license.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x92\x01\n$CompletePurchaseTransactionCommanded\x12(\n\x05buyer\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"\x98\x01\n)CompleteCreateListingTransactionCommanded\x12)\n\x06seller\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"\xf1\x01\n\x07Queried\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x128\n\x07filters\x18\x02 \x03(\x0b2\'.eve.cosmetic.market.skin.search.Filter\x126\n\x06orders\x18\x03 \x03(\x0b2&.eve.cosmetic.market.skin.search.Order\x12F\n\x0elisting_target\x18\x04 \x01(\x0b2..eve.cosmetic.market.skin.search.ListingTarget"\xc8\x01\n\x11PurchaseInitiated\x12(\n\x05buyer\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x125\n\x04skin\x18\x03 \x01(\x0b2\'.eve.cosmetic.market.skin.listing.Entry\x12\x10\n\x08quantity\x18\x04 \x01(\r"R\n\x0ePurchaseFailed\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"\xf9\x01\n\x11PurchaseCompleted\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x12C\n\x04skin\x18\x02 \x01(\x0b25.eve.cosmetic.ship.skin.thirdparty.license.Identifier\x12+\n\x03tax\x18\x03 \x01(\x0b2\x1e.eve.cosmetic.market.TaxAmount\x120\n\tbuyer_fee\x18\x04 \x01(\x0b2\x1d.eve.cosmetic.market.BuyerFee"\xf8\x01\n\x0fCreateInitiated\x12)\n\x06seller\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x129\n\x04skin\x18\x03 \x01(\x0b2\'.eve.cosmetic.market.skin.listing.EntryB\x02\x18\x01\x12=\n\x07listing\x18\x04 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier"P\n\x0cCreateFailed\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"\x88\x02\n\x0fCreateCompleted\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x12=\n\x07listing\x18\x02 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier\x12@\n\nattributes\x18\x03 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Attributes\x122\n\nbroker_fee\x18\x04 \x01(\x0b2\x1e.eve.cosmetic.market.BrokerFee"\xaf\x02\n\x07Deleted\x128\n\x02id\x18\x01 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier\x12@\n\nattributes\x18\x02 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Attributes\x12D\n\x06reason\x18\x03 \x01(\x0e24.eve.cosmetic.market.skin.listing.api.Deleted.Reason"b\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x12\n\x0eREASON_EXPIRED\x10\x01\x12\x14\n\x10REASON_CANCELLED\x10\x02\x12\x16\n\x12REASON_INVALIDATED\x10\x03"\xd6\x01\n\x11ExpiryTimeChanged\x12=\n\x07listing\x18\x01 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier\x121\n\rexpiry_before\x18\x02 \x01(\x0b2\x1a.google.protobuf.Timestamp\x120\n\x0cexpiry_after\x18\x03 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x0f\n\x05admin\x18\x04 \x01(\x08H\x00B\x0c\n\nchanged_byBQZOgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/apib\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/market/skin/listing/api/events.proto', package='eve.cosmetic.market.skin.listing.api', syntax='proto3', serialized_options='ZOgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/api', create_key=_descriptor._internal_create_key, serialized_pb='\n1eve/cosmetic/market/skin/listing/api/events.proto\x12$eve.cosmetic.market.skin.listing.api\x1a\x1deve/character/character.proto\x1a eve/cosmetic/market/market.proto\x1a.eve/cosmetic/market/skin/listing/listing.proto\x1a,eve/cosmetic/market/skin/search/search.proto\x1a1eve/cosmetic/market/transaction/transaction.proto\x1a7eve/cosmetic/ship/skin/thirdparty/license/license.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x92\x01\n$CompletePurchaseTransactionCommanded\x12(\n\x05buyer\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"\x98\x01\n)CompleteCreateListingTransactionCommanded\x12)\n\x06seller\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"\xf1\x01\n\x07Queried\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x128\n\x07filters\x18\x02 \x03(\x0b2\'.eve.cosmetic.market.skin.search.Filter\x126\n\x06orders\x18\x03 \x03(\x0b2&.eve.cosmetic.market.skin.search.Order\x12F\n\x0elisting_target\x18\x04 \x01(\x0b2..eve.cosmetic.market.skin.search.ListingTarget"\xc8\x01\n\x11PurchaseInitiated\x12(\n\x05buyer\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x125\n\x04skin\x18\x03 \x01(\x0b2\'.eve.cosmetic.market.skin.listing.Entry\x12\x10\n\x08quantity\x18\x04 \x01(\r"R\n\x0ePurchaseFailed\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"\xb1\x03\n\x11PurchaseCompleted\x12(\n\x05buyer\x18\x05 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x128\n\x02id\x18\x06 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier\x12@\n\nattributes\x18\x07 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Attributes\x12\x10\n\x08quantity\x18\x08 \x01(\r\x12C\n\x04skin\x18\x02 \x01(\x0b25.eve.cosmetic.ship.skin.thirdparty.license.Identifier\x12+\n\x03tax\x18\x03 \x01(\x0b2\x1e.eve.cosmetic.market.TaxAmount\x120\n\tbuyer_fee\x18\x04 \x01(\x0b2\x1d.eve.cosmetic.market.BuyerFee"\xf8\x01\n\x0fCreateInitiated\x12)\n\x06seller\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12@\n\x0btransaction\x18\x02 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x129\n\x04skin\x18\x03 \x01(\x0b2\'.eve.cosmetic.market.skin.listing.EntryB\x02\x18\x01\x12=\n\x07listing\x18\x04 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier"P\n\x0cCreateFailed\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier"\x88\x02\n\x0fCreateCompleted\x12@\n\x0btransaction\x18\x01 \x01(\x0b2+.eve.cosmetic.market.transaction.Identifier\x12=\n\x07listing\x18\x02 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier\x12@\n\nattributes\x18\x03 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Attributes\x122\n\nbroker_fee\x18\x04 \x01(\x0b2\x1e.eve.cosmetic.market.BrokerFee"\xaf\x02\n\x07Deleted\x128\n\x02id\x18\x01 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier\x12@\n\nattributes\x18\x02 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Attributes\x12D\n\x06reason\x18\x03 \x01(\x0e24.eve.cosmetic.market.skin.listing.api.Deleted.Reason"b\n\x06Reason\x12\x16\n\x12REASON_UNSPECIFIED\x10\x00\x12\x12\n\x0eREASON_EXPIRED\x10\x01\x12\x14\n\x10REASON_CANCELLED\x10\x02\x12\x16\n\x12REASON_INVALIDATED\x10\x03"\xd6\x01\n\x11ExpiryTimeChanged\x12=\n\x07listing\x18\x01 \x01(\x0b2,.eve.cosmetic.market.skin.listing.Identifier\x121\n\rexpiry_before\x18\x02 \x01(\x0b2\x1a.google.protobuf.Timestamp\x120\n\x0cexpiry_after\x18\x03 \x01(\x0b2\x1a.google.protobuf.Timestamp\x12\x0f\n\x05admin\x18\x04 \x01(\x08H\x00B\x0c\n\nchanged_byBQZOgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/apib\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_cosmetic_dot_market_dot_market__pb2.DESCRIPTOR, eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2.DESCRIPTOR, eve_dot_cosmetic_dot_market_dot_skin_dot_search_dot_search__pb2.DESCRIPTOR, @@ -21,7 +21,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/market/skin/listing/a _DELETED_REASON = _descriptor.EnumDescriptor(name='Reason', full_name='eve.cosmetic.market.skin.listing.api.Deleted.Reason', filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[_descriptor.EnumValueDescriptor(name='REASON_UNSPECIFIED', index=0, number=0, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='REASON_EXPIRED', index=1, number=1, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='REASON_CANCELLED', index=2, number=2, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor(name='REASON_INVALIDATED', index=3, number=3, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options=None, serialized_start=2284, serialized_end=2382) + _descriptor.EnumValueDescriptor(name='REASON_INVALIDATED', index=3, number=3, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options=None, serialized_start=2468, serialized_end=2566) _sym_db.RegisterEnumDescriptor(_DELETED_REASON) _COMPLETEPURCHASETRANSACTIONCOMMANDED = _descriptor.Descriptor(name='CompletePurchaseTransactionCommanded', full_name='eve.cosmetic.market.skin.listing.api.CompletePurchaseTransactionCommanded', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='buyer', full_name='eve.cosmetic.market.skin.listing.api.CompletePurchaseTransactionCommanded.buyer', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.skin.listing.api.CompletePurchaseTransactionCommanded.transaction', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=392, serialized_end=538) _COMPLETECREATELISTINGTRANSACTIONCOMMANDED = _descriptor.Descriptor(name='CompleteCreateListingTransactionCommanded', full_name='eve.cosmetic.market.skin.listing.api.CompleteCreateListingTransactionCommanded', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='seller', full_name='eve.cosmetic.market.skin.listing.api.CompleteCreateListingTransactionCommanded.seller', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.skin.listing.api.CompleteCreateListingTransactionCommanded.transaction', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=541, serialized_end=693) @@ -34,24 +34,28 @@ _PURCHASEINITIATED = _descriptor.Descriptor(name='PurchaseInitiated', full_name= _descriptor.FieldDescriptor(name='skin', full_name='eve.cosmetic.market.skin.listing.api.PurchaseInitiated.skin', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='quantity', full_name='eve.cosmetic.market.skin.listing.api.PurchaseInitiated.quantity', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=940, serialized_end=1140) _PURCHASEFAILED = _descriptor.Descriptor(name='PurchaseFailed', full_name='eve.cosmetic.market.skin.listing.api.PurchaseFailed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.skin.listing.api.PurchaseFailed.transaction', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1142, serialized_end=1224) -_PURCHASECOMPLETED = _descriptor.Descriptor(name='PurchaseCompleted', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.transaction', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='skin', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.skin', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='tax', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.tax', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='buyer_fee', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.buyer_fee', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1227, serialized_end=1476) +_PURCHASECOMPLETED = _descriptor.Descriptor(name='PurchaseCompleted', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='buyer', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.buyer', index=0, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.transaction', index=1, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='id', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.id', index=2, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='attributes', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.attributes', index=3, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='quantity', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.quantity', index=4, number=8, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='skin', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.skin', index=5, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='tax', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.tax', index=6, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='buyer_fee', full_name='eve.cosmetic.market.skin.listing.api.PurchaseCompleted.buyer_fee', index=7, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1227, serialized_end=1660) _CREATEINITIATED = _descriptor.Descriptor(name='CreateInitiated', full_name='eve.cosmetic.market.skin.listing.api.CreateInitiated', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='seller', full_name='eve.cosmetic.market.skin.listing.api.CreateInitiated.seller', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.skin.listing.api.CreateInitiated.transaction', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='skin', full_name='eve.cosmetic.market.skin.listing.api.CreateInitiated.skin', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options='\x18\x01', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='listing', full_name='eve.cosmetic.market.skin.listing.api.CreateInitiated.listing', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1479, serialized_end=1727) -_CREATEFAILED = _descriptor.Descriptor(name='CreateFailed', full_name='eve.cosmetic.market.skin.listing.api.CreateFailed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.skin.listing.api.CreateFailed.transaction', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1729, serialized_end=1809) + _descriptor.FieldDescriptor(name='listing', full_name='eve.cosmetic.market.skin.listing.api.CreateInitiated.listing', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1663, serialized_end=1911) +_CREATEFAILED = _descriptor.Descriptor(name='CreateFailed', full_name='eve.cosmetic.market.skin.listing.api.CreateFailed', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.skin.listing.api.CreateFailed.transaction', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1913, serialized_end=1993) _CREATECOMPLETED = _descriptor.Descriptor(name='CreateCompleted', full_name='eve.cosmetic.market.skin.listing.api.CreateCompleted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='transaction', full_name='eve.cosmetic.market.skin.listing.api.CreateCompleted.transaction', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='listing', full_name='eve.cosmetic.market.skin.listing.api.CreateCompleted.listing', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attributes', full_name='eve.cosmetic.market.skin.listing.api.CreateCompleted.attributes', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='broker_fee', full_name='eve.cosmetic.market.skin.listing.api.CreateCompleted.broker_fee', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1812, serialized_end=2076) -_DELETED = _descriptor.Descriptor(name='Deleted', full_name='eve.cosmetic.market.skin.listing.api.Deleted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='id', full_name='eve.cosmetic.market.skin.listing.api.Deleted.id', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attributes', full_name='eve.cosmetic.market.skin.listing.api.Deleted.attributes', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='reason', full_name='eve.cosmetic.market.skin.listing.api.Deleted.reason', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[_DELETED_REASON], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=2079, serialized_end=2382) + _descriptor.FieldDescriptor(name='broker_fee', full_name='eve.cosmetic.market.skin.listing.api.CreateCompleted.broker_fee', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1996, serialized_end=2260) +_DELETED = _descriptor.Descriptor(name='Deleted', full_name='eve.cosmetic.market.skin.listing.api.Deleted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='id', full_name='eve.cosmetic.market.skin.listing.api.Deleted.id', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attributes', full_name='eve.cosmetic.market.skin.listing.api.Deleted.attributes', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='reason', full_name='eve.cosmetic.market.skin.listing.api.Deleted.reason', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[_DELETED_REASON], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=2263, serialized_end=2566) _EXPIRYTIMECHANGED = _descriptor.Descriptor(name='ExpiryTimeChanged', full_name='eve.cosmetic.market.skin.listing.api.ExpiryTimeChanged', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='listing', full_name='eve.cosmetic.market.skin.listing.api.ExpiryTimeChanged.listing', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='expiry_before', full_name='eve.cosmetic.market.skin.listing.api.ExpiryTimeChanged.expiry_before', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='expiry_after', full_name='eve.cosmetic.market.skin.listing.api.ExpiryTimeChanged.expiry_after', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='admin', full_name='eve.cosmetic.market.skin.listing.api.ExpiryTimeChanged.admin', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='changed_by', full_name='eve.cosmetic.market.skin.listing.api.ExpiryTimeChanged.changed_by', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=2385, serialized_end=2599) + _descriptor.FieldDescriptor(name='admin', full_name='eve.cosmetic.market.skin.listing.api.ExpiryTimeChanged.admin', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='changed_by', full_name='eve.cosmetic.market.skin.listing.api.ExpiryTimeChanged.changed_by', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=2569, serialized_end=2783) _COMPLETEPURCHASETRANSACTIONCOMMANDED.fields_by_name['buyer'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _COMPLETEPURCHASETRANSACTIONCOMMANDED.fields_by_name['transaction'].message_type = eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2._IDENTIFIER _COMPLETECREATELISTINGTRANSACTIONCOMMANDED.fields_by_name['seller'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER @@ -64,7 +68,10 @@ _PURCHASEINITIATED.fields_by_name['buyer'].message_type = eve_dot_character_dot_ _PURCHASEINITIATED.fields_by_name['transaction'].message_type = eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2._IDENTIFIER _PURCHASEINITIATED.fields_by_name['skin'].message_type = eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2._ENTRY _PURCHASEFAILED.fields_by_name['transaction'].message_type = eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2._IDENTIFIER +_PURCHASECOMPLETED.fields_by_name['buyer'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _PURCHASECOMPLETED.fields_by_name['transaction'].message_type = eve_dot_cosmetic_dot_market_dot_transaction_dot_transaction__pb2._IDENTIFIER +_PURCHASECOMPLETED.fields_by_name['id'].message_type = eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2._IDENTIFIER +_PURCHASECOMPLETED.fields_by_name['attributes'].message_type = eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2._ATTRIBUTES _PURCHASECOMPLETED.fields_by_name['skin'].message_type = eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_license_dot_license__pb2._IDENTIFIER _PURCHASECOMPLETED.fields_by_name['tax'].message_type = eve_dot_cosmetic_dot_market_dot_market__pb2._TAXAMOUNT _PURCHASECOMPLETED.fields_by_name['buyer_fee'].message_type = eve_dot_cosmetic_dot_market_dot_market__pb2._BUYERFEE diff --git a/eveProto/generated/eve/cosmetic/market/skin/listing/api/request_pb2.py b/eveProto/generated/eve/cosmetic/market/skin/listing/api/request_pb2.py @@ -8,7 +8,7 @@ from eveProto.generated.eve.character import character_pb2 as eve_dot_character_ from eveProto.generated.eve.cosmetic.market.skin.listing import listing_pb2 as eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2 from eveProto.generated.eve.cosmetic.market.skin.search import search_pb2 as eve_dot_cosmetic_dot_market_dot_skin_dot_search_dot_search__pb2 from eveProto.generated.eve import eve_pb2 as eve_dot_eve__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/market/skin/listing/api/request.proto', package='eve.cosmetic.market.skin.listing.api', syntax='proto3', serialized_options='ZOgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/api', create_key=_descriptor._internal_create_key, serialized_pb='\n2eve/cosmetic/market/skin/listing/api/request.proto\x12$eve.cosmetic.market.skin.listing.api\x1a\x1deve/character/character.proto\x1a.eve/cosmetic/market/skin/listing/listing.proto\x1a,eve/cosmetic/market/skin/search/search.proto\x1a\reve/eve.proto"\xe2\x01\n\rGetAllRequest\x12\x17\n\x04page\x18\x01 \x01(\x0b2\t.eve.Page\x128\n\x07filters\x18\x02 \x03(\x0b2\'.eve.cosmetic.market.skin.search.Filter\x125\n\x05order\x18\x03 \x03(\x0b2&.eve.cosmetic.market.skin.search.Order\x12G\n\x0elisting_target\x18\x04 \x01(\x0b2/.eve.cosmetic.market.skin.listing.ListingTarget"m\n\x0eGetAllResponse\x129\n\x08listings\x18\x01 \x03(\x0b2\'.eve.cosmetic.market.skin.listing.Entry\x12 \n\tnext_page\x18\x02 \x01(\x0b2\r.eve.NextPage"I\n\x19GetSkillBasedLimitRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"+\n\x1aGetSkillBasedLimitResponse\x12\r\n\x05limit\x18\x01 \x01(\rBQZOgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/apib\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/market/skin/listing/api/request.proto', package='eve.cosmetic.market.skin.listing.api', syntax='proto3', serialized_options='ZOgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/api', create_key=_descriptor._internal_create_key, serialized_pb='\n2eve/cosmetic/market/skin/listing/api/request.proto\x12$eve.cosmetic.market.skin.listing.api\x1a\x1deve/character/character.proto\x1a.eve/cosmetic/market/skin/listing/listing.proto\x1a,eve/cosmetic/market/skin/search/search.proto\x1a\reve/eve.proto"\xe2\x01\n\rGetAllRequest\x12\x17\n\x04page\x18\x01 \x01(\x0b2\t.eve.Page\x128\n\x07filters\x18\x02 \x03(\x0b2\'.eve.cosmetic.market.skin.search.Filter\x125\n\x05order\x18\x03 \x03(\x0b2&.eve.cosmetic.market.skin.search.Order\x12G\n\x0elisting_target\x18\x04 \x01(\x0b2/.eve.cosmetic.market.skin.listing.ListingTarget"m\n\x0eGetAllResponse\x129\n\x08listings\x18\x01 \x03(\x0b2\'.eve.cosmetic.market.skin.listing.Entry\x12 \n\tnext_page\x18\x02 \x01(\x0b2\r.eve.NextPage"I\n\x19GetSkillBasedLimitRequest\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"+\n\x1aGetSkillBasedLimitResponse\x12\r\n\x05limit\x18\x01 \x01(\r"L\n\x1eGetAllListedByCharacterRequest\x12*\n\x07creator\x18\x01 \x01(\x0b2\x19.eve.character.Identifier"\\\n\x1fGetAllListedByCharacterResponse\x129\n\x08listings\x18\x01 \x03(\x0b2\'.eve.cosmetic.market.skin.listing.EntryBQZOgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/market/skin/listing/apib\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2.DESCRIPTOR, eve_dot_cosmetic_dot_market_dot_skin_dot_search_dot_search__pb2.DESCRIPTOR, eve_dot_eve__pb2.DESCRIPTOR]) @@ -19,6 +19,8 @@ _GETALLREQUEST = _descriptor.Descriptor(name='GetAllRequest', full_name='eve.cos _GETALLRESPONSE = _descriptor.Descriptor(name='GetAllResponse', full_name='eve.cosmetic.market.skin.listing.api.GetAllResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='listings', full_name='eve.cosmetic.market.skin.listing.api.GetAllResponse.listings', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='next_page', full_name='eve.cosmetic.market.skin.listing.api.GetAllResponse.next_page', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=461, serialized_end=570) _GETSKILLBASEDLIMITREQUEST = _descriptor.Descriptor(name='GetSkillBasedLimitRequest', full_name='eve.cosmetic.market.skin.listing.api.GetSkillBasedLimitRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.cosmetic.market.skin.listing.api.GetSkillBasedLimitRequest.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=572, serialized_end=645) _GETSKILLBASEDLIMITRESPONSE = _descriptor.Descriptor(name='GetSkillBasedLimitResponse', full_name='eve.cosmetic.market.skin.listing.api.GetSkillBasedLimitResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='limit', full_name='eve.cosmetic.market.skin.listing.api.GetSkillBasedLimitResponse.limit', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=647, serialized_end=690) +_GETALLLISTEDBYCHARACTERREQUEST = _descriptor.Descriptor(name='GetAllListedByCharacterRequest', full_name='eve.cosmetic.market.skin.listing.api.GetAllListedByCharacterRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='creator', full_name='eve.cosmetic.market.skin.listing.api.GetAllListedByCharacterRequest.creator', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=692, serialized_end=768) +_GETALLLISTEDBYCHARACTERRESPONSE = _descriptor.Descriptor(name='GetAllListedByCharacterResponse', full_name='eve.cosmetic.market.skin.listing.api.GetAllListedByCharacterResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='listings', full_name='eve.cosmetic.market.skin.listing.api.GetAllListedByCharacterResponse.listings', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=770, serialized_end=862) _GETALLREQUEST.fields_by_name['page'].message_type = eve_dot_eve__pb2._PAGE _GETALLREQUEST.fields_by_name['filters'].message_type = eve_dot_cosmetic_dot_market_dot_skin_dot_search_dot_search__pb2._FILTER _GETALLREQUEST.fields_by_name['order'].message_type = eve_dot_cosmetic_dot_market_dot_skin_dot_search_dot_search__pb2._ORDER @@ -26,10 +28,14 @@ _GETALLREQUEST.fields_by_name['listing_target'].message_type = eve_dot_cosmetic_ _GETALLRESPONSE.fields_by_name['listings'].message_type = eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2._ENTRY _GETALLRESPONSE.fields_by_name['next_page'].message_type = eve_dot_eve__pb2._NEXTPAGE _GETSKILLBASEDLIMITREQUEST.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER +_GETALLLISTEDBYCHARACTERREQUEST.fields_by_name['creator'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER +_GETALLLISTEDBYCHARACTERRESPONSE.fields_by_name['listings'].message_type = eve_dot_cosmetic_dot_market_dot_skin_dot_listing_dot_listing__pb2._ENTRY DESCRIPTOR.message_types_by_name['GetAllRequest'] = _GETALLREQUEST DESCRIPTOR.message_types_by_name['GetAllResponse'] = _GETALLRESPONSE DESCRIPTOR.message_types_by_name['GetSkillBasedLimitRequest'] = _GETSKILLBASEDLIMITREQUEST DESCRIPTOR.message_types_by_name['GetSkillBasedLimitResponse'] = _GETSKILLBASEDLIMITRESPONSE +DESCRIPTOR.message_types_by_name['GetAllListedByCharacterRequest'] = _GETALLLISTEDBYCHARACTERREQUEST +DESCRIPTOR.message_types_by_name['GetAllListedByCharacterResponse'] = _GETALLLISTEDBYCHARACTERRESPONSE _sym_db.RegisterFileDescriptor(DESCRIPTOR) GetAllRequest = _reflection.GeneratedProtocolMessageType('GetAllRequest', (_message.Message,), {'DESCRIPTOR': _GETALLREQUEST, '__module__': 'eve.cosmetic.market.skin.listing.api.request_pb2'}) @@ -43,4 +49,10 @@ _sym_db.RegisterMessage(GetSkillBasedLimitRequest) GetSkillBasedLimitResponse = _reflection.GeneratedProtocolMessageType('GetSkillBasedLimitResponse', (_message.Message,), {'DESCRIPTOR': _GETSKILLBASEDLIMITRESPONSE, '__module__': 'eve.cosmetic.market.skin.listing.api.request_pb2'}) _sym_db.RegisterMessage(GetSkillBasedLimitResponse) +GetAllListedByCharacterRequest = _reflection.GeneratedProtocolMessageType('GetAllListedByCharacterRequest', (_message.Message,), {'DESCRIPTOR': _GETALLLISTEDBYCHARACTERREQUEST, + '__module__': 'eve.cosmetic.market.skin.listing.api.request_pb2'}) +_sym_db.RegisterMessage(GetAllListedByCharacterRequest) +GetAllListedByCharacterResponse = _reflection.GeneratedProtocolMessageType('GetAllListedByCharacterResponse', (_message.Message,), {'DESCRIPTOR': _GETALLLISTEDBYCHARACTERRESPONSE, + '__module__': 'eve.cosmetic.market.skin.listing.api.request_pb2'}) +_sym_db.RegisterMessage(GetAllListedByCharacterResponse) DESCRIPTOR._options = None diff --git a/eveProto/generated/eve/cosmetic/ship/skin/thirdparty/component/license/finite/api/events_pb2.py b/eveProto/generated/eve/cosmetic/ship/skin/thirdparty/component/license/finite/api/events_pb2.py @@ -5,9 +5,11 @@ from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from eveProto.generated.eve.cosmetic.ship.skin.thirdparty.component.license.finite import finite_pb2 as eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_component_dot_license_dot_finite_dot_finite__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/ship/skin/thirdparty/component/license/finite/api/events.proto', package='eve.cosmetic.ship.skin.thirdparty.component.license.finite.api', syntax='proto3', serialized_options='Zigithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/ship/skin/thirdparty/component/license/finite/api', create_key=_descriptor._internal_create_key, serialized_pb='\nKeve/cosmetic/ship/skin/thirdparty/component/license/finite/api/events.proto\x12>eve.cosmetic.ship.skin.thirdparty.component.license.finite.api\x1aGeve/cosmetic/ship/skin/thirdparty/component/license/finite/finite.proto"_\n\x04Used\x12W\n\x07license\x18\x01 \x01(\x0b2F.eve.cosmetic.ship.skin.thirdparty.component.license.finite.IdentifierBkZigithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/ship/skin/thirdparty/component/license/finite/apib\x06proto3', dependencies=[eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_component_dot_license_dot_finite_dot_finite__pb2.DESCRIPTOR]) -_USED = _descriptor.Descriptor(name='Used', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.Used', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='license', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.Used.license', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=216, serialized_end=311) +from eveProto.generated.eve.cosmetic.ship.skin.thirdparty.sequencing.job import job_pb2 as eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_sequencing_dot_job_dot_job__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/ship/skin/thirdparty/component/license/finite/api/events.proto', package='eve.cosmetic.ship.skin.thirdparty.component.license.finite.api', syntax='proto3', serialized_options='Zigithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/ship/skin/thirdparty/component/license/finite/api', create_key=_descriptor._internal_create_key, serialized_pb='\nKeve/cosmetic/ship/skin/thirdparty/component/license/finite/api/events.proto\x12>eve.cosmetic.ship.skin.thirdparty.component.license.finite.api\x1aGeve/cosmetic/ship/skin/thirdparty/component/license/finite/finite.proto\x1a:eve/cosmetic/ship/skin/thirdparty/sequencing/job/job.proto"\xbc\x01\n\x04Used\x12W\n\x07license\x18\x01 \x01(\x0b2F.eve.cosmetic.ship.skin.thirdparty.component.license.finite.Identifier\x12\x10\n\x08quantity\x18\x02 \x01(\x04\x12I\n\x03job\x18\x03 \x01(\x0b2<.eve.cosmetic.ship.skin.thirdparty.sequencing.job.IdentifierBkZigithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/ship/skin/thirdparty/component/license/finite/apib\x06proto3', dependencies=[eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_component_dot_license_dot_finite_dot_finite__pb2.DESCRIPTOR, eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_sequencing_dot_job_dot_job__pb2.DESCRIPTOR]) +_USED = _descriptor.Descriptor(name='Used', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.Used', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='license', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.Used.license', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='quantity', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.Used.quantity', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='job', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.finite.api.Used.job', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=277, serialized_end=465) _USED.fields_by_name['license'].message_type = eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_component_dot_license_dot_finite_dot_finite__pb2._IDENTIFIER +_USED.fields_by_name['job'].message_type = eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_sequencing_dot_job_dot_job__pb2._IDENTIFIER DESCRIPTOR.message_types_by_name['Used'] = _USED _sym_db.RegisterFileDescriptor(DESCRIPTOR) Used = _reflection.GeneratedProtocolMessageType('Used', (_message.Message,), {'DESCRIPTOR': _USED, diff --git a/eveProto/generated/eve/cosmetic/ship/skin/thirdparty/component/license/infinite/api/events_pb2.py b/eveProto/generated/eve/cosmetic/ship/skin/thirdparty/component/license/infinite/api/events_pb2.py @@ -5,9 +5,11 @@ from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from eveProto.generated.eve.cosmetic.ship.skin.thirdparty.component.license.infinite import infinite_pb2 as eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_component_dot_license_dot_infinite_dot_infinite__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/ship/skin/thirdparty/component/license/infinite/api/events.proto', package='eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api', syntax='proto3', serialized_options='Zkgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/ship/skin/thirdparty/component/license/infinite/api', create_key=_descriptor._internal_create_key, serialized_pb='\nMeve/cosmetic/ship/skin/thirdparty/component/license/infinite/api/events.proto\x12@eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api\x1aKeve/cosmetic/ship/skin/thirdparty/component/license/infinite/infinite.proto"a\n\x04Used\x12Y\n\x07license\x18\x01 \x01(\x0b2H.eve.cosmetic.ship.skin.thirdparty.component.license.infinite.IdentifierBmZkgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/ship/skin/thirdparty/component/license/infinite/apib\x06proto3', dependencies=[eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_component_dot_license_dot_infinite_dot_infinite__pb2.DESCRIPTOR]) -_USED = _descriptor.Descriptor(name='Used', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.Used', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='license', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.Used.license', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=224, serialized_end=321) +from eveProto.generated.eve.cosmetic.ship.skin.thirdparty.sequencing.job import job_pb2 as eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_sequencing_dot_job_dot_job__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/cosmetic/ship/skin/thirdparty/component/license/infinite/api/events.proto', package='eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api', syntax='proto3', serialized_options='Zkgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/ship/skin/thirdparty/component/license/infinite/api', create_key=_descriptor._internal_create_key, serialized_pb='\nMeve/cosmetic/ship/skin/thirdparty/component/license/infinite/api/events.proto\x12@eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api\x1aKeve/cosmetic/ship/skin/thirdparty/component/license/infinite/infinite.proto\x1a:eve/cosmetic/ship/skin/thirdparty/sequencing/job/job.proto"\xac\x01\n\x04Used\x12Y\n\x07license\x18\x01 \x01(\x0b2H.eve.cosmetic.ship.skin.thirdparty.component.license.infinite.Identifier\x12I\n\x03job\x18\x02 \x01(\x0b2<.eve.cosmetic.ship.skin.thirdparty.sequencing.job.IdentifierBmZkgithub.com/ccpgames/eve-proto-go/generated/eve/cosmetic/ship/skin/thirdparty/component/license/infinite/apib\x06proto3', dependencies=[eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_component_dot_license_dot_infinite_dot_infinite__pb2.DESCRIPTOR, eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_sequencing_dot_job_dot_job__pb2.DESCRIPTOR]) +_USED = _descriptor.Descriptor(name='Used', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.Used', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='license', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.Used.license', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='job', full_name='eve.cosmetic.ship.skin.thirdparty.component.license.infinite.api.Used.job', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=285, serialized_end=457) _USED.fields_by_name['license'].message_type = eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_component_dot_license_dot_infinite_dot_infinite__pb2._IDENTIFIER +_USED.fields_by_name['job'].message_type = eve_dot_cosmetic_dot_ship_dot_skin_dot_thirdparty_dot_sequencing_dot_job_dot_job__pb2._IDENTIFIER DESCRIPTOR.message_types_by_name['Used'] = _USED _sym_db.RegisterFileDescriptor(DESCRIPTOR) Used = _reflection.GeneratedProtocolMessageType('Used', (_message.Message,), {'DESCRIPTOR': _USED, diff --git a/eveProto/generated/eve/deadspace/abyssal/event_pb2.py b/eveProto/generated/eve/deadspace/abyssal/event_pb2.py @@ -7,16 +7,28 @@ _sym_db = _symbol_database.Default() from eveProto.generated.eve.character import character_pb2 as eve_dot_character_dot_character__pb2 from eveProto.generated.eve.deadspace.abyssal import filament_type_pb2 as eve_dot_deadspace_dot_abyssal_dot_filament__type__pb2 from eveProto.generated.eve.deadspace.abyssal import weather_type_pb2 as eve_dot_deadspace_dot_abyssal_dot_weather__type__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/deadspace/abyssal/event.proto', package='eve.deadspace.abyssal.event', syntax='proto3', serialized_options='ZFgithub.com/ccpgames/eve-proto-go/generated/eve/deadspace/abyssal/event', create_key=_descriptor._internal_create_key, serialized_pb='\n!eve/deadspace/abyssal/event.proto\x12\x1beve.deadspace.abyssal.event\x1a\x1deve/character/character.proto\x1a)eve/deadspace/abyssal/filament_type.proto\x1a(eve/deadspace/abyssal/weather_type.proto"\x88\x01\n\x11FilamentActivated\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12E\n\rfilament_used\x18\x02 \x01(\x0b2..eve.deadspace.abyssal.filamenttype.Identifier"\xa6\x01\n\x12CharacterCompleted\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12\r\n\x05level\x18\x03 \x01(\r\x12>\n\x07weather\x18\x04 \x01(\x0b2-.eve.deadspace.abyssal.weathertype.IdentifierJ\x04\x08\x02\x10\x03R\rfilament_used"\x8f\x01\n\x10CharacterEntered\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12\r\n\x05level\x18\x02 \x01(\r\x12>\n\x07weather\x18\x03 \x01(\x0b2-.eve.deadspace.abyssal.weathertype.IdentifierBHZFgithub.com/ccpgames/eve-proto-go/generated/eve/deadspace/abyssal/eventb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, eve_dot_deadspace_dot_abyssal_dot_filament__type__pb2.DESCRIPTOR, eve_dot_deadspace_dot_abyssal_dot_weather__type__pb2.DESCRIPTOR]) -_FILAMENTACTIVATED = _descriptor.Descriptor(name='FilamentActivated', full_name='eve.deadspace.abyssal.event.FilamentActivated', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.deadspace.abyssal.event.FilamentActivated.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='filament_used', full_name='eve.deadspace.abyssal.event.FilamentActivated.filament_used', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=183, serialized_end=319) -_CHARACTERCOMPLETED = _descriptor.Descriptor(name='CharacterCompleted', full_name='eve.deadspace.abyssal.event.CharacterCompleted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.deadspace.abyssal.event.CharacterCompleted.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='level', full_name='eve.deadspace.abyssal.event.CharacterCompleted.level', index=1, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='weather', full_name='eve.deadspace.abyssal.event.CharacterCompleted.weather', index=2, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=322, serialized_end=488) -_CHARACTERENTERED = _descriptor.Descriptor(name='CharacterEntered', full_name='eve.deadspace.abyssal.event.CharacterEntered', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.deadspace.abyssal.event.CharacterEntered.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='level', full_name='eve.deadspace.abyssal.event.CharacterEntered.level', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='weather', full_name='eve.deadspace.abyssal.event.CharacterEntered.weather', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=491, serialized_end=634) +from eveProto.generated.eve.ship import ship_type_pb2 as eve_dot_ship_dot_ship__type__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/deadspace/abyssal/event.proto', package='eve.deadspace.abyssal.event', syntax='proto3', serialized_options='ZFgithub.com/ccpgames/eve-proto-go/generated/eve/deadspace/abyssal/event', create_key=_descriptor._internal_create_key, serialized_pb='\n!eve/deadspace/abyssal/event.proto\x12\x1beve.deadspace.abyssal.event\x1a\x1deve/character/character.proto\x1a)eve/deadspace/abyssal/filament_type.proto\x1a(eve/deadspace/abyssal/weather_type.proto\x1a\x18eve/ship/ship_type.proto"\x88\x01\n\x11FilamentActivated\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12E\n\rfilament_used\x18\x02 \x01(\x0b2..eve.deadspace.abyssal.filamenttype.Identifier"\xd3\x01\n\x12CharacterCompleted\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12\r\n\x05level\x18\x03 \x01(\r\x12>\n\x07weather\x18\x04 \x01(\x0b2-.eve.deadspace.abyssal.weathertype.Identifier\x12+\n\tship_type\x18\x05 \x01(\x0b2\x18.eve.shiptype.IdentifierJ\x04\x08\x02\x10\x03R\rfilament_used"\xbc\x01\n\x10CharacterEntered\x12,\n\tcharacter\x18\x01 \x01(\x0b2\x19.eve.character.Identifier\x12\r\n\x05level\x18\x02 \x01(\r\x12>\n\x07weather\x18\x03 \x01(\x0b2-.eve.deadspace.abyssal.weathertype.Identifier\x12+\n\tship_type\x18\x04 \x01(\x0b2\x18.eve.shiptype.IdentifierBHZFgithub.com/ccpgames/eve-proto-go/generated/eve/deadspace/abyssal/eventb\x06proto3', dependencies=[eve_dot_character_dot_character__pb2.DESCRIPTOR, + eve_dot_deadspace_dot_abyssal_dot_filament__type__pb2.DESCRIPTOR, + eve_dot_deadspace_dot_abyssal_dot_weather__type__pb2.DESCRIPTOR, + eve_dot_ship_dot_ship__type__pb2.DESCRIPTOR]) +_FILAMENTACTIVATED = _descriptor.Descriptor(name='FilamentActivated', full_name='eve.deadspace.abyssal.event.FilamentActivated', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.deadspace.abyssal.event.FilamentActivated.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='filament_used', full_name='eve.deadspace.abyssal.event.FilamentActivated.filament_used', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=209, serialized_end=345) +_CHARACTERCOMPLETED = _descriptor.Descriptor(name='CharacterCompleted', full_name='eve.deadspace.abyssal.event.CharacterCompleted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.deadspace.abyssal.event.CharacterCompleted.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='level', full_name='eve.deadspace.abyssal.event.CharacterCompleted.level', index=1, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='weather', full_name='eve.deadspace.abyssal.event.CharacterCompleted.weather', index=2, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='ship_type', full_name='eve.deadspace.abyssal.event.CharacterCompleted.ship_type', index=3, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=348, serialized_end=559) +_CHARACTERENTERED = _descriptor.Descriptor(name='CharacterEntered', full_name='eve.deadspace.abyssal.event.CharacterEntered', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve.deadspace.abyssal.event.CharacterEntered.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='level', full_name='eve.deadspace.abyssal.event.CharacterEntered.level', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='weather', full_name='eve.deadspace.abyssal.event.CharacterEntered.weather', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='ship_type', full_name='eve.deadspace.abyssal.event.CharacterEntered.ship_type', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=562, serialized_end=750) _FILAMENTACTIVATED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _FILAMENTACTIVATED.fields_by_name['filament_used'].message_type = eve_dot_deadspace_dot_abyssal_dot_filament__type__pb2._IDENTIFIER _CHARACTERCOMPLETED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _CHARACTERCOMPLETED.fields_by_name['weather'].message_type = eve_dot_deadspace_dot_abyssal_dot_weather__type__pb2._IDENTIFIER +_CHARACTERCOMPLETED.fields_by_name['ship_type'].message_type = eve_dot_ship_dot_ship__type__pb2._IDENTIFIER _CHARACTERENTERED.fields_by_name['character'].message_type = eve_dot_character_dot_character__pb2._IDENTIFIER _CHARACTERENTERED.fields_by_name['weather'].message_type = eve_dot_deadspace_dot_abyssal_dot_weather__type__pb2._IDENTIFIER +_CHARACTERENTERED.fields_by_name['ship_type'].message_type = eve_dot_ship_dot_ship__type__pb2._IDENTIFIER DESCRIPTOR.message_types_by_name['FilamentActivated'] = _FILAMENTACTIVATED DESCRIPTOR.message_types_by_name['CharacterCompleted'] = _CHARACTERCOMPLETED DESCRIPTOR.message_types_by_name['CharacterEntered'] = _CHARACTERENTERED diff --git a/eveProto/generated/eve/inventory/meta_group_pb2.py b/eveProto/generated/eve/inventory/meta_group_pb2.py @@ -0,0 +1,14 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/inventory/meta_group_pb2.py +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/inventory/meta_group.proto', package='eve.inventory.meta_group', syntax='proto3', serialized_options='ZCgithub.com/ccpgames/eve-proto-go/generated/eve/inventory/meta_group', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1eeve/inventory/meta_group.proto\x12\x18eve.inventory.meta_group" \n\nIdentifier\x12\x12\n\nsequential\x18\x01 \x01(\rBEZCgithub.com/ccpgames/eve-proto-go/generated/eve/inventory/meta_groupb\x06proto3') +_IDENTIFIER = _descriptor.Descriptor(name='Identifier', full_name='eve.inventory.meta_group.Identifier', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='sequential', full_name='eve.inventory.meta_group.Identifier.sequential', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=60, serialized_end=92) +DESCRIPTOR.message_types_by_name['Identifier'] = _IDENTIFIER +_sym_db.RegisterFileDescriptor(DESCRIPTOR) +Identifier = _reflection.GeneratedProtocolMessageType('Identifier', (_message.Message,), {'DESCRIPTOR': _IDENTIFIER, + '__module__': 'eve.inventory.meta_group_pb2'}) +_sym_db.RegisterMessage(Identifier) +DESCRIPTOR._options = None diff --git a/eveProto/generated/eve/pvp/ship/api_pb2.py b/eveProto/generated/eve/pvp/ship/api_pb2.py @@ -13,7 +13,7 @@ from eveProto.generated.eve.region import region_pb2 as eve_dot_region_dot_regio from eveProto.generated.eve.ship.drone import drone_type_pb2 as eve_dot_ship_dot_drone_dot_drone__type__pb2 from eveProto.generated.eve.ship.module import charge_type_pb2 as eve_dot_ship_dot_module_dot_charge__type__pb2 from eveProto.generated.eve.solarsystem import solarsystem_pb2 as eve_dot_solarsystem_dot_solarsystem__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/pvp/ship/api.proto', package='eve.pvp.ship.api', syntax='proto3', serialized_options='Z;github.com/ccpgames/eve-proto-go/generated/eve/pvp/ship/api', create_key=_descriptor._internal_create_key, serialized_pb='\n\x16eve/pvp/ship/api.proto\x12\x10eve.pvp.ship.api\x1a%eve/constellation/constellation.proto\x1a\x1eeve/fighter/fighter_type.proto\x1a\x1feve/membership/membership.proto\x1a\x1ceve/module/module_type.proto\x1a\x11eve/pvp/pvp.proto\x1a\x17eve/region/region.proto\x1a\x1feve/ship/drone/drone_type.proto\x1a!eve/ship/module/charge_type.proto\x1a!eve/solarsystem/solarsystem.proto"\xf0\x02\n\tDestroyed\x12\'\n\tdestroyer\x18\x01 \x01(\x0b2\x14.eve.pvp.Participant\x12\'\n\tdestroyed\x18\x02 \x01(\x0b2\x14.eve.pvp.Participant\x12?\n\x14destroyed_membership\x18\x03 \x01(\x0b2\x1d.eve.membership.AllMembershipB\x02\x18\x01\x121\n\x0csolar_system\x18\x04 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x12?\n\x14destroyer_membership\x18\x05 \x01(\x0b2\x1d.eve.membership.AllMembershipB\x02\x18\x01\x124\n\rconstellation\x18\x06 \x01(\x0b2\x1d.eve.constellation.Identifier\x12&\n\x06region\x18\x07 \x01(\x0b2\x16.eve.region.Identifier"\xce\x05\n\x07Damaged\x12&\n\x08attacker\x18\x01 \x01(\x0b2\x14.eve.pvp.Participant\x12&\n\x08attacked\x18\x02 \x01(\x0b2\x14.eve.pvp.Participant\x12>\n\x13attacked_membership\x18\x03 \x01(\x0b2\x1d.eve.membership.AllMembershipB\x02\x18\x01\x121\n\x0csolar_system\x18\x04 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x12\x1b\n\x13damage_amount_dealt\x18\x05 \x01(\r\x124\n\rconstellation\x18\x06 \x01(\x0b2\x1d.eve.constellation.Identifier\x12&\n\x06region\x18\x07 \x01(\x0b2\x16.eve.region.Identifier\x12@\n\x0edamage_sources\x18\x08 \x03(\x0b2(.eve.pvp.ship.api.Damaged.DamageBySource\x1a\xc2\x02\n\x0eDamageBySource\x12\x1b\n\x13damage_amount_dealt\x18\x01 \x01(\r\x12\x1b\n\x11unregistered_type\x18\x02 \x01(\x04H\x00\x121\n\x0bmodule_type\x18\x03 \x01(\x0b2\x1a.eve.moduletype.IdentifierH\x00\x12;\n\tammo_type\x18\x04 \x01(\x0b2&.eve.ship.module.chargetype.IdentifierH\x00\x12:\n\ndrone_type\x18\x05 \x01(\x0b2$.eve.ship.drone.dronetype.IdentifierH\x00\x12;\n\x0cfighter_type\x18\x06 \x01(\x0b2#.eve.fighter.fightertype.IdentifierH\x00B\r\n\x0bsource_typeB=Z;github.com/ccpgames/eve-proto-go/generated/eve/pvp/ship/apib\x06proto3', dependencies=[eve_dot_constellation_dot_constellation__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/pvp/ship/api.proto', package='eve.pvp.ship.api', syntax='proto3', serialized_options='Z;github.com/ccpgames/eve-proto-go/generated/eve/pvp/ship/api', create_key=_descriptor._internal_create_key, serialized_pb='\n\x16eve/pvp/ship/api.proto\x12\x10eve.pvp.ship.api\x1a%eve/constellation/constellation.proto\x1a\x1eeve/fighter/fighter_type.proto\x1a\x1feve/membership/membership.proto\x1a\x1ceve/module/module_type.proto\x1a\x11eve/pvp/pvp.proto\x1a\x17eve/region/region.proto\x1a\x1feve/ship/drone/drone_type.proto\x1a!eve/ship/module/charge_type.proto\x1a!eve/solarsystem/solarsystem.proto"\xd2\x03\n\tDestroyed\x12\'\n\tdestroyer\x18\x01 \x01(\x0b2\x14.eve.pvp.Participant\x12\'\n\tdestroyed\x18\x02 \x01(\x0b2\x14.eve.pvp.Participant\x12?\n\x14destroyed_membership\x18\x03 \x01(\x0b2\x1d.eve.membership.AllMembershipB\x02\x18\x01\x121\n\x0csolar_system\x18\x04 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x12?\n\x14destroyer_membership\x18\x05 \x01(\x0b2\x1d.eve.membership.AllMembershipB\x02\x18\x01\x124\n\rconstellation\x18\x06 \x01(\x0b2\x1d.eve.constellation.Identifier\x12&\n\x06region\x18\x07 \x01(\x0b2\x16.eve.region.Identifier\x12\x1d\n\x13executioner_unknown\x18\x08 \x01(\x08H\x00\x122\n\x12executioner_player\x18\t \x01(\x0b2\x14.eve.pvp.ParticipantH\x00B\r\n\x0bexecutioner"\xce\x05\n\x07Damaged\x12&\n\x08attacker\x18\x01 \x01(\x0b2\x14.eve.pvp.Participant\x12&\n\x08attacked\x18\x02 \x01(\x0b2\x14.eve.pvp.Participant\x12>\n\x13attacked_membership\x18\x03 \x01(\x0b2\x1d.eve.membership.AllMembershipB\x02\x18\x01\x121\n\x0csolar_system\x18\x04 \x01(\x0b2\x1b.eve.solarsystem.Identifier\x12\x1b\n\x13damage_amount_dealt\x18\x05 \x01(\r\x124\n\rconstellation\x18\x06 \x01(\x0b2\x1d.eve.constellation.Identifier\x12&\n\x06region\x18\x07 \x01(\x0b2\x16.eve.region.Identifier\x12@\n\x0edamage_sources\x18\x08 \x03(\x0b2(.eve.pvp.ship.api.Damaged.DamageBySource\x1a\xc2\x02\n\x0eDamageBySource\x12\x1b\n\x13damage_amount_dealt\x18\x01 \x01(\r\x12\x1b\n\x11unregistered_type\x18\x02 \x01(\x04H\x00\x121\n\x0bmodule_type\x18\x03 \x01(\x0b2\x1a.eve.moduletype.IdentifierH\x00\x12;\n\tammo_type\x18\x04 \x01(\x0b2&.eve.ship.module.chargetype.IdentifierH\x00\x12:\n\ndrone_type\x18\x05 \x01(\x0b2$.eve.ship.drone.dronetype.IdentifierH\x00\x12;\n\x0cfighter_type\x18\x06 \x01(\x0b2#.eve.fighter.fightertype.IdentifierH\x00B\r\n\x0bsource_typeB=Z;github.com/ccpgames/eve-proto-go/generated/eve/pvp/ship/apib\x06proto3', dependencies=[eve_dot_constellation_dot_constellation__pb2.DESCRIPTOR, eve_dot_fighter_dot_fighter__type__pb2.DESCRIPTOR, eve_dot_membership_dot_membership__pb2.DESCRIPTOR, eve_dot_module_dot_module__type__pb2.DESCRIPTOR, @@ -28,13 +28,15 @@ _DESTROYED = _descriptor.Descriptor(name='Destroyed', full_name='eve.pvp.ship.ap _descriptor.FieldDescriptor(name='solar_system', full_name='eve.pvp.ship.api.Destroyed.solar_system', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='destroyer_membership', full_name='eve.pvp.ship.api.Destroyed.destroyer_membership', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options='\x18\x01', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='constellation', full_name='eve.pvp.ship.api.Destroyed.constellation', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='region', full_name='eve.pvp.ship.api.Destroyed.region', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=326, serialized_end=694) + _descriptor.FieldDescriptor(name='region', full_name='eve.pvp.ship.api.Destroyed.region', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='executioner_unknown', full_name='eve.pvp.ship.api.Destroyed.executioner_unknown', index=7, number=8, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='executioner_player', full_name='eve.pvp.ship.api.Destroyed.executioner_player', index=8, number=9, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='executioner', full_name='eve.pvp.ship.api.Destroyed.executioner', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=326, serialized_end=792) _DAMAGED_DAMAGEBYSOURCE = _descriptor.Descriptor(name='DamageBySource', full_name='eve.pvp.ship.api.Damaged.DamageBySource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='damage_amount_dealt', full_name='eve.pvp.ship.api.Damaged.DamageBySource.damage_amount_dealt', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='unregistered_type', full_name='eve.pvp.ship.api.Damaged.DamageBySource.unregistered_type', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='module_type', full_name='eve.pvp.ship.api.Damaged.DamageBySource.module_type', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='ammo_type', full_name='eve.pvp.ship.api.Damaged.DamageBySource.ammo_type', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='drone_type', full_name='eve.pvp.ship.api.Damaged.DamageBySource.drone_type', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='fighter_type', full_name='eve.pvp.ship.api.Damaged.DamageBySource.fighter_type', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='source_type', full_name='eve.pvp.ship.api.Damaged.DamageBySource.source_type', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1093, serialized_end=1415) + _descriptor.FieldDescriptor(name='fighter_type', full_name='eve.pvp.ship.api.Damaged.DamageBySource.fighter_type', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='source_type', full_name='eve.pvp.ship.api.Damaged.DamageBySource.source_type', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1191, serialized_end=1513) _DAMAGED = _descriptor.Descriptor(name='Damaged', full_name='eve.pvp.ship.api.Damaged', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='attacker', full_name='eve.pvp.ship.api.Damaged.attacker', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attacked', full_name='eve.pvp.ship.api.Damaged.attacked', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attacked_membership', full_name='eve.pvp.ship.api.Damaged.attacked_membership', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options='\x18\x01', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -42,7 +44,7 @@ _DAMAGED = _descriptor.Descriptor(name='Damaged', full_name='eve.pvp.ship.api.Da _descriptor.FieldDescriptor(name='damage_amount_dealt', full_name='eve.pvp.ship.api.Damaged.damage_amount_dealt', index=4, number=5, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='constellation', full_name='eve.pvp.ship.api.Damaged.constellation', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='region', full_name='eve.pvp.ship.api.Damaged.region', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='damage_sources', full_name='eve.pvp.ship.api.Damaged.damage_sources', index=7, number=8, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_DAMAGED_DAMAGEBYSOURCE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=697, serialized_end=1415) + _descriptor.FieldDescriptor(name='damage_sources', full_name='eve.pvp.ship.api.Damaged.damage_sources', index=7, number=8, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_DAMAGED_DAMAGEBYSOURCE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=795, serialized_end=1513) _DESTROYED.fields_by_name['destroyer'].message_type = eve_dot_pvp_dot_pvp__pb2._PARTICIPANT _DESTROYED.fields_by_name['destroyed'].message_type = eve_dot_pvp_dot_pvp__pb2._PARTICIPANT _DESTROYED.fields_by_name['destroyed_membership'].message_type = eve_dot_membership_dot_membership__pb2._ALLMEMBERSHIP @@ -50,6 +52,11 @@ _DESTROYED.fields_by_name['solar_system'].message_type = eve_dot_solarsystem_dot _DESTROYED.fields_by_name['destroyer_membership'].message_type = eve_dot_membership_dot_membership__pb2._ALLMEMBERSHIP _DESTROYED.fields_by_name['constellation'].message_type = eve_dot_constellation_dot_constellation__pb2._IDENTIFIER _DESTROYED.fields_by_name['region'].message_type = eve_dot_region_dot_region__pb2._IDENTIFIER +_DESTROYED.fields_by_name['executioner_player'].message_type = eve_dot_pvp_dot_pvp__pb2._PARTICIPANT +_DESTROYED.oneofs_by_name['executioner'].fields.append(_DESTROYED.fields_by_name['executioner_unknown']) +_DESTROYED.fields_by_name['executioner_unknown'].containing_oneof = _DESTROYED.oneofs_by_name['executioner'] +_DESTROYED.oneofs_by_name['executioner'].fields.append(_DESTROYED.fields_by_name['executioner_player']) +_DESTROYED.fields_by_name['executioner_player'].containing_oneof = _DESTROYED.oneofs_by_name['executioner'] _DAMAGED_DAMAGEBYSOURCE.fields_by_name['module_type'].message_type = eve_dot_module_dot_module__type__pb2._IDENTIFIER _DAMAGED_DAMAGEBYSOURCE.fields_by_name['ammo_type'].message_type = eve_dot_ship_dot_module_dot_charge__type__pb2._IDENTIFIER _DAMAGED_DAMAGEBYSOURCE.fields_by_name['drone_type'].message_type = eve_dot_ship_dot_drone_dot_drone__type__pb2._IDENTIFIER diff --git a/eveProto/generated/eve/tag/tag_pb2.py b/eveProto/generated/eve/tag/tag_pb2.py @@ -4,13 +4,14 @@ from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/tag/tag.proto', package='eve.tag', syntax='proto3', serialized_options='Z2github.com/ccpgames/eve-proto-go/generated/eve/tag', create_key=_descriptor._internal_create_key, serialized_pb='\n\x11eve/tag/tag.proto\x12\x07eve.tag"\x1a\n\nIdentifier\x12\x0c\n\x04name\x18\x01 \x01(\t"e\n\nAttributes\x12\x10\n\x08disabled\x18\x01 \x01(\x08\x12\x0e\n\x06public\x18\x02 \x01(\x08\x12\x11\n\tephemeral\x18\x03 \x01(\x08\x12\x0f\n\x07dynamic\x18\x04 \x01(\x08\x12\x11\n\tnamespace\x18\x05 \x01(\tB4Z2github.com/ccpgames/eve-proto-go/generated/eve/tagb\x06proto3') +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/tag/tag.proto', package='eve.tag', syntax='proto3', serialized_options='Z2github.com/ccpgames/eve-proto-go/generated/eve/tag', create_key=_descriptor._internal_create_key, serialized_pb='\n\x11eve/tag/tag.proto\x12\x07eve.tag"\x1a\n\nIdentifier\x12\x0c\n\x04name\x18\x01 \x01(\t"z\n\nAttributes\x12\x10\n\x08disabled\x18\x01 \x01(\x08\x12\x0e\n\x06public\x18\x02 \x01(\x08\x12\x11\n\tephemeral\x18\x03 \x01(\x08\x12\x0f\n\x07dynamic\x18\x04 \x01(\x08\x12\x11\n\tnamespace\x18\x05 \x01(\t\x12\x13\n\x0bdescription\x18\x06 \x01(\tB4Z2github.com/ccpgames/eve-proto-go/generated/eve/tagb\x06proto3') _IDENTIFIER = _descriptor.Descriptor(name='Identifier', full_name='eve.tag.Identifier', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='name', full_name='eve.tag.Identifier.name', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=30, serialized_end=56) _ATTRIBUTES = _descriptor.Descriptor(name='Attributes', full_name='eve.tag.Attributes', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='disabled', full_name='eve.tag.Attributes.disabled', index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='public', full_name='eve.tag.Attributes.public', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='ephemeral', full_name='eve.tag.Attributes.ephemeral', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='dynamic', full_name='eve.tag.Attributes.dynamic', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='namespace', full_name='eve.tag.Attributes.namespace', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=58, serialized_end=159) + _descriptor.FieldDescriptor(name='namespace', full_name='eve.tag.Attributes.namespace', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='description', full_name='eve.tag.Attributes.description', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=58, serialized_end=180) DESCRIPTOR.message_types_by_name['Identifier'] = _IDENTIFIER DESCRIPTOR.message_types_by_name['Attributes'] = _ATTRIBUTES _sym_db.RegisterFileDescriptor(DESCRIPTOR) diff --git a/eveProto/generated/eve/tournament/ruleset/ruleset_pb2.py b/eveProto/generated/eve/tournament/ruleset/ruleset_pb2.py @@ -5,16 +5,56 @@ from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from eveProto.generated.eve.implant import implant_type_pb2 as eve_dot_implant_dot_implant__type__pb2 +from eveProto.generated.eve.inventory import category_pb2 as eve_dot_inventory_dot_category__pb2 +from eveProto.generated.eve.inventory import generic_item_type_pb2 as eve_dot_inventory_dot_generic__item__type__pb2 +from eveProto.generated.eve.inventory import group_pb2 as eve_dot_inventory_dot_group__pb2 +from eveProto.generated.eve.inventory import meta_group_pb2 as eve_dot_inventory_dot_meta__group__pb2 from eveProto.generated.eve.ship import ship_type_pb2 as eve_dot_ship_dot_ship__type__pb2 +from eveProto.generated.eve.ui import annotation_pb2 as eve_dot_ui_dot_annotation__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/tournament/ruleset/ruleset.proto', package='eve.tournament.ruleset', syntax='proto3', serialized_options='ZAgithub.com/ccpgames/eve-proto-go/generated/eve/tournament/ruleset', create_key=_descriptor._internal_create_key, serialized_pb='\n$eve/tournament/ruleset/ruleset.proto\x12\x16eve.tournament.ruleset\x1a\x1eeve/implant/implant_type.proto\x1a\x18eve/ship/ship_type.proto\x1a\x1egoogle/protobuf/duration.proto"\x1a\n\nIdentifier\x12\x0c\n\x04uuid\x18\x01 \x01(\x0c"\x83\x06\n\nAttributes\x12\x0c\n\x04name\x18\x01 \x01(\t\x12/\n\x0cmatch_length\x18\x02 \x01(\x0b2\x19.google.protobuf.Duration\x122\n\x0fovertime_length\x18\x03 \x01(\x0b2\x19.google.protobuf.Duration\x12\x1b\n\x13max_points_per_team\x18\x04 \x01(\x03\x12\x1c\n\x14max_players_per_team\x18\x05 \x01(\x03\x12\x17\n\x0fpoint_inflation\x18\x06 \x01(\x08\x12\x1d\n\x13no_banned_flagships\x18\x07 \x01(\x08H\x00\x12H\n\x10banned_flagships\x18\x08 \x01(\x0b2,.eve.tournament.ruleset.Attributes.FlagshipsH\x00\x12B\n\x0bship_points\x18\t \x03(\x0b2-.eve.tournament.ruleset.Attributes.ShipPoints\x12\x1d\n\x13no_allowed_boosters\x18\n \x01(\x08H\x01\x12G\n\x10allowed_boosters\x18\x0b \x01(\x0b2+.eve.tournament.ruleset.Attributes.BoostersH\x01\x1a8\n\tFlagships\x12+\n\tflagships\x18\x01 \x03(\x0b2\x18.eve.shiptype.Identifier\x1a\x89\x01\n\nShipPoints\x12+\n\tship_type\x18\x01 \x01(\x0b2\x18.eve.shiptype.Identifier\x12\x0e\n\x06points\x18\x02 \x01(\x03\x12\x16\n\x0cno_inflation\x18\x03 \x01(\x08H\x00\x12\x19\n\x0finflation_value\x18\x04 \x01(\x03H\x00B\x0b\n\tinflation\x1a:\n\x08Boosters\x12.\n\titem_type\x18\x01 \x03(\x0b2\x1b.eve.implanttype.IdentifierB\x0b\n\tflagshipsB\n\n\x08boostersBCZAgithub.com/ccpgames/eve-proto-go/generated/eve/tournament/rulesetb\x06proto3', dependencies=[eve_dot_implant_dot_implant__type__pb2.DESCRIPTOR, eve_dot_ship_dot_ship__type__pb2.DESCRIPTOR, google_dot_protobuf_dot_duration__pb2.DESCRIPTOR]) -_IDENTIFIER = _descriptor.Descriptor(name='Identifier', full_name='eve.tournament.ruleset.Identifier', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='uuid', full_name='eve.tournament.ruleset.Identifier.uuid', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value='', message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=154, serialized_end=180) -_ATTRIBUTES_FLAGSHIPS = _descriptor.Descriptor(name='Flagships', full_name='eve.tournament.ruleset.Attributes.Flagships', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='flagships', full_name='eve.tournament.ruleset.Attributes.Flagships.flagships', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=673, serialized_end=729) +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/tournament/ruleset/ruleset.proto', package='eve.tournament.ruleset', syntax='proto3', serialized_options='ZAgithub.com/ccpgames/eve-proto-go/generated/eve/tournament/ruleset', create_key=_descriptor._internal_create_key, serialized_pb='\n$eve/tournament/ruleset/ruleset.proto\x12\x16eve.tournament.ruleset\x1a\x1eeve/implant/implant_type.proto\x1a\x1ceve/inventory/category.proto\x1a%eve/inventory/generic_item_type.proto\x1a\x19eve/inventory/group.proto\x1a\x1eeve/inventory/meta_group.proto\x1a\x18eve/ship/ship_type.proto\x1a\x17eve/ui/annotation.proto\x1a\x1egoogle/protobuf/duration.proto"\x1a\n\nIdentifier\x12\x0c\n\x04uuid\x18\x01 \x01(\x0c"\x93\x17\n\nAttributes\x12\x0c\n\x04name\x18\x01 \x01(\t\x12/\n\x0cmatch_length\x18\x02 \x01(\x0b2\x19.google.protobuf.Duration\x122\n\x0fovertime_length\x18\x03 \x01(\x0b2\x19.google.protobuf.Duration\x12\x1b\n\x13max_points_per_team\x18\x04 \x01(\x03\x12\x1c\n\x14max_players_per_team\x18\x05 \x01(\x03\x12\x17\n\x0fpoint_inflation\x18\x06 \x01(\x08\x12\x1d\n\x13no_banned_flagships\x18\x07 \x01(\x08H\x00\x12H\n\x10banned_flagships\x18\x08 \x01(\x0b2,.eve.tournament.ruleset.Attributes.FlagshipsH\x00\x12@\n\nship_rules\x18\x0c \x01(\x0b2,.eve.tournament.ruleset.Attributes.ShipRules\x12@\n\nitem_rules\x18\r \x01(\x0b2,.eve.tournament.ruleset.Attributes.ItemRules\x12\x10\n\x08revision\x18\x0e \x01(\x03\x12*\n\x0eui_annotations\x18\x0f \x03(\x0b2\x12.eve.ui.Annotation\x12P\n\x12victory_conditions\x18\x10 \x01(\x0b24.eve.tournament.ruleset.Attributes.VictoryConditions\x12\x1b\n\x11no_overtime_speed\x18\x11 \x01(\x08H\x01\x12[\n\x17overtime_speed_schedule\x18\x12 \x01(\x0b28.eve.tournament.ruleset.Attributes.OvertimeSpeedScheduleH\x01\x12\x17\n\rno_meta_rules\x18\x13 \x01(\x08H\x02\x12B\n\nmeta_rules\x18\x14 \x01(\x0b2,.eve.tournament.ruleset.Attributes.MetaRulesH\x02\x12#\n\x19frigate_escape_bay_denied\x18\x15 \x01(\x08H\x03\x12$\n\x1afrigate_escape_bay_allowed\x18\x16 \x01(\x08H\x03\x12F\n\x0bship_points\x18\t \x03(\x0b2-.eve.tournament.ruleset.Attributes.ShipPointsB\x02\x18\x01\x12!\n\x13no_allowed_boosters\x18\n \x01(\x08B\x02\x18\x01H\x04\x12K\n\x10allowed_boosters\x18\x0b \x01(\x0b2+.eve.tournament.ruleset.Attributes.BoostersB\x02\x18\x01H\x04\x1a8\n\tFlagships\x12+\n\tflagships\x18\x01 \x03(\x0b2\x18.eve.shiptype.Identifier\x1a\xdb\x02\n\tShipRules\x12O\n\rallowed_ships\x18\x01 \x03(\x0b28.eve.tournament.ruleset.Attributes.ShipRules.AllowedShip\x123\n\x11banned_ship_types\x18\x02 \x03(\x0b2\x18.eve.shiptype.Identifier\x1a\xc7\x01\n\x0bAllowedShip\x12-\n\tship_type\x18\x01 \x01(\x0b2\x18.eve.shiptype.IdentifierH\x00\x120\n\x05group\x18\x02 \x01(\x0b2\x1f.eve.inventory.group.IdentifierH\x00\x12\x0e\n\x06points\x18\x03 \x01(\x03\x12\x16\n\x0cno_inflation\x18\x04 \x01(\x08H\x01\x12\x19\n\x0finflation_value\x18\x05 \x01(\x03H\x01B\x07\n\x05scopeB\x0b\n\tinflation\x1a\xaa\x02\n\tItemRules\x12M\n\x0cdenied_items\x18\x01 \x03(\x0b27.eve.tournament.ruleset.Attributes.ItemRules.DeniedItem\x1a\xcd\x01\n\nDeniedItem\x12>\n\titem_type\x18\x01 \x01(\x0b2).eve.inventory.genericitemtype.IdentifierH\x00\x120\n\x05group\x18\x02 \x01(\x0b2\x1f.eve.inventory.group.IdentifierH\x00\x12D\n\x11exempt_item_types\x18\x03 \x03(\x0b2).eve.inventory.genericitemtype.IdentifierB\x07\n\x05scope\x1a\xc2\x02\n\x11VictoryConditions\x12\x17\n\rno_point_lead\x18\x01 \x01(\x08H\x00\x12\x1e\n\x14point_lead_threshold\x18\x02 \x01(\x03H\x00\x12\x15\n\x0bno_ore_lead\x18\x03 \x01(\x08H\x01\x12\x1c\n\x12ore_lead_threshold\x18\x04 \x01(\x03H\x01\x12\x1f\n\x15no_flagship_destroyed\x18\x05 \x01(\x08H\x02\x12&\n\x1cflagship_destroyed_threshold\x18\x06 \x01(\x03H\x02\x12\x18\n\x0eno_golden_goal\x18\x07 \x01(\x08H\x03\x12\x1d\n\x13golden_goal_enabled\x18\x08 \x01(\x08H\x03B\x0c\n\npoint_leadB\n\n\x08ore_leadB\x14\n\x12flagship_destroyedB\r\n\x0bgolden_goal\x1a[\n\x15OvertimeSpeedSchedule\x12*\n\x07cadence\x18\x01 \x01(\x0b2\x19.google.protobuf.Duration\x12\x16\n\x0espeed_percents\x18\x02 \x03(\x03\x1a\xe1\x03\n\tMetaRules\x12D\n\x05rules\x18\x01 \x03(\x0b25.eve.tournament.ruleset.Attributes.MetaRules.MetaRule\x1aG\n\nMetaGroups\x129\n\x0bmeta_groups\x18\x01 \x03(\x0b2$.eve.inventory.meta_group.Identifier\x1a\xc4\x02\n\x08MetaRule\x126\n\x08category\x18\x01 \x01(\x0b2".eve.inventory.category.IdentifierH\x00\x120\n\x05group\x18\x02 \x01(\x0b2\x1f.eve.inventory.group.IdentifierH\x00\x12\x19\n\x0fall_meta_groups\x18\x03 \x01(\x08H\x01\x12V\n\x13allowed_meta_groups\x18\x04 \x01(\x0b27.eve.tournament.ruleset.Attributes.MetaRules.MetaGroupsH\x01\x12\x1b\n\x11no_max_meta_level\x18\x05 \x01(\x08H\x02\x12\x18\n\x0emax_meta_level\x18\x06 \x01(\x04H\x02B\x07\n\x05scopeB\r\n\x0bmeta_groupsB\x0c\n\nmeta_level\x1a\x89\x01\n\nShipPoints\x12+\n\tship_type\x18\x01 \x01(\x0b2\x18.eve.shiptype.Identifier\x12\x0e\n\x06points\x18\x02 \x01(\x03\x12\x16\n\x0cno_inflation\x18\x03 \x01(\x08H\x00\x12\x19\n\x0finflation_value\x18\x04 \x01(\x03H\x00B\x0b\n\tinflation\x1a:\n\x08Boosters\x12.\n\titem_type\x18\x01 \x03(\x0b2\x1b.eve.implanttype.IdentifierB\x0b\n\tflagshipsB\x10\n\x0eovertime_speedB\x13\n\x11meta_restrictionsB\x14\n\x12frigate_escape_bayB\n\n\x08boostersBCZAgithub.com/ccpgames/eve-proto-go/generated/eve/tournament/rulesetb\x06proto3', dependencies=[eve_dot_implant_dot_implant__type__pb2.DESCRIPTOR, + eve_dot_inventory_dot_category__pb2.DESCRIPTOR, + eve_dot_inventory_dot_generic__item__type__pb2.DESCRIPTOR, + eve_dot_inventory_dot_group__pb2.DESCRIPTOR, + eve_dot_inventory_dot_meta__group__pb2.DESCRIPTOR, + eve_dot_ship_dot_ship__type__pb2.DESCRIPTOR, + eve_dot_ui_dot_annotation__pb2.DESCRIPTOR, + google_dot_protobuf_dot_duration__pb2.DESCRIPTOR]) +_IDENTIFIER = _descriptor.Descriptor(name='Identifier', full_name='eve.tournament.ruleset.Identifier', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='uuid', full_name='eve.tournament.ruleset.Identifier.uuid', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value='', message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=307, serialized_end=333) +_ATTRIBUTES_FLAGSHIPS = _descriptor.Descriptor(name='Flagships', full_name='eve.tournament.ruleset.Attributes.Flagships', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='flagships', full_name='eve.tournament.ruleset.Attributes.Flagships.flagships', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1404, serialized_end=1460) +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP = _descriptor.Descriptor(name='AllowedShip', full_name='eve.tournament.ruleset.Attributes.ShipRules.AllowedShip', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='ship_type', full_name='eve.tournament.ruleset.Attributes.ShipRules.AllowedShip.ship_type', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='group', full_name='eve.tournament.ruleset.Attributes.ShipRules.AllowedShip.group', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='points', full_name='eve.tournament.ruleset.Attributes.ShipRules.AllowedShip.points', index=2, number=3, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='no_inflation', full_name='eve.tournament.ruleset.Attributes.ShipRules.AllowedShip.no_inflation', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='inflation_value', full_name='eve.tournament.ruleset.Attributes.ShipRules.AllowedShip.inflation_value', index=4, number=5, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='scope', full_name='eve.tournament.ruleset.Attributes.ShipRules.AllowedShip.scope', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor(name='inflation', full_name='eve.tournament.ruleset.Attributes.ShipRules.AllowedShip.inflation', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1611, serialized_end=1810) +_ATTRIBUTES_SHIPRULES = _descriptor.Descriptor(name='ShipRules', full_name='eve.tournament.ruleset.Attributes.ShipRules', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='allowed_ships', full_name='eve.tournament.ruleset.Attributes.ShipRules.allowed_ships', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='banned_ship_types', full_name='eve.tournament.ruleset.Attributes.ShipRules.banned_ship_types', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1463, serialized_end=1810) +_ATTRIBUTES_ITEMRULES_DENIEDITEM = _descriptor.Descriptor(name='DeniedItem', full_name='eve.tournament.ruleset.Attributes.ItemRules.DeniedItem', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='item_type', full_name='eve.tournament.ruleset.Attributes.ItemRules.DeniedItem.item_type', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='group', full_name='eve.tournament.ruleset.Attributes.ItemRules.DeniedItem.group', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='exempt_item_types', full_name='eve.tournament.ruleset.Attributes.ItemRules.DeniedItem.exempt_item_types', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='scope', full_name='eve.tournament.ruleset.Attributes.ItemRules.DeniedItem.scope', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1906, serialized_end=2111) +_ATTRIBUTES_ITEMRULES = _descriptor.Descriptor(name='ItemRules', full_name='eve.tournament.ruleset.Attributes.ItemRules', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='denied_items', full_name='eve.tournament.ruleset.Attributes.ItemRules.denied_items', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_ATTRIBUTES_ITEMRULES_DENIEDITEM], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1813, serialized_end=2111) +_ATTRIBUTES_VICTORYCONDITIONS = _descriptor.Descriptor(name='VictoryConditions', full_name='eve.tournament.ruleset.Attributes.VictoryConditions', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='no_point_lead', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.no_point_lead', index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='point_lead_threshold', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.point_lead_threshold', index=1, number=2, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='no_ore_lead', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.no_ore_lead', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='ore_lead_threshold', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.ore_lead_threshold', index=3, number=4, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='no_flagship_destroyed', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.no_flagship_destroyed', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='flagship_destroyed_threshold', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.flagship_destroyed_threshold', index=5, number=6, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='no_golden_goal', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.no_golden_goal', index=6, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='golden_goal_enabled', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.golden_goal_enabled', index=7, number=8, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='point_lead', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.point_lead', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), + _descriptor.OneofDescriptor(name='ore_lead', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.ore_lead', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), + _descriptor.OneofDescriptor(name='flagship_destroyed', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.flagship_destroyed', index=2, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), + _descriptor.OneofDescriptor(name='golden_goal', full_name='eve.tournament.ruleset.Attributes.VictoryConditions.golden_goal', index=3, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=2114, serialized_end=2436) +_ATTRIBUTES_OVERTIMESPEEDSCHEDULE = _descriptor.Descriptor(name='OvertimeSpeedSchedule', full_name='eve.tournament.ruleset.Attributes.OvertimeSpeedSchedule', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='cadence', full_name='eve.tournament.ruleset.Attributes.OvertimeSpeedSchedule.cadence', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='speed_percents', full_name='eve.tournament.ruleset.Attributes.OvertimeSpeedSchedule.speed_percents', index=1, number=2, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=2438, serialized_end=2529) +_ATTRIBUTES_METARULES_METAGROUPS = _descriptor.Descriptor(name='MetaGroups', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaGroups', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='meta_groups', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaGroups.meta_groups', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=2615, serialized_end=2686) +_ATTRIBUTES_METARULES_METARULE = _descriptor.Descriptor(name='MetaRule', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaRule', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='category', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaRule.category', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='group', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaRule.group', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='all_meta_groups', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaRule.all_meta_groups', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='allowed_meta_groups', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaRule.allowed_meta_groups', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='no_max_meta_level', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaRule.no_max_meta_level', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='max_meta_level', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaRule.max_meta_level', index=5, number=6, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='scope', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaRule.scope', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor(name='meta_groups', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaRule.meta_groups', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor(name='meta_level', full_name='eve.tournament.ruleset.Attributes.MetaRules.MetaRule.meta_level', index=2, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=2689, serialized_end=3013) +_ATTRIBUTES_METARULES = _descriptor.Descriptor(name='MetaRules', full_name='eve.tournament.ruleset.Attributes.MetaRules', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='rules', full_name='eve.tournament.ruleset.Attributes.MetaRules.rules', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_ATTRIBUTES_METARULES_METAGROUPS, _ATTRIBUTES_METARULES_METARULE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=2532, serialized_end=3013) _ATTRIBUTES_SHIPPOINTS = _descriptor.Descriptor(name='ShipPoints', full_name='eve.tournament.ruleset.Attributes.ShipPoints', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='ship_type', full_name='eve.tournament.ruleset.Attributes.ShipPoints.ship_type', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='points', full_name='eve.tournament.ruleset.Attributes.ShipPoints.points', index=1, number=2, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='no_inflation', full_name='eve.tournament.ruleset.Attributes.ShipPoints.no_inflation', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='inflation_value', full_name='eve.tournament.ruleset.Attributes.ShipPoints.inflation_value', index=3, number=4, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='inflation', full_name='eve.tournament.ruleset.Attributes.ShipPoints.inflation', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=732, serialized_end=869) -_ATTRIBUTES_BOOSTERS = _descriptor.Descriptor(name='Boosters', full_name='eve.tournament.ruleset.Attributes.Boosters', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='item_type', full_name='eve.tournament.ruleset.Attributes.Boosters.item_type', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=871, serialized_end=929) + _descriptor.FieldDescriptor(name='inflation_value', full_name='eve.tournament.ruleset.Attributes.ShipPoints.inflation_value', index=3, number=4, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='inflation', full_name='eve.tournament.ruleset.Attributes.ShipPoints.inflation', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=3016, serialized_end=3153) +_ATTRIBUTES_BOOSTERS = _descriptor.Descriptor(name='Boosters', full_name='eve.tournament.ruleset.Attributes.Boosters', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='item_type', full_name='eve.tournament.ruleset.Attributes.Boosters.item_type', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=3155, serialized_end=3213) _ATTRIBUTES = _descriptor.Descriptor(name='Attributes', full_name='eve.tournament.ruleset.Attributes', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='name', full_name='eve.tournament.ruleset.Attributes.name', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='match_length', full_name='eve.tournament.ruleset.Attributes.match_length', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='overtime_length', full_name='eve.tournament.ruleset.Attributes.overtime_length', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -23,11 +63,96 @@ _ATTRIBUTES = _descriptor.Descriptor(name='Attributes', full_name='eve.tournamen _descriptor.FieldDescriptor(name='point_inflation', full_name='eve.tournament.ruleset.Attributes.point_inflation', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='no_banned_flagships', full_name='eve.tournament.ruleset.Attributes.no_banned_flagships', index=6, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='banned_flagships', full_name='eve.tournament.ruleset.Attributes.banned_flagships', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='ship_points', full_name='eve.tournament.ruleset.Attributes.ship_points', index=8, number=9, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='no_allowed_boosters', full_name='eve.tournament.ruleset.Attributes.no_allowed_boosters', index=9, number=10, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='allowed_boosters', full_name='eve.tournament.ruleset.Attributes.allowed_boosters', index=10, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_ATTRIBUTES_FLAGSHIPS, _ATTRIBUTES_SHIPPOINTS, _ATTRIBUTES_BOOSTERS], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='flagships', full_name='eve.tournament.ruleset.Attributes.flagships', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), _descriptor.OneofDescriptor(name='boosters', full_name='eve.tournament.ruleset.Attributes.boosters', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=183, serialized_end=954) + _descriptor.FieldDescriptor(name='ship_rules', full_name='eve.tournament.ruleset.Attributes.ship_rules', index=8, number=12, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='item_rules', full_name='eve.tournament.ruleset.Attributes.item_rules', index=9, number=13, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='revision', full_name='eve.tournament.ruleset.Attributes.revision', index=10, number=14, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='ui_annotations', full_name='eve.tournament.ruleset.Attributes.ui_annotations', index=11, number=15, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='victory_conditions', full_name='eve.tournament.ruleset.Attributes.victory_conditions', index=12, number=16, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='no_overtime_speed', full_name='eve.tournament.ruleset.Attributes.no_overtime_speed', index=13, number=17, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='overtime_speed_schedule', full_name='eve.tournament.ruleset.Attributes.overtime_speed_schedule', index=14, number=18, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='no_meta_rules', full_name='eve.tournament.ruleset.Attributes.no_meta_rules', index=15, number=19, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='meta_rules', full_name='eve.tournament.ruleset.Attributes.meta_rules', index=16, number=20, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='frigate_escape_bay_denied', full_name='eve.tournament.ruleset.Attributes.frigate_escape_bay_denied', index=17, number=21, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='frigate_escape_bay_allowed', full_name='eve.tournament.ruleset.Attributes.frigate_escape_bay_allowed', index=18, number=22, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='ship_points', full_name='eve.tournament.ruleset.Attributes.ship_points', index=19, number=9, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options='\x18\x01', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='no_allowed_boosters', full_name='eve.tournament.ruleset.Attributes.no_allowed_boosters', index=20, number=10, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options='\x18\x01', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='allowed_boosters', full_name='eve.tournament.ruleset.Attributes.allowed_boosters', index=21, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options='\x18\x01', file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_ATTRIBUTES_FLAGSHIPS, + _ATTRIBUTES_SHIPRULES, + _ATTRIBUTES_ITEMRULES, + _ATTRIBUTES_VICTORYCONDITIONS, + _ATTRIBUTES_OVERTIMESPEEDSCHEDULE, + _ATTRIBUTES_METARULES, + _ATTRIBUTES_SHIPPOINTS, + _ATTRIBUTES_BOOSTERS], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='flagships', full_name='eve.tournament.ruleset.Attributes.flagships', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), + _descriptor.OneofDescriptor(name='overtime_speed', full_name='eve.tournament.ruleset.Attributes.overtime_speed', index=1, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), + _descriptor.OneofDescriptor(name='meta_restrictions', full_name='eve.tournament.ruleset.Attributes.meta_restrictions', index=2, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), + _descriptor.OneofDescriptor(name='frigate_escape_bay', full_name='eve.tournament.ruleset.Attributes.frigate_escape_bay', index=3, containing_type=None, create_key=_descriptor._internal_create_key, fields=[]), + _descriptor.OneofDescriptor(name='boosters', full_name='eve.tournament.ruleset.Attributes.boosters', index=4, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=336, serialized_end=3299) _ATTRIBUTES_FLAGSHIPS.fields_by_name['flagships'].message_type = eve_dot_ship_dot_ship__type__pb2._IDENTIFIER _ATTRIBUTES_FLAGSHIPS.containing_type = _ATTRIBUTES +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.fields_by_name['ship_type'].message_type = eve_dot_ship_dot_ship__type__pb2._IDENTIFIER +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.fields_by_name['group'].message_type = eve_dot_inventory_dot_group__pb2._IDENTIFIER +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.containing_type = _ATTRIBUTES_SHIPRULES +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.oneofs_by_name['scope'].fields.append(_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.fields_by_name['ship_type']) +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.fields_by_name['ship_type'].containing_oneof = _ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.oneofs_by_name['scope'] +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.oneofs_by_name['scope'].fields.append(_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.fields_by_name['group']) +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.fields_by_name['group'].containing_oneof = _ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.oneofs_by_name['scope'] +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.oneofs_by_name['inflation'].fields.append(_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.fields_by_name['no_inflation']) +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.fields_by_name['no_inflation'].containing_oneof = _ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.oneofs_by_name['inflation'] +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.oneofs_by_name['inflation'].fields.append(_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.fields_by_name['inflation_value']) +_ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.fields_by_name['inflation_value'].containing_oneof = _ATTRIBUTES_SHIPRULES_ALLOWEDSHIP.oneofs_by_name['inflation'] +_ATTRIBUTES_SHIPRULES.fields_by_name['allowed_ships'].message_type = _ATTRIBUTES_SHIPRULES_ALLOWEDSHIP +_ATTRIBUTES_SHIPRULES.fields_by_name['banned_ship_types'].message_type = eve_dot_ship_dot_ship__type__pb2._IDENTIFIER +_ATTRIBUTES_SHIPRULES.containing_type = _ATTRIBUTES +_ATTRIBUTES_ITEMRULES_DENIEDITEM.fields_by_name['item_type'].message_type = eve_dot_inventory_dot_generic__item__type__pb2._IDENTIFIER +_ATTRIBUTES_ITEMRULES_DENIEDITEM.fields_by_name['group'].message_type = eve_dot_inventory_dot_group__pb2._IDENTIFIER +_ATTRIBUTES_ITEMRULES_DENIEDITEM.fields_by_name['exempt_item_types'].message_type = eve_dot_inventory_dot_generic__item__type__pb2._IDENTIFIER +_ATTRIBUTES_ITEMRULES_DENIEDITEM.containing_type = _ATTRIBUTES_ITEMRULES +_ATTRIBUTES_ITEMRULES_DENIEDITEM.oneofs_by_name['scope'].fields.append(_ATTRIBUTES_ITEMRULES_DENIEDITEM.fields_by_name['item_type']) +_ATTRIBUTES_ITEMRULES_DENIEDITEM.fields_by_name['item_type'].containing_oneof = _ATTRIBUTES_ITEMRULES_DENIEDITEM.oneofs_by_name['scope'] +_ATTRIBUTES_ITEMRULES_DENIEDITEM.oneofs_by_name['scope'].fields.append(_ATTRIBUTES_ITEMRULES_DENIEDITEM.fields_by_name['group']) +_ATTRIBUTES_ITEMRULES_DENIEDITEM.fields_by_name['group'].containing_oneof = _ATTRIBUTES_ITEMRULES_DENIEDITEM.oneofs_by_name['scope'] +_ATTRIBUTES_ITEMRULES.fields_by_name['denied_items'].message_type = _ATTRIBUTES_ITEMRULES_DENIEDITEM +_ATTRIBUTES_ITEMRULES.containing_type = _ATTRIBUTES +_ATTRIBUTES_VICTORYCONDITIONS.containing_type = _ATTRIBUTES +_ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['point_lead'].fields.append(_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['no_point_lead']) +_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['no_point_lead'].containing_oneof = _ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['point_lead'] +_ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['point_lead'].fields.append(_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['point_lead_threshold']) +_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['point_lead_threshold'].containing_oneof = _ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['point_lead'] +_ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['ore_lead'].fields.append(_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['no_ore_lead']) +_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['no_ore_lead'].containing_oneof = _ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['ore_lead'] +_ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['ore_lead'].fields.append(_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['ore_lead_threshold']) +_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['ore_lead_threshold'].containing_oneof = _ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['ore_lead'] +_ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['flagship_destroyed'].fields.append(_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['no_flagship_destroyed']) +_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['no_flagship_destroyed'].containing_oneof = _ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['flagship_destroyed'] +_ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['flagship_destroyed'].fields.append(_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['flagship_destroyed_threshold']) +_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['flagship_destroyed_threshold'].containing_oneof = _ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['flagship_destroyed'] +_ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['golden_goal'].fields.append(_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['no_golden_goal']) +_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['no_golden_goal'].containing_oneof = _ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['golden_goal'] +_ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['golden_goal'].fields.append(_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['golden_goal_enabled']) +_ATTRIBUTES_VICTORYCONDITIONS.fields_by_name['golden_goal_enabled'].containing_oneof = _ATTRIBUTES_VICTORYCONDITIONS.oneofs_by_name['golden_goal'] +_ATTRIBUTES_OVERTIMESPEEDSCHEDULE.fields_by_name['cadence'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION +_ATTRIBUTES_OVERTIMESPEEDSCHEDULE.containing_type = _ATTRIBUTES +_ATTRIBUTES_METARULES_METAGROUPS.fields_by_name['meta_groups'].message_type = eve_dot_inventory_dot_meta__group__pb2._IDENTIFIER +_ATTRIBUTES_METARULES_METAGROUPS.containing_type = _ATTRIBUTES_METARULES +_ATTRIBUTES_METARULES_METARULE.fields_by_name['category'].message_type = eve_dot_inventory_dot_category__pb2._IDENTIFIER +_ATTRIBUTES_METARULES_METARULE.fields_by_name['group'].message_type = eve_dot_inventory_dot_group__pb2._IDENTIFIER +_ATTRIBUTES_METARULES_METARULE.fields_by_name['allowed_meta_groups'].message_type = _ATTRIBUTES_METARULES_METAGROUPS +_ATTRIBUTES_METARULES_METARULE.containing_type = _ATTRIBUTES_METARULES +_ATTRIBUTES_METARULES_METARULE.oneofs_by_name['scope'].fields.append(_ATTRIBUTES_METARULES_METARULE.fields_by_name['category']) +_ATTRIBUTES_METARULES_METARULE.fields_by_name['category'].containing_oneof = _ATTRIBUTES_METARULES_METARULE.oneofs_by_name['scope'] +_ATTRIBUTES_METARULES_METARULE.oneofs_by_name['scope'].fields.append(_ATTRIBUTES_METARULES_METARULE.fields_by_name['group']) +_ATTRIBUTES_METARULES_METARULE.fields_by_name['group'].containing_oneof = _ATTRIBUTES_METARULES_METARULE.oneofs_by_name['scope'] +_ATTRIBUTES_METARULES_METARULE.oneofs_by_name['meta_groups'].fields.append(_ATTRIBUTES_METARULES_METARULE.fields_by_name['all_meta_groups']) +_ATTRIBUTES_METARULES_METARULE.fields_by_name['all_meta_groups'].containing_oneof = _ATTRIBUTES_METARULES_METARULE.oneofs_by_name['meta_groups'] +_ATTRIBUTES_METARULES_METARULE.oneofs_by_name['meta_groups'].fields.append(_ATTRIBUTES_METARULES_METARULE.fields_by_name['allowed_meta_groups']) +_ATTRIBUTES_METARULES_METARULE.fields_by_name['allowed_meta_groups'].containing_oneof = _ATTRIBUTES_METARULES_METARULE.oneofs_by_name['meta_groups'] +_ATTRIBUTES_METARULES_METARULE.oneofs_by_name['meta_level'].fields.append(_ATTRIBUTES_METARULES_METARULE.fields_by_name['no_max_meta_level']) +_ATTRIBUTES_METARULES_METARULE.fields_by_name['no_max_meta_level'].containing_oneof = _ATTRIBUTES_METARULES_METARULE.oneofs_by_name['meta_level'] +_ATTRIBUTES_METARULES_METARULE.oneofs_by_name['meta_level'].fields.append(_ATTRIBUTES_METARULES_METARULE.fields_by_name['max_meta_level']) +_ATTRIBUTES_METARULES_METARULE.fields_by_name['max_meta_level'].containing_oneof = _ATTRIBUTES_METARULES_METARULE.oneofs_by_name['meta_level'] +_ATTRIBUTES_METARULES.fields_by_name['rules'].message_type = _ATTRIBUTES_METARULES_METARULE +_ATTRIBUTES_METARULES.containing_type = _ATTRIBUTES _ATTRIBUTES_SHIPPOINTS.fields_by_name['ship_type'].message_type = eve_dot_ship_dot_ship__type__pb2._IDENTIFIER _ATTRIBUTES_SHIPPOINTS.containing_type = _ATTRIBUTES _ATTRIBUTES_SHIPPOINTS.oneofs_by_name['inflation'].fields.append(_ATTRIBUTES_SHIPPOINTS.fields_by_name['no_inflation']) @@ -39,12 +164,30 @@ _ATTRIBUTES_BOOSTERS.containing_type = _ATTRIBUTES _ATTRIBUTES.fields_by_name['match_length'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _ATTRIBUTES.fields_by_name['overtime_length'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _ATTRIBUTES.fields_by_name['banned_flagships'].message_type = _ATTRIBUTES_FLAGSHIPS +_ATTRIBUTES.fields_by_name['ship_rules'].message_type = _ATTRIBUTES_SHIPRULES +_ATTRIBUTES.fields_by_name['item_rules'].message_type = _ATTRIBUTES_ITEMRULES +_ATTRIBUTES.fields_by_name['ui_annotations'].message_type = eve_dot_ui_dot_annotation__pb2._ANNOTATION +_ATTRIBUTES.fields_by_name['victory_conditions'].message_type = _ATTRIBUTES_VICTORYCONDITIONS +_ATTRIBUTES.fields_by_name['overtime_speed_schedule'].message_type = _ATTRIBUTES_OVERTIMESPEEDSCHEDULE +_ATTRIBUTES.fields_by_name['meta_rules'].message_type = _ATTRIBUTES_METARULES _ATTRIBUTES.fields_by_name['ship_points'].message_type = _ATTRIBUTES_SHIPPOINTS _ATTRIBUTES.fields_by_name['allowed_boosters'].message_type = _ATTRIBUTES_BOOSTERS _ATTRIBUTES.oneofs_by_name['flagships'].fields.append(_ATTRIBUTES.fields_by_name['no_banned_flagships']) _ATTRIBUTES.fields_by_name['no_banned_flagships'].containing_oneof = _ATTRIBUTES.oneofs_by_name['flagships'] _ATTRIBUTES.oneofs_by_name['flagships'].fields.append(_ATTRIBUTES.fields_by_name['banned_flagships']) _ATTRIBUTES.fields_by_name['banned_flagships'].containing_oneof = _ATTRIBUTES.oneofs_by_name['flagships'] +_ATTRIBUTES.oneofs_by_name['overtime_speed'].fields.append(_ATTRIBUTES.fields_by_name['no_overtime_speed']) +_ATTRIBUTES.fields_by_name['no_overtime_speed'].containing_oneof = _ATTRIBUTES.oneofs_by_name['overtime_speed'] +_ATTRIBUTES.oneofs_by_name['overtime_speed'].fields.append(_ATTRIBUTES.fields_by_name['overtime_speed_schedule']) +_ATTRIBUTES.fields_by_name['overtime_speed_schedule'].containing_oneof = _ATTRIBUTES.oneofs_by_name['overtime_speed'] +_ATTRIBUTES.oneofs_by_name['meta_restrictions'].fields.append(_ATTRIBUTES.fields_by_name['no_meta_rules']) +_ATTRIBUTES.fields_by_name['no_meta_rules'].containing_oneof = _ATTRIBUTES.oneofs_by_name['meta_restrictions'] +_ATTRIBUTES.oneofs_by_name['meta_restrictions'].fields.append(_ATTRIBUTES.fields_by_name['meta_rules']) +_ATTRIBUTES.fields_by_name['meta_rules'].containing_oneof = _ATTRIBUTES.oneofs_by_name['meta_restrictions'] +_ATTRIBUTES.oneofs_by_name['frigate_escape_bay'].fields.append(_ATTRIBUTES.fields_by_name['frigate_escape_bay_denied']) +_ATTRIBUTES.fields_by_name['frigate_escape_bay_denied'].containing_oneof = _ATTRIBUTES.oneofs_by_name['frigate_escape_bay'] +_ATTRIBUTES.oneofs_by_name['frigate_escape_bay'].fields.append(_ATTRIBUTES.fields_by_name['frigate_escape_bay_allowed']) +_ATTRIBUTES.fields_by_name['frigate_escape_bay_allowed'].containing_oneof = _ATTRIBUTES.oneofs_by_name['frigate_escape_bay'] _ATTRIBUTES.oneofs_by_name['boosters'].fields.append(_ATTRIBUTES.fields_by_name['no_allowed_boosters']) _ATTRIBUTES.fields_by_name['no_allowed_boosters'].containing_oneof = _ATTRIBUTES.oneofs_by_name['boosters'] _ATTRIBUTES.oneofs_by_name['boosters'].fields.append(_ATTRIBUTES.fields_by_name['allowed_boosters']) @@ -57,6 +200,24 @@ Identifier = _reflection.GeneratedProtocolMessageType('Identifier', (_message.Me _sym_db.RegisterMessage(Identifier) Attributes = _reflection.GeneratedProtocolMessageType('Attributes', (_message.Message,), {'Flagships': _reflection.GeneratedProtocolMessageType('Flagships', (_message.Message,), {'DESCRIPTOR': _ATTRIBUTES_FLAGSHIPS, '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), + 'ShipRules': _reflection.GeneratedProtocolMessageType('ShipRules', (_message.Message,), {'AllowedShip': _reflection.GeneratedProtocolMessageType('AllowedShip', (_message.Message,), {'DESCRIPTOR': _ATTRIBUTES_SHIPRULES_ALLOWEDSHIP, + '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), + 'DESCRIPTOR': _ATTRIBUTES_SHIPRULES, + '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), + 'ItemRules': _reflection.GeneratedProtocolMessageType('ItemRules', (_message.Message,), {'DeniedItem': _reflection.GeneratedProtocolMessageType('DeniedItem', (_message.Message,), {'DESCRIPTOR': _ATTRIBUTES_ITEMRULES_DENIEDITEM, + '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), + 'DESCRIPTOR': _ATTRIBUTES_ITEMRULES, + '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), + 'VictoryConditions': _reflection.GeneratedProtocolMessageType('VictoryConditions', (_message.Message,), {'DESCRIPTOR': _ATTRIBUTES_VICTORYCONDITIONS, + '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), + 'OvertimeSpeedSchedule': _reflection.GeneratedProtocolMessageType('OvertimeSpeedSchedule', (_message.Message,), {'DESCRIPTOR': _ATTRIBUTES_OVERTIMESPEEDSCHEDULE, + '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), + 'MetaRules': _reflection.GeneratedProtocolMessageType('MetaRules', (_message.Message,), {'MetaGroups': _reflection.GeneratedProtocolMessageType('MetaGroups', (_message.Message,), {'DESCRIPTOR': _ATTRIBUTES_METARULES_METAGROUPS, + '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), + 'MetaRule': _reflection.GeneratedProtocolMessageType('MetaRule', (_message.Message,), {'DESCRIPTOR': _ATTRIBUTES_METARULES_METARULE, + '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), + 'DESCRIPTOR': _ATTRIBUTES_METARULES, + '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), 'ShipPoints': _reflection.GeneratedProtocolMessageType('ShipPoints', (_message.Message,), {'DESCRIPTOR': _ATTRIBUTES_SHIPPOINTS, '__module__': 'eve.tournament.ruleset.ruleset_pb2'}), 'Boosters': _reflection.GeneratedProtocolMessageType('Boosters', (_message.Message,), {'DESCRIPTOR': _ATTRIBUTES_BOOSTERS, @@ -65,6 +226,18 @@ Attributes = _reflection.GeneratedProtocolMessageType('Attributes', (_message.Me '__module__': 'eve.tournament.ruleset.ruleset_pb2'}) _sym_db.RegisterMessage(Attributes) _sym_db.RegisterMessage(Attributes.Flagships) +_sym_db.RegisterMessage(Attributes.ShipRules) +_sym_db.RegisterMessage(Attributes.ShipRules.AllowedShip) +_sym_db.RegisterMessage(Attributes.ItemRules) +_sym_db.RegisterMessage(Attributes.ItemRules.DeniedItem) +_sym_db.RegisterMessage(Attributes.VictoryConditions) +_sym_db.RegisterMessage(Attributes.OvertimeSpeedSchedule) +_sym_db.RegisterMessage(Attributes.MetaRules) +_sym_db.RegisterMessage(Attributes.MetaRules.MetaGroups) +_sym_db.RegisterMessage(Attributes.MetaRules.MetaRule) _sym_db.RegisterMessage(Attributes.ShipPoints) _sym_db.RegisterMessage(Attributes.Boosters) DESCRIPTOR._options = None +_ATTRIBUTES.fields_by_name['ship_points']._options = None +_ATTRIBUTES.fields_by_name['no_allowed_boosters']._options = None +_ATTRIBUTES.fields_by_name['allowed_boosters']._options = None diff --git a/eveProto/generated/eve/user/tag/__init__.py b/eveProto/generated/eve/user/tag/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/user/tag/__init__.py +pass diff --git a/eveProto/generated/eve/user/tag/api/__init__.py b/eveProto/generated/eve/user/tag/api/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/user/tag/api/__init__.py +pass diff --git a/eveProto/generated/eve/user/tag/api/requests_pb2.py b/eveProto/generated/eve/user/tag/api/requests_pb2.py @@ -0,0 +1,36 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve/user/tag/api/requests_pb2.py +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +from eveProto.generated.eve.user import user_pb2 as eve_dot_user_dot_user__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/user/tag/api/requests.proto', package='eve.user.tag.api', syntax='proto3', serialized_options='Z;github.com/ccpgames/eve-proto-go/generated/eve/user/tag/api\xaa\x02\x11Eve.User.Tags.Api', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1feve/user/tag/api/requests.proto\x12\x10eve.user.tag.api\x1a\x13eve/user/user.proto"r\n\nAddRequest\x12"\n\x04user\x18\x01 \x01(\x0b2\x14.eve.user.Identifier\x12\x1a\n\x03tag\x18\x02 \x03(\x0b2\r.eve.user.Tag\x12$\n\x06tagger\x18\x03 \x01(\x0b2\x14.eve.user.Identifier"\r\n\x0bAddResponse"v\n\rRemoveRequest\x12"\n\x04user\x18\x01 \x01(\x0b2\x14.eve.user.Identifier\x12\x1a\n\x03tag\x18\x02 \x01(\x0b2\r.eve.user.Tag\x12%\n\x07remover\x18\x03 \x01(\x0b2\x14.eve.user.Identifier"\x10\n\x0eRemoveResponseBQZ;github.com/ccpgames/eve-proto-go/generated/eve/user/tag/api\xaa\x02\x11Eve.User.Tags.Apib\x06proto3', dependencies=[eve_dot_user_dot_user__pb2.DESCRIPTOR]) +_ADDREQUEST = _descriptor.Descriptor(name='AddRequest', full_name='eve.user.tag.api.AddRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='user', full_name='eve.user.tag.api.AddRequest.user', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='tag', full_name='eve.user.tag.api.AddRequest.tag', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='tagger', full_name='eve.user.tag.api.AddRequest.tagger', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=74, serialized_end=188) +_ADDRESPONSE = _descriptor.Descriptor(name='AddResponse', full_name='eve.user.tag.api.AddResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=190, serialized_end=203) +_REMOVEREQUEST = _descriptor.Descriptor(name='RemoveRequest', full_name='eve.user.tag.api.RemoveRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='user', full_name='eve.user.tag.api.RemoveRequest.user', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='tag', full_name='eve.user.tag.api.RemoveRequest.tag', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='remover', full_name='eve.user.tag.api.RemoveRequest.remover', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=205, serialized_end=323) +_REMOVERESPONSE = _descriptor.Descriptor(name='RemoveResponse', full_name='eve.user.tag.api.RemoveResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=325, serialized_end=341) +_ADDREQUEST.fields_by_name['user'].message_type = eve_dot_user_dot_user__pb2._IDENTIFIER +_ADDREQUEST.fields_by_name['tag'].message_type = eve_dot_user_dot_user__pb2._TAG +_ADDREQUEST.fields_by_name['tagger'].message_type = eve_dot_user_dot_user__pb2._IDENTIFIER +_REMOVEREQUEST.fields_by_name['user'].message_type = eve_dot_user_dot_user__pb2._IDENTIFIER +_REMOVEREQUEST.fields_by_name['tag'].message_type = eve_dot_user_dot_user__pb2._TAG +_REMOVEREQUEST.fields_by_name['remover'].message_type = eve_dot_user_dot_user__pb2._IDENTIFIER +DESCRIPTOR.message_types_by_name['AddRequest'] = _ADDREQUEST +DESCRIPTOR.message_types_by_name['AddResponse'] = _ADDRESPONSE +DESCRIPTOR.message_types_by_name['RemoveRequest'] = _REMOVEREQUEST +DESCRIPTOR.message_types_by_name['RemoveResponse'] = _REMOVERESPONSE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) +AddRequest = _reflection.GeneratedProtocolMessageType('AddRequest', (_message.Message,), {'DESCRIPTOR': _ADDREQUEST, + '__module__': 'eve.user.tag.api.requests_pb2'}) +_sym_db.RegisterMessage(AddRequest) +AddResponse = _reflection.GeneratedProtocolMessageType('AddResponse', (_message.Message,), {'DESCRIPTOR': _ADDRESPONSE, + '__module__': 'eve.user.tag.api.requests_pb2'}) +_sym_db.RegisterMessage(AddResponse) +RemoveRequest = _reflection.GeneratedProtocolMessageType('RemoveRequest', (_message.Message,), {'DESCRIPTOR': _REMOVEREQUEST, + '__module__': 'eve.user.tag.api.requests_pb2'}) +_sym_db.RegisterMessage(RemoveRequest) +RemoveResponse = _reflection.GeneratedProtocolMessageType('RemoveResponse', (_message.Message,), {'DESCRIPTOR': _REMOVERESPONSE, + '__module__': 'eve.user.tag.api.requests_pb2'}) +_sym_db.RegisterMessage(RemoveResponse) +DESCRIPTOR._options = None diff --git a/eveProto/generated/eve/user/tag_pb2.py b/eveProto/generated/eve/user/tag_pb2.py @@ -5,14 +5,14 @@ from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from eveProto.generated.eve.user import user_pb2 as eve_dot_user_dot_user__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve/user/tag.proto', package='eve.user.tag', syntax='proto3', serialized_options='Z7github.com/ccpgames/eve-proto-go/generated/eve/user/tag\xaa\x02\rEve.User.Tags', create_key=_descriptor._internal_create_key, serialized_pb='\n\x12eve/user/tag.proto\x12\x0ceve.user.tag\x1a\x13eve/user/user.proto"/\n\nAttributes\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bdescription\x18\x02 \x01(\t"r\n\nAddRequest\x12"\n\x04user\x18\x01 \x01(\x0b2\x14.eve.user.Identifier\x12\x1a\n\x03tag\x18\x02 \x03(\x0b2\r.eve.user.Tag\x12$\n\x06tagger\x18\x03 \x01(\x0b2\x14.eve.user.Identifier"0\n\nGetRequest\x12"\n\x04user\x18\x01 \x01(\x0b2\x14.eve.user.Identifier"*\n\x0bGetResponse\x12\x1b\n\x04tags\x18\x01 \x03(\x0b2\r.eve.user.Tag"\x0f\n\rGetAllRequest"\x93\x01\n\x0eGetAllResponse\x12/\n\x04tags\x18\x03 \x03(\x0b2!.eve.user.tag.GetAllResponse.Tags\x1aP\n\x04Tags\x12\x1a\n\x03tag\x18\x01 \x01(\x0b2\r.eve.user.Tag\x12,\n\nattributes\x18\x02 \x01(\x0b2\x18.eve.user.tag.AttributesBIZ7github.com/ccpgames/eve-proto-go/generated/eve/user/tag\xaa\x02\rEve.User.Tagsb\x06proto3', dependencies=[eve_dot_user_dot_user__pb2.DESCRIPTOR]) +DESCRIPTOR = _descriptor.FileDescriptor(name='eve/user/tag.proto', package='eve.user.tag', syntax='proto3', serialized_options='Z7github.com/ccpgames/eve-proto-go/generated/eve/user/tag\xaa\x02\rEve.User.Tags', create_key=_descriptor._internal_create_key, serialized_pb='\n\x12eve/user/tag.proto\x12\x0ceve.user.tag\x1a\x13eve/user/user.proto"/\n\nAttributes\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bdescription\x18\x02 \x01(\t"v\n\nAddRequest\x12"\n\x04user\x18\x01 \x01(\x0b2\x14.eve.user.Identifier\x12\x1a\n\x03tag\x18\x02 \x03(\x0b2\r.eve.user.Tag\x12$\n\x06tagger\x18\x03 \x01(\x0b2\x14.eve.user.Identifier:\x02\x18\x01"0\n\nGetRequest\x12"\n\x04user\x18\x01 \x01(\x0b2\x14.eve.user.Identifier"*\n\x0bGetResponse\x12\x1b\n\x04tags\x18\x01 \x03(\x0b2\r.eve.user.Tag"\x0f\n\rGetAllRequest"\x93\x01\n\x0eGetAllResponse\x12/\n\x04tags\x18\x03 \x03(\x0b2!.eve.user.tag.GetAllResponse.Tags\x1aP\n\x04Tags\x12\x1a\n\x03tag\x18\x01 \x01(\x0b2\r.eve.user.Tag\x12,\n\nattributes\x18\x02 \x01(\x0b2\x18.eve.user.tag.AttributesBIZ7github.com/ccpgames/eve-proto-go/generated/eve/user/tag\xaa\x02\rEve.User.Tagsb\x06proto3', dependencies=[eve_dot_user_dot_user__pb2.DESCRIPTOR]) _ATTRIBUTES = _descriptor.Descriptor(name='Attributes', full_name='eve.user.tag.Attributes', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='name', full_name='eve.user.tag.Attributes.name', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='description', full_name='eve.user.tag.Attributes.description', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=57, serialized_end=104) -_ADDREQUEST = _descriptor.Descriptor(name='AddRequest', full_name='eve.user.tag.AddRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='user', full_name='eve.user.tag.AddRequest.user', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='tag', full_name='eve.user.tag.AddRequest.tag', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='tagger', full_name='eve.user.tag.AddRequest.tagger', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=106, serialized_end=220) -_GETREQUEST = _descriptor.Descriptor(name='GetRequest', full_name='eve.user.tag.GetRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='user', full_name='eve.user.tag.GetRequest.user', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=222, serialized_end=270) -_GETRESPONSE = _descriptor.Descriptor(name='GetResponse', full_name='eve.user.tag.GetResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='tags', full_name='eve.user.tag.GetResponse.tags', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=272, serialized_end=314) -_GETALLREQUEST = _descriptor.Descriptor(name='GetAllRequest', full_name='eve.user.tag.GetAllRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=316, serialized_end=331) -_GETALLRESPONSE_TAGS = _descriptor.Descriptor(name='Tags', full_name='eve.user.tag.GetAllResponse.Tags', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='tag', full_name='eve.user.tag.GetAllResponse.Tags.tag', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attributes', full_name='eve.user.tag.GetAllResponse.Tags.attributes', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=401, serialized_end=481) -_GETALLRESPONSE = _descriptor.Descriptor(name='GetAllResponse', full_name='eve.user.tag.GetAllResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='tags', full_name='eve.user.tag.GetAllResponse.tags', index=0, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETALLRESPONSE_TAGS], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=334, serialized_end=481) +_ADDREQUEST = _descriptor.Descriptor(name='AddRequest', full_name='eve.user.tag.AddRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='user', full_name='eve.user.tag.AddRequest.user', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='tag', full_name='eve.user.tag.AddRequest.tag', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='tagger', full_name='eve.user.tag.AddRequest.tagger', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=106, serialized_end=224) +_GETREQUEST = _descriptor.Descriptor(name='GetRequest', full_name='eve.user.tag.GetRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='user', full_name='eve.user.tag.GetRequest.user', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=226, serialized_end=274) +_GETRESPONSE = _descriptor.Descriptor(name='GetResponse', full_name='eve.user.tag.GetResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='tags', full_name='eve.user.tag.GetResponse.tags', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=276, serialized_end=318) +_GETALLREQUEST = _descriptor.Descriptor(name='GetAllRequest', full_name='eve.user.tag.GetAllRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=320, serialized_end=335) +_GETALLRESPONSE_TAGS = _descriptor.Descriptor(name='Tags', full_name='eve.user.tag.GetAllResponse.Tags', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='tag', full_name='eve.user.tag.GetAllResponse.Tags.tag', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attributes', full_name='eve.user.tag.GetAllResponse.Tags.attributes', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=405, serialized_end=485) +_GETALLRESPONSE = _descriptor.Descriptor(name='GetAllResponse', full_name='eve.user.tag.GetAllResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='tags', full_name='eve.user.tag.GetAllResponse.tags', index=0, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETALLRESPONSE_TAGS], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=338, serialized_end=485) _ADDREQUEST.fields_by_name['user'].message_type = eve_dot_user_dot_user__pb2._IDENTIFIER _ADDREQUEST.fields_by_name['tag'].message_type = eve_dot_user_dot_user__pb2._TAG _ADDREQUEST.fields_by_name['tagger'].message_type = eve_dot_user_dot_user__pb2._IDENTIFIER @@ -51,3 +51,4 @@ GetAllResponse = _reflection.GeneratedProtocolMessageType('GetAllResponse', (_me _sym_db.RegisterMessage(GetAllResponse) _sym_db.RegisterMessage(GetAllResponse.Tags) DESCRIPTOR._options = None +_ADDREQUEST._options = None diff --git a/eveProto/generated/eve_public/academy/__init__.py b/eveProto/generated/eve_public/academy/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve_public/academy/__init__.py +pass diff --git a/eveProto/generated/eve_public/academy/ships/__init__.py b/eveProto/generated/eve_public/academy/ships/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve_public/academy/ships/__init__.py +pass diff --git a/eveProto/generated/eve_public/academy/ships/events_pb2.py b/eveProto/generated/eve_public/academy/ships/events_pb2.py @@ -0,0 +1,20 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve_public/academy/ships/events_pb2.py +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +from eveProto.generated.eve_public.character import character_pb2 as eve__public_dot_character_dot_character__pb2 +from eveProto.generated.eve_public.ship import ship_type_pb2 as eve__public_dot_ship_dot_ship__type__pb2 +from eveProto.generated.eve_public.solarsystem import solarsystem_pb2 as eve__public_dot_solarsystem_dot_solarsystem__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/academy/ships/events.proto', package='eve_public.academy.ships.events', syntax='proto3', serialized_options='ZJgithub.com/ccpgames/eve-proto-go/generated/eve_public/academy/ships/events', create_key=_descriptor._internal_create_key, serialized_pb='\n%eve_public/academy/ships/events.proto\x12\x1feve_public.academy.ships.events\x1a$eve_public/character/character.proto\x1a\x1feve_public/ship/ship_type.proto\x1a(eve_public/solarsystem/solarsystem.proto"\xac\x01\n\rExitAttempted\x123\n\tcharacter\x18\x01 \x01(\x0b2 .eve_public.character.Identifier\x122\n\tship_type\x18\x02 \x01(\x0b2\x1f.eve_public.shiptype.Identifier\x122\n\x06system\x18\x03 \x01(\x0b2".eve_public.solarsystem.IdentifierBLZJgithub.com/ccpgames/eve-proto-go/generated/eve_public/academy/ships/eventsb\x06proto3', dependencies=[eve__public_dot_character_dot_character__pb2.DESCRIPTOR, eve__public_dot_ship_dot_ship__type__pb2.DESCRIPTOR, eve__public_dot_solarsystem_dot_solarsystem__pb2.DESCRIPTOR]) +_EXITATTEMPTED = _descriptor.Descriptor(name='ExitAttempted', full_name='eve_public.academy.ships.events.ExitAttempted', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='character', full_name='eve_public.academy.ships.events.ExitAttempted.character', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='ship_type', full_name='eve_public.academy.ships.events.ExitAttempted.ship_type', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='system', full_name='eve_public.academy.ships.events.ExitAttempted.system', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=188, serialized_end=360) +_EXITATTEMPTED.fields_by_name['character'].message_type = eve__public_dot_character_dot_character__pb2._IDENTIFIER +_EXITATTEMPTED.fields_by_name['ship_type'].message_type = eve__public_dot_ship_dot_ship__type__pb2._IDENTIFIER +_EXITATTEMPTED.fields_by_name['system'].message_type = eve__public_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER +DESCRIPTOR.message_types_by_name['ExitAttempted'] = _EXITATTEMPTED +_sym_db.RegisterFileDescriptor(DESCRIPTOR) +ExitAttempted = _reflection.GeneratedProtocolMessageType('ExitAttempted', (_message.Message,), {'DESCRIPTOR': _EXITATTEMPTED, + '__module__': 'eve_public.academy.ships.events_pb2'}) +_sym_db.RegisterMessage(ExitAttempted) +DESCRIPTOR._options = None diff --git a/eveProto/generated/eve_public/achievement/category/api/admin/__init__.py b/eveProto/generated/eve_public/achievement/category/api/admin/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve_public/achievement/category/api/admin/__init__.py +pass diff --git a/eveProto/generated/eve_public/achievement/category/api/admin/requests_pb2.py b/eveProto/generated/eve_public/achievement/category/api/admin/requests_pb2.py @@ -0,0 +1,21 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve_public/achievement/category/api/admin/requests_pb2.py +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +from eveProto.generated.eve_public.achievement.category.definition import category_pb2 as eve__public_dot_achievement_dot_category_dot_definition_dot_category__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/achievement/category/api/admin/requests.proto', package='eve_public.achievement.category.api.admin', syntax='proto3', serialized_options='ZTgithub.com/ccpgames/eve-proto-go/generated/eve_public/achievement/category/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n8eve_public/achievement/category/api/admin/requests.proto\x12)eve_public.achievement.category.api.admin\x1a9eve_public/achievement/category/definition/category.proto"X\n\x0cResetRequest\x12H\n\x08category\x18\x01 \x01(\x0b26.eve_public.achievement.category.definition.Identifier"\x0f\n\rResetResponseBVZTgithub.com/ccpgames/eve-proto-go/generated/eve_public/achievement/category/api/adminb\x06proto3', dependencies=[eve__public_dot_achievement_dot_category_dot_definition_dot_category__pb2.DESCRIPTOR]) +_RESETREQUEST = _descriptor.Descriptor(name='ResetRequest', full_name='eve_public.achievement.category.api.admin.ResetRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='category', full_name='eve_public.achievement.category.api.admin.ResetRequest.category', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=162, serialized_end=250) +_RESETRESPONSE = _descriptor.Descriptor(name='ResetResponse', full_name='eve_public.achievement.category.api.admin.ResetResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=252, serialized_end=267) +_RESETREQUEST.fields_by_name['category'].message_type = eve__public_dot_achievement_dot_category_dot_definition_dot_category__pb2._IDENTIFIER +DESCRIPTOR.message_types_by_name['ResetRequest'] = _RESETREQUEST +DESCRIPTOR.message_types_by_name['ResetResponse'] = _RESETRESPONSE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) +ResetRequest = _reflection.GeneratedProtocolMessageType('ResetRequest', (_message.Message,), {'DESCRIPTOR': _RESETREQUEST, + '__module__': 'eve_public.achievement.category.api.admin.requests_pb2'}) +_sym_db.RegisterMessage(ResetRequest) +ResetResponse = _reflection.GeneratedProtocolMessageType('ResetResponse', (_message.Message,), {'DESCRIPTOR': _RESETRESPONSE, + '__module__': 'eve_public.achievement.category.api.admin.requests_pb2'}) +_sym_db.RegisterMessage(ResetResponse) +DESCRIPTOR._options = None diff --git a/eveProto/generated/eve_public/achievement/reward/api/requests_pb2.py b/eveProto/generated/eve_public/achievement/reward/api/requests_pb2.py @@ -10,21 +10,26 @@ from eveProto.generated.eve_public.achievement.definition import achievement_pb2 from eveProto.generated.eve_public.achievement.milestone.definition import milestone_pb2 as eve__public_dot_achievement_dot_milestone_dot_definition_dot_milestone__pb2 from eveProto.generated.eve_public.achievement.reward.definition import reward_pb2 as eve__public_dot_achievement_dot_reward_dot_definition_dot_reward__pb2 from eveProto.generated.eve_public import public_pb2 as eve__public_dot_public__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/achievement/reward/api/requests.proto', package='eve_public.achievement.reward.api', syntax='proto3', serialized_options='ZLgithub.com/ccpgames/eve-proto-go/generated/eve_public/achievement/reward/api', create_key=_descriptor._internal_create_key, serialized_pb='\n0eve_public/achievement/reward/api/requests.proto\x12!eve_public.achievement.reward.api\x1a9eve_public/achievement/category/definition/category.proto\x1aDeve_public/achievement/category/milestone/definition/milestone.proto\x1a3eve_public/achievement/definition/achievement.proto\x1a;eve_public/achievement/milestone/definition/milestone.proto\x1a5eve_public/achievement/reward/definition/reward.proto\x1a\x17eve_public/public.proto"5\n\x13GetUnclaimedRequest\x12\x1e\n\x04page\x18\x01 \x01(\x0b2\x10.eve_public.Page"\xa8\x06\n\x14GetUnclaimedResponse\x12O\n\x07rewards\x18\x01 \x03(\x0b2>.eve_public.achievement.reward.api.GetUnclaimedResponse.Reward\x12\'\n\tnext_page\x18\x02 \x01(\x0b2\x14.eve_public.NextPage\x1a\x95\x05\n\x06Reward\x12n\n\x12achievement_source\x18\x01 \x01(\x0b2P.eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSourceH\x00\x12h\n\x0fcategory_source\x18\x02 \x01(\x0b2M.eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySourceH\x00\x12O\n\x11unclaimed_rewards\x18\x03 \x03(\x0b24.eve_public.achievement.reward.definition.Identifier\x1a\xa3\x01\n\x11AchievementSource\x12B\n\x0bachievement\x18\x01 \x01(\x0b2-.eve_public.achievement.definition.Identifier\x12J\n\tmilestone\x18\x02 \x01(\x0b27.eve_public.achievement.milestone.definition.Identifier\x1a\xaf\x01\n\x0eCategorySource\x12H\n\x08category\x18\x01 \x01(\x0b26.eve_public.achievement.category.definition.Identifier\x12S\n\tmilestone\x18\x02 \x01(\x0b2@.eve_public.achievement.category.milestone.definition.IdentifierB\x08\n\x06source"\xac\x04\n\x0cClaimRequest\x12_\n\x12achievement_source\x18\x01 \x01(\x0b2A.eve_public.achievement.reward.api.ClaimRequest.AchievementSourceH\x00\x12Y\n\x0fcategory_source\x18\x02 \x01(\x0b2>.eve_public.achievement.reward.api.ClaimRequest.CategorySourceH\x00\x1a\xa3\x01\n\x11AchievementSource\x12B\n\x0bachievement\x18\x01 \x01(\x0b2-.eve_public.achievement.definition.Identifier\x12J\n\tmilestone\x18\x02 \x01(\x0b27.eve_public.achievement.milestone.definition.Identifier\x1a\xaf\x01\n\x0eCategorySource\x12H\n\x08category\x18\x01 \x01(\x0b26.eve_public.achievement.category.definition.Identifier\x12S\n\tmilestone\x18\x02 \x01(\x0b2@.eve_public.achievement.category.milestone.definition.IdentifierB\x08\n\x06source"\x0f\n\rClaimResponseBNZLgithub.com/ccpgames/eve-proto-go/generated/eve_public/achievement/reward/apib\x06proto3', dependencies=[eve__public_dot_achievement_dot_category_dot_definition_dot_category__pb2.DESCRIPTOR, +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/achievement/reward/api/requests.proto', package='eve_public.achievement.reward.api', syntax='proto3', serialized_options='ZLgithub.com/ccpgames/eve-proto-go/generated/eve_public/achievement/reward/api', create_key=_descriptor._internal_create_key, serialized_pb='\n0eve_public/achievement/reward/api/requests.proto\x12!eve_public.achievement.reward.api\x1a9eve_public/achievement/category/definition/category.proto\x1aDeve_public/achievement/category/milestone/definition/milestone.proto\x1a3eve_public/achievement/definition/achievement.proto\x1a;eve_public/achievement/milestone/definition/milestone.proto\x1a5eve_public/achievement/reward/definition/reward.proto\x1a\x17eve_public/public.proto\x1a\x1fgoogle/protobuf/timestamp.proto"5\n\x13GetUnclaimedRequest\x12\x1e\n\x04page\x18\x01 \x01(\x0b2\x10.eve_public.Page"\xd9\x06\n\x14GetUnclaimedResponse\x12O\n\x07rewards\x18\x01 \x03(\x0b2>.eve_public.achievement.reward.api.GetUnclaimedResponse.Reward\x12\'\n\tnext_page\x18\x02 \x01(\x0b2\x14.eve_public.NextPage\x1a\xc6\x05\n\x06Reward\x12n\n\x12achievement_source\x18\x01 \x01(\x0b2P.eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSourceH\x00\x12h\n\x0fcategory_source\x18\x02 \x01(\x0b2M.eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySourceH\x00\x12O\n\x11unclaimed_rewards\x18\x03 \x03(\x0b24.eve_public.achievement.reward.definition.Identifier\x12/\n\x0bexpiry_date\x18\x04 \x01(\x0b2\x1a.google.protobuf.Timestamp\x1a\xa3\x01\n\x11AchievementSource\x12B\n\x0bachievement\x18\x01 \x01(\x0b2-.eve_public.achievement.definition.Identifier\x12J\n\tmilestone\x18\x02 \x01(\x0b27.eve_public.achievement.milestone.definition.Identifier\x1a\xaf\x01\n\x0eCategorySource\x12H\n\x08category\x18\x01 \x01(\x0b26.eve_public.achievement.category.definition.Identifier\x12S\n\tmilestone\x18\x02 \x01(\x0b2@.eve_public.achievement.category.milestone.definition.IdentifierB\x08\n\x06source"\xac\x04\n\x0cClaimRequest\x12_\n\x12achievement_source\x18\x01 \x01(\x0b2A.eve_public.achievement.reward.api.ClaimRequest.AchievementSourceH\x00\x12Y\n\x0fcategory_source\x18\x02 \x01(\x0b2>.eve_public.achievement.reward.api.ClaimRequest.CategorySourceH\x00\x1a\xa3\x01\n\x11AchievementSource\x12B\n\x0bachievement\x18\x01 \x01(\x0b2-.eve_public.achievement.definition.Identifier\x12J\n\tmilestone\x18\x02 \x01(\x0b27.eve_public.achievement.milestone.definition.Identifier\x1a\xaf\x01\n\x0eCategorySource\x12H\n\x08category\x18\x01 \x01(\x0b26.eve_public.achievement.category.definition.Identifier\x12S\n\tmilestone\x18\x02 \x01(\x0b2@.eve_public.achievement.category.milestone.definition.IdentifierB\x08\n\x06source"\x0f\n\rClaimResponseBNZLgithub.com/ccpgames/eve-proto-go/generated/eve_public/achievement/reward/apib\x06proto3', dependencies=[eve__public_dot_achievement_dot_category_dot_definition_dot_category__pb2.DESCRIPTOR, eve__public_dot_achievement_dot_category_dot_milestone_dot_definition_dot_milestone__pb2.DESCRIPTOR, eve__public_dot_achievement_dot_definition_dot_achievement__pb2.DESCRIPTOR, eve__public_dot_achievement_dot_milestone_dot_definition_dot_milestone__pb2.DESCRIPTOR, eve__public_dot_achievement_dot_reward_dot_definition_dot_reward__pb2.DESCRIPTOR, - eve__public_dot_public__pb2.DESCRIPTOR]) -_GETUNCLAIMEDREQUEST = _descriptor.Descriptor(name='GetUnclaimedRequest', full_name='eve_public.achievement.reward.api.GetUnclaimedRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='page', full_name='eve_public.achievement.reward.api.GetUnclaimedRequest.page', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=410, serialized_end=463) -_GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE = _descriptor.Descriptor(name='AchievementSource', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource.achievement', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=923, serialized_end=1086) -_GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE = _descriptor.Descriptor(name='CategorySource', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='category', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource.category', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1089, serialized_end=1264) -_GETUNCLAIMEDRESPONSE_REWARD = _descriptor.Descriptor(name='Reward', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement_source', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.achievement_source', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='category_source', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.category_source', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='unclaimed_rewards', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.unclaimed_rewards', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE, _GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='source', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.source', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=613, serialized_end=1274) -_GETUNCLAIMEDRESPONSE = _descriptor.Descriptor(name='GetUnclaimedResponse', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='rewards', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.rewards', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='next_page', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.next_page', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETUNCLAIMEDRESPONSE_REWARD], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=466, serialized_end=1274) -_CLAIMREQUEST_ACHIEVEMENTSOURCE = _descriptor.Descriptor(name='AchievementSource', full_name='eve_public.achievement.reward.api.ClaimRequest.AchievementSource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement', full_name='eve_public.achievement.reward.api.ClaimRequest.AchievementSource.achievement', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve_public.achievement.reward.api.ClaimRequest.AchievementSource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=923, serialized_end=1086) -_CLAIMREQUEST_CATEGORYSOURCE = _descriptor.Descriptor(name='CategorySource', full_name='eve_public.achievement.reward.api.ClaimRequest.CategorySource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='category', full_name='eve_public.achievement.reward.api.ClaimRequest.CategorySource.category', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve_public.achievement.reward.api.ClaimRequest.CategorySource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1089, serialized_end=1264) -_CLAIMREQUEST = _descriptor.Descriptor(name='ClaimRequest', full_name='eve_public.achievement.reward.api.ClaimRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement_source', full_name='eve_public.achievement.reward.api.ClaimRequest.achievement_source', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='category_source', full_name='eve_public.achievement.reward.api.ClaimRequest.category_source', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_CLAIMREQUEST_ACHIEVEMENTSOURCE, _CLAIMREQUEST_CATEGORYSOURCE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='source', full_name='eve_public.achievement.reward.api.ClaimRequest.source', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1277, serialized_end=1833) -_CLAIMRESPONSE = _descriptor.Descriptor(name='ClaimResponse', full_name='eve_public.achievement.reward.api.ClaimResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1835, serialized_end=1850) + eve__public_dot_public__pb2.DESCRIPTOR, + google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR]) +_GETUNCLAIMEDREQUEST = _descriptor.Descriptor(name='GetUnclaimedRequest', full_name='eve_public.achievement.reward.api.GetUnclaimedRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='page', full_name='eve_public.achievement.reward.api.GetUnclaimedRequest.page', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=443, serialized_end=496) +_GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE = _descriptor.Descriptor(name='AchievementSource', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource.achievement', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.AchievementSource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1005, serialized_end=1168) +_GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE = _descriptor.Descriptor(name='CategorySource', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='category', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource.category', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.CategorySource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1171, serialized_end=1346) +_GETUNCLAIMEDRESPONSE_REWARD = _descriptor.Descriptor(name='Reward', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement_source', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.achievement_source', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='category_source', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.category_source', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='unclaimed_rewards', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.unclaimed_rewards', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='expiry_date', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.expiry_date', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE, _GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='source', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.Reward.source', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=646, serialized_end=1356) +_GETUNCLAIMEDRESPONSE = _descriptor.Descriptor(name='GetUnclaimedResponse', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='rewards', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.rewards', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='next_page', full_name='eve_public.achievement.reward.api.GetUnclaimedResponse.next_page', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETUNCLAIMEDRESPONSE_REWARD], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=499, serialized_end=1356) +_CLAIMREQUEST_ACHIEVEMENTSOURCE = _descriptor.Descriptor(name='AchievementSource', full_name='eve_public.achievement.reward.api.ClaimRequest.AchievementSource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement', full_name='eve_public.achievement.reward.api.ClaimRequest.AchievementSource.achievement', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve_public.achievement.reward.api.ClaimRequest.AchievementSource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1005, serialized_end=1168) +_CLAIMREQUEST_CATEGORYSOURCE = _descriptor.Descriptor(name='CategorySource', full_name='eve_public.achievement.reward.api.ClaimRequest.CategorySource', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='category', full_name='eve_public.achievement.reward.api.ClaimRequest.CategorySource.category', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='milestone', full_name='eve_public.achievement.reward.api.ClaimRequest.CategorySource.milestone', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1171, serialized_end=1346) +_CLAIMREQUEST = _descriptor.Descriptor(name='ClaimRequest', full_name='eve_public.achievement.reward.api.ClaimRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='achievement_source', full_name='eve_public.achievement.reward.api.ClaimRequest.achievement_source', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='category_source', full_name='eve_public.achievement.reward.api.ClaimRequest.category_source', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_CLAIMREQUEST_ACHIEVEMENTSOURCE, _CLAIMREQUEST_CATEGORYSOURCE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='source', full_name='eve_public.achievement.reward.api.ClaimRequest.source', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1359, serialized_end=1915) +_CLAIMRESPONSE = _descriptor.Descriptor(name='ClaimResponse', full_name='eve_public.achievement.reward.api.ClaimResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1917, serialized_end=1932) _GETUNCLAIMEDREQUEST.fields_by_name['page'].message_type = eve__public_dot_public__pb2._PAGE _GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE.fields_by_name['achievement'].message_type = eve__public_dot_achievement_dot_definition_dot_achievement__pb2._IDENTIFIER _GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE.fields_by_name['milestone'].message_type = eve__public_dot_achievement_dot_milestone_dot_definition_dot_milestone__pb2._IDENTIFIER @@ -35,6 +40,7 @@ _GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE.containing_type = _GETUNCLAIMEDRESPO _GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['achievement_source'].message_type = _GETUNCLAIMEDRESPONSE_REWARD_ACHIEVEMENTSOURCE _GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['category_source'].message_type = _GETUNCLAIMEDRESPONSE_REWARD_CATEGORYSOURCE _GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['unclaimed_rewards'].message_type = eve__public_dot_achievement_dot_reward_dot_definition_dot_reward__pb2._IDENTIFIER +_GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['expiry_date'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP _GETUNCLAIMEDRESPONSE_REWARD.containing_type = _GETUNCLAIMEDRESPONSE _GETUNCLAIMEDRESPONSE_REWARD.oneofs_by_name['source'].fields.append(_GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['achievement_source']) _GETUNCLAIMEDRESPONSE_REWARD.fields_by_name['achievement_source'].containing_oneof = _GETUNCLAIMEDRESPONSE_REWARD.oneofs_by_name['source'] diff --git a/eveProto/generated/eve_public/app/launcher/personality_quiz/api/events_pb2.py b/eveProto/generated/eve_public/app/launcher/personality_quiz/api/events_pb2.py @@ -8,7 +8,7 @@ from eveProto.generated.eve_public.app.launcher.context import context_pb2 as ev from eveProto.generated.eve_public.app.launcher.personality_quiz import personality_quiz_pb2 as eve__public_dot_app_dot_launcher_dot_personality__quiz_dot_personality__quiz__pb2 from eveProto.generated.eve_public.app.launcher.product import product_pb2 as eve__public_dot_app_dot_launcher_dot_product_dot_product__pb2 from eveProto.generated.eve_public.user import user_pb2 as eve__public_dot_user_dot_user__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/app/launcher/personality_quiz/api/events.proto', package='eve_public.app.launcher.personality_quiz.api', syntax='proto3', serialized_options='ZWgithub.com/ccpgames/eve-proto-go/generated/eve_public/app/launcher/personality_quiz/api', create_key=_descriptor._internal_create_key, serialized_pb='\n9eve_public/app/launcher/personality_quiz/api/events.proto\x12,eve_public.app.launcher.personality_quiz.api\x1a-eve_public/app/launcher/context/context.proto\x1a?eve_public/app/launcher/personality_quiz/personality_quiz.proto\x1a-eve_public/app/launcher/product/product.proto\x1a\x1aeve_public/user/user.proto"\xff\x01\n\x07Started\x12?\n\x07context\x18\x01 \x01(\x0b2..eve_public.app.launcher.context.EventMetadata\x12A\n\x07product\x18\x02 \x01(\x0e20.eve_public.app.launcher.product.LauncherProduct\x12)\n\x04user\x18\x03 \x01(\x0b2\x1b.eve_public.user.Identifier\x12E\n\tquestions\x18\x04 \x03(\x0b22.eve_public.app.launcher.personality_quiz.Question"\xba\x01\n\tCompleted\x12?\n\x07context\x18\x01 \x01(\x0b2..eve_public.app.launcher.context.EventMetadata\x12A\n\x07product\x18\x02 \x01(\x0e20.eve_public.app.launcher.product.LauncherProduct\x12)\n\x04user\x18\x03 \x01(\x0b2\x1b.eve_public.user.Identifier"\xba\x01\n\tAbandoned\x12?\n\x07context\x18\x01 \x01(\x0b2..eve_public.app.launcher.context.EventMetadata\x12A\n\x07product\x18\x02 \x01(\x0e20.eve_public.app.launcher.product.LauncherProduct\x12)\n\x04user\x18\x03 \x01(\x0b2\x1b.eve_public.user.Identifier"\x88\x03\n\x08Answered\x12?\n\x07context\x18\x01 \x01(\x0b2..eve_public.app.launcher.context.EventMetadata\x12A\n\x07product\x18\x02 \x01(\x0e20.eve_public.app.launcher.product.LauncherProduct\x12)\n\x04user\x18\x03 \x01(\x0b2\x1b.eve_public.user.Identifier\x12N\n\x08question\x18\x04 \x01(\x0b2<.eve_public.app.launcher.personality_quiz.QuestionIdentifier\x12\x11\n\x07skipped\x18\x05 \x01(\x08H\x00\x12L\n\x06answer\x18\x06 \x01(\x0b2:.eve_public.app.launcher.personality_quiz.AnswerIdentifierH\x00\x12\x0e\n\x06locale\x18\x07 \x01(\tB\x0c\n\nuser_inputBYZWgithub.com/ccpgames/eve-proto-go/generated/eve_public/app/launcher/personality_quiz/apib\x06proto3', dependencies=[eve__public_dot_app_dot_launcher_dot_context_dot_context__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/app/launcher/personality_quiz/api/events.proto', package='eve_public.app.launcher.personality_quiz.api', syntax='proto3', serialized_options='ZWgithub.com/ccpgames/eve-proto-go/generated/eve_public/app/launcher/personality_quiz/api', create_key=_descriptor._internal_create_key, serialized_pb='\n9eve_public/app/launcher/personality_quiz/api/events.proto\x12,eve_public.app.launcher.personality_quiz.api\x1a-eve_public/app/launcher/context/context.proto\x1a?eve_public/app/launcher/personality_quiz/personality_quiz.proto\x1a-eve_public/app/launcher/product/product.proto\x1a\x1aeve_public/user/user.proto"\xff\x01\n\x07Started\x12?\n\x07context\x18\x01 \x01(\x0b2..eve_public.app.launcher.context.EventMetadata\x12A\n\x07product\x18\x02 \x01(\x0e20.eve_public.app.launcher.product.LauncherProduct\x12)\n\x04user\x18\x03 \x01(\x0b2\x1b.eve_public.user.Identifier\x12E\n\tquestions\x18\x04 \x03(\x0b22.eve_public.app.launcher.personality_quiz.Question"\xba\x01\n\tCompleted\x12?\n\x07context\x18\x01 \x01(\x0b2..eve_public.app.launcher.context.EventMetadata\x12A\n\x07product\x18\x02 \x01(\x0e20.eve_public.app.launcher.product.LauncherProduct\x12)\n\x04user\x18\x03 \x01(\x0b2\x1b.eve_public.user.Identifier"\xba\x01\n\tAbandoned\x12?\n\x07context\x18\x01 \x01(\x0b2..eve_public.app.launcher.context.EventMetadata\x12A\n\x07product\x18\x02 \x01(\x0e20.eve_public.app.launcher.product.LauncherProduct\x12)\n\x04user\x18\x03 \x01(\x0b2\x1b.eve_public.user.Identifier"\x95\x03\n\x08Answered\x12?\n\x07context\x18\x01 \x01(\x0b2..eve_public.app.launcher.context.EventMetadata\x12A\n\x07product\x18\x02 \x01(\x0e20.eve_public.app.launcher.product.LauncherProduct\x12)\n\x04user\x18\x03 \x01(\x0b2\x1b.eve_public.user.Identifier\x12N\n\x08question\x18\x04 \x01(\x0b2<.eve_public.app.launcher.personality_quiz.QuestionIdentifier\x12\x11\n\x07skipped\x18\x05 \x01(\x08H\x00\x12L\n\x06answer\x18\x06 \x01(\x0b2:.eve_public.app.launcher.personality_quiz.AnswerIdentifierH\x00\x12\x0e\n\x06locale\x18\x07 \x01(\t\x12\x0b\n\x03tag\x18\x08 \x01(\tB\x0c\n\nuser_inputBYZWgithub.com/ccpgames/eve-proto-go/generated/eve_public/app/launcher/personality_quiz/apib\x06proto3', dependencies=[eve__public_dot_app_dot_launcher_dot_context_dot_context__pb2.DESCRIPTOR, eve__public_dot_app_dot_launcher_dot_personality__quiz_dot_personality__quiz__pb2.DESCRIPTOR, eve__public_dot_app_dot_launcher_dot_product_dot_product__pb2.DESCRIPTOR, eve__public_dot_user_dot_user__pb2.DESCRIPTOR]) @@ -24,7 +24,8 @@ _ANSWERED = _descriptor.Descriptor(name='Answered', full_name='eve_public.app.la _descriptor.FieldDescriptor(name='question', full_name='eve_public.app.launcher.personality_quiz.api.Answered.question', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='skipped', full_name='eve_public.app.launcher.personality_quiz.api.Answered.skipped', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='answer', full_name='eve_public.app.launcher.personality_quiz.api.Answered.answer', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='locale', full_name='eve_public.app.launcher.personality_quiz.api.Answered.locale', index=6, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='user_input', full_name='eve_public.app.launcher.personality_quiz.api.Answered.user_input', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=931, serialized_end=1323) + _descriptor.FieldDescriptor(name='locale', full_name='eve_public.app.launcher.personality_quiz.api.Answered.locale', index=6, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor(name='tag', full_name='eve_public.app.launcher.personality_quiz.api.Answered.tag', index=7, number=8, type=9, cpp_type=9, label=1, has_default_value=False, default_value=''.decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='user_input', full_name='eve_public.app.launcher.personality_quiz.api.Answered.user_input', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=931, serialized_end=1336) _STARTED.fields_by_name['context'].message_type = eve__public_dot_app_dot_launcher_dot_context_dot_context__pb2._EVENTMETADATA _STARTED.fields_by_name['product'].enum_type = eve__public_dot_app_dot_launcher_dot_product_dot_product__pb2._LAUNCHERPRODUCT _STARTED.fields_by_name['user'].message_type = eve__public_dot_user_dot_user__pb2._IDENTIFIER diff --git a/eveProto/generated/eve_public/career/career_pb2.py b/eveProto/generated/eve_public/career/career_pb2.py @@ -5,12 +5,12 @@ from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/career/career.proto', package='eve_public.career', syntax='proto3', serialized_options='Z<github.com/ccpgames/eve-proto-go/generated/eve_public/career', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1eeve_public/career/career.proto\x12\x11eve_public.career*\x84\x01\n\x04Path\x12\x16\n\x12CAREER_UNSPECIFIED\x10\x00\x12\x16\n\x12CAREER_EXPLORATION\x10\x01\x12\x18\n\x14CAREER_INDUSTRIALIST\x10\x02\x12\x13\n\x0fCAREER_ENFORCER\x10\x03\x12\x1d\n\x19CAREER_SOLDIER_OF_FORTUNE\x10\x04B>Z<github.com/ccpgames/eve-proto-go/generated/eve_public/careerb\x06proto3') +DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/career/career.proto', package='eve_public.career', syntax='proto3', serialized_options='Z<github.com/ccpgames/eve-proto-go/generated/eve_public/career', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1eeve_public/career/career.proto\x12\x11eve_public.career*\x88\x01\n\x04Path\x12\x16\n\x12CAREER_UNSPECIFIED\x10\x00\x12\x16\n\x12CAREER_EXPLORATION\x10\x01\x12\x18\n\x14CAREER_INDUSTRIALIST\x10\x02\x12\x13\n\x0fCAREER_ENFORCER\x10\x03\x12\x1d\n\x19CAREER_SOLDIER_OF_FORTUNE\x10\x04\x1a\x02\x18\x01B>Z<github.com/ccpgames/eve-proto-go/generated/eve_public/careerb\x06proto3') _PATH = _descriptor.EnumDescriptor(name='Path', full_name='eve_public.career.Path', filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[_descriptor.EnumValueDescriptor(name='CAREER_UNSPECIFIED', index=0, number=0, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='CAREER_EXPLORATION', index=1, number=1, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='CAREER_INDUSTRIALIST', index=2, number=2, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='CAREER_ENFORCER', index=3, number=3, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor(name='CAREER_SOLDIER_OF_FORTUNE', index=4, number=4, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options=None, serialized_start=54, serialized_end=186) + _descriptor.EnumValueDescriptor(name='CAREER_SOLDIER_OF_FORTUNE', index=4, number=4, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options='\x18\x01', serialized_start=54, serialized_end=190) _sym_db.RegisterEnumDescriptor(_PATH) Path = enum_type_wrapper.EnumTypeWrapper(_PATH) CAREER_UNSPECIFIED = 0 @@ -21,3 +21,4 @@ CAREER_SOLDIER_OF_FORTUNE = 4 DESCRIPTOR.enum_types_by_name['Path'] = _PATH _sym_db.RegisterFileDescriptor(DESCRIPTOR) DESCRIPTOR._options = None +_PATH._options = None diff --git a/eveProto/generated/eve_public/career/goal/api/admin/requests_pb2.py b/eveProto/generated/eve_public/career/goal/api/admin/requests_pb2.py @@ -5,11 +5,11 @@ from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from eveProto.generated.eve_public.career import goal_pb2 as eve__public_dot_career_dot_goal__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/career/goal/api/admin/requests.proto', package='eve_public.career.goal.api.admin', syntax='proto3', serialized_options='ZKgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n/eve_public/career/goal/api/admin/requests.proto\x12 eve_public.career.goal.api.admin\x1a\x1ceve_public/career/goal.proto"C\n\x0fCompleteRequest\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier"\x12\n\x10CompleteResponse"U\n\x0fProgressRequest\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier\x12\x10\n\x08progress\x18\x02 \x01(\r"\x12\n\x10ProgressResponseBMZKgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/api/adminb\x06proto3', dependencies=[eve__public_dot_career_dot_goal__pb2.DESCRIPTOR]) -_COMPLETEREQUEST = _descriptor.Descriptor(name='CompleteRequest', full_name='eve_public.career.goal.api.admin.CompleteRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.admin.CompleteRequest.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=115, serialized_end=182) -_COMPLETERESPONSE = _descriptor.Descriptor(name='CompleteResponse', full_name='eve_public.career.goal.api.admin.CompleteResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=184, serialized_end=202) -_PROGRESSREQUEST = _descriptor.Descriptor(name='ProgressRequest', full_name='eve_public.career.goal.api.admin.ProgressRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.admin.ProgressRequest.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='progress', full_name='eve_public.career.goal.api.admin.ProgressRequest.progress', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=204, serialized_end=289) -_PROGRESSRESPONSE = _descriptor.Descriptor(name='ProgressResponse', full_name='eve_public.career.goal.api.admin.ProgressResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=291, serialized_end=309) +DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/career/goal/api/admin/requests.proto', package='eve_public.career.goal.api.admin', syntax='proto3', serialized_options='ZKgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/api/admin', create_key=_descriptor._internal_create_key, serialized_pb='\n/eve_public/career/goal/api/admin/requests.proto\x12 eve_public.career.goal.api.admin\x1a\x1ceve_public/career/goal.proto"G\n\x0fCompleteRequest\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier:\x02\x18\x01"\x16\n\x10CompleteResponse:\x02\x18\x01"Y\n\x0fProgressRequest\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier\x12\x10\n\x08progress\x18\x02 \x01(\r:\x02\x18\x01"\x16\n\x10ProgressResponse:\x02\x18\x01BMZKgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/api/adminb\x06proto3', dependencies=[eve__public_dot_career_dot_goal__pb2.DESCRIPTOR]) +_COMPLETEREQUEST = _descriptor.Descriptor(name='CompleteRequest', full_name='eve_public.career.goal.api.admin.CompleteRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.admin.CompleteRequest.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=115, serialized_end=186) +_COMPLETERESPONSE = _descriptor.Descriptor(name='CompleteResponse', full_name='eve_public.career.goal.api.admin.CompleteResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=188, serialized_end=210) +_PROGRESSREQUEST = _descriptor.Descriptor(name='ProgressRequest', full_name='eve_public.career.goal.api.admin.ProgressRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.admin.ProgressRequest.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='progress', full_name='eve_public.career.goal.api.admin.ProgressRequest.progress', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=212, serialized_end=301) +_PROGRESSRESPONSE = _descriptor.Descriptor(name='ProgressResponse', full_name='eve_public.career.goal.api.admin.ProgressResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=303, serialized_end=325) _COMPLETEREQUEST.fields_by_name['goal'].message_type = eve__public_dot_career_dot_goal__pb2._IDENTIFIER _PROGRESSREQUEST.fields_by_name['goal'].message_type = eve__public_dot_career_dot_goal__pb2._IDENTIFIER DESCRIPTOR.message_types_by_name['CompleteRequest'] = _COMPLETEREQUEST @@ -30,3 +30,7 @@ ProgressResponse = _reflection.GeneratedProtocolMessageType('ProgressResponse', '__module__': 'eve_public.career.goal.api.admin.requests_pb2'}) _sym_db.RegisterMessage(ProgressResponse) DESCRIPTOR._options = None +_COMPLETEREQUEST._options = None +_COMPLETERESPONSE._options = None +_PROGRESSREQUEST._options = None +_PROGRESSRESPONSE._options = None diff --git a/eveProto/generated/eve_public/career/goal/api/notices_pb2.py b/eveProto/generated/eve_public/career/goal/api/notices_pb2.py @@ -5,9 +5,9 @@ from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from eveProto.generated.eve_public.career import goal_pb2 as eve__public_dot_career_dot_goal__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/career/goal/api/notices.proto', package='eve_public.career.goal.api', syntax='proto3', serialized_options='ZEgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/api', create_key=_descriptor._internal_create_key, serialized_pb='\n(eve_public/career/goal/api/notices.proto\x12\x1aeve_public.career.goal.api\x1a\x1ceve_public/career/goal.proto"C\n\x0fCompletedNotice\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier"T\n\x10ProgressedNotice\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier\x12\x0e\n\x06amount\x18\x02 \x01(\rBGZEgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/apib\x06proto3', dependencies=[eve__public_dot_career_dot_goal__pb2.DESCRIPTOR]) -_COMPLETEDNOTICE = _descriptor.Descriptor(name='CompletedNotice', full_name='eve_public.career.goal.api.CompletedNotice', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.CompletedNotice.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=102, serialized_end=169) -_PROGRESSEDNOTICE = _descriptor.Descriptor(name='ProgressedNotice', full_name='eve_public.career.goal.api.ProgressedNotice', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.ProgressedNotice.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='amount', full_name='eve_public.career.goal.api.ProgressedNotice.amount', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=171, serialized_end=255) +DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/career/goal/api/notices.proto', package='eve_public.career.goal.api', syntax='proto3', serialized_options='ZEgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/api', create_key=_descriptor._internal_create_key, serialized_pb='\n(eve_public/career/goal/api/notices.proto\x12\x1aeve_public.career.goal.api\x1a\x1ceve_public/career/goal.proto"G\n\x0fCompletedNotice\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier:\x02\x18\x01"X\n\x10ProgressedNotice\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier\x12\x0e\n\x06amount\x18\x02 \x01(\r:\x02\x18\x01BGZEgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/apib\x06proto3', dependencies=[eve__public_dot_career_dot_goal__pb2.DESCRIPTOR]) +_COMPLETEDNOTICE = _descriptor.Descriptor(name='CompletedNotice', full_name='eve_public.career.goal.api.CompletedNotice', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.CompletedNotice.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=102, serialized_end=173) +_PROGRESSEDNOTICE = _descriptor.Descriptor(name='ProgressedNotice', full_name='eve_public.career.goal.api.ProgressedNotice', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.ProgressedNotice.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='amount', full_name='eve_public.career.goal.api.ProgressedNotice.amount', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=175, serialized_end=263) _COMPLETEDNOTICE.fields_by_name['goal'].message_type = eve__public_dot_career_dot_goal__pb2._IDENTIFIER _PROGRESSEDNOTICE.fields_by_name['goal'].message_type = eve__public_dot_career_dot_goal__pb2._IDENTIFIER DESCRIPTOR.message_types_by_name['CompletedNotice'] = _COMPLETEDNOTICE @@ -20,3 +20,5 @@ ProgressedNotice = _reflection.GeneratedProtocolMessageType('ProgressedNotice', '__module__': 'eve_public.career.goal.api.notices_pb2'}) _sym_db.RegisterMessage(ProgressedNotice) DESCRIPTOR._options = None +_COMPLETEDNOTICE._options = None +_PROGRESSEDNOTICE._options = None diff --git a/eveProto/generated/eve_public/career/goal/api/requests_pb2.py b/eveProto/generated/eve_public/career/goal/api/requests_pb2.py @@ -6,20 +6,20 @@ from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from eveProto.generated.eve_public.career import goal_pb2 as eve__public_dot_career_dot_goal__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/career/goal/api/requests.proto', package='eve_public.career.goal.api', syntax='proto3', serialized_options='ZEgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/api', create_key=_descriptor._internal_create_key, serialized_pb='\n)eve_public/career/goal/api/requests.proto\x12\x1aeve_public.career.goal.api\x1a\x1ceve_public/career/goal.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x17\n\x15GetDefinitionsRequest"\xd2\x01\n\x16GetDefinitionsResponse\x12F\n\x05goals\x18\x01 \x03(\x0b27.eve_public.career.goal.api.GetDefinitionsResponse.Goal\x1ap\n\x04Goal\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier\x126\n\nattributes\x18\x02 \x01(\x0b2".eve_public.career.goal.Attributes"\x0f\n\rGetAllRequest"\xf7\x03\n\x0eGetAllResponse\x12>\n\x05goals\x18\x01 \x03(\x0b2/.eve_public.career.goal.api.GetAllResponse.Goal\x1a\xa4\x03\n\x04Goal\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier\x12\x10\n\x08progress\x18\x02 \x01(\r\x12\x17\n\rnot_completed\x18\x03 \x01(\x08H\x00\x124\n\x0ecompleted_time\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12]\n\x13reward_label_states\x18\x05 \x03(\x0b2@.eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState\x1a\x9c\x01\n\x10RewardLabelState\x122\n\x05label\x18\x01 \x01(\x0e2#.eve_public.career.goal.RewardLabel\x122\n\x0cclaimed_time\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0bnot_claimed\x18\x03 \x01(\x08H\x00B\t\n\x07claimedB\x0b\n\tcompleted"z\n\x12ClaimRewardRequest\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier\x122\n\x05label\x18\x02 \x01(\x0e2#.eve_public.career.goal.RewardLabel"\x15\n\x13ClaimRewardResponseBGZEgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/apib\x06proto3', dependencies=[eve__public_dot_career_dot_goal__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR]) -_GETDEFINITIONSREQUEST = _descriptor.Descriptor(name='GetDefinitionsRequest', full_name='eve_public.career.goal.api.GetDefinitionsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=136, serialized_end=159) -_GETDEFINITIONSRESPONSE_GOAL = _descriptor.Descriptor(name='Goal', full_name='eve_public.career.goal.api.GetDefinitionsResponse.Goal', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.GetDefinitionsResponse.Goal.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attributes', full_name='eve_public.career.goal.api.GetDefinitionsResponse.Goal.attributes', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=260, serialized_end=372) -_GETDEFINITIONSRESPONSE = _descriptor.Descriptor(name='GetDefinitionsResponse', full_name='eve_public.career.goal.api.GetDefinitionsResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goals', full_name='eve_public.career.goal.api.GetDefinitionsResponse.goals', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETDEFINITIONSRESPONSE_GOAL], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=162, serialized_end=372) -_GETALLREQUEST = _descriptor.Descriptor(name='GetAllRequest', full_name='eve_public.career.goal.api.GetAllRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=374, serialized_end=389) -_GETALLRESPONSE_GOAL_REWARDLABELSTATE = _descriptor.Descriptor(name='RewardLabelState', full_name='eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='label', full_name='eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState.label', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='claimed_time', full_name='eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState.claimed_time', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='not_claimed', full_name='eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState.not_claimed', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='claimed', full_name='eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState.claimed', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=726, serialized_end=882) +DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/career/goal/api/requests.proto', package='eve_public.career.goal.api', syntax='proto3', serialized_options='ZEgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/api', create_key=_descriptor._internal_create_key, serialized_pb='\n)eve_public/career/goal/api/requests.proto\x12\x1aeve_public.career.goal.api\x1a\x1ceve_public/career/goal.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x1b\n\x15GetDefinitionsRequest:\x02\x18\x01"\xd6\x01\n\x16GetDefinitionsResponse\x12F\n\x05goals\x18\x01 \x03(\x0b27.eve_public.career.goal.api.GetDefinitionsResponse.Goal\x1ap\n\x04Goal\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier\x126\n\nattributes\x18\x02 \x01(\x0b2".eve_public.career.goal.Attributes:\x02\x18\x01"\x13\n\rGetAllRequest:\x02\x18\x01"\xfb\x03\n\x0eGetAllResponse\x12>\n\x05goals\x18\x01 \x03(\x0b2/.eve_public.career.goal.api.GetAllResponse.Goal\x1a\xa4\x03\n\x04Goal\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier\x12\x10\n\x08progress\x18\x02 \x01(\r\x12\x17\n\rnot_completed\x18\x03 \x01(\x08H\x00\x124\n\x0ecompleted_time\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12]\n\x13reward_label_states\x18\x05 \x03(\x0b2@.eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState\x1a\x9c\x01\n\x10RewardLabelState\x122\n\x05label\x18\x01 \x01(\x0e2#.eve_public.career.goal.RewardLabel\x122\n\x0cclaimed_time\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0bnot_claimed\x18\x03 \x01(\x08H\x00B\t\n\x07claimedB\x0b\n\tcompleted:\x02\x18\x01"~\n\x12ClaimRewardRequest\x120\n\x04goal\x18\x01 \x01(\x0b2".eve_public.career.goal.Identifier\x122\n\x05label\x18\x02 \x01(\x0e2#.eve_public.career.goal.RewardLabel:\x02\x18\x01"\x19\n\x13ClaimRewardResponse:\x02\x18\x01BGZEgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal/apib\x06proto3', dependencies=[eve__public_dot_career_dot_goal__pb2.DESCRIPTOR, google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR]) +_GETDEFINITIONSREQUEST = _descriptor.Descriptor(name='GetDefinitionsRequest', full_name='eve_public.career.goal.api.GetDefinitionsRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=136, serialized_end=163) +_GETDEFINITIONSRESPONSE_GOAL = _descriptor.Descriptor(name='Goal', full_name='eve_public.career.goal.api.GetDefinitionsResponse.Goal', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.GetDefinitionsResponse.Goal.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='attributes', full_name='eve_public.career.goal.api.GetDefinitionsResponse.Goal.attributes', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=264, serialized_end=376) +_GETDEFINITIONSRESPONSE = _descriptor.Descriptor(name='GetDefinitionsResponse', full_name='eve_public.career.goal.api.GetDefinitionsResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goals', full_name='eve_public.career.goal.api.GetDefinitionsResponse.goals', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETDEFINITIONSRESPONSE_GOAL], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=166, serialized_end=380) +_GETALLREQUEST = _descriptor.Descriptor(name='GetAllRequest', full_name='eve_public.career.goal.api.GetAllRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=382, serialized_end=401) +_GETALLRESPONSE_GOAL_REWARDLABELSTATE = _descriptor.Descriptor(name='RewardLabelState', full_name='eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='label', full_name='eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState.label', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='claimed_time', full_name='eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState.claimed_time', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='not_claimed', full_name='eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState.not_claimed', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='claimed', full_name='eve_public.career.goal.api.GetAllResponse.Goal.RewardLabelState.claimed', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=738, serialized_end=894) _GETALLRESPONSE_GOAL = _descriptor.Descriptor(name='Goal', full_name='eve_public.career.goal.api.GetAllResponse.Goal', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.GetAllResponse.Goal.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='progress', full_name='eve_public.career.goal.api.GetAllResponse.Goal.progress', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='not_completed', full_name='eve_public.career.goal.api.GetAllResponse.Goal.not_completed', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='completed_time', full_name='eve_public.career.goal.api.GetAllResponse.Goal.completed_time', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='reward_label_states', full_name='eve_public.career.goal.api.GetAllResponse.Goal.reward_label_states', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETALLRESPONSE_GOAL_REWARDLABELSTATE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='completed', full_name='eve_public.career.goal.api.GetAllResponse.Goal.completed', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=475, serialized_end=895) -_GETALLRESPONSE = _descriptor.Descriptor(name='GetAllResponse', full_name='eve_public.career.goal.api.GetAllResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goals', full_name='eve_public.career.goal.api.GetAllResponse.goals', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETALLRESPONSE_GOAL], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=392, serialized_end=895) -_CLAIMREWARDREQUEST = _descriptor.Descriptor(name='ClaimRewardRequest', full_name='eve_public.career.goal.api.ClaimRewardRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.ClaimRewardRequest.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='label', full_name='eve_public.career.goal.api.ClaimRewardRequest.label', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=897, serialized_end=1019) -_CLAIMREWARDRESPONSE = _descriptor.Descriptor(name='ClaimRewardResponse', full_name='eve_public.career.goal.api.ClaimRewardResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1021, serialized_end=1042) + _descriptor.FieldDescriptor(name='reward_label_states', full_name='eve_public.career.goal.api.GetAllResponse.Goal.reward_label_states', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETALLRESPONSE_GOAL_REWARDLABELSTATE], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='completed', full_name='eve_public.career.goal.api.GetAllResponse.Goal.completed', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=487, serialized_end=907) +_GETALLRESPONSE = _descriptor.Descriptor(name='GetAllResponse', full_name='eve_public.career.goal.api.GetAllResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goals', full_name='eve_public.career.goal.api.GetAllResponse.goals', index=0, number=1, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[_GETALLRESPONSE_GOAL], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=404, serialized_end=911) +_CLAIMREWARDREQUEST = _descriptor.Descriptor(name='ClaimRewardRequest', full_name='eve_public.career.goal.api.ClaimRewardRequest', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='goal', full_name='eve_public.career.goal.api.ClaimRewardRequest.goal', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='label', full_name='eve_public.career.goal.api.ClaimRewardRequest.label', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=913, serialized_end=1039) +_CLAIMREWARDRESPONSE = _descriptor.Descriptor(name='ClaimRewardResponse', full_name='eve_public.career.goal.api.ClaimRewardResponse', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1041, serialized_end=1066) _GETDEFINITIONSRESPONSE_GOAL.fields_by_name['goal'].message_type = eve__public_dot_career_dot_goal__pb2._IDENTIFIER _GETDEFINITIONSRESPONSE_GOAL.fields_by_name['attributes'].message_type = eve__public_dot_career_dot_goal__pb2._ATTRIBUTES _GETDEFINITIONSRESPONSE_GOAL.containing_type = _GETDEFINITIONSRESPONSE @@ -77,3 +77,9 @@ ClaimRewardResponse = _reflection.GeneratedProtocolMessageType('ClaimRewardRespo '__module__': 'eve_public.career.goal.api.requests_pb2'}) _sym_db.RegisterMessage(ClaimRewardResponse) DESCRIPTOR._options = None +_GETDEFINITIONSREQUEST._options = None +_GETDEFINITIONSRESPONSE._options = None +_GETALLREQUEST._options = None +_GETALLRESPONSE._options = None +_CLAIMREWARDREQUEST._options = None +_CLAIMREWARDRESPONSE._options = None diff --git a/eveProto/generated/eve_public/career/goal_pb2.py b/eveProto/generated/eve_public/career/goal_pb2.py @@ -10,12 +10,12 @@ from eveProto.generated.eve_public.inventory import generic_item_type_pb2 as eve from eveProto.generated.eve_public.isk import isk_pb2 as eve__public_dot_isk_dot_isk__pb2 from eveProto.generated.eve_public.localization import message_pb2 as eve__public_dot_localization_dot_message__pb2 from eveProto.generated.eve_public.ui import annotation_pb2 as eve__public_dot_ui_dot_annotation__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/career/goal.proto', package='eve_public.career.goal', syntax='proto3', serialized_options='ZAgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1ceve_public/career/goal.proto\x12\x16eve_public.career.goal\x1a"eve_public/fulfillment/offer.proto\x1a,eve_public/inventory/generic_item_type.proto\x1a\x18eve_public/isk/isk.proto\x1a%eve_public/localization/message.proto\x1a\x1eeve_public/ui/annotation.proto"\x1a\n\nIdentifier\x12\x0c\n\x04uuid\x18\x01 \x01(\x0c"\xe8\x04\n\nAttributes\x129\n\x04name\x18\x01 \x01(\x0b2+.eve_public.localization.message.Identifier\x12@\n\x0bdescription\x18\x02 \x01(\x0b2+.eve_public.localization.message.Identifier\x12\x14\n\x08progress\x18\x03 \x01(\rB\x02\x18\x01\x12\x0e\n\x06target\x18\x04 \x01(\r\x12<\n\x06reward\x18\x05 \x01(\x0b2(.eve_public.fulfillment.offer.IdentifierB\x02\x18\x01\x121\n\x0eui_annotations\x18\x06 \x03(\x0b2\x19.eve_public.ui.Annotation\x12\x0e\n\x06threat\x18\x07 \x01(\r\x12\x15\n\tcompleted\x18\x08 \x01(\x08B\x02\x18\x01\x129\n\x06career\x18\t \x01(\x0e2).eve_public.career.goal.Attributes.Career\x12\x15\n\rcareer_points\x18\n \x01(\r\x12\x13\n\x07claimed\x18\x0b \x01(\x08B\x02\x18\x01\x12/\n\x07rewards\x18\x0c \x03(\x0b2\x1e.eve_public.career.goal.Reward"\x86\x01\n\x06Career\x12\x16\n\x12CAREER_UNSPECIFIED\x10\x00\x12\x16\n\x12CAREER_EXPLORATION\x10\x01\x12\x18\n\x14CAREER_INDUSTRIALIST\x10\x02\x12\x13\n\x0fCAREER_ENFORCER\x10\x03\x12\x1d\n\x19CAREER_SOLDIER_OF_FORTUNE\x10\x04"|\n\x06Reward\x127\n\x0breward_type\x18\x01 \x01(\x0b2".eve_public.career.goal.RewardType\x129\n\x0creward_label\x18\x02 \x01(\x0e2#.eve_public.career.goal.RewardLabel"\x8d\x01\n\nRewardType\x126\n\x04item\x18\x01 \x01(\x0b2&.eve_public.career.goal.ItemRewardTypeH\x00\x12\'\n\x03isk\x18\x02 \x01(\x0b2\x18.eve_public.isk.CurrencyH\x00\x12\x16\n\x0cskill_points\x18\x03 \x01(\rH\x00B\x06\n\x04type"h\n\x0eItemRewardType\x12D\n\nidentifier\x18\x01 \x01(\x0b20.eve_public.inventory.genericitemtype.Identifier\x12\x10\n\x08quantity\x18\x02 \x01(\r*[\n\x0bRewardLabel\x12\x1c\n\x18REWARD_LABEL_UNSPECIFIED\x10\x00\x12\x16\n\x12REWARD_LABEL_ALPHA\x10\x01\x12\x16\n\x12REWARD_LABEL_OMEGA\x10\x02BCZAgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goalb\x06proto3', dependencies=[eve__public_dot_fulfillment_dot_offer__pb2.DESCRIPTOR, +DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/career/goal.proto', package='eve_public.career.goal', syntax='proto3', serialized_options='ZAgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goal', create_key=_descriptor._internal_create_key, serialized_pb='\n\x1ceve_public/career/goal.proto\x12\x16eve_public.career.goal\x1a"eve_public/fulfillment/offer.proto\x1a,eve_public/inventory/generic_item_type.proto\x1a\x18eve_public/isk/isk.proto\x1a%eve_public/localization/message.proto\x1a\x1eeve_public/ui/annotation.proto"\x1e\n\nIdentifier\x12\x0c\n\x04uuid\x18\x01 \x01(\x0c:\x02\x18\x01"\xec\x04\n\nAttributes\x129\n\x04name\x18\x01 \x01(\x0b2+.eve_public.localization.message.Identifier\x12@\n\x0bdescription\x18\x02 \x01(\x0b2+.eve_public.localization.message.Identifier\x12\x14\n\x08progress\x18\x03 \x01(\rB\x02\x18\x01\x12\x0e\n\x06target\x18\x04 \x01(\r\x12<\n\x06reward\x18\x05 \x01(\x0b2(.eve_public.fulfillment.offer.IdentifierB\x02\x18\x01\x121\n\x0eui_annotations\x18\x06 \x03(\x0b2\x19.eve_public.ui.Annotation\x12\x0e\n\x06threat\x18\x07 \x01(\r\x12\x15\n\tcompleted\x18\x08 \x01(\x08B\x02\x18\x01\x129\n\x06career\x18\t \x01(\x0e2).eve_public.career.goal.Attributes.Career\x12\x15\n\rcareer_points\x18\n \x01(\r\x12\x13\n\x07claimed\x18\x0b \x01(\x08B\x02\x18\x01\x12/\n\x07rewards\x18\x0c \x03(\x0b2\x1e.eve_public.career.goal.Reward"\x86\x01\n\x06Career\x12\x16\n\x12CAREER_UNSPECIFIED\x10\x00\x12\x16\n\x12CAREER_EXPLORATION\x10\x01\x12\x18\n\x14CAREER_INDUSTRIALIST\x10\x02\x12\x13\n\x0fCAREER_ENFORCER\x10\x03\x12\x1d\n\x19CAREER_SOLDIER_OF_FORTUNE\x10\x04:\x02\x18\x01"\x80\x01\n\x06Reward\x127\n\x0breward_type\x18\x01 \x01(\x0b2".eve_public.career.goal.RewardType\x129\n\x0creward_label\x18\x02 \x01(\x0e2#.eve_public.career.goal.RewardLabel:\x02\x18\x01"\x91\x01\n\nRewardType\x126\n\x04item\x18\x01 \x01(\x0b2&.eve_public.career.goal.ItemRewardTypeH\x00\x12\'\n\x03isk\x18\x02 \x01(\x0b2\x18.eve_public.isk.CurrencyH\x00\x12\x16\n\x0cskill_points\x18\x03 \x01(\rH\x00:\x02\x18\x01B\x06\n\x04type"l\n\x0eItemRewardType\x12D\n\nidentifier\x18\x01 \x01(\x0b20.eve_public.inventory.genericitemtype.Identifier\x12\x10\n\x08quantity\x18\x02 \x01(\r:\x02\x18\x01*_\n\x0bRewardLabel\x12\x1c\n\x18REWARD_LABEL_UNSPECIFIED\x10\x00\x12\x16\n\x12REWARD_LABEL_ALPHA\x10\x01\x12\x16\n\x12REWARD_LABEL_OMEGA\x10\x02\x1a\x02\x18\x01BCZAgithub.com/ccpgames/eve-proto-go/generated/eve_public/career/goalb\x06proto3', dependencies=[eve__public_dot_fulfillment_dot_offer__pb2.DESCRIPTOR, eve__public_dot_inventory_dot_generic__item__type__pb2.DESCRIPTOR, eve__public_dot_isk_dot_isk__pb2.DESCRIPTOR, eve__public_dot_localization_dot_message__pb2.DESCRIPTOR, eve__public_dot_ui_dot_annotation__pb2.DESCRIPTOR]) -_REWARDLABEL = _descriptor.EnumDescriptor(name='RewardLabel', full_name='eve_public.career.goal.RewardLabel', filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[_descriptor.EnumValueDescriptor(name='REWARD_LABEL_UNSPECIFIED', index=0, number=0, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='REWARD_LABEL_ALPHA', index=1, number=1, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='REWARD_LABEL_OMEGA', index=2, number=2, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options=None, serialized_start=1258, serialized_end=1349) +_REWARDLABEL = _descriptor.EnumDescriptor(name='RewardLabel', full_name='eve_public.career.goal.RewardLabel', filename=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key, values=[_descriptor.EnumValueDescriptor(name='REWARD_LABEL_UNSPECIFIED', index=0, number=0, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='REWARD_LABEL_ALPHA', index=1, number=1, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='REWARD_LABEL_OMEGA', index=2, number=2, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options='\x18\x01', serialized_start=1279, serialized_end=1374) _sym_db.RegisterEnumDescriptor(_REWARDLABEL) RewardLabel = enum_type_wrapper.EnumTypeWrapper(_REWARDLABEL) REWARD_LABEL_UNSPECIFIED = 0 @@ -25,9 +25,9 @@ _ATTRIBUTES_CAREER = _descriptor.EnumDescriptor(name='Career', full_name='eve_pu _descriptor.EnumValueDescriptor(name='CAREER_EXPLORATION', index=1, number=1, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='CAREER_INDUSTRIALIST', index=2, number=2, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor(name='CAREER_ENFORCER', index=3, number=3, serialized_options=None, type=None, create_key=_descriptor._internal_create_key), - _descriptor.EnumValueDescriptor(name='CAREER_SOLDIER_OF_FORTUNE', index=4, number=4, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options=None, serialized_start=746, serialized_end=880) + _descriptor.EnumValueDescriptor(name='CAREER_SOLDIER_OF_FORTUNE', index=4, number=4, serialized_options=None, type=None, create_key=_descriptor._internal_create_key)], containing_type=None, serialized_options=None, serialized_start=750, serialized_end=884) _sym_db.RegisterEnumDescriptor(_ATTRIBUTES_CAREER) -_IDENTIFIER = _descriptor.Descriptor(name='Identifier', full_name='eve_public.career.goal.Identifier', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='uuid', full_name='eve_public.career.goal.Identifier.uuid', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value='', message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=235, serialized_end=261) +_IDENTIFIER = _descriptor.Descriptor(name='Identifier', full_name='eve_public.career.goal.Identifier', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='uuid', full_name='eve_public.career.goal.Identifier.uuid', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=False, default_value='', message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=235, serialized_end=265) _ATTRIBUTES = _descriptor.Descriptor(name='Attributes', full_name='eve_public.career.goal.Attributes', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='name', full_name='eve_public.career.goal.Attributes.name', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='description', full_name='eve_public.career.goal.Attributes.description', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='progress', full_name='eve_public.career.goal.Attributes.progress', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options='\x18\x01', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), @@ -39,10 +39,10 @@ _ATTRIBUTES = _descriptor.Descriptor(name='Attributes', full_name='eve_public.ca _descriptor.FieldDescriptor(name='career', full_name='eve_public.career.goal.Attributes.career', index=8, number=9, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='career_points', full_name='eve_public.career.goal.Attributes.career_points', index=9, number=10, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='claimed', full_name='eve_public.career.goal.Attributes.claimed', index=10, number=11, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options='\x18\x01', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor(name='rewards', full_name='eve_public.career.goal.Attributes.rewards', index=11, number=12, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[_ATTRIBUTES_CAREER], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=264, serialized_end=880) -_REWARD = _descriptor.Descriptor(name='Reward', full_name='eve_public.career.goal.Reward', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='reward_type', full_name='eve_public.career.goal.Reward.reward_type', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='reward_label', full_name='eve_public.career.goal.Reward.reward_label', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=882, serialized_end=1006) -_REWARDTYPE = _descriptor.Descriptor(name='RewardType', full_name='eve_public.career.goal.RewardType', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='item', full_name='eve_public.career.goal.RewardType.item', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='isk', full_name='eve_public.career.goal.RewardType.isk', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='skill_points', full_name='eve_public.career.goal.RewardType.skill_points', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='type', full_name='eve_public.career.goal.RewardType.type', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1009, serialized_end=1150) -_ITEMREWARDTYPE = _descriptor.Descriptor(name='ItemRewardType', full_name='eve_public.career.goal.ItemRewardType', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='identifier', full_name='eve_public.career.goal.ItemRewardType.identifier', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='quantity', full_name='eve_public.career.goal.ItemRewardType.quantity', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1152, serialized_end=1256) + _descriptor.FieldDescriptor(name='rewards', full_name='eve_public.career.goal.Attributes.rewards', index=11, number=12, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[_ATTRIBUTES_CAREER], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=268, serialized_end=888) +_REWARD = _descriptor.Descriptor(name='Reward', full_name='eve_public.career.goal.Reward', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='reward_type', full_name='eve_public.career.goal.Reward.reward_type', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='reward_label', full_name='eve_public.career.goal.Reward.reward_label', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=891, serialized_end=1019) +_REWARDTYPE = _descriptor.Descriptor(name='RewardType', full_name='eve_public.career.goal.RewardType', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='item', full_name='eve_public.career.goal.RewardType.item', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='isk', full_name='eve_public.career.goal.RewardType.isk', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='skill_points', full_name='eve_public.career.goal.RewardType.skill_points', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[_descriptor.OneofDescriptor(name='type', full_name='eve_public.career.goal.RewardType.type', index=0, containing_type=None, create_key=_descriptor._internal_create_key, fields=[])], serialized_start=1022, serialized_end=1167) +_ITEMREWARDTYPE = _descriptor.Descriptor(name='ItemRewardType', full_name='eve_public.career.goal.ItemRewardType', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='identifier', full_name='eve_public.career.goal.ItemRewardType.identifier', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor(name='quantity', full_name='eve_public.career.goal.ItemRewardType.quantity', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=1169, serialized_end=1277) _ATTRIBUTES.fields_by_name['name'].message_type = eve__public_dot_localization_dot_message__pb2._IDENTIFIER _ATTRIBUTES.fields_by_name['description'].message_type = eve__public_dot_localization_dot_message__pb2._IDENTIFIER _ATTRIBUTES.fields_by_name['reward'].message_type = eve__public_dot_fulfillment_dot_offer__pb2._IDENTIFIER @@ -84,7 +84,13 @@ ItemRewardType = _reflection.GeneratedProtocolMessageType('ItemRewardType', (_me '__module__': 'eve_public.career.goal_pb2'}) _sym_db.RegisterMessage(ItemRewardType) DESCRIPTOR._options = None +_REWARDLABEL._options = None +_IDENTIFIER._options = None _ATTRIBUTES.fields_by_name['progress']._options = None _ATTRIBUTES.fields_by_name['reward']._options = None _ATTRIBUTES.fields_by_name['completed']._options = None _ATTRIBUTES.fields_by_name['claimed']._options = None +_ATTRIBUTES._options = None +_REWARD._options = None +_REWARDTYPE._options = None +_ITEMREWARDTYPE._options = None diff --git a/eveProto/generated/eve_public/character/location/presence_pb2.py b/eveProto/generated/eve_public/character/location/presence_pb2.py @@ -1,24 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/generated/eve_public/character/location/presence_pb2.py -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -_sym_db = _symbol_database.Default() -from eveProto.generated.eve_public.solarsystem import solarsystem_pb2 as eve__public_dot_solarsystem_dot_solarsystem__pb2 -DESCRIPTOR = _descriptor.FileDescriptor(name='eve_public/character/location/presence.proto', package='eve_public.character.location.presence', syntax='proto3', serialized_options='ZQgithub.com/ccpgames/eve-proto-go/generated/eve_public/character/location/presence', create_key=_descriptor._internal_create_key, serialized_pb='\n,eve_public/character/location/presence.proto\x12&eve_public.character.location.presence\x1a(eve_public/solarsystem/solarsystem.proto"X\n\x18SolarSystemEnteredNotice\x128\n\x0csolar_system\x18\x01 \x01(\x0b2".eve_public.solarsystem.Identifier:\x02\x18\x01"W\n\x17SolarSystemExitedNotice\x128\n\x0csolar_system\x18\x01 \x01(\x0b2".eve_public.solarsystem.Identifier:\x02\x18\x01BSZQgithub.com/ccpgames/eve-proto-go/generated/eve_public/character/location/presenceb\x06proto3', dependencies=[eve__public_dot_solarsystem_dot_solarsystem__pb2.DESCRIPTOR]) -_SOLARSYSTEMENTEREDNOTICE = _descriptor.Descriptor(name='SolarSystemEnteredNotice', full_name='eve_public.character.location.presence.SolarSystemEnteredNotice', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='solar_system', full_name='eve_public.character.location.presence.SolarSystemEnteredNotice.solar_system', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=130, serialized_end=218) -_SOLARSYSTEMEXITEDNOTICE = _descriptor.Descriptor(name='SolarSystemExitedNotice', full_name='eve_public.character.location.presence.SolarSystemExitedNotice', filename=None, file=DESCRIPTOR, containing_type=None, create_key=_descriptor._internal_create_key, fields=[_descriptor.FieldDescriptor(name='solar_system', full_name='eve_public.character.location.presence.SolarSystemExitedNotice.solar_system', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key)], extensions=[], nested_types=[], enum_types=[], serialized_options='\x18\x01', is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[], serialized_start=220, serialized_end=307) -_SOLARSYSTEMENTEREDNOTICE.fields_by_name['solar_system'].message_type = eve__public_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER -_SOLARSYSTEMEXITEDNOTICE.fields_by_name['solar_system'].message_type = eve__public_dot_solarsystem_dot_solarsystem__pb2._IDENTIFIER -DESCRIPTOR.message_types_by_name['SolarSystemEnteredNotice'] = _SOLARSYSTEMENTEREDNOTICE -DESCRIPTOR.message_types_by_name['SolarSystemExitedNotice'] = _SOLARSYSTEMEXITEDNOTICE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) -SolarSystemEnteredNotice = _reflection.GeneratedProtocolMessageType('SolarSystemEnteredNotice', (_message.Message,), {'DESCRIPTOR': _SOLARSYSTEMENTEREDNOTICE, - '__module__': 'eve_public.character.location.presence_pb2'}) -_sym_db.RegisterMessage(SolarSystemEnteredNotice) -SolarSystemExitedNotice = _reflection.GeneratedProtocolMessageType('SolarSystemExitedNotice', (_message.Message,), {'DESCRIPTOR': _SOLARSYSTEMEXITEDNOTICE, - '__module__': 'eve_public.character.location.presence_pb2'}) -_sym_db.RegisterMessage(SolarSystemExitedNotice) -DESCRIPTOR._options = None -_SOLARSYSTEMENTEREDNOTICE._options = None -_SOLARSYSTEMEXITEDNOTICE._options = None diff --git a/eveProto/monolith_converters/__init__.py b/eveProto/monolith_converters/__init__.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveProto/monolith_converters/__init__.py -from isk import * -from strings import * -from time import * -from units import * -from transaction_types import * +from __future__ import absolute_import +from .isk import * +from .strings import * +from .time import * +from .units import * +from .transaction_types import * diff --git a/eveSpaceObject/__init__.py b/eveSpaceObject/__init__.py @@ -97,8 +97,12 @@ droneGroupFromTypeGroup = {const.groupMiningDrone: gfxDroneGroupMining, const.groupMissionFighterDrone: gfxDroneGroupNpc, const.groupMissionDrone: gfxDroneGroupNpc, const.groupAbyssalDroneNpc: gfxDroneGroupNpc, - const.groupHordeModeEntities: gfxDroneGroupNpc, - const.groupIrregularDrone: gfxDroneGroupNpc} + const.groupIrregularDrone: gfxDroneGroupNpc, + const.groupFabricatorRogueDroneFrigate: gfxDroneGroupNpc, + const.groupFabricatorRogueDroneDestroyer: gfxDroneGroupNpc, + const.groupFabricatorRogueDroneCruiser: gfxDroneGroupNpc, + const.groupFabricatorRogueDroneBattlecruiser: gfxDroneGroupNpc, + const.groupFabricatorRogueDroneBattleship: gfxDroneGroupNpc} droneTypeGroup = {3701: droneTurretGfxID_ice_mining, 43694: droneTurretGfxID_mining, 43681: droneTurretGfxID_ice_mining, diff --git a/eveSpaceObject/moonDrillComponent.py b/eveSpaceObject/moonDrillComponent.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveSpaceObject/moonDrillComponent.py +from __future__ import print_function from eve.client.script.environment.model.turretSet import TurretSet import blue import inventorycommon.const as const @@ -50,7 +51,7 @@ class MoonDrillComponent: if eveTurretSet is not None: eveTurretSet.targetObject = targetMoonBall.model eveTurretSet.EnterStateTargeting() - print 'MoonDrillComponent::FitHardpoints -> ' + str(targetMoonBall.model) + ' : ' + str(eveTurretSet.name) + print('MoonDrillComponent::FitHardpoints -> ' + str(targetMoonBall.model) + ' : ' + str(eveTurretSet.name)) def Teardown(self): if self.targetBall is not None: diff --git a/eveaudio/const.py b/eveaudio/const.py @@ -1,9 +1,10 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveaudio/const.py +from __future__ import absolute_import import os from enum import Enum import audio2 from inventorycommon import const -from utils import ControllerVariableEnum +from .utils import ControllerVariableEnum class ShipState(Enum): preparing_warp = 0 diff --git a/eveaudio/trinity_utils.py b/eveaudio/trinity_utils.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveaudio/trinity_utils.py +from __future__ import absolute_import import trinity -from utils import create_emitter +from .utils import create_emitter def create_observer(name): emitter = create_emitter(name) diff --git a/evebannerads/banner_ad_service.py b/evebannerads/banner_ad_service.py @@ -74,7 +74,7 @@ class BannerAdService(Service): ad_request.load_ad(ad_data) rotation_delay = ad_data.rotation_interval ad_request.received_data = ad_data - except StandardError: + except Exception: break uthread2.sleep(rotation_delay) diff --git a/eveclientqatools/assetlab.py b/eveclientqatools/assetlab.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/assetlab.py +from __future__ import print_function import math from eve.client.script.parklife import states as state from carbonui.control.window import Window @@ -35,11 +36,11 @@ class AssetLabWindow(Window): Label(name='goLabel', parent=self.sr.main, align=uiconst.TOTOP, text='Fly') def GoToX(model, offset): - print 'GoToX', offset + print('GoToX', offset) model.translationCurve.gotoX = model.translationCurve.x + offset model.translationCurve.gotoY = model.translationCurve.y model.translationCurve.gotoZ = model.translationCurve.z - print model.translationCurve.gotoX + print(model.translationCurve.gotoX) def FlyLeft(_): model = GetModel() diff --git a/eveclientqatools/gfxpreviewer.py b/eveclientqatools/gfxpreviewer.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/gfxpreviewer.py +from __future__ import print_function import evetypes import trinity import carbonui.const as uiconst @@ -228,7 +229,7 @@ class AssetPreviewer(object): def _showMessage(self, text): if self._messageFunc is None: - print text + print(text) else: self._messageFunc(text) diff --git a/eveclientqatools/impactVisualizationController.py b/eveclientqatools/impactVisualizationController.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/impactVisualizationController.py +from __future__ import print_function import threading import trinity import geo2 @@ -27,7 +28,7 @@ class ImpactVisualizationController(object): self.OnSetShipId(self.shipId) def Close(self): - print 'attempting to remove the arrow ...' + print('attempting to remove the arrow ...') self.RemoveImpactArrowFromScene() self.arrowPositionUpdater.Stop() @@ -54,13 +55,13 @@ class ImpactVisualizationController(object): try: shipId = long(shipId) except ValueError: - print "Could not set shipId to '%s'" % shipId + print("Could not set shipId to '%s'" % shipId) return False if sm.GetService('michelle').GetBall(shipId) is None: - print "No ball with id '%d' found in ballpark" % shipId + print("No ball with id '%d' found in ballpark" % shipId) return False - print 'Setting ship ID to %d' % shipId + print('Setting ship ID to %d' % shipId) self.shipId = shipId self.arrowPositionUpdater.SetBall(self.GetBall()) damageLocators = self.GetDamageLocators() @@ -142,7 +143,7 @@ class ArrowPositionUpdater(object): self.stop = True def Update(self): - print 'starting update thread' + print('starting update thread') while not self.stop: if self.ball: arrowCenter = geo2.QuaternionTransformVector(self.arrowRotation, (self.arrowPoint[0] * self.arrowScale, self.arrowPoint[1] * self.arrowScale, self.arrowPoint[2] * self.arrowScale)) @@ -150,4 +151,4 @@ class ArrowPositionUpdater(object): self.arrowObject.rotation = self.arrowRotation self.arrowObject.translation = (dl[0] - arrowCenter[0], dl[1] - arrowCenter[1], dl[2] - arrowCenter[2]) - print 'stopping update thread' + print('stopping update thread') diff --git a/eveclientqatools/sofpreviewer.py b/eveclientqatools/sofpreviewer.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/sofpreviewer.py +from __future__ import print_function import re import blue import carbonui.fontconst @@ -596,7 +597,7 @@ class SOFPreviewWindow: def GetCurrentMaterialSet(self): materialSetID = self.GetCurrentMaterialSetID() - print 'trying to find materialset for ' + str(materialSetID) + print('trying to find materialset for ' + str(materialSetID)) materialSet = graphicMaterialSets.GetGraphicMaterialSet(materialSetID) return materialSet @@ -628,7 +629,7 @@ class SOFPreviewWindow: comboBox.SelectItemByLabel(selectedValue) except RuntimeError: comboBox.SelectItemByIndex(0) - print "Could not select '%s', defaulting to '%s'" % (selectedValue, comboBox.GetKey()) + print("Could not select '%s', defaulting to '%s'" % (selectedValue, comboBox.GetKey())) return comboBox.GetKey() @@ -708,7 +709,7 @@ class SOFPreviewWindow: self.factionCombo.SelectItemByLabel(faction) except RuntimeError: if materialSet is not None: - print "Removing constraints because '%s' is not in the constrained faction list" % materialSet.sofFactionName + print("Removing constraints because '%s' is not in the constrained faction list" % materialSet.sofFactionName) self.constrainToFaction = False self.constrainToRace = False self.constrainToHull = False @@ -757,7 +758,7 @@ class SOFPreviewWindow: def OnResPathInsertChange(self, *args): resPathInsert = self.resPathInsertEdit.GetValue() - print 'new respathinsert: ' + resPathInsert + print('new respathinsert: ' + resPathInsert) if len(resPathInsert) == 0: self.currentResPathInsert = None else: diff --git a/eveclientqatools/sofpreviewer/highslotselection/viewcontroller.py b/eveclientqatools/sofpreviewer/highslotselection/viewcontroller.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/sofpreviewer/highslotselection/viewcontroller.py -from viewmodel import HighSlotSelectionViewModel -from view import HighSlotSelectionView +from __future__ import absolute_import +from .viewmodel import HighSlotSelectionViewModel +from .view import HighSlotSelectionView from eve.client.script.environment.model.turretSet import TurretSet import trinity diff --git a/eveclientqatools/sofpreviewer/materialselection/viewcontroller.py b/eveclientqatools/sofpreviewer/materialselection/viewcontroller.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/sofpreviewer/materialselection/viewcontroller.py -from viewmodel import MaterialSelectionViewModel -from view import MaterialSelectionView +from __future__ import absolute_import +from .viewmodel import MaterialSelectionViewModel +from .view import MaterialSelectionView import fsdBuiltData.common.graphicMaterialSets as graphicMaterialSets from eveclientqatools.sofpreviewer import viewhelper as ViewHelper diff --git a/eveclientqatools/sofpreviewer/model.py b/eveclientqatools/sofpreviewer/model.py @@ -1,9 +1,10 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/sofpreviewer/model.py +from __future__ import absolute_import import blue import evetypes from fsdBuiltData.client.groupGraphics import GetGraphicIdsFromTypeID from sofDnaLibrary.query import GetDnaStringsMatchingQuery -from modelconst import ModelConst +from .modelconst import ModelConst class SofPreviewerModel(object): diff --git a/eveclientqatools/sofpreviewer/sofselection/viewcontroller.py b/eveclientqatools/sofpreviewer/sofselection/viewcontroller.py @@ -1,11 +1,13 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/sofpreviewer/sofselection/viewcontroller.py +from __future__ import print_function +from __future__ import absolute_import from eveclientqatools.sofpreviewer.sofselection.view import SofSelectionView from shipskins.static import SkinMaterialStorage from sofDnaLibrary.query import GetDnaStringsMatchingQuery -from viewmodel import SofSelectionViewModel +from .viewmodel import SofSelectionViewModel from eveclientqatools.sofpreviewer import viewhelper as ViewHelper import fsdBuiltData.common.graphicMaterialSets as graphicMaterialSets -from constraints import Constraints +from .constraints import Constraints class SofSelectionViewController(object): @@ -157,7 +159,7 @@ class SofSelectionViewController(object): self.view.factionCombo.SelectItemByLabel(faction) except RuntimeError: if materialSet is not None: - print "Removing constraints because '%s' is not in the constrained faction list" % materialSet.sofFactionName + print("Removing constraints because '%s' is not in the constrained faction list" % materialSet.sofFactionName) self.constraints.SetAll(False) self.ConstrainDnaSelection() diff --git a/eveclientqatools/sofpreviewer/viewcontroller.py b/eveclientqatools/sofpreviewer/viewcontroller.py @@ -1,14 +1,15 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/sofpreviewer/viewcontroller.py +from __future__ import absolute_import import blue import trinity import fsdBuiltData.common.graphicMaterialSets as graphicMaterialSets from eveclientqatools.sofpreviewer.model import SofPreviewerModel from eveclientqatools.sofpreviewer.view import SofPreviewerView from eveclientqatools.sofpreviewer.statemachinecontroller import StateMachineController -from materialselection.viewcontroller import MaterialSelectionViewController -from visualization.viewcontroller import VisualizationViewController -from sofselection.viewcontroller import SofSelectionViewController -from highslotselection.viewcontroller import HighSlotSelectionViewController +from .materialselection.viewcontroller import MaterialSelectionViewController +from .visualization.viewcontroller import VisualizationViewController +from .sofselection.viewcontroller import SofSelectionViewController +from .highslotselection.viewcontroller import HighSlotSelectionViewController class SofPreviewerController(object): diff --git a/eveclientqatools/sofpreviewer/viewhelper.py b/eveclientqatools/sofpreviewer/viewhelper.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/sofpreviewer/viewhelper.py +from __future__ import print_function from carbonui.control.checkbox import Checkbox from carbonui.control.combo import Combo from carbonui.control.singlelineedits.singleLineEditText import SingleLineEditText @@ -73,7 +74,7 @@ def TrySettingComboValue(comboBox, selectedValue): comboBox.SelectItemByLabel(selectedValue) except RuntimeError: comboBox.SelectItemByIndex(0) - print "Could not select '%s', defaulting to '%s'" % (selectedValue, comboBox.GetKey()) + print("Could not select '%s', defaulting to '%s'" % (selectedValue, comboBox.GetKey())) return comboBox.GetKey() diff --git a/eveclientqatools/sofpreviewer/visualization/viewcontroller.py b/eveclientqatools/sofpreviewer/visualization/viewcontroller.py @@ -1,6 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveclientqatools/sofpreviewer/visualization/viewcontroller.py -from view import VisualizationView -from viewmodel import RightViewModel +from __future__ import print_function +from __future__ import absolute_import +from .view import VisualizationView +from .viewmodel import RightViewModel import evegraphics.utils as gfxutils import fsdBuiltData.common.graphicMaterialSets as graphicMaterialSets from eveclientqatools.sofpreviewer import viewhelper as ViewHelper @@ -24,7 +26,7 @@ class VisualizationViewController(object): def GetCurrentMaterialSet(self): materialSetID = self.GetCurrentMaterialSetID() - print 'trying to find materialset for ' + str(materialSetID) + print('trying to find materialset for ' + str(materialSetID)) materialSet = graphicMaterialSets.GetGraphicMaterialSet(materialSetID) return materialSet @@ -57,7 +59,7 @@ class VisualizationViewController(object): def OnResPathInsertChange(self, *args): resPathInsert = self.view.resPathInsertEdit.GetValue() - print 'new respathinsert: ' + resPathInsert + print('new respathinsert: ' + resPathInsert) if len(resPathInsert) == 0: self.viewModel.currentResPathInsert = None else: diff --git a/eveclientqatools/tablereports.py b/eveclientqatools/tablereports.py @@ -6,6 +6,7 @@ from carbonui.control.scrollentries import ScrollEntryNode, SE_GenericCore from eve.client.script.environment.spaceObject.ExplosionManager import ExplosionManager from eve.client.script.ui.control import eveScroll from carbonui.control.window import Window +from functools import reduce def CreateTableWindow(name, caption, contentFunction, minWidth = 340, updateFreq = 1000): diff --git a/evedungeons/client/data.py b/evedungeons/client/data.py @@ -30,6 +30,22 @@ def GetDungeon(dungeonID): return GetDungeons().get(int(dungeonID), None) +def GetAssetManipulations(dungeonID, objectID): + dungeon = GetDungeon(dungeonID) + for room in dungeon.rooms.values(): + obj = room.objects.get(objectID) + if obj is not None: + return getattr(obj, 'assetManipulations', {}) + + return {} + + +def GetControllerReadyData(manipulationData): + if not isinstance(manipulationData, float) and not isinstance(manipulationData, str): + manipulationData = float(manipulationData) + return manipulationData + + def GetDungeonObjectivesData(dungeonID): dungeon = GetDungeon(dungeonID) if not dungeon or not dungeon.objectivesID: diff --git a/eveexceptions/__init__.py b/eveexceptions/__init__.py @@ -6,7 +6,7 @@ import types if not hasattr(__builtin__, 'strx'): strx = str -class UserError(StandardError): +class UserError(Exception): __guid__ = 'exceptions.UserError' __persistvars__ = ['args', 'dict', 'msg'] @@ -70,7 +70,7 @@ class ConnectionError(RuntimeError): __guid__ = 'exceptions.ConnectionError' -class UnmarshalError(StandardError): +class UnmarshalError(Exception): __guid__ = 'exceptions.UnmarshalError' def __init__(self, exception = None, value = None, size = 0, pos = 0, crc = 0): @@ -88,7 +88,7 @@ class UnmarshalError(StandardError): strx(self.crc)) -class RoleNotAssignedError(StandardError): +class RoleNotAssignedError(Exception): __guid__ = 'exceptions.RoleNotAssignedError' def __init__(self, roles = None): @@ -98,25 +98,25 @@ class RoleNotAssignedError(StandardError): return '\nRequired roles: %s' % (strx(self.roles),) -class ServiceNotFound(StandardError): +class ServiceNotFound(Exception): __guid__ = 'exceptions.ServiceNotFound' __persistvars__ = ['serviceName'] def __init__(self, serviceName = None): self.serviceName = serviceName - StandardError.__init__(self, serviceName) + Exception.__init__(self, serviceName) def __repr__(self): return 'The service ' + unicode(self.serviceName) + ' was not found.' -class MethodNotCalledFromClient(StandardError): +class MethodNotCalledFromClient(Exception): __guid__ = 'exception.MethodNotCalledFromClient' __persistvars__ = ['methodName'] def __init__(self, methodName = None): self.methodName = methodName - StandardError.__init__(self, methodName) + Exception.__init__(self, methodName) def __repr__(self): return 'The method ' + unicode(self.methodName) + ' can be called from the client only.' diff --git a/eveexceptions/exceptionEater.py b/eveexceptions/exceptionEater.py @@ -33,7 +33,7 @@ class EatsExceptions(object): def wrapper(*args, **kwargs): if self.message is None: - message = 'Exception eaten in %s::%s' % (func.__module__, func.func_name) + message = 'Exception eaten in %s::%s' % (func.__module__, func.__name__) else: message = self.message with ExceptionEater(message=message, channel=self.channel): diff --git a/evefleet/error.py b/evefleet/error.py @@ -1,5 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evefleet/error.py -class BadFleetIDException(StandardError): +class BadFleetIDException(Exception): pass diff --git a/evegraphics/controllers/expressiontree.py b/evegraphics/controllers/expressiontree.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evegraphics/controllers/expressiontree.py +from __future__ import print_function import re class ExpressionNode(object): @@ -35,7 +36,7 @@ class ExpressionNode(object): return ('', '') def Dump(self, indent = 0): - print '%s%s' % (' ' * indent, self.GetTitle()) + print('%s%s' % (' ' * indent, self.GetTitle())) for each in self._inputs: each.Dump(indent + 2) diff --git a/evegraphics/environments/environmentAudio.py b/evegraphics/environments/environmentAudio.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evegraphics/environments/environmentAudio.py +from __future__ import absolute_import import audio2 import logging import trinity @@ -20,7 +21,7 @@ class EnvironmentAudio(BaseEnvironmentObject): pass def ApplyToScene(self): - from environmentManager import EnvironmentManager + from .environmentManager import EnvironmentManager if EnvironmentManager.BALLPARK_MODE: self.ball = ballparkFunctions.AddClientBall(self.environmentPosition) if self.onEnterSoundID: diff --git a/evegraphics/environments/staticParticleField.py b/evegraphics/environments/staticParticleField.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evegraphics/environments/staticParticleField.py +from __future__ import absolute_import import evetypes import trinity import geo2 @@ -18,7 +19,7 @@ class AddObjectError(Exception): def AddClientBall(pos): - from environmentManager import EnvironmentManager + from .environmentManager import EnvironmentManager if EnvironmentManager.BALLPARK_MODE: from tacticalNavigation.ballparkFunctions import AddClientBall return AddClientBall(pos) diff --git a/evegraphics/validation/__init__.py b/evegraphics/validation/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evegraphics/validation/__init__.py +from __future__ import print_function import os import time import sys @@ -12,7 +13,7 @@ def GetObjectAttribute(obj, attribute): if hasattr(obj, attribute): return getattr(obj, attribute) else: - print "object '%s' has no attribute '%s'" % (obj, attribute) + print("object '%s' has no attribute '%s'" % (obj, attribute)) return return obj diff --git a/evegraphics/validation/validators/decalValidation.py b/evegraphics/validation/validators/decalValidation.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evegraphics/validation/validators/decalValidation.py +from __future__ import absolute_import import os import blue import trinity @@ -6,8 +7,8 @@ from platformtools.compatibility.exposure.artpipeline import decalutils from evegraphics.validation.commonUtilities import Validate, IsContent from evegraphics.validation.validationFunctions import ListAttributesAreDistinct from evegraphics.validation import resources -import sofHullValidation -import limits +from . import sofHullValidation +from . import limits from trinity.effects import GetMergedParameters MAX_DECAL_PRIMITIVE_COUNT = 1000 _VALID_FXPATH_LOC = 'res:/graphics/effect/managed/space/decals' diff --git a/evegraphics/validation/validators/locatorValidation.py b/evegraphics/validation/validators/locatorValidation.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evegraphics/validation/validators/locatorValidation.py +from __future__ import absolute_import import ctypes import string import re @@ -7,7 +8,7 @@ from evegraphics.validation.errors import SingleObjectValidationError from evegraphics.validation.validationFunctions import ListIsNotEmpty, ShouldBeGreaterThanOrEqual from evegraphics.validation import resources import geo2 -import limits +from . import limits import trinity @Validate('EveSOFDataHull(owner)/.../List[EveSOFDataHullLocator](locators)') diff --git a/evegraphics/validation/validators/meshValidation.py b/evegraphics/validation/validators/meshValidation.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evegraphics/validation/validators/meshValidation.py +from __future__ import absolute_import import os import blue import trinity @@ -6,7 +7,7 @@ from trinity import effects from evegraphics.validation.commonUtilities import Validate from evegraphics.validation.validationFunctions import ValidateResPath from evegraphics.validation import resources -from effectValidation import effectCache +from .effectValidation import effectCache MAX_BONES_PER_MESH = 58 def _GetGranny(context, resPath): diff --git a/evegraphics/validation/validators/particleSystemValidation.py b/evegraphics/validation/validators/particleSystemValidation.py @@ -1,9 +1,10 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evegraphics/validation/validators/particleSystemValidation.py +from __future__ import absolute_import import blue import trinity from trinity import effects, particlesystemelements from evegraphics.validation.commonUtilities import Validate, DeleteAction -from effectValidation import effectCache +from .effectValidation import effectCache @Validate('Tr2DynamicEmitter') def RateIsValid(context, emitter): diff --git a/evelink/client/handlers/local_service/parse.py b/evelink/client/handlers/local_service/parse.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evelink/client/handlers/local_service/parse.py +from future.utils import raise_ import functools import sys import typeutils @@ -18,7 +19,7 @@ def parse_value(value, eval_func): raise except Exception: message = "Failed to parse value '{}'".format(value) - raise ValueError(message), None, sys.exc_info()[2] + raise_(ValueError(message), None, sys.exc_info()[2]) def get_eval_func(data_type): diff --git a/evelink/client/handlers/web.py b/evelink/client/handlers/web.py @@ -1,6 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evelink/client/handlers/web.py import blue -import urlparse from carbonui import uiconst from carbonui.uicore import uicore from evelink.client.color import external_link_color_info @@ -8,6 +7,7 @@ from localization import GetByLabel from menu import MenuLabel from player_messaging import PromptIcon from player_messaging.client.ui_message import prompt_player, prompt_player_fsd_dialog +from url_utils.client.canonical import canonical_safe_url SCHEMES = ('http', 'https') def register_web_handlers(registry): @@ -15,30 +15,18 @@ def register_web_handlers(registry): registry.register(scheme, handle_web_link, menu=get_menu, color_info=external_link_color_info, hint=lambda url: url) -def is_safe_http_url(url): - if not isinstance(url, basestring): - return False - u = url.strip() - if '\\' in u or '<' in u: - return False - low = u.lower() - if not (low.startswith('http://') or low.startswith('https://')): - return False - parsed = urlparse.urlparse(u) - return parsed.scheme in ('http', 'https') and bool(parsed.netloc) - - def handle_web_link(url): - if not is_safe_http_url(url): + safe_url = canonical_safe_url(url) + if safe_url is None: prompt_player(url, GetByLabel('UI/Shared/InvalidOrSpoofedLink'), options=uiconst.OK, icon=PromptIcon.ERROR) return if uicore.registry.IsModalWindowOpen(): response = uiconst.ID_OK else: - response = prompt_player_fsd_dialog('ExternalLinkWarning', {'url': url}, uiconst.OKCANCEL, suppress=uiconst.ID_OK) + response = prompt_player_fsd_dialog('ExternalLinkWarning', {'url': safe_url}, uiconst.OKCANCEL, suppress=uiconst.ID_OK) if response == uiconst.ID_OK: try: - blue.os.ShellExecute(url) + blue.os.ShellExecute(safe_url) except WindowsError as error: if error.winerror not in ACCEPTABLE_WINDOWS_SYSTEM_ERRORS: raise diff --git a/evelink/client/registry.py b/evelink/client/registry.py @@ -4,7 +4,7 @@ import localization from evelink.client import LinkColorInfo from evelink.client.color import default_link_color_info from evelink.client.handlers.web import SCHEMES as WEB_SCHEMES -from evelink.client.handlers.web import is_safe_http_url +from url_utils.client.canonical import canonical_safe_url log = logging.getLogger(__name__) class Registry(object): @@ -72,7 +72,7 @@ class LinkHandler(object): def get_hint(self, url): if callable(self._hint): - if self.scheme in WEB_SCHEMES and not is_safe_http_url(url): + if self.scheme in WEB_SCHEMES and canonical_safe_url(url) is None: return '<color=red><b>%s</b></color>\n%s' % (localization.GetByLabel('UI/Shared/InvalidOrSpoofedLink'), url) return self._hint(url) elif self._hint is not None: @@ -87,7 +87,7 @@ class LinkHandler(object): def get_color(self, url, state, style): if callable(self._color_info): color_info = self._color_info(url) - elif self.scheme in WEB_SCHEMES and not is_safe_http_url(url): + elif self.scheme in WEB_SCHEMES and canonical_safe_url(url) is None: color_info = LinkColorInfo(normal='#ff0000', hover='#ff0000') else: color_info = self._color_info diff --git a/evemap/map2d/fakeData/fakeDataUtil.py b/evemap/map2d/fakeData/fakeDataUtil.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evemap/map2d/fakeData/fakeDataUtil.py +from __future__ import print_function from brennivin.itertoolsext import Bundle from collections import defaultdict import json @@ -47,7 +48,7 @@ def _SaveToFile(fileName, fakeDataDict): fakeDataPath = get_fake_data_path(fileName) with open(fakeDataPath, 'w') as f: json.dump(fakeDataDict, f, indent=4, sort_keys=True) - print 'done saving' + print('done saving') def SaveKillsDataToDict(statKey, data): diff --git a/evemap/map2d/overriddenCoordinates.py b/evemap/map2d/overriddenCoordinates.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/evemap/map2d/overriddenCoordinates.py +from __future__ import print_function from collections import defaultdict from player_messaging.client.ui_message import prompt_player_fsd_dialog import os @@ -22,12 +23,12 @@ def SaveCoordinates(coordinateDict): try: with open(override_file, 'w') as f: json.dump(newDict, f, indent=4, sort_keys=True) - except StandardError: + except Exception: text = 'You failed to save the data.. have you checked out %s' % override_file prompt_player_fsd_dialog('CustomInfo', {'info': text}) raise - print 'saving done' + print('saving done') def GetCoordinates(): diff --git a/eveprefs/__init__.py b/eveprefs/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveprefs/__init__.py +from future.utils import raise_ import abc import os import types @@ -111,7 +112,7 @@ class Handler(object): setattr(self.__dict__['ini'], key, value) return value except KeyError: - raise AttributeError, key + raise_(AttributeError, key) def __setattr__(self, key, value): self.__dict__['ini'].SetValue(key, value) diff --git a/eveprefs/iniformat.py b/eveprefs/iniformat.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveprefs/iniformat.py +from __future__ import print_function from cPickle import Unpickler, dumps import cStringIO import re @@ -24,7 +25,7 @@ class IniIniFile(FileBasedIniFile): try: self.lines.append(unicode(newLine, DEFAULT_ENCODING).encode(DEFAULT_ENCODING)) except: - print 'Unencodable data discovered in ini file. Removing offending data.' + print('Unencodable data discovered in ini file. Removing offending data.') for line in self.lines: sline = line.strip() diff --git a/eveui/data_display/table/table.py b/eveui/data_display/table/table.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/eveui/data_display/table/table.py +from __future__ import print_function import __builtin__ import blue from carbon.common.script.util.commonutils import StripTags @@ -158,9 +159,9 @@ class WIPTable(eveui.Container): elif key == Key.page_up: self.body.ScrollByPage(up=True) elif key == Key.home: - print 'scroll to top' + print('scroll to top') elif key == Key.end: - print 'scroll to bot' + print('scroll to bot') self.on_key_down(key, flag) def Close(self): diff --git a/eveui/decorators.py b/eveui/decorators.py @@ -40,12 +40,12 @@ class lazy(object): def lock_and_set_pending(): def Wrapper(func): - runBoolName = 'locked_%s_running' % func.func_name - pendingBoolName = 'locked_%s_pending' % func.func_name + runBoolName = 'locked_%s_running' % func.__name__ + pendingBoolName = 'locked_%s_pending' % func.__name__ @functools.wraps(func) def FuncCalled(uiInstance): - funcName = func.func_name + funcName = func.__name__ lockName = '%s_%s' % (funcName, id(uiInstance)) if is_destroyed(uiInstance): reset_variables(uiInstance) diff --git a/expertSystems/client/ui/skill_list.py b/expertSystems/client/ui/skill_list.py @@ -74,7 +74,7 @@ class SkillList(DynamicGridContainer): self.Flush() if not self._skills: return - sorted_skills = sorted(self._skills.iteritems(), key=lambda (skill_id, _): get_localized_sort_key(evetypes.GetName(skill_id))) + sorted_skills = sorted(self._skills.iteritems(), key=lambda skill_id__: get_localized_sort_key(evetypes.GetName(skill_id__[0]))) for i, (skill_id, level) in enumerate(sorted_skills): skill_row = SkillRow(parent=self, align=uiconst.TOTOP, skill_type_id=skill_id, required_level=level, rowSelectFunc=self.on_select_skill_row) self.skill_rows.append(skill_row) diff --git a/fsd/common/pathSpecifiers.py b/fsd/common/pathSpecifiers.py @@ -50,7 +50,7 @@ def MatchSpecifierList(filename, directoriesFromRoot, specifierList): def MatchSpecifierListWithRelativePath(path, specifierList): - return any(itertools.imap(lambda (p, s): PathMatchesSpecifier(p, s), itertools.imap(lambda i: (path, i), specifierList))) + return any(itertools.imap(lambda p_s: PathMatchesSpecifier(p_s[0], p_s[1]), itertools.imap(lambda i: (path, i), specifierList))) def CompilerSpecifierToList(specifier): diff --git a/fsd/diffMergeTool/toolUI.py b/fsd/diffMergeTool/toolUI.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsd/diffMergeTool/toolUI.py +from __future__ import print_function import sys from PySide import QtGui from PySide import QtCore @@ -50,7 +51,7 @@ class FsdDiffMergeUI(QtGui.QWidget): self.top.hide() self.SafeMerge() else: - print 'Unsupported argument count (%s), starting up normally' % str(len(arguments)) + print('Unsupported argument count (%s), starting up normally' % str(len(arguments))) def __init__(self, arguments): super(FsdDiffMergeUI, self).__init__() @@ -240,7 +241,7 @@ class FsdDiffMergeUI(QtGui.QWidget): self._SetWindowDetails() def _LogTime(self, message, start): - print message, time.time() - start, 'seconds' + print(message, time.time() - start, 'seconds') def _UpdateAddsLabel(self): if len(self.diffs['added']) > 0: diff --git a/fsd/mapReduce/__init__.py b/fsd/mapReduce/__init__.py @@ -1,10 +1,11 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsd/mapReduce/__init__.py +from __future__ import absolute_import import os import sys import logging import traceback import time -import jobGenerator +from . import jobGenerator import itertools log = logging.getLogger(__name__) log.addHandler(logging.NullHandler()) diff --git a/fsd/mapReduce/operations.py b/fsd/mapReduce/operations.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsd/mapReduce/operations.py +from __future__ import absolute_import import logging import inspect import heapq -from iterativePickle import IterativePickleWithHeaderObject +from .iterativePickle import IterativePickleWithHeaderObject import cPickle log = logging.getLogger(__name__) log.addHandler(logging.NullHandler()) diff --git a/fsd/schemas/benchmarks/benchmarkDictOffsetDataLookup.py b/fsd/schemas/benchmarks/benchmarkDictOffsetDataLookup.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsd/schemas/benchmarks/benchmarkDictOffsetDataLookup.py +from __future__ import print_function __author__ = 'baering' import benchmarkUtil from fsd.schemas.nestedIndexedOffsetData import IndexedOffsetData @@ -45,12 +46,12 @@ optimizedDictFooter = CreateStandardFSDOptimizedDictFooter() @benchmarkUtil.benchmark def SearchInUnoptimizedData(): - print 'Result:', unoptimizedDictFooter.Get(1) + print('Result:', unoptimizedDictFooter.Get(1)) @benchmarkUtil.benchmark def SearchInOptimizedData(): - print 'Result:', optimizedDictFooter.Get(1) + print('Result:', optimizedDictFooter.Get(1)) if __name__ == '__main__': diff --git a/fsd/schemas/benchmarks/benchmark_indexes.py b/fsd/schemas/benchmarks/benchmark_indexes.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsd/schemas/benchmarks/benchmark_indexes.py +from __future__ import print_function import pyFSD import time import ctypes @@ -23,10 +24,10 @@ def timeit(method): ts = time.time() result = method(*args, **kw) te = time.time() - print '%r (%r, %r) %2.2f sec' % (method.__name__, + print('%r (%r, %r) %2.2f sec' % (method.__name__, args, kw, - te - ts) + te - ts)) return result return timed @@ -40,7 +41,7 @@ for i in xrange(COUNT): 'size': 0}) offsetTableString = binaryRepresenter.RepresentAsBinary(offsets, keySchema, None) -print 'Timing %i item indexes' % COUNT +print('Timing %i item indexes' % COUNT) @timeit def FsdUnsignedIntegerKeyMapLoadData(): diff --git a/fsd/schemas/binaryLoader.py b/fsd/schemas/binaryLoader.py @@ -1,16 +1,15 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsd/schemas/binaryLoader.py +from __future__ import absolute_import import cPickle import ctypes -import persistence +from . import persistence import struct -import loaders -import loaders.objectLoader -import loaders.dictLoader -import loaders.listLoader +from . import loaders +from .loaders import objectLoader, dictLoader, listLoader import logging import os from eveprefs import boot -from path import FsdDataPathObject +from .path import FsdDataPathObject uint32 = struct.Struct('I') log = logging.getLogger(__name__) defaultLoaderFactories = {'float': loaders.FloatFromBinaryString, @@ -140,7 +139,7 @@ class BlueResFileIOWrapper(object): def LoadFSDDataForCFG(dataResPath, schemaResPath = None, optimize = True, cacheSize = 100): import blue - import schemaOptimizer + from . import schemaOptimizer res = blue.ResFile() if schemaResPath is not None: if not res.Open(schemaResPath): @@ -169,7 +168,7 @@ def LoadFSDDataForCFG(dataResPath, schemaResPath = None, optimize = True, cacheS def LoadFSDDataInPython(dataResPath, schemaResPath = None, optimize = None, cacheSize = 100): - import schemaOptimizer + from . import schemaOptimizer if schemaResPath is not None: with open(schemaResPath, 'r') as schemaFile: schema = persistence.LoadSchema(schemaFile.read()) diff --git a/fsd/schemas/binaryRepresenter.py b/fsd/schemas/binaryRepresenter.py @@ -1,12 +1,13 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsd/schemas/binaryRepresenter.py +from __future__ import absolute_import import ctypes import cStringIO -import schemaOptimizer -from path import FsdDataPathObject -import validator +from . import schemaOptimizer +from .path import FsdDataPathObject +from . import validator import struct import cPickle -from nestedIndexedOffsetData import IndexedOffsetData +from .nestedIndexedOffsetData import IndexedOffsetData uint64 = struct.Struct('Q') uint32 = struct.Struct('I') int32 = struct.Struct('i') diff --git a/fsd/schemas/schemaOptimizer.py b/fsd/schemas/schemaOptimizer.py @@ -1,12 +1,14 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsd/schemas/schemaOptimizer.py +from __future__ import print_function +from __future__ import absolute_import import copy import collections import ctypes import yaml -import validator -import persistence +from . import validator +from . import persistence import os -import schemaCompare +from . import schemaCompare builtInCTypesObjectTypes = {'typeID': ctypes.c_uint32, 'localizationID': ctypes.c_uint32, 'bool': ctypes.c_ubyte} @@ -402,7 +404,7 @@ builtInSchemaOptimizationFunctions = {'dict': OptimizeDictSchema, def LoadReferencedSchema(reference, pathRoot): schemaFilePath = reference.get('schemaFile') schemaName = reference.get('schema') - print 'loading', schemaName, 'from', schemaFilePath + print('loading', schemaName, 'from', schemaFilePath) if pathRoot is None: raise Exception('Could not optimize schema without a path root with which to load referenced schemas') with open(os.path.join(pathRoot, schemaFilePath), 'r') as schemaFile: diff --git a/fsd/schemas/validator.py b/fsd/schemas/validator.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsd/schemas/validator.py +from __future__ import absolute_import import re import collections import os @@ -9,7 +10,7 @@ SERVER = 'Server' EDITOR = 'Editor' ASCENDING = 'Ascending' DESCENDING = 'Descending' -import persistence +from . import persistence class SchemaMismatch(Exception): diff --git a/fsd/simpleSearch/dataSearch.py b/fsd/simpleSearch/dataSearch.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsd/simpleSearch/dataSearch.py -import dataWalker +from __future__ import absolute_import +from . import dataWalker import re class SearchResults: diff --git a/fsdBuiltData/common/base.py b/fsdBuiltData/common/base.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsdBuiltData/common/base.py +from __future__ import absolute_import import os import logging import time @@ -9,7 +10,7 @@ try: except ImportError: monolithconfig = None -from errors import NoBinaryLoaderError +from .errors import NoBinaryLoaderError from signals import Signal log = logging.getLogger('fsdBuiltData') IS_PACKAGED = False diff --git a/fsdUtilities/loaders.py b/fsdUtilities/loaders.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsdUtilities/loaders.py +from __future__ import print_function import re import time import os @@ -66,7 +67,7 @@ def LoadDataFromMultipleFiles(root, includePath, showLog = True): data[dataKey] = loadfile(AbsJoin(root, filePath)) if showLog: - print 'Parsed %d files in %.1f sec for %s' % (len(data), time.time() - startTime, GetAbsoluteBranchPath(root, includePath)) + print('Parsed %d files in %.1f sec for %s' % (len(data), time.time() - startTime, GetAbsoluteBranchPath(root, includePath))) return data @@ -84,7 +85,7 @@ def LoadDataFromMultipleFilesWithMultiProcessing(root, includePath, mapFunction generatedResults = MapReduceMany(walker, [], includePath, [], [reduceFinalizeJob], pool) generatedResults = generatedResults['objectData'] filePath = GetAbsoluteBranchPath(root, includePath) - print 'Parsed %d files in %.1f sec for %s' % (len(generatedResults), time.time() - startTime, filePath) + print('Parsed %d files in %.1f sec for %s' % (len(generatedResults), time.time() - startTime, filePath)) result = {} for key, value in generatedResults.iteritems(): shortenedKey = _RemoveSimilarEndSubstring(key, includePath) diff --git a/fsdlite/storage.py b/fsdlite/storage.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/fsdlite/storage.py +from __future__ import print_function import os import time import fnmatch @@ -524,7 +525,7 @@ def ShouldUseSource(): if SHOULD_USE_SOURCE is None: SHOULD_USE_SOURCE = bool(int(os.environ.get('EVE_FSDLITE_USE_SOURCE', '1'))) if not SHOULD_USE_SOURCE: - print 'FsdLite Storage will not use source files for this run as environment variable is set to False' + print('FsdLite Storage will not use source files for this run as environment variable is set to False') try: import blue except ImportError: diff --git a/fsdlite/util.py b/fsdlite/util.py @@ -17,18 +17,18 @@ def repr(obj, module = None, exclude = []): class WeakMethod(object): def __init__(self, f): - self.f = f.im_func - self.c = weakref.ref(f.im_self) + self.f = f.__func__ + self.c = weakref.ref(f.__self__) def __call__(self, *args): if self.c() is not None: - apply(self.f, (self.c(),) + args) + self.f(self.c(), *args) def extend_class(cls, mixin): for name, member in inspect.getmembers(mixin): if inspect.ismethod(member): - setattr(cls, name, types.MethodType(member.im_func, None, cls)) + setattr(cls, name, types.MethodType(member.__func__, None, cls)) class Extendable(object): diff --git a/functoolsext/__init__.py b/functoolsext/__init__.py @@ -142,7 +142,7 @@ def lru_cache(maxsize = 128, typed = False): def func_takes_arguments(f): try: - fc = f.func_code + fc = f.__code__ except AttributeError: raise AttributeError('Cannot inspect built-ins: %s.' % f) diff --git a/future/builtins/newsuper.py b/future/builtins/newsuper.py @@ -45,7 +45,7 @@ def find_owner(cls, code): except (AttributeError, TypeError): continue - if meth.func_code is code: + if meth.__code__ is code: return typ raise TypeError diff --git a/fwwarzone/client/dashboard/fwMapStar.py b/fwwarzone/client/dashboard/fwMapStar.py @@ -63,7 +63,7 @@ class FWMapStar(ButtonIcon): try: if sm.GetService('fwWarzoneSvc').GetMapTagProvider().is_bulwark_system(self.systemId): return SYSTEM_BULWARK_TEXT - except StandardError: + except Exception: logger.exception('Failed to check if bulwark system') def _ConstructWarzoneSystemTooltip(self, tooltipPanel): diff --git a/fwwarzone/client/dashboard/mapData.py b/fwwarzone/client/dashboard/mapData.py @@ -109,5 +109,5 @@ class WarzoneMapData: states_that_have_taken_date = [ (solarsystem_id, occupation_state) for solarsystem_id, occupation_state in warzone_occupation_states.iteritems() if occupation_state.dateTaken is not None ] if len(states_that_have_taken_date) == 0: return (None, None) - solarsystem_id, occupation_state = sorted(states_that_have_taken_date, reverse=True, key=lambda (_solarsystem_id, _occupation_state): _occupation_state.dateTaken)[0] + solarsystem_id, occupation_state = sorted(states_that_have_taken_date, reverse=True, key=lambda _solarsystem_id__occupation_state: _solarsystem_id__occupation_state[1].dateTaken)[0] return (solarsystem_id, occupation_state) diff --git a/fwwarzone/client/dashboard/warzoneInfoSideCont.py b/fwwarzone/client/dashboard/warzoneInfoSideCont.py @@ -81,7 +81,7 @@ class WarzoneInfoSideCont(Container): isHqSystem = systemId in hqSystems.values() try: isBulwarkSystem = sm.GetService('fwWarzoneSvc').GetMapTagProvider().is_bulwark_system(systemId) - except StandardError: + except Exception: logger.exception('Failed to check if bulwark system') isBulwarkSystem = False diff --git a/fwwarzone/client/dashboard/warzoneMapPanel.py b/fwwarzone/client/dashboard/warzoneMapPanel.py @@ -357,6 +357,8 @@ class WarzoneMapPanel(Container): for marker in self.shipcasterMarkersBySolarSystemID.itervalues(): marker.Close() + if self.warZoneMap is None: + return self.shipcasterMarkersBySolarSystemID = {} hqSystemId = sm.GetService('fwWarzoneSvc').GetAllHQSystems() factionsWithShipcaster = sm.GetService('shipcaster').GetFactionsWithShipcaster() diff --git a/gametime/__init__.py b/gametime/__init__.py @@ -1,6 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/gametime/__init__.py from carbon.common.lib.const import BLUE_TICK, HNSEC, uSEC, MSEC, SEC, MIN, HOUR, DAY, WEEK -EPOCH_BLUE_TIME = 116444736000000000L +EPOCH_BLUE_TIME = 116444736000000000 class BlueTimeImplementation(object): diff --git a/httplib2/__init__.py b/httplib2/__init__.py @@ -1,5 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/httplib2/__init__.py from __future__ import generators +from __future__ import print_function +from __future__ import absolute_import __author__ = 'Joe Gregorio (joe@bitworking.org)' __copyright__ = 'Copyright 2006, Joe Gregorio' __contributors__ = ['Thomas Broyer (t.broyer@ltgt.net)', @@ -45,7 +47,7 @@ try: from httplib2 import socks except ImportError: try: - import socks + from . import socks except (ImportError, AttributeError): socks = None @@ -72,7 +74,7 @@ except (AttributeError, ImportError): if sys.version_info >= (2, 3): - from iri2uri import iri2uri + from .iri2uri import iri2uri else: def iri2uri(uri): @@ -264,7 +266,7 @@ def _normalize_headers(headers): def _parse_cache_control(headers): retval = {} - if headers.has_key('cache-control'): + if 'cache-control' in headers: parts = headers['cache-control'].split(',') parts_with_args = [ tuple([ x.strip().lower() for x in part.split('=', 1) ]) for part in parts if -1 != part.find('=') ] parts_wo_args = [ (name.strip().lower(), 1) for name in parts if -1 == name.find('=') ] @@ -279,7 +281,7 @@ UNQUOTE_PAIRS = re.compile('\\\\(.)') def _parse_www_authenticate(headers, headername = 'www-authenticate'): retval = {} - if headers.has_key(headername): + if headername in headers: try: authenticate = headers[headername].strip() www_auth = USE_WWW_AUTH_STRICT_PARSING and WWW_AUTH_STRICT or WWW_AUTH_RELAXED @@ -309,27 +311,27 @@ def _entry_disposition(response_headers, request_headers): retval = 'STALE' cc = _parse_cache_control(request_headers) cc_response = _parse_cache_control(response_headers) - if request_headers.has_key('pragma') and request_headers['pragma'].lower().find('no-cache') != -1: + if 'pragma' in request_headers and request_headers['pragma'].lower().find('no-cache') != -1: retval = 'TRANSPARENT' if 'cache-control' not in request_headers: request_headers['cache-control'] = 'no-cache' - elif cc.has_key('no-cache'): + elif 'no-cache' in cc: retval = 'TRANSPARENT' - elif cc_response.has_key('no-cache'): + elif 'no-cache' in cc_response: retval = 'STALE' - elif cc.has_key('only-if-cached'): + elif 'only-if-cached' in cc: retval = 'FRESH' - elif response_headers.has_key('date'): + elif 'date' in response_headers: date = calendar.timegm(email.Utils.parsedate_tz(response_headers['date'])) now = time.time() current_age = max(0, now - date) - if cc_response.has_key('max-age'): + if 'max-age' in cc_response: try: freshness_lifetime = int(cc_response['max-age']) except ValueError: freshness_lifetime = 0 - elif response_headers.has_key('expires'): + elif 'expires' in response_headers: expires = email.Utils.parsedate_tz(response_headers['expires']) if None == expires: freshness_lifetime = 0 @@ -337,13 +339,13 @@ def _entry_disposition(response_headers, request_headers): freshness_lifetime = max(0, calendar.timegm(expires) - date) else: freshness_lifetime = 0 - if cc.has_key('max-age'): + if 'max-age' in cc: try: freshness_lifetime = int(cc['max-age']) except ValueError: freshness_lifetime = 0 - if cc.has_key('min-fresh'): + if 'min-fresh' in cc: try: min_fresh = int(cc['min-fresh']) except ValueError: @@ -378,7 +380,7 @@ def _updateCache(request_headers, response_headers, content, cache, cachekey): if cachekey: cc = _parse_cache_control(request_headers) cc_response = _parse_cache_control(response_headers) - if cc.has_key('no-store') or cc_response.has_key('no-store'): + if 'no-store' in cc or 'no-store' in cc_response: cache.delete(cachekey) else: info = email.Message.Message() @@ -492,7 +494,7 @@ class DigestAuthentication(Authentication): self.challenge['nc'] += 1 def response(self, response, content): - if not response.has_key('authentication-info'): + if 'authentication-info' not in response: challenge = _parse_www_authenticate(response, 'www-authenticate').get('digest', {}) if 'true' == challenge.get('stale'): self.challenge['nonce'] = challenge['nonce'] @@ -500,7 +502,7 @@ class DigestAuthentication(Authentication): return True else: updated_challenge = _parse_www_authenticate(response, 'authentication-info').get('digest', {}) - if updated_challenge.has_key('nextnonce'): + if 'nextnonce' in updated_challenge: self.challenge['nonce'] = updated_challenge['nextnonce'] self.challenge['nc'] = 1 return False @@ -785,23 +787,23 @@ class HTTPConnectionWithTimeout(httplib.HTTPConnection): if has_timeout(self.timeout): self.sock.settimeout(self.timeout) if self.debuglevel > 0: - print 'connect: (%s, %s) ************' % (self.host, self.port) + print('connect: (%s, %s) ************' % (self.host, self.port)) if use_proxy: - print 'proxy: %s ************' % str((proxy_host, + print('proxy: %s ************' % str((proxy_host, proxy_port, proxy_rdns, proxy_user, - proxy_pass)) + proxy_pass))) self.sock.connect((self.host, self.port) + sa[2:]) except socket.error as msg: if self.debuglevel > 0: - print 'connect fail: (%s, %s)' % (self.host, self.port) + print('connect fail: (%s, %s)' % (self.host, self.port)) if use_proxy: - print 'proxy: %s' % str((proxy_host, + print('proxy: %s' % str((proxy_host, proxy_port, proxy_rdns, proxy_user, - proxy_pass)) + proxy_pass))) if self.sock: self.sock.close() self.sock = None @@ -864,13 +866,13 @@ class HTTPSConnectionWithTimeout(httplib.HTTPSConnection): sock.connect((self.host, self.port)) self.sock = _ssl_wrap_socket(sock, self.key_file, self.cert_file, self.disable_ssl_certificate_validation, self.ca_certs) if self.debuglevel > 0: - print 'connect: (%s, %s)' % (self.host, self.port) + print('connect: (%s, %s)' % (self.host, self.port)) if use_proxy: - print 'proxy: %s' % str((proxy_host, + print('proxy: %s' % str((proxy_host, proxy_port, proxy_rdns, proxy_user, - proxy_pass)) + proxy_pass))) if not self.disable_ssl_certificate_validation: cert = self.sock.getpeercert() hostname = self.host.split(':', 0)[0] @@ -890,13 +892,13 @@ class HTTPSConnectionWithTimeout(httplib.HTTPSConnection): raise except socket.error as msg: if self.debuglevel > 0: - print 'connect fail: (%s, %s)' % (self.host, self.port) + print('connect fail: (%s, %s)' % (self.host, self.port)) if use_proxy: - print 'proxy: %s' % str((proxy_host, + print('proxy: %s' % str((proxy_host, proxy_port, proxy_rdns, proxy_user, - proxy_pass)) + proxy_pass))) if self.sock: self.sock.close() self.sock = None @@ -990,7 +992,7 @@ class Http(object): challenges = _parse_www_authenticate(response, 'www-authenticate') for cred in self.credentials.iter(host): for scheme in AUTH_SCHEME_ORDER: - if challenges.has_key(scheme): + if scheme in challenges: yield AUTH_SCHEME_CLASSES[scheme](cred, host, request_uri, headers, response, content, self) def add_credentials(self, name, password, domain = ''): @@ -1100,28 +1102,28 @@ class Http(object): if self.follow_all_redirects or method in ('GET', 'HEAD') or response.status == 303: if self.follow_redirects and response.status in (300, 301, 302, 303, 307): if redirections: - if not response.has_key('location') and response.status != 300: + if 'location' not in response and response.status != 300: raise RedirectMissingLocation(_('Redirected but the response is missing a Location: header.'), response, content) - if response.has_key('location'): + if 'location' in response: location = response['location'] scheme, authority, path, query, fragment = parse_uri(location) if authority == None: response['location'] = urlparse.urljoin(absolute_uri, location) if response.status == 301 and method in ('GET', 'HEAD'): response['-x-permanent-redirect-url'] = response['location'] - if not response.has_key('content-location'): + if 'content-location' not in response: response['content-location'] = absolute_uri _updateCache(headers, response, content, self.cache, cachekey) - if headers.has_key('if-none-match'): + if 'if-none-match' in headers: del headers['if-none-match'] - if headers.has_key('if-modified-since'): + if 'if-modified-since' in headers: del headers['if-modified-since'] if 'authorization' in headers and not self.forward_authorization_headers: del headers['authorization'] - if response.has_key('location'): + if 'location' in response: location = response['location'] old_response = copy.deepcopy(response) - if not old_response.has_key('content-location'): + if 'content-location' not in old_response: old_response['content-location'] = absolute_uri redirect_method = method if response.status in (302, 303): @@ -1132,7 +1134,7 @@ class Http(object): else: raise RedirectLimit('Redirected more times than rediection_limit allows.', response, content) elif response.status in (200, 203) and method in ('GET', 'HEAD'): - if not response.has_key('content-location'): + if 'content-location' not in response: response['content-location'] = absolute_uri _updateCache(headers, response, content, self.cache, cachekey) return (response, content) @@ -1146,7 +1148,7 @@ class Http(object): headers = {} else: headers = self._normalize_headers(headers) - if not headers.has_key('user-agent'): + if 'user-agent' not in headers: headers['user-agent'] = 'Python-httplib2/%s (gzip)' % __version__ uri = iri2uri(uri) scheme, authority, request_uri, defrag_uri = urlnorm(uri) @@ -1191,7 +1193,7 @@ class Http(object): else: cachekey = None - if method in self.optimistic_concurrency_methods and self.cache and info.has_key('etag') and not self.ignore_etag and 'if-match' not in headers: + if method in self.optimistic_concurrency_methods and self.cache and 'etag' in info and not self.ignore_etag and 'if-match' not in headers: headers['if-match'] = info['etag'] if method not in ('GET', 'HEAD') and self.cache and cachekey: self.cache.delete(cachekey) @@ -1206,7 +1208,7 @@ class Http(object): break if cached_value and method in ('GET', 'HEAD') and self.cache and 'range' not in headers: - if info.has_key('-x-permanent-redirect-url'): + if '-x-permanent-redirect-url' in info: if redirections <= 0: raise RedirectLimit('Redirected more times than rediection_limit allows.', {}, '') response, new_content = self.request(info['-x-permanent-redirect-url'], method='GET', headers=headers, redirections=redirections - 1) @@ -1223,9 +1225,9 @@ class Http(object): response.fromcache = True return (response, content) if entry_disposition == 'STALE': - if info.has_key('etag') and not self.ignore_etag and 'if-none-match' not in headers: + if 'etag' in info and not self.ignore_etag and 'if-none-match' not in headers: headers['if-none-match'] = info['etag'] - if info.has_key('last-modified') and 'last-modified' not in headers: + if 'last-modified' in info and 'last-modified' not in headers: headers['if-modified-since'] = info['last-modified'] elif entry_disposition == 'TRANSPARENT': pass @@ -1248,7 +1250,7 @@ class Http(object): content = new_content else: cc = _parse_cache_control(headers) - if cc.has_key('only-if-cached'): + if 'only-if-cached' in cc: info['status'] = '504' response = Response(info) content = '' diff --git a/iconrendering2/icongenerator.py b/iconrendering2/icongenerator.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/iconrendering2/icongenerator.py +from __future__ import print_function import os import osutils import tempfile @@ -115,7 +116,7 @@ class IconGenerator(object): outputFiles = [ info.outputPath for info in outputInfos ] for path in outputFiles: - print 'Generated icon: {}'.format(path) + print('Generated icon: {}'.format(path)) if _callback: _callback(outputInfos) @@ -137,13 +138,13 @@ class IconGenerator(object): if not desiredSizes: desiredSizes = [64, 128, 512] if metadata and metadata.get('skip', False): - print 'Skipping icons, as indicated in the metadata.' + print('Skipping icons, as indicated in the metadata.') return None if not self._resourceMapper and inputType in [InputType.RED_FILE, InputType.GRAPHIC_ID]: - print "No Resource Mapper defined, can't generate icons for %s (%s)" % (input, inputType) + print("No Resource Mapper defined, can't generate icons for %s (%s)" % (input, inputType)) return None if not self._sofFactory and inputType in [InputType.RED_FILE, InputType.GRAPHIC_ID, InputType.DNA]: - print "No SOF Factory defined, can't generate icons for %s (%s)" % (input, inputType) + print("No SOF Factory defined, can't generate icons for %s (%s)" % (input, inputType)) return None options = _ReviewOptions(self._options) outputFolder, tmpOutputFolder = _GetCorrectFolders(outputFolder, options) @@ -178,7 +179,7 @@ def _GetCorrectFolders(outputFolder, options): outputFolder = tmpOutputFolder else: if outputFolder is None: - print + print() return (None, None, ["No output folder or temp folder defined, can't generate icons."]) tmpOutputFolder = outputFolder return (outputFolder, tmpOutputFolder) diff --git a/iconrendering2/metadata.py b/iconrendering2/metadata.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/iconrendering2/metadata.py +from __future__ import print_function import os import yamlext from .const import IconStyle, IconViewMode @@ -113,7 +114,7 @@ def UpdateIconDataFromStateControllers(data, obj): SetStateControllerVariable(data, var.name, var.value) except: - print "Couldn't retrieve state controller variables for %s" % (obj.name if hasattr(obj, 'name') else obj) + print("Couldn't retrieve state controller variables for %s" % (obj.name if hasattr(obj, 'name') else obj)) return data diff --git a/iconrendering2/renderers/renderer_apparel.py b/iconrendering2/renderers/renderer_apparel.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/iconrendering2/renderers/renderer_apparel.py +from __future__ import print_function import os import wx import dogma.data as dogma_data @@ -167,7 +168,7 @@ class ApparelRenderer(object): def SetCameraForScar(self, typeInfo, character, camera, scene): group = SCARGROUPS.get(typeInfo, None) if group is None: - print 'couldnt find the group, return' + print('couldnt find the group, return') return self.SetUpCamera(camera, group, character, SCARCAMERASETINGS, scene) @@ -490,7 +491,7 @@ class ApparelRenderer(object): def SaveScreenShot(self, outputPath, targetRes = 512, applyBackground = False): import imageutils from PIL import Image as PILImage - print 'SaveScreenShot', outputPath + print('SaveScreenShot', outputPath) blue.resMan.Wait() self.render_frame(self.renderJob) backbuffer = self.rt @@ -749,7 +750,7 @@ def RenderClientIcon(typenum, gender, outputSuffix = ''): elif outputSuffix == 'ZH': blue.os.languageID = 'ZH' if not IsValidType(typenum): - print '***** Type %d does not match a paperdoll resource. *****' % typenum + print('***** Type %d does not match a paperdoll resource. *****' % typenum) return False pdDm.ClearAllCachedMaps() aprenderer = ApparelRenderer(outputSuffix) @@ -772,7 +773,7 @@ def RenderNESIcon(typenum, gender, outputSuffix = ''): elif outputSuffix == 'ZH': blue.os.languageID = 'ZH' if not IsValidType(typenum): - print '***** Type %d does not match a paperdoll resource. *****' % typenum + print('***** Type %d does not match a paperdoll resource. *****' % typenum) return False pdDm.ClearAllCachedMaps() aprenderer = ApparelRenderer(outputSuffix) @@ -789,17 +790,17 @@ def RenderNESIcon(typenum, gender, outputSuffix = ''): def ProcessTypes(typeslist, genClientIconCB, genNESIconCB, outputSuffix = ''): - print '************** STARTING APPAREL RENDER *************************' + print('************** STARTING APPAREL RENDER *************************') types_string = str(typeslist) types = [ int(t) for t in types_string.split(',') ] for typenum in types: genders = GetValidPaperDollGenders(typenum) for gender in genders: if genClientIconCB: - print 'Rendering %s Client Icon for type %d gender %d' % (outputSuffix, typenum, gender) + print('Rendering %s Client Icon for type %d gender %d' % (outputSuffix, typenum, gender)) RenderClientIcon(typenum, gender, outputSuffix) if genNESIconCB: - print 'Rendering %s NES Icon for type %d gender %d' % (outputSuffix, typenum, gender) + print('Rendering %s NES Icon for type %d gender %d' % (outputSuffix, typenum, gender)) RenderNESIcon(typenum, gender, outputSuffix) diff --git a/iconrendering2/renderers/renderer_fromfile.py b/iconrendering2/renderers/renderer_fromfile.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/iconrendering2/renderers/renderer_fromfile.py -from renderer_base import IconRenderer -from utils_renderer import RenderToBitmapFromIcon +from __future__ import absolute_import +from .renderer_base import IconRenderer +from .utils_renderer import RenderToBitmapFromIcon from iconrendering2.const import Language _savingInProgress = [] diff --git a/iconrendering2/renderers/renderer_hologram.py b/iconrendering2/renderers/renderer_hologram.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/iconrendering2/renderers/renderer_hologram.py +from __future__ import absolute_import import blue -from renderer_spaceobject import SpaceObjectIconRenderer -from utils_scene import * +from .renderer_spaceobject import SpaceObjectIconRenderer +from .utils_scene import * from iconrendering2.const import Language class HologramIconRenderer(SpaceObjectIconRenderer): diff --git a/iconrendering2/renderers/renderer_planetary_pin.py b/iconrendering2/renderers/renderer_planetary_pin.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/iconrendering2/renderers/renderer_planetary_pin.py +from __future__ import absolute_import import trinity -from utils_scene import * -from utils_renderer import RenderToBitmapFromScene -from renderer_base import IconRenderer +from .utils_scene import * +from .utils_renderer import RenderToBitmapFromScene +from .renderer_base import IconRenderer from iconrendering2.const import Language from iconrendering2.utils import Pump diff --git a/iconrendering2/renderers/renderer_spaceobject.py b/iconrendering2/renderers/renderer_spaceobject.py @@ -1,11 +1,12 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/iconrendering2/renderers/renderer_spaceobject.py +from __future__ import absolute_import import trinity import eveSpaceObject.spaceobjanimation as soanimation import iconrendering2.const from iconrendering2.const import Language, IconViewMode, IconRenderFormat, VIEW_MODE_CAMERA_ANGLES, VIEW_MODE_SUN_DIRECTIONS -from utils_scene import * -from utils_renderer import RenderToBitmapFromScene -from renderer_base import IconRenderer, RenderException +from .utils_scene import * +from .utils_renderer import RenderToBitmapFromScene +from .renderer_base import IconRenderer, RenderException class SpaceObjectIconRenderer(IconRenderer): @@ -83,7 +84,7 @@ class SpaceObjectIconRenderer(IconRenderer): img = img.rotate(90.0) img.save(renderInfo.outputPath) if outlineColor: - from utils_renderer import ApplyOutline + from .utils_renderer import ApplyOutline backgroundPath = blue.paths.ResolvePath(originalBackground) if originalBackground else None ApplyOutline(renderInfo.outputPath, originalSize, outlineColor, iconrendering2.const.OUTLINE_THICKNESS, iconrendering2.const.OUTLINE_HARDLINES, backgroundPath) diff --git a/iconrendering2/renderers/renderer_sun.py b/iconrendering2/renderers/renderer_sun.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/iconrendering2/renderers/renderer_sun.py -from utils_scene import * -from utils_renderer import RenderToBitmapFromScene -from renderer_base import IconRenderer +from __future__ import absolute_import +from .utils_scene import * +from .utils_renderer import RenderToBitmapFromScene +from .renderer_base import IconRenderer from iconrendering2.const import Language from platformtools.compatibility.exposure.artpipeline.tools.utils.PlanetUtils import BuildPlanet, ConvertPlanetToEffectRoot diff --git a/iconrendering2/renderers/utils_scene.py b/iconrendering2/renderers/utils_scene.py @@ -1,9 +1,15 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/iconrendering2/renderers/utils_scene.py +from __future__ import print_function import geo2 import trinity import blue from math import sin, tan from iconrendering2.utils import Pump +try: + long +except NameError: + long = int + GETPHOTO_ANGLE = (0.3, -0.3, 0.0) GETPHOTO_VIEW_UP = (0.0, 1.0, 0.0) GETPHOTO_FOV = 1.0 @@ -15,7 +21,7 @@ GETPHOTO_PROJECTION = (GETPHOTO_FOV, def FreezeTime(): blue.os.advanceTimeInPump = False - blue.os.SetTime(1L) + blue.os.SetTime(long(1)) trinity.device.animationTimeScale = 0.0 trinity.device.animationTime = 1 Pump() @@ -45,7 +51,7 @@ def WaitForGeometryLoad(object, geometryPath = 'mesh.geometry', context = ''): geometry = getattr(geometry, attr, None) if currentWait == maxWaits: - print 'Waiting for geometry failed for %s' % context + print('Waiting for geometry failed for %s' % context) def GetViewProjectionForObject(object, scene, cameraAngle = None): @@ -133,7 +139,7 @@ def GetViewAndProjectionForSkinnedModel(model, scene = None, boundingSphereRadiu def calculateProjectedBoundingBox(combinedTransform): bb = model.CalculateSkinnedBoundingBoxFromTransform(combinedTransform) - print bb + print(bb) return bb return _GetViewAndProjectionUsingProjectedBoundingBox(calculateProjectedBoundingBox, scene, boundingSphereRadius=boundingSphereRadius, boundingSphereCenter=boundingSphereCenter, boundingBoxMin=boundingBoxMin, boundingBoxMax=boundingBoxMax, cameraAngle=cameraAngle) diff --git a/industry/activities/invention.py b/industry/activities/invention.py @@ -2,6 +2,7 @@ import industry import operator from industry.activities.skill_probability_helper import SkillProbabilityHelper +from functools import reduce class Invention(industry.Activity): REQUIRES_COPY = True diff --git a/industry/activity.py b/industry/activity.py @@ -4,6 +4,7 @@ import operator import immutable import industry import structures +from functools import reduce class Activity(industry.Base): __metaclass__ = immutable.Immutable diff --git a/infobubbles/converter.py b/infobubbles/converter.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/infobubbles/converter.py +from __future__ import print_function import os import fsd.common.fsdYamlExtensions as fsdYaml import yaml @@ -31,4 +32,4 @@ with open(os.path.join(data_path, 'old_infoBubbleTypeBonuses.staticdata'), 'r') with open(os.path.join(data_path, 'infoBubbleTypeBonuses.staticdata'), 'w') as f: yaml.dump(new_data, f, Dumper=fsdYaml.FsdYamlDumper) - print new_data + print(new_data) diff --git a/inventorycommon/const.py b/inventorycommon/const.py @@ -1241,7 +1241,12 @@ groupVanguardNPCs = 4909 groupNpcIndustrialCommandShip = 4917 groupNpcExpeditionCommandShip = 4945 groupRoamingYuleLads = 4949 -groupHordeModeEntities = 5032 +groupFabricatorRogueDroneFrigate = 5032 +groupFabricatorRogueDroneDestroyer = 5122 +groupFabricatorRogueDroneCruiser = 5123 +groupFabricatorRogueDroneBattlecruiser = 5124 +groupFabricatorRogueDroneBattleship = 5125 +groupFabricatorRogueDroneDreadnought = 5154 groupNpcIndustrialShip = 1895 groupIrregularDrone = 1452 groupCapsuleBlueprint = 109 diff --git a/jobboard/client/features/campaigns/job.py b/jobboard/client/features/campaigns/job.py @@ -432,7 +432,7 @@ class CampaignJob(BaseCampaignJob): def issuer_name(self): try: return cfg.eveowners.Get(self.issuer_id).name - except StandardError: + except Exception: pass return '' @@ -580,14 +580,14 @@ class CampaignJob(BaseCampaignJob): try: check_can_commit(self) return True - except StandardError as e: + except Exception as e: return False def can_resign(self): try: check_can_resign(self) return True - except StandardError as e: + except Exception as e: return False def on_commit(self, button = None): diff --git a/jobboard/client/job_provider.py b/jobboard/client/job_provider.py @@ -383,7 +383,7 @@ class JobProvider(object): continue if not job_id.startswith(self.PROVIDER_ID): continue - tracked_job_ids.pop(job_id) + tracked_job_ids.pop(job_id, None) requires_update = True if requires_update: diff --git a/jobboard/client/ui/pages/home_page.py b/jobboard/client/ui/pages/home_page.py @@ -66,7 +66,9 @@ class HomePage(BasePage): provider = get_job_board_service().get_provider(ProviderType.CAMPAIGNS) if not provider.is_hidden: CampaignsHomePageSection(parent=self._content_container, align=Align.TOTOP, padBottom=16) + uthread2.Yield() SeasonHomePageSection(parent=self._content_container, padBottom=24) + uthread2.Yield() self._construct_category(provider_id=ProviderType.STORYLINES) self._construct_category(provider_id=ProviderType.ESCALATION_SITES) self._construct_category(provider_id=ProviderType.CORPORATION_GOALS) @@ -74,6 +76,7 @@ class HomePage(BasePage): self._construct_category(provider_id=ProviderType.EPIC_ARCS) self._construct_category(provider_id=ProviderType.AGENT_MISSIONS) CareerPathSection(parent=self._content_container, padBottom=24) + uthread2.Yield() self._construct_category(provider_id=ProviderType.FACTIONAL_WARFARE) self._construct_category(provider_id=ProviderType.PIRATE_INSURGENCIES) self._construct_category(provider_id=ProviderType.HOMEFRONT_OPERATIONS) @@ -98,6 +101,7 @@ class HomePage(BasePage): primary_content_tag = provider.feature_tag primary_content_tag_id = primary_content_tag.id section_class(parent=self._content_container, padBottom=24, title=primary_content_tag.title, icon=primary_content_tag.icon, view_all_callback=lambda : self._view_all_category(primary_content_tag_id), hide_empty=True, content_tag_id=primary_content_tag_id, provider=provider) + uthread2.Yield() def _construct_advert(self, provider_id, info = None, section_class = None): provider = get_job_board_service().get_provider(provider_id) @@ -105,6 +109,7 @@ class HomePage(BasePage): primary_content_tag_id = primary_content_tag.id section_class = section_class or FeatureAdvert section_class(name=u'advert_{}'.format(section_class.__name__), parent=self._content_container, padBottom=24, title=primary_content_tag.title, icon=primary_content_tag.icon, view_all_callback=lambda : self._view_all_category(primary_content_tag_id), hide_empty=True, content_tag_id=primary_content_tag_id, provider=provider, info=info) + uthread2.Yield() def _view_all_category(self, content_tag_id): self._service.open_browse_page(content_tag_id=content_tag_id) diff --git a/localization/__init__.py b/localization/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/localization/__init__.py +from __future__ import absolute_import import logging import blue import eveLocalization @@ -12,7 +13,7 @@ IS_PACKAGED = blue.pyos.packaged _logger = logging.getLogger(__name__) def __GetLocalization(): - import localizationBase + from . import localizationBase if not hasattr(__GetLocalization, 'cached'): __GetLocalization.cached = localizationBase.Localization() return __GetLocalization.cached @@ -75,7 +76,7 @@ def OverrideLocalizationLabel(labelNameAndPath, languageID = None, **kwargs): if not IS_PACKAGED and boot and boot.role == 'client': - import labelOverride + from . import labelOverride if labelOverride.GetConfigValue() and os.path.exists('../../eve/staticData'): _logger.info('Localization label live reloading is enabled') labelOverride.InitializeLocalizationCache() diff --git a/localization/localizationBase.py b/localization/localizationBase.py @@ -1,4 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/localization/localizationBase.py +from __future__ import print_function +from __future__ import absolute_import import cPickle as pickle import hashlib import logging @@ -46,7 +48,7 @@ class Localization(object): self._MISSING_LABELS_MODE = 0 message = u'Cerberus localization module loaded on ' + (boot.role if boot else '(Tool Environment)') log.info(message) - print message + print(message) def SetFallBackMode(self, mode): self._MISSING_LABELS_MODE = mode @@ -55,7 +57,7 @@ class Localization(object): return self._MISSING_LABELS_MODE def LoadLanguageData(self): - import propertyHandlers + from . import propertyHandlers if boot.role == 'client': internalUtil.ClearLanguageID() picklePrefixes = [(self.FSD_CLIENT_PREFIX, locconst.DATATYPE_FSD)] @@ -65,7 +67,7 @@ class Localization(object): if not supportedLanguagesByPrefix[prefix]: message = u'Cerberus localization module failed to load MAIN pickle on %s. See log server for details.' % boot.role log.error(message) - print message + print(message) return self._ValidateAndRepairPrefs() @@ -73,7 +75,7 @@ class Localization(object): if not self._ReadLocalizationLanguagePickles(prefix, supportedLanguagesByPrefix[prefix], dataType): message = u'Cerberus localization module failed to load language pickles on %s. See log server for details.' % boot.role log.error(message) - print message + print(message) return def GetLanguageStartupArg(self): diff --git a/localization/parser.py b/localization/parser.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/localization/parser.py +from future.utils import raise_ import re import eveLocalization from pytelemetry import zoning as telemetry @@ -52,19 +53,19 @@ def _Tokenize(sourceText): if token == '[': variableType = tokens.pop(0) if variableType not in VARIABLE_TYPE_DATA: - raise SyntaxError, "'" + variableType + "' is not a valid variable type" + raise_(SyntaxError, "'" + variableType + "' is not a valid variable type") next = tokens.pop(0) if next != ']': - raise SyntaxError, "Expected ']' but got '%s'" % next + raise_(SyntaxError, "Expected ']' but got '%s'" % next) variableName = tokens.pop(0) else: variableType = 'generic' variableName = token if not _IsValidVariableName(variableName): - raise SyntaxError, 'Variable names must be alphanumeric, and begin with a letter or underscore' + raise SyntaxError('Variable names must be alphanumeric, and begin with a letter or underscore') for tagName, tagInfo in [ (tagName, tagInfo) for tagName, tagInfo in tags.iteritems() if tagInfo ]: if tagInfo['variableName'] == variableName and tagInfo['variableType'] != VARIABLE_TYPE_CHOOSER[variableType.lower().encode('ascii')]: - raise TypeError, "'" + variableName + "' already declared as type '" + tagInfo['variableType'] + "'." + raise_(TypeError, "'" + variableName + "' already declared as type '" + tagInfo['variableType'] + "'.") if tokens: next = tokens.pop(0) @@ -80,18 +81,18 @@ def _Tokenize(sourceText): if VARIABLE_TYPE_DATA[variableType.encode('ascii')]['conditionalProperties'][propertyName] == CONDITIONAL_TYPE_QUANTITY: tagArgs |= eveLocalization.TOKEN_FLAG.QUANTITY if variableType in VARIABLE_TYPE_DATA and 'conditionalProperties' in VARIABLE_TYPE_DATA[variableType] and propertyName not in VARIABLE_TYPE_DATA[variableType]['conditionalProperties']: - raise TypeError, 'You cannot use ' + unicode(variableName) + '.' + unicode(propertyName) + ' in conditional statements. Valid properties for this variable type are: ' + str(VARIABLE_TYPE_DATA[variableType]['conditionalProperties']) + raise_(TypeError, 'You cannot use ' + unicode(variableName) + '.' + unicode(propertyName) + ' in conditional statements. Valid properties for this variable type are: ' + str(VARIABLE_TYPE_DATA[variableType]['conditionalProperties'])) conditionalValue = tokens.pop(0) if not _IsQuoteWrappedString(conditionalValue): - raise SyntaxError, "Error parsing conditional value '" + conditionalValue + "'" + raise_(SyntaxError, "Error parsing conditional value '" + conditionalValue + "'") conditionalValues.append(conditionalValue[1:-1]) while tokens: next = tokens.pop(0) if next != ',': - raise SyntaxError, "Expected ',' but got '%s'" % next + raise_(SyntaxError, "Expected ',' but got '%s'" % next) conditionalValue = tokens.pop(0) if not _IsQuoteWrappedString(conditionalValue): - raise SyntaxError, "Error parsing conditional value '" + conditionalValue + "'" + raise_(SyntaxError, "Error parsing conditional value '" + conditionalValue + "'") conditionalValues.append(conditionalValue[1:-1]) elif next == ',': @@ -100,16 +101,16 @@ def _Tokenize(sourceText): next = tokens.pop(0) if len(tokens) else None if next in (',', None): if arg not in VARIABLE_TYPE_DATA[variableType]['args']: - raise SyntaxError, "Modifier '" + arg + "' cannot be used with variables of type '" + variableType + "'" + raise_(SyntaxError, "Modifier '" + arg + "' cannot be used with variables of type '" + variableType + "'") tagArgs |= ARG_TO_MODIFIER[arg] elif next == '=': kwargValue = tokens.pop(0) if _IsQuoteWrappedString(kwargValue): kwargValue = kwargValue[1:-1] elif not kwargValue.isalnum(): - raise ValueError, 'Conditional arguments must be an alphanumeric value or double-quoted string' + raise ValueError('Conditional arguments must be an alphanumeric value or double-quoted string') if arg not in VARIABLE_TYPE_DATA[variableType]['kwargs']: - raise SyntaxError, "Modifier '" + arg + "' cannot be used with variables of type '" + variableType + "'" + raise_(SyntaxError, "Modifier '" + arg + "' cannot be used with variables of type '" + variableType + "'") if arg in ('decimalPlaces', 'leadingZeroes'): tagKwargs[arg] = int(kwargValue) if arg == 'decimalPlaces': @@ -154,12 +155,12 @@ def _Tokenize(sourceText): tagKwargs[arg] = kwargValue.encode('ascii') next = tokens.pop(0) if len(tokens) else None if next not in (',', None): - raise SyntaxError, "Expected ',' but got '%s'" % next + raise_(SyntaxError, "Expected ',' but got '%s'" % next) else: - raise SyntaxError, "Expected ',' or '=' but got '%s'" % next + raise_(SyntaxError, "Expected ',' or '=' but got '%s'" % next) else: - raise SyntaxError, "Expected ',' but got '%s'" % next + raise_(SyntaxError, "Expected ',' but got '%s'" % next) except (TypeError, ValueError, SyntaxError, diff --git a/localization/propertyHandlers/basePropertyHandler.py b/localization/propertyHandlers/basePropertyHandler.py @@ -1,4 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/localization/propertyHandlers/basePropertyHandler.py +from __future__ import print_function +from future.utils import raise_ import re from localization import const as locconst from localization.logger import LogError @@ -48,11 +50,11 @@ class BasePropertyHandler(Singleton): return method(identifierID, languageID, *args, **kwargs) return method(identifierID, *args, **kwargs) except TypeError: - print '---- TYPE ERROR ----' - print method - print propertyName, identifierID, languageID - print args - print kwargs + print('---- TYPE ERROR ----') + print(method) + print(propertyName, identifierID, languageID) + print(args) + print(kwargs) def _PrepareLocalizationSafeString(self, textString, messageID = None): return PrepareLocalizationSafeString(textString, messageID=messageID) @@ -84,7 +86,7 @@ class BasePropertyHandler(Singleton): @staticmethod def _NotImplementedProperty(methodName): - raise NotImplementedError, 'The property method (%s) is missing an implementation.' % methodName + raise_(NotImplementedError, 'The property method (%s) is missing an implementation.' % methodName) def _GeneratePropertyMethodName(self, propertyName, languageID): methodName = '_Get' + ''.join([ part.title() for part in methodNameRE.findall(propertyName) ]) @@ -96,4 +98,4 @@ class BasePropertyHandler(Singleton): return value def Linkify(self, value, linkText): - raise NotImplementedError, 'This variable type cannot be converted into a link until a Linkify function is defined in its property handler.' + raise NotImplementedError('This variable type cannot be converted into a link until a Linkify function is defined in its property handler.') diff --git a/localization/uiutil.py b/localization/uiutil.py @@ -15,7 +15,7 @@ def IsLocalizationSafeString(textString): localizedStringRE = re.compile('(<localized.*?>|</localized>)') messageIDSearchRE = re.compile('(?<=messageID=).*?(?=[ >])', re.I) -COLOR_HARDCODED = mathUtil.LtoI(2868838655L) +COLOR_HARDCODED = mathUtil.LtoI(2868838655) _isWrapModeOn = False def WrapStringForDisplay(textString): diff --git a/locks/__init__.py b/locks/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/locks/__init__.py +from __future__ import print_function import blue import sys import stackless @@ -122,7 +123,7 @@ def StartEventQueue(new): t = eventQueue.next_delay() if t is not None: blue.pyos.NextScheduledEvent(int(t * 1000)) - except StandardError: + except Exception: log.LogException() sys.exc_clear() @@ -163,7 +164,7 @@ class ContextMixin(object): def __exit__(self, exc, val, tb): try: self.release() - except StandardError: + except Exception: if exc: log.LogException('supressed error in ContextMixin.__exit__') else: @@ -214,7 +215,7 @@ class FifoLock(LockMixin): try: if self.owning is stackless.getcurrent(): self.release() - except StandardError: + except Exception: pass def release(self): @@ -280,7 +281,7 @@ class Lock(LockMixin): def release(self): if not self.owning: - raise RuntimeError, 'invalid unlock' + raise RuntimeError('invalid unlock') self.owning.pop() if not self.owning: self.lockedWhen = None @@ -304,7 +305,7 @@ class Lock(LockMixin): def _safe_pump(self): try: self._pump() - except StandardError: + except Exception: pass def _is_owned(self): @@ -385,7 +386,7 @@ class Condition(ContextMixin): def wait(self, timeout = None): if not self._is_owned(): - raise RuntimeError, 'must have lock when waiting' + raise RuntimeError('must have lock when waiting') saved = self._release_save() try: if timeout is None: @@ -397,13 +398,13 @@ class Condition(ContextMixin): def notify(self): if not self._is_owned(): - raise RuntimeError, 'must have lock when waiting' + raise RuntimeError('must have lock when waiting') if self.waiting.balance: self.waiting.send(None) def notify_all(self): if not self._is_owned(): - raise RuntimeError, 'must have lock when waiting' + raise RuntimeError('must have lock when waiting') for i in xrange(-self.waiting.balance): self.waiting.send(None) @@ -526,7 +527,7 @@ class RWLock(LockMixin): def _safe_pump(self): try: self._pump() - except StandardError: + except Exception: pass def release(self): @@ -845,26 +846,26 @@ def LockCycleReport(graph = None, out = None, timeLimit = None, pathLimit = 10): mapping[n] = 'N%d' % nc nc += 1 - print >> out, 'Found %s cycles' % len(cycles) + print('Found %s cycles' % len(cycles), file=out) for i, cycle in enumerate(cycles): - print >> out, '%2d: ' % i, + print('%2d: ' % i, end=' ', file=out) for e in cycle: - print >> out, '%s -> ' % mapping[e], + print('%s -> ' % mapping[e], end=' ', file=out) - print >> out + print(file=out) - print >> out, 'Found %s roots in %s paths (showing longest path for each root)' % (len(paths), npaths) + print('Found %s roots in %s paths (showing longest path for each root)' % (len(paths), npaths), file=out) for i, pathentry in enumerate(paths): path = pathentry[0] time = pathentry[1] if time is not None: - print >> out, '%2d, t=%4.0fs: ' % (i, time), + print('%2d, t=%4.0fs: ' % (i, time), end=' ', file=out) else: - print >> out, '%2d, : ' % (i,), + print('%2d, : ' % (i,), end=' ', file=out) for e in path[:-1]: - print >> out, '%s -> ' % mapping[e], + print('%s -> ' % mapping[e], end=' ', file=out) - print >> out, '%s' % mapping[path[-1]] + print('%s' % mapping[path[-1]], file=out) minimum = 0 if cycles: @@ -872,26 +873,26 @@ def LockCycleReport(graph = None, out = None, timeLimit = None, pathLimit = 10): if paths: minimum = max(minimum, len(paths[0][0])) maximum = max(minimum, 10) - print >> out, 'where:' + print('where:', file=out) for v in players[0:maximum]: k = mapping[v] - print >> out, ' %3s = %r' % (k, v), + print(' %3s = %r' % (k, v), end=' ', file=out) if stackless and isinstance(v, stackless.tasklet): - print >> out, ':' + print(':', file=out) try: if not v.alive: - print >> out, 'dead' + print('dead', file=out) elif v.frame: for s in traceback.format_list(traceback.extract_stack(v.frame, 40), format=FORMAT): - print >> out, ' ' + s, + print(' ' + s, end=' ', file=out) else: - print >> out, 'no frame' - except StandardError: + print('no frame', file=out) + except Exception: pass elif hasattr(v, 'WaitingTasklets') and hasattr(v, 'HoldingTasklets'): - print >> out, '( blocks tasklets', [ '0x%x' % id(t) for t in v.WaitingTasklets() ], 'and held by', [ '0x%x' % id(t) for t in v.HoldingTasklets() ], ')' + print('( blocks tasklets', [ '0x%x' % id(t) for t in v.WaitingTasklets() ], 'and held by', [ '0x%x' % id(t) for t in v.HoldingTasklets() ], ')', file=out) return True @@ -912,44 +913,44 @@ def OldLockReport(threshold = None, out = None): dt = (now - each.LockedAt()) * 1e-07 else: dt = -1 - print >> out, 'Semaphore %r has been held up for a long time (%ss).' % (each, dt) + print('Semaphore %r has been held up for a long time (%ss).' % (each, dt), file=out) for t in waiting: - print >> out, 'waiting thread: %r' % t + print('waiting thread: %r' % t, file=out) if False: try: for s in traceback.format_list(traceback.extract_stack(t.frame, 40)): - print >> out, s, + print(s, end=' ', file=out) - except StandardError: + except Exception: sys.exc_clear() for t in holding: - print >> out, 'holding thread: %r' % t + print('holding thread: %r' % t, file=out) try: for s in traceback.format_list(traceback.extract_stack(t.frame, 40)): - print >> out, s, + print(s, end=' ', file=out) - except StandardError: + except Exception: sys.exc_clear() if t.paused: - print >> out, "Holding thread is paused, let's restart it!!! Oh, and tell Kristjan" + print("Holding thread is paused, let's restart it!!! Oh, and tell Kristjan", file=out) try: t.insert() - print >> out, 'unpaused.' - except StandardError: + print('unpaused.', file=out) + except Exception: sys.exc_clear() elif not t.alive: - print >> out, 'Holding thread is dead. Just release the semaphore and tell Kristjan' + print('Holding thread is dead. Just release the semaphore and tell Kristjan', file=out) if hasattr(each, 'Unblock'): each.Unblock() - print >> out, 'semaphore released' + print('semaphore released', file=out) else: try: each.release(True) - print >> out, 'semaphore released' - except StandardError: + print('semaphore released', file=out) + except Exception: sys.exc_clear() return result diff --git a/logmodule/__init__.py b/logmodule/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/logmodule/__init__.py +from __future__ import print_function import sys import datetime import traceback2 @@ -49,7 +50,7 @@ def SetStackFileNameSubPaths(filePaths): def DefaultUIMessage(*args): - print args + print(args) def init(base_name = '', prefs = None): @@ -107,7 +108,7 @@ def LogException(extraText = '', channel = 'general', toConsole = 1, toLogServer try: traceback2.print_exception(exctype, exc, tb, file=sys.stdout, show_locals=show_locals) stream = LogChannelStream(GetChannel(channel), ERR) - print >> stream, 'retrying traceback log, got an error in _LogException' + print('retrying traceback log, got an error in _LogException', file=stream) traceback2.print_exception(exctype, exc, tb, file=stream, show_locals=show_locals) stream.close() except Exception: @@ -150,20 +151,20 @@ def _LogException(exc_info, extraText, channel, toConsole, toLogServer, toAlertS prefix = 'REMOTE ' if channel == 'remote.exc' else '' traceID = NextTraceID() - print >> out, '%sEXCEPTION #%d logged at %s : %s ' % (prefix, + print('%sEXCEPTION #%d logged at %s : %s ' % (prefix, traceID, datetime.datetime.utcnow().strftime(DATETIME_FORMAT_STR), - extraText) - print >> out, ' ' - print >> out, 'Formatted exception info:', + extraText), file=out) + print(' ', file=out) + print('Formatted exception info:', end=' ', file=out) for line in formatted_exception: - print >> out, line, + print(line, end=' ', file=out) - print >> out, ' ' + print(' ', file=out) for line in stack: - print >> out, line, + print(line, end=' ', file=out) - print >> out, ' ' + print(' ', file=out) if exctype is MemoryError: try: DumpMemoryStatus(out) @@ -188,23 +189,23 @@ def _LogException(exc_info, extraText, channel, toConsole, toLogServer, toAlertS txt += ' | Total CPU load: %s%%' % int(cpuLoad) txt += ' | Process memory in use: %s MB' % ram txt += ' | Physical memory left: %s MB' % memLeft - print >> out, txt + print(txt, file=out) except Exception as e: sys.exc_clear() try: - print >> out, 'Stackhash: %s' % stackID[0] + print('Stackhash: %s' % stackID[0], file=out) except Exception: pass - print >> out, 'Reported from: ', __name__ - print >> out, '%sEXCEPTION END' % (prefix,) + print('Reported from: ', __name__, file=out) + print('%sEXCEPTION END' % (prefix,), file=out) out.flush() if toConsole: if toLogServer: - print >> sys.stderr, '#nolog: An exception has occurred. It has been logged in the log server as exception #%d' % traceID + print('#nolog: An exception has occurred. It has been logged in the log server as exception #%d' % traceID, file=sys.stderr) else: - print >> sys.stderr, 'There is no useful information accompanying this exception in the log server' + print('There is no useful information accompanying this exception in the log server', file=sys.stderr) def DumpMemHistory(out): @@ -213,12 +214,12 @@ def DumpMemHistory(out): if boot.role != 'client': import blue, cPickle fname = blue.paths.ResolvePath(u'root:/') + 'logs/memhist.b%d.%s.pikl' % (boot.build, blue.os.pid) - print >> out, 'dumping cpu and memory history in ' + fname + print('dumping cpu and memory history in ' + fname, file=out) f = file(fname, 'w') cPickle.dump(blue.pyos.cpuUsage, f) f.close() - print >> out, 'dump done.' - except StandardError: + print('dump done.', file=out) + except Exception: pass @@ -247,23 +248,23 @@ def LogTraceback(extraText = '', channel = 'general', toConsole = 1, toAlertSvc logMessage.write('Stackhash: %s\n' % stackID[0]) logMessage.write('Reported from: ' + __name__ + '\n') logMessage.write('STACKTRACE END') - print >> out, logMessage.getvalue() + print(logMessage.getvalue(), file=out) out.flush() if toConsole: if toLogServer: if '/jessica' in blue.pyos.GetArg(): - print >> sys.stderr, '#nolog: ' + logMessage.getvalue() + print('#nolog: ' + logMessage.getvalue(), file=sys.stderr) else: - print >> sys.stderr, '#nolog: A traceback has been generated. It has been logged in the log server as stacktrace #%d' % traceID + print('#nolog: A traceback has been generated. It has been logged in the log server as stacktrace #%d' % traceID, file=sys.stderr) else: - print >> sys.stderr, 'There is no useful information accompanying this traceback in the log server' + print('There is no useful information accompanying this traceback in the log server', file=sys.stderr) finally: blue.pyos.taskletTimer.ReturnFromTasklet(_tmpctx) def LogMemoryStatus(extraText = '', channel = 'general'): out = GetMultiplex(channel, WARN, 0, 1, 0, 0, 0) - print >> out, 'Logging memory status : ', extraText + print('Logging memory status : ', extraText, file=out) DumpMemoryStatus(out) @@ -283,22 +284,22 @@ def WhoCalledMe(up = 3): def DumpMemoryStatus(out): if blue.sysinfo.os.platform == blue.OsPlatform.WINDOWS: m = blue.win32.GlobalMemoryStatus() - print >> out, 'GlobalMemoryStatus:' + print('GlobalMemoryStatus:', file=out) for k, v in m.items(): - print >> out, '%s : %r' % (k, v) + print('%s : %r' % (k, v), file=out) - print >> out, 'ProcessMemoryInfo:' + print('ProcessMemoryInfo:', file=out) m = blue.win32.GetProcessMemoryInfo() for k, v in m.items(): - print >> out, '%s : %r' % (k, v) + print('%s : %r' % (k, v), file=out) - print >> out, 'Python memory usage: %r' % sys.getpymalloced() + print('Python memory usage: %r' % sys.getpymalloced(), file=out) try: - print >> out, 'blue WriteStreams: %s, mem use: %s' % (blue.marshal.GetNWriteStreams(), blue.marshal.GetWriteStreamMem()) + print('blue WriteStreams: %s, mem use: %s' % (blue.marshal.GetNWriteStreams(), blue.marshal.GetWriteStreamMem()), file=out) except: pass - print >> out, 'end of memory status' + print('end of memory status', file=out) out.flush() @@ -366,7 +367,7 @@ class LogAlertServiceStream(object): WARN: 'Warning', INFO: 'Info'}.get(self.mode, 'Unknown')) except: - print 'Exception in LogAlertServiceStream' + print('Exception in LogAlertServiceStream') self.buff = StringIO() diff --git a/lpOffers/exceptions.py b/lpOffers/exceptions.py @@ -1,15 +1,15 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/lpOffers/exceptions.py from eveexceptions import UserError -class InsufficientBalanceError(StandardError): +class InsufficientBalanceError(Exception): pass -class MissingCorpRoleError(StandardError): +class MissingCorpRoleError(Exception): pass -class WrongCorporationMembershipError(StandardError): +class WrongCorporationMembershipError(Exception): pass diff --git a/machonet_tracing/__init__.py b/machonet_tracing/__init__.py @@ -55,7 +55,7 @@ def _is_macho_bind_method(rpc_method): def _get_bind_inner_payload(packet): try: return packet.payload[2][-1] - except StandardError: + except Exception: return None diff --git a/machonethelpers/argchecker.py b/machonethelpers/argchecker.py @@ -17,9 +17,9 @@ class ValidateArgTypes(object): newKwargs[argName] = self._Cast(typeCast, newKwargs[argName]) else: try: - idx = func.func_code.co_varnames.index(argName) + idx = func.__code__.co_varnames.index(argName) except ValueError: - raise ValidateArgTypeException('CheckArgs failed because "%s" is not one of the arguments of "%s"' % (argName, func.func_name)) + raise ValidateArgTypeException('CheckArgs failed because "%s" is not one of the arguments of "%s"' % (argName, func.__name__)) newArgs[idx] = self._Cast(typeCast, newArgs[idx]) diff --git a/marketutil/__init__.py b/marketutil/__init__.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/marketutil/__init__.py +from __future__ import absolute_import import collections -from skilllimits import GetSkillLimits +from .skilllimits import GetSkillLimits BestByOrder = collections.namedtuple('BestByOrder', ['price', 'volRemaining', 'typeID', diff --git a/menucheckers/celestialCheckers.py b/menucheckers/celestialCheckers.py @@ -64,14 +64,14 @@ class CelestialChecker(_BaseItemChecker): locItem = cfg.evelocations.Get(self.item.itemID) if locItem and locItem.solarSystemID: return locItem.solarSystemID - except StandardError: + except Exception: pass if self.getDistanceToActiveShip() is not None: return self.session.solarsystemid try: return self.sm.StartService('map').GetItem(self.item.itemID).locationID - except StandardError: + except Exception: self.item.locationID = None @needs_ballpark_item @@ -1879,7 +1879,7 @@ class CelestialChecker(_BaseItemChecker): return False try: return sm.GetService('space').warpDestinationCache[0] == self.item.itemID - except StandardError: + except Exception: return False @explain_failure_with('UI/Menusvc/MenuHints/BadGroupForAction', groupName=(GetGroupNameByGroup, 'groupID')) diff --git a/missions/client/missionObjectivesTracker.py b/missions/client/missionObjectivesTracker.py @@ -176,7 +176,7 @@ class MissionObjectivesTracker(Service): self.waitingForTypeIDs[typeID].append(agentID) def StopNotifyingTrackerForTypeID(self, agentID): - if not self.agentsWaitingForStuff.has_key(agentID): + if agentID not in self.agentsWaitingForStuff: return typeID = self.agentsWaitingForStuff[agentID] if agentID in self.waitingForTypeIDs[typeID]: @@ -184,7 +184,7 @@ class MissionObjectivesTracker(Service): del self.agentsWaitingForStuff[agentID] def UpdateMissionStatusForSessionChange(self, change): - if change.has_key('locationid'): + if 'locationid' in change: if change['locationid'][0] in self.destinationTriggers.keys(): self.UpdateMissionStatusData(self.destinationTriggers[change['locationid'][0]]) if change['locationid'][1] in self.destinationTriggers.keys(): diff --git a/monolithdisconnectlogger/__init__.py b/monolithdisconnectlogger/__init__.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/monolithdisconnectlogger/__init__.py -from logger import MonolithDisconnectLogger -import mdlconst +from __future__ import absolute_import +from .logger import MonolithDisconnectLogger +from . import mdlconst log_disconnect = MonolithDisconnectLogger.log_disconnect log_player_user_requested_disconnect = MonolithDisconnectLogger.log_player_user_requested_disconnect log_player_char_requested_disconnect = MonolithDisconnectLogger.log_player_char_requested_disconnect diff --git a/monolithdisconnectlogger/logger.py b/monolithdisconnectlogger/logger.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/monolithdisconnectlogger/logger.py +from __future__ import absolute_import import monolithmetrics -import mdlconst +from . import mdlconst class MonolithDisconnectLogger(object): diff --git a/monolithhoneycomb_events/__init__.py b/monolithhoneycomb_events/__init__.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/monolithhoneycomb_events/__init__.py -import reserved -import event_sample_rates as rates +from __future__ import absolute_import +from . import reserved +from . import event_sample_rates as rates import monolithconfig import monolithmetrics import logging diff --git a/monolithhoneycomb_events/event_sample_rates.py b/monolithhoneycomb_events/event_sample_rates.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/monolithhoneycomb_events/event_sample_rates.py +from __future__ import absolute_import from monolithhoneycomb import SAFE_SAMPLE_RATE -from events import * +from .events import * rates = {CHAT_CLIENT_CONNECTION_OBJECT_CREATED: 1000, CHAT_CLIENT_HANDLE_CONNECTION_LOST: 1000, CHAT_CLIENT_HANDLE_LOGGED_IN: 1000, diff --git a/monolithmetrics/_both.py b/monolithmetrics/_both.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/monolithmetrics/_both.py -import _statsd -import _prometheus +from __future__ import absolute_import +from . import _statsd +from . import _prometheus from monolithconfig import on_client def gauge(metric, value, tags = None, sample_rate = 1, prometheus_only = False): diff --git a/monolithmetrics/_prometheus.py b/monolithmetrics/_prometheus.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/monolithmetrics/_prometheus.py +from __future__ import print_function import re import sys import logging @@ -44,11 +45,11 @@ if not on_client(): if prometheus_port == 0: msg = 'Prometheus client failed to open a port' logger.error(msg) - print msg + print(msg) else: msg = 'Prometheus client available on port {}'.format(prometheus_port) logger.info(msg) - print msg + print(msg) def _format_metric_name(metric): if metric not in _metric_name_cache: diff --git a/monolithmetrics/_statsd.py b/monolithmetrics/_statsd.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/monolithmetrics/_statsd.py +from __future__ import absolute_import import logging import monolithconfig -import _datadog +from . import _datadog log = logging.getLogger('monolithmetrics._statsd') aggregation_key = monolithconfig.get_value('clusterName', 'prefs') or 'Unknown' running_client = monolithconfig.on_client() diff --git a/monolithmetrics/tags.py b/monolithmetrics/tags.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/monolithmetrics/tags.py +from __future__ import absolute_import import logging import monolithconfig -import _datadog +from . import _datadog import monolithgeoip2 log = logging.getLogger('monolithmetrics.tags') UNIVERSE_TAG = 'universe:' diff --git a/multiprocessing/pool.pyc b/multiprocessing/pool.pyc Binary files differ. diff --git a/nodegraph/client/actions/inventory.py b/nodegraph/client/actions/inventory.py @@ -98,7 +98,7 @@ class ItemMock(object): def __init__(self, character_id, location_id): from inventorycommon.const import flagHangar, typeVeldspar, groupVeldspar, categoryAsteroid - self.itemID = 1000000212149L + self.itemID = 1000000212149 self.typeID = typeVeldspar self.ownerID = character_id self.locationID = location_id diff --git a/nodegraph/client/custom_graph.py b/nodegraph/client/custom_graph.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/nodegraph/client/custom_graph.py +from __future__ import print_function import datetime import blue import logging @@ -80,7 +81,7 @@ def delete_custom_node_graph(node_graph_id, show_prompt = True): return custom_node_graphs = get_custom_node_graphs() if node_graph_id not in custom_node_graphs: - print "Custom node graph doesn't exists", node_graph_id + print("Custom node graph doesn't exists", node_graph_id) return custom_node_graphs.pop(node_graph_id, None) save_custom_node_graphs(custom_node_graphs) @@ -420,7 +421,7 @@ def fix_custom_graph(node_graph_id, nodes_data): update_parameter_connection(map_node, 'blackboard_value', new_node_id, connected_node['nodeParameters']['input_key']['value']) connected_node['nodeParameters'].pop('input_key', None) elif node['nodeType'] != 18: - print '*********** warning', node_graph_id, node_id, connected_node_id + print('*********** warning', node_graph_id, node_id, connected_node_id) if node['nodeType'] == 18: output_key = node['nodeParameters'].get('output_key', None) if not output_key: @@ -432,7 +433,7 @@ def fix_custom_graph(node_graph_id, nodes_data): map_node = fixed_graph_nodes[get_new_node_id(connected_node_id)] update_parameter_connection(map_node, output_key['value'], new_node_id, 'blackboard_value') except: - print 'NOT FIXED???', node_graph_id, node_id, connected_node_id + print('NOT FIXED???', node_graph_id, node_id, connected_node_id) if node['nodeType'] == 18: node['nodeParameters'].pop('output_key', None) @@ -615,7 +616,7 @@ def start_all_custom_graphs(): from utillib import KeyVal graphs = get_custom_node_graphs() for node_graph_id in graphs: - print 'Starting', node_graph_id + print('Starting', node_graph_id) node_graph = ClientNodeGraph(graph_id=node_graph_id, graph_data=KeyVal(name=node_graph_id, description='', nodes=get_custom_node_graph(node_graph_id, as_object=True))) sm.GetService('node_graph')._active_graphs[node_graph.instance_id] = node_graph node_graph.start_node_graph() @@ -626,10 +627,10 @@ def start_all_fsd_graphs(client_graphs = True, server_graphs = True): for node_graph_id, node_graph in get_node_graphs().iteritems(): if 'server' in node_graph.tags: if server_graphs: - print 'Starting server graph', node_graph_id, node_graph.name + print('Starting server graph', node_graph_id, node_graph.name) sm.GetService('node_graph').qa_start_node_graph(node_graph_id) elif client_graphs: - print 'Starting client graph', node_graph_id, node_graph.name + print('Starting client graph', node_graph_id, node_graph.name) sm.GetService('node_graph').start_node_graph(node_graph_id) @@ -637,7 +638,7 @@ def open_all_custom_graphs(wait_time = 0.5): from nodegraph.client.ui.window import NodeGraphEditorWindow import uthread2 for node_graph_id in get_custom_node_graphs(): - print 'Opening', node_graph_id + print('Opening', node_graph_id) NodeGraphEditorWindow.Open(node_graph_id=node_graph_id) uthread2.sleep(wait_time) @@ -647,6 +648,6 @@ def open_all_fsd_graphs(wait_time = 0.5): from nodegraph.common.nodedata import get_node_graphs import uthread2 for node_graph_id in get_node_graphs(): - print 'Opening', node_graph_id + print('Opening', node_graph_id) NodeGraphEditorWindow.Open(node_graph_id=node_graph_id) uthread2.sleep(wait_time) diff --git a/nodegraph/client/ui/controller.py b/nodegraph/client/ui/controller.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/nodegraph/client/ui/controller.py +from __future__ import print_function from copy import deepcopy import blue import signals @@ -391,11 +392,11 @@ class CustomNodeGraphController(NodeGraphController): else: output_point = self.selected_connection_point if not input_point or not output_point: - print 'cannot connect of same group - input->input or output->output' + print('cannot connect of same group - input->input or output->output') self.clear_selected_connection_point() return if output_point.node_id == input_point.node_id: - print 'cannot connect the same node - input->output or output->input' + print('cannot connect the same node - input->output or output->input') self.clear_selected_connection_point() return if 'variable' in output_point.connection_type and 'variable' in input_point.connection_type: @@ -403,7 +404,7 @@ class CustomNodeGraphController(NodeGraphController): elif 'variable' not in output_point.connection_type and 'variable' not in input_point.connection_type: self.add_node_connection(output_point.node_id, input_point.node_id, output_point.connection_id) else: - print 'cannot connect variable to non-variable port' + print('cannot connect variable to non-variable port') self.clear_selected_connection_point() def get_node_context_menu(self, node_id): diff --git a/nodegraph/client/ui/controllers/graph_controller.py b/nodegraph/client/ui/controllers/graph_controller.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/nodegraph/client/ui/controllers/graph_controller.py +from __future__ import print_function import signals from nodegraph.common.nodedata import get_node_graph_data, get_node_type, reload_node_graph_data from nodegraph.client.custom_graph import get_yaml_nodes_as_dict, get_built_nodes_as_dict @@ -194,16 +195,16 @@ class AuthoredNodeGraphViewController(NodeGraphViewController): open_node_graph(custom_node_graph_id) def add_node(self, node_type_id, position, atom_type_id): - print 'add_node', node_type_id, position, atom_type_id + print('add_node', node_type_id, position, atom_type_id) def duplicate_node(self, node_id): - print 'duplicate_node', node_id + print('duplicate_node', node_id) def paste_from_clipboard(self, position, clipboard_data): - print 'paste_from_clipboard', position + print('paste_from_clipboard', position) def remove_nodes(self, node_ids): - print 'remove_node', node_ids + print('remove_node', node_ids) def add_node_connection(self, from_node_id, to_node_id, connection_id): if 'input' not in get_node_type(self.nodes_data[to_node_id].nodeType).ports.inPorts: @@ -216,13 +217,13 @@ class AuthoredNodeGraphViewController(NodeGraphViewController): self.save() def node_connection_clicked(self, connection_point): - print 'node_connection_clicked', connection_point + print('node_connection_clicked', connection_point) def clear_selected_connection_point(self): pass def save(self, *args, **kwargs): - print 'save' + print('save') def reload_from_fsd(self, *args, **kwargs): self._nodes_object = None @@ -230,7 +231,7 @@ class AuthoredNodeGraphViewController(NodeGraphViewController): self.on_update() def build(self, *args, **kwargs): - print 'build' + print('build') def _get_nodes_as_object(nodes_data): diff --git a/nodegraph/common/shell_tools.py b/nodegraph/common/shell_tools.py @@ -1,11 +1,12 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/nodegraph/common/shell_tools.py +from __future__ import print_function import os ng = sm.GetService('node_graph') def print_graphs(): info_lines = _get_active_graphs_info_lines() for line in info_lines: - print line + print(line) def get_active_graphs_info(): @@ -34,11 +35,11 @@ def _get_active_graphs_info_lines(): def print_bb(g): - print '***** Blackboard (', g.instance_id, ') *****' + print('***** Blackboard (', g.instance_id, ') *****') for k, v in g.context.values.items(): - print k, ':', v + print(k, ':', v) - print '***** end ******' + print('***** end ******') def get_graph(instance_id = None): @@ -65,4 +66,4 @@ def reload_graphs(): def node_info(): machoNet = sm.GetService('machoNet') - print 'Pid:', os.getpid(), 'Node Index:', machoNet.nodeIndex, 'Node ID:', machoNet.GetNodeID() + print('Pid:', os.getpid(), 'Node Index:', machoNet.nodeIndex, 'Node ID:', machoNet.GetNodeID()) diff --git a/notifications/client/controls/treeViewSettingsItem.py b/notifications/client/controls/treeViewSettingsItem.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/notifications/client/controls/treeViewSettingsItem.py +from __future__ import print_function from carbon.common.script.sys.serviceConst import ROLE_PROGRAMMER from carbonui.primitives.container import Container from eve.client.script.ui.control.treeViewEntry import TreeViewEntry @@ -44,7 +45,7 @@ class TreeViewSettingsItem(TreeViewEntry): self.visibilityCallBack(self.isGroup, self.id, checkbox._checked) def OnOneClick(self, *args): - print 'click' + print('click') def GetMenu(self): m = self.GetMenuCallback(self.isGroup, self.id) diff --git a/notifications/client/development/notificationDevUI.py b/notifications/client/development/notificationDevUI.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/notifications/client/development/notificationDevUI.py +from __future__ import print_function from notifications.common.notification import SimpleNotification from carbonui.control.window import Window from carbonui.control.button import Button @@ -216,8 +217,8 @@ class FakeNotificationMaker: newNotification = SimpleNotification(subject=fsubject, created=blue.os.GetWallclockTime() - counter * 10000, notificationID=counter + 1000000, notificationTypeID=notificationId, senderID=senderID, body=fbody) sm.ScatterEvent('OnNewNotificationReceived', newNotification) except: - print 'exception' - print sys.exc_info()[0] + print('exception') + print(sys.exc_info()[0]) def MakeAndScatterAllClassicNotifications(self): counter = 0 diff --git a/notifications/client/generator/notificationGenerator.py b/notifications/client/generator/notificationGenerator.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/notifications/client/generator/notificationGenerator.py +from __future__ import print_function from notifications.common.notification import Notification from notifications.client.generator.simpleRandomDistributor import SimpleRandomDistributer import blue @@ -31,12 +32,12 @@ class NotificationGenerator: self.isGenerating = True def Stop(self): - print 'Aborting Generator' + print('Aborting Generator') self.distributer.Abort() self.isGenerating = False def OnDistributerFinished(self): - print 'Generator finished' + print('Generator finished') self.isGenerating = False def MakeFakeNotification(self, sequence): diff --git a/notifications/client/notificationUI.py b/notifications/client/notificationUI.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/notifications/client/notificationUI.py +from __future__ import print_function import itertoolsext from carbon.common.script.sys.service import CoreService from notifications.client.bountyNotificationAdapter import BountyNotificationAdapter @@ -79,9 +80,9 @@ class NotificationUIService(CoreService): sm.GetService('audio').SendUIEvent(eventName) def ToggleDeveloperMode(self): - print 'TogglingDeveloperMode' + print('TogglingDeveloperMode') self.__developerMode = not self.__developerMode - print 'DeveloperMode is ' + str(self.__developerMode) + print('DeveloperMode is ' + str(self.__developerMode)) def IsDeveloperMode(self): return self.__developerMode diff --git a/notifications/common/formatters/ccpDevNews.py b/notifications/common/formatters/ccpDevNews.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/notifications/common/formatters/ccpDevNews.py -from baseFormatter import BaseNotificationFormatter +from __future__ import absolute_import +from .baseFormatter import BaseNotificationFormatter class CCPDevNewsFormatter(BaseNotificationFormatter): diff --git a/notifications/common/formatters/ccpGameNews.py b/notifications/common/formatters/ccpGameNews.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/notifications/common/formatters/ccpGameNews.py -from baseFormatter import BaseNotificationFormatter +from __future__ import absolute_import +from .baseFormatter import BaseNotificationFormatter class CCPGameNewsFormatter(BaseNotificationFormatter): diff --git a/notifications/common/formatters/ccpOutOfGameNews.py b/notifications/common/formatters/ccpOutOfGameNews.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/notifications/common/formatters/ccpOutOfGameNews.py -from baseFormatter import BaseNotificationFormatter +from __future__ import absolute_import +from .baseFormatter import BaseNotificationFormatter class CCPOutOfGameNewsFormatter(BaseNotificationFormatter): diff --git a/notifications/common/formatters/ccpServerNews.py b/notifications/common/formatters/ccpServerNews.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/notifications/common/formatters/ccpServerNews.py -from baseFormatter import BaseNotificationFormatter +from __future__ import absolute_import +from .baseFormatter import BaseNotificationFormatter class CCPServerNewsFormatter(BaseNotificationFormatter): diff --git a/notifications/common/formatters/contextualOffers.py b/notifications/common/formatters/contextualOffers.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/notifications/common/formatters/contextualOffers.py +from __future__ import print_function from notifications.common.formatters.baseFormatter import BaseNotificationFormatter def OnNotificationClick(offerID): @@ -26,7 +27,7 @@ class ContextualOfferNotification(BaseNotificationFormatter): @staticmethod def MakeSampleData(variant = 0): - print 'SampleData' + print('SampleData') return ContextualOfferNotification.MakeData(subject='SpecialOffer For you', body='Like right now dude', url='http://google.com', offerID=2) @staticmethod diff --git a/notifications/common/formatters/sovIHubBillAboutToExpire.py b/notifications/common/formatters/sovIHubBillAboutToExpire.py @@ -25,4 +25,4 @@ class IHubBillAboutToExpire(BaseNotificationFormatter): @staticmethod def MakeSampleData(variant = 0): - return IHubBillAboutToExpire.MakeData(0, 99000001, 30004797, 135808394095944399L) + return IHubBillAboutToExpire.MakeData(0, 99000001, 30004797, 135808394095944399) diff --git a/notifications/common/formatters/sovStationEnteredFreeport.py b/notifications/common/formatters/sovStationEnteredFreeport.py @@ -14,7 +14,7 @@ class SovStationEnteredFreeport(SovCaptureBaseNotification): @staticmethod def MakeSampleData(variant = 0): - return SovStationEnteredFreeport.MakeData(1926, 30004797, 130801371921935747L) + return SovStationEnteredFreeport.MakeData(1926, 30004797, 130801371921935747) def _FormatBody(self, data, notification): notification.body = self.localization.GetByLabel(self.bodyLabel, freeportexittime=data['freeportexittime']) diff --git a/notifications/common/formatters/sovStructureReinforced.py b/notifications/common/formatters/sovStructureReinforced.py @@ -31,7 +31,7 @@ class SovStructureReinforced(BaseNotificationFormatter): @staticmethod def MakeSampleData(variant = 0): - return SovStructureReinforced.MakeData(entosisconst.EVENT_TYPE_TCU_DEFENSE, 30004797, 130801371921935747L) + return SovStructureReinforced.MakeData(entosisconst.EVENT_TYPE_TCU_DEFENSE, 30004797, 130801371921935747) def _GetSubjectLabelByType(self, campaignType): if campaignType == entosisconst.EVENT_TYPE_IHUB_DEFENSE: diff --git a/notifications/common/formatters/ticketReply.py b/notifications/common/formatters/ticketReply.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/notifications/common/formatters/ticketReply.py -from baseFormatter import BaseNotificationFormatter +from __future__ import absolute_import +from .baseFormatter import BaseNotificationFormatter class TicketReplyFormatter(BaseNotificationFormatter): diff --git a/notifications/common/formatters/war.py b/notifications/common/formatters/war.py @@ -47,7 +47,7 @@ class WarHQRemovedFromSpace(BaseNotificationFormatter): def MakeSampleData(variant = 0): return {'againstID': 98000001, 'declaredByID': 99000001, - 'timeDeclared': 132023206828876106L, + 'timeDeclared': 132023206828876106, 'warHQ': 'A War HQ'} @@ -69,7 +69,7 @@ class WarMutualWarInviteSent(BaseNotificationFormatter): def MakeSampleData(variant = 0): return {'againstID': 98000001, 'declaredByID': 99000001, - 'expireTimeStamp': 132023206828876106L} + 'expireTimeStamp': 132023206828876106} class WarMutualWarInviteRejected(BaseNotificationFormatter): @@ -107,7 +107,7 @@ class WarMutualWarInviteAccepted(BaseNotificationFormatter): def MakeSampleData(variant = 0): return {'againstID': 98000001, 'declaredByID': 99000001, - 'time': 132023206828876106L} + 'time': 132023206828876106} class WarAdopted(BaseNotificationFormatter): diff --git a/objectives/client/objective_task/destroy_counter.py b/objectives/client/objective_task/destroy_counter.py @@ -197,7 +197,7 @@ class DestroyTargetsCounterTask(_DestroyTargetsCounterTask): else: try: type_ids = evetypes.GetTypeIDsByListID(self._type_list_id) - except StandardError as e: + except Exception as e: logger.exception('%s: Failed to get type list', self.__class__.__name__) return diff --git a/objectives/client/objective_task/inventory.py b/objectives/client/objective_task/inventory.py @@ -53,7 +53,11 @@ class ItemInInventoryTask(ObjectiveTask): def OnMultipleItemChange(self, items, change): for item in items: - if item.typeID == self.type_id: + if self.group_id: + if evetypes.GetGroupID(item.typeID) == self.group_id: + self._check_inventory() + return + elif item.typeID == self.type_id: self._check_inventory() return @@ -70,12 +74,20 @@ class ItemInInventoryTask(ObjectiveTask): return self.item.get('type_id', None) @property + def group_id(self): + return self.item.get('group_id', None) + + @property def quantity(self): return self.item.get('quantity', 1) @threadutils.threaded def _check_inventory(self): - result = self._quantity_function(type_id=self.type_id, location_id=self.location_id).get_values() + if self.group_id: + kwargs = {'group_id': self.group_id} + else: + kwargs = {'type_id': self.type_id} + result = self._quantity_function(location_id=self.location_id, **kwargs).get_values() if result: value = max(min(result['quantity'], self.quantity), 0) else: diff --git a/objectives/client/objective_task/target.py b/objectives/client/objective_task/target.py @@ -340,7 +340,7 @@ class TargetsTask(BaseTargetsTask): else: try: type_ids = evetypes.GetTypeIDsByListID(self._type_list_id) - except StandardError as e: + except Exception as e: logger.exception('%s: Failed to get type list', self.__class__.__name__) return diff --git a/operations/common/warpSites.py b/operations/common/warpSites.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/operations/common/warpSites.py -import operationsSiteCache +from __future__ import absolute_import +from . import operationsSiteCache from operations.common.const import SiteSpawningType _operationSites = None diff --git a/osutils/outofprockiller.py b/osutils/outofprockiller.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/osutils/outofprockiller.py +from __future__ import print_function import os import subprocess import sys @@ -31,7 +32,7 @@ def Main(): else: poll = DEFAULT_SEC except Exception: - print 'Usage: watchpid killpid <poll interval: %s sec>' % DEFAULT_SEC + print('Usage: watchpid killpid <poll interval: %s sec>' % DEFAULT_SEC) traceback.print_exc() sys.exit(1) diff --git a/osutils/subst.py b/osutils/subst.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/osutils/subst.py +from future.utils import raise_ import os from . import win32api from osutils import systemcall @@ -36,13 +37,13 @@ def _parse_result_for_err(out = '', err = ''): lines = (out or '').splitlines() + (err or '').splitlines() for li in lines: if li.startswith('Invalid parameter - '): - raise SubstInvalidParameterError, li + raise_(SubstInvalidParameterError, li) if li.startswith('Path not found - '): - raise SubstPathNotFoundError, li + raise_(SubstPathNotFoundError, li) if li.startswith('Incorrect number of parameters - '): - raise SubstIncorrectNumberOfParamsError, li + raise_(SubstIncorrectNumberOfParamsError, li) if li == 'Drive already SUBSTed': - raise SubstDriveAlreadySubstedError, li + raise_(SubstDriveAlreadySubstedError, li) def _get_mapped_drives_using_systemcall(): diff --git a/osutils/win32api/waitables.py b/osutils/win32api/waitables.py @@ -6,14 +6,14 @@ QS_ALLEVENTS = 1215 QS_ALLINPUT = 1279 QS_RAWINPUT = 1024 MWMO_ALERTABLE = 2 -STATUS_WAIT_0 = 0L -STATUS_ABANDONED_WAIT_0 = 128L +STATUS_WAIT_0 = 0 +STATUS_ABANDONED_WAIT_0 = 128 WAIT_OBJECT_0 = STATUS_WAIT_0 + 0 -WAIT_IO_COMPLETION = 192L +WAIT_IO_COMPLETION = 192 WAIT_ABANDONED_0 = STATUS_ABANDONED_WAIT_0 + 0 WAIT_FAILED = 4294967295 INFINITE = 4294967295 -WAIT_TIMEOUT = 258L +WAIT_TIMEOUT = 258 class Waitables(object): diff --git a/paints/data/dataLoader.py b/paints/data/dataLoader.py @@ -104,7 +104,7 @@ def get_hue_category_hue(hue_category_id): return _get_hue_category(hue_category_id).hue -class PaintDataError(StandardError): +class PaintDataError(Exception): pass diff --git a/pirateinsurgency/client/dashboard/map.py b/pirateinsurgency/client/dashboard/map.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/pirateinsurgency/client/dashboard/map.py +from __future__ import print_function from eve.client.script.ui.services.insurgenceDashboardSvc import WrapCallbackWithErrorHandling from functools import partial import evecamera @@ -80,7 +81,7 @@ class MapPanel(MapView): return STAR_SIZE_STANDARD def PrintResult(self, data): - print data + print(data) def ShowBlobs(self, data, snapshot = None): if self.destroyed: diff --git a/platformtools/__init__.py b/platformtools/__init__.py @@ -1,8 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/platformtools/__init__.py VERSION_YEAR = 2026 -VERSION_MONTH = 6 +VERSION_MONTH = 7 VERSION_MINOR = 1 -VERSION_PATCH = 22 +VERSION_PATCH = 5 VERSION_MAJOR = '{}.{:0>2}'.format(VERSION_YEAR, VERSION_MONTH) __version_info__ = (VERSION_YEAR, VERSION_MONTH, diff --git a/probescanning/const.py b/probescanning/const.py @@ -121,7 +121,12 @@ probeScanGroups[probeScanGroupNPCs] = [inventorycommon.const.groupNpcBattleship, inventorycommon.const.groupInsurgencyRoamingEnforcerNPCs, inventorycommon.const.groupVanguardNPCs, inventorycommon.const.groupRoamingYuleLads, - inventorycommon.const.groupHordeModeEntities] + inventorycommon.const.groupFabricatorRogueDroneFrigate, + inventorycommon.const.groupFabricatorRogueDroneDestroyer, + inventorycommon.const.groupFabricatorRogueDroneCruiser, + inventorycommon.const.groupFabricatorRogueDroneBattlecruiser, + inventorycommon.const.groupFabricatorRogueDroneBattleship, + inventorycommon.const.groupFabricatorRogueDroneDreadnought] probeScanGroups[probeScanGroupStarBase] = {inventorycommon.const.groupAssemblyArray, inventorycommon.const.groupControlTower, inventorycommon.const.groupCorporateHangarArray, diff --git a/probescanning/scanBonusController.py b/probescanning/scanBonusController.py @@ -6,6 +6,7 @@ from dogma.items.moduleDogmaItem import ModuleDogmaItem from dogma.items.shipDogmaItem import ShipDogmaItem from logmodule import LogException from probescanning.const import SCAN_STRENGTH_ATTRIBUTE_ID, SCAN_DEVIATION_ATTRIBUTE_ID, SCAN_DURATION_ATTRIBUTE_ID, SCAN_STRENGTH_BONUS_ATTRIBUTE_IDS, SCAN_DEVIATION_BONUS_ATTRIBUTE_IDS, SCAN_DURATION_ALTERNATE_ATTRIBUTE_IDS, SCANNING_IMPLANTS_TYPE_IDS, attributeImplantSetSister, SCANNING_SUBSYSTEM_TYPE_IDS, SCANNING_SKILLS_TYPE_IDS +from functools import reduce class ScanBonusController: diff --git a/probescanning/scanHandler.py b/probescanning/scanHandler.py @@ -1,9 +1,10 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/probescanning/scanHandler.py +from __future__ import absolute_import import logging from collections import namedtuple from carbon.client.script.environment.AudioUtil import PlaySound, SetSoundParameter from probescanning.const import probeResultPerfect, probeStateIdle, probeScanGroupAnomalies, COMBAT_TARGETS -from results import ResultsHistory +from .results import ResultsHistory CurrentScan = namedtuple('CurrentScan', ['startTime', 'duration', 'probeIDs']) class ScanHandler(object): diff --git a/projectdiscovery/client/projects/exoplanets/graphs/exoplanetsgraph.py b/projectdiscovery/client/projects/exoplanets/graphs/exoplanetsgraph.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/projectdiscovery/client/projects/exoplanets/graphs/exoplanetsgraph.py +from __future__ import absolute_import from carbonui.graphs.axis import AutoTicksAxis from carbonui.graphs.graph import GraphArea from carbonui.graphs.grid import Grid @@ -21,7 +22,7 @@ from projectdiscovery.client.projects.exoplanets.transitinformationcontainer imp import carbonui.const as uiconst import carbonui.graphs.axis as axis import carbonui.graphs.axislabels as axislabels -import animations +from . import animations import trinity import geo2 import blue diff --git a/projectdiscovery/client/projects/subcellular/resultwindow.py b/projectdiscovery/client/projects/subcellular/resultwindow.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/projectdiscovery/client/projects/subcellular/resultwindow.py +from __future__ import absolute_import import math import localization from carbon.common.script.util.format import FmtAmt @@ -6,13 +7,13 @@ from carbonui.primitives.container import Container from carbonui.primitives.sprite import Sprite from carbonui.primitives.transform import Transform from carbonui.uianimations import animations -from categoryselector import CategorySelector +from .categoryselector import CategorySelector from eve.client.script.ui.control import eveLabel, themeColored from carbonui.control.button import Button from eve.client.script.ui.control.eveLabel import * from eve.client.script.ui.control.tooltips import TooltipPanel from eve.client.script.ui.tooltips.tooltipsWrappers import TooltipBaseWrapper -from info import INFO as PROJECT_INFO +from .info import INFO as PROJECT_INFO from projectdiscovery.client import const from projectdiscovery.client.projects.subcellular import nested_categories_from_json diff --git a/projectdiscovery/client/projects/subcellular/subcellularatlas.py b/projectdiscovery/client/projects/subcellular/subcellularatlas.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/projectdiscovery/client/projects/subcellular/subcellularatlas.py +from __future__ import absolute_import import logging import math import blue @@ -9,7 +10,7 @@ from carbonui.primitives.container import Container from carbonui.primitives.sprite import Sprite from carbonui.primitives.transform import Transform from carbonui.uianimations import animations -from categoryselector import CategorySelector +from .categoryselector import CategorySelector from eve.common.lib.appConst import MSEC from eve.client.script.ui.control import eveLabel, themeColored from carbonui.control.buttonIcon import ButtonIcon @@ -18,7 +19,7 @@ from carbonui.control.checkbox import Checkbox from eve.client.script.ui.control.eveLoadingWheel import LoadingWheel from eve.client.script.ui.tooltips.tooltipUtil import SetTooltipHeaderAndDescription from gametime import GetWallclockTime, GetTimeDiff -from info import INFO as PROJECT_INFO +from .info import INFO as PROJECT_INFO from projectdiscovery.client import const from projectdiscovery.client.projects.subcellular import nested_categories_from_json from projectdiscovery.client.projects.subcellular.processingview import ProcessingView diff --git a/projectdiscovery/client/projects/subcellular/tutorial.py b/projectdiscovery/client/projects/subcellular/tutorial.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/projectdiscovery/client/projects/subcellular/tutorial.py +from __future__ import absolute_import import copy import logging import math @@ -10,21 +11,21 @@ from carbonui.primitives.container import Container from carbonui.primitives.sprite import Sprite from carbonui.primitives.transform import Transform from carbonui.uianimations import animations -from categoryselector import CategorySelector +from .categoryselector import CategorySelector from eve.client.script.ui.control import eveLabel from carbonui.control.button import Button from eve.client.script.ui.control.eveLabel import EveCaptionLarge from eve.client.script.ui.tooltips.tooltipUtil import SetTooltipHeaderAndDescription -from info import INFO as PROJECT_INFO -from processingview import ProcessingView +from .info import INFO as PROJECT_INFO +from .processingview import ProcessingView from projectdiscovery.client import const from projectdiscovery.client.projects.subcellular import nested_categories_from_json from projectdiscovery.client.util.dialogue import Dialogue from projectdiscovery.client.util.eventlistener import eventlistener, on_event from projectdiscovery.common.exceptions import MissingKeyError, NoConnectionToAPIError -from resultwindow import ResultWindow -from rewardsview import RewardsView -from taskimages import TaskImage +from .resultwindow import ResultWindow +from .rewardsview import RewardsView +from .taskimages import TaskImage logger = logging.getLogger(__name__) @eventlistener() diff --git a/publicGateway/grpc/spanManager.py b/publicGateway/grpc/spanManager.py @@ -1,9 +1,10 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/publicGateway/grpc/spanManager.py +from __future__ import absolute_import import logging import uuid from featuremanagement.client.flag import flag_int import stackless_tracing -from tracing import propagate_trace +from .tracing import propagate_trace from eveProto import get_message_type_url from stackless_tracing.attributes import SPAN_KIND, MESSAGE_ARRIVAL_TIME from stackless_tracing.attributes import PAYLOAD_TYPE, PAYLOAD_BYTES, PRIMITIVE, DOMAIN diff --git a/pympler/asizeof.py b/pympler/asizeof.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/pympler/asizeof.py +from __future__ import print_function from inspect import isbuiltin, isclass, iscode, isframe, isfunction, ismethod, ismodule, stack from math import log from os import curdir, linesep @@ -203,7 +204,7 @@ closure = (lambda x: lambda : x)(None) try: cell_type = type(closure.__closure__[0]) except AttributeError: - cell_type = type(closure.func_closure[0]) + cell_type = type(closure.__closure__[0]) def _iscell(obj): return isinstance(obj, cell_type) @@ -285,9 +286,9 @@ def _printf(fmt, *args, **print3opts): f.write(fmt) f.write(print3opts.get('end', linesep)) elif args: - print fmt % args + print(fmt % args) else: - print fmt + print(fmt) def _refs(obj, named, *ats, **kwds): diff --git a/pympler/mprofile.py b/pympler/mprofile.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/pympler/mprofile.py +from __future__ import print_function import inspect import sys from pympler import muppy @@ -60,4 +61,4 @@ class MProfiler(object): if __name__ == '__main__': p = MProfiler() p.run("print 'hello'") - print p.memories + print(p.memories) diff --git a/pympler/muppy.py b/pympler/muppy.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/pympler/muppy.py +from __future__ import print_function import gc from pympler import summary from pympler.util import compat @@ -38,7 +39,7 @@ def get_size(objects): try: res += _getsizeof(o) except AttributeError: - print 'IGNORING: type=%s; o=%s' % (str(type(o)), str(o)) + print('IGNORING: type=%s; o=%s' % (str(type(o)), str(o))) return res diff --git a/pympler/refbrowser.py b/pympler/refbrowser.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/pympler/refbrowser.py +from __future__ import print_function import gc import inspect import sys @@ -132,7 +133,7 @@ try: self.update() def print_object(self): - print self.item.node.o + print(self.item.node.o) def drawtext(self): _TreeWidget.TreeNode.drawtext(self) diff --git a/pympler/summary.py b/pympler/summary.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/pympler/summary.py +from __future__ import print_function import re import sys import types @@ -127,7 +128,7 @@ def _format_table(rows, header = True): def print_(rows, limit = 15, sort = 'size', order = 'descending'): for line in format_(rows, limit=limit, sort=sort, order=order): - print line + print(line) type_prefix = re.compile("^<type '") diff --git a/pympler/tracker.py b/pympler/tracker.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/pympler/tracker.py +from __future__ import print_function import gc import inspect from pympler import muppy, summary @@ -113,7 +114,7 @@ class ObjectTracker(object): def print_diff(self, ignore = ()): for line in self.format_diff(ignore + (inspect.currentframe(),)): - print line + print(line) def format_diff(self, ignore = ()): lines = [] diff --git a/pytelemetry/dumpmanager.py b/pytelemetry/dumpmanager.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/pytelemetry/dumpmanager.py +from __future__ import print_function import os import platform import shutil @@ -73,10 +74,10 @@ def get_existing_files(dump_folder): def capture_tracy(sample_period = 5, dump_path = TELEMETRY_DUMP_PATH, file_name = TRACY_DUMP_FILENAME): if platform.system() != 'Windows': - print 'Capturing Tracy data currently only supported on Windows' + print('Capturing Tracy data currently only supported on Windows') return path = os.path.normpath(os.path.join(blue.paths.ResolvePath(u'bin:/'), 'tracy-capture.exe')) args = [path, '-o%s' % file_name, '-s %s' % sample_period] - print ('Starting tracy capture tool with arguments', args) + print(('Starting tracy capture tool with arguments', args)) process = subprocess.Popen(args, cwd=dump_path, shell=True) - print process.poll() + print(process.poll()) diff --git a/remotefilecache/__init__.py b/remotefilecache/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/remotefilecache/__init__.py +from __future__ import absolute_import import sys __author__ = 'snorri.sturluson' import platform @@ -7,7 +8,7 @@ import os import blue import uthread2 import walk -from backgrounddownloadmanager import BackgroundDownloadManager +from .backgrounddownloadmanager import BackgroundDownloadManager log = logging.getLogger('remotefilecache') def ccp_platform_id(): diff --git a/reprocessing/ui/reprocessingWnd.py b/reprocessing/ui/reprocessingWnd.py @@ -202,7 +202,8 @@ class ReprocessingContainer(Container): group = self.groupContainers.pop(groupID) group.Close() - def AddItem(self, groupID, (ctrlID, item)): + def AddItem(self, groupID, ctrlID_item): + ctrlID, item = ctrlID_item self.groupContainers[groupID].tilePlacer.AddItem(ctrlID, item) self.overlayCont.display = False @@ -224,7 +225,8 @@ class ReprocessInputContainer(ReprocessingContainer): def AddGroup(self, groupID, groupName): self.groupContainers[groupID] = ReprocessingInputGroupContainer(parent=self.scrollCont, align=uiconst.TOTOP, percentage=0.5, groupID=groupID, groupName=groupName) - def AddItem(self, groupID, (ctrlID, item)): + def AddItem(self, groupID, ctrlID_item): + ctrlID, item = ctrlID_item self.scrollCont.HideNoContentHint() ReprocessingContainer.AddItem(self, groupID, (ctrlID, item)) item.OnDropData = self.OnDroppingItems @@ -366,7 +368,8 @@ class ReprocessOutputContainer(ReprocessingContainer): self.randomizedOutputContainers.clear() - def AddItem(self, groupID, (ctrlID, item)): + def AddItem(self, groupID, ctrlID_item): + ctrlID, item = ctrlID_item ReprocessingContainer.AddItem(self, groupID, (ctrlID, item)) item.GetMenu = (self.GetItemMenu, ctrlID) diff --git a/requests/certs.py b/requests/certs.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/requests/certs.py +from __future__ import print_function import os.path try: from certifi import where @@ -9,4 +10,4 @@ except ImportError: if __name__ == '__main__': - print where() + print(where()) diff --git a/rsa/key.py b/rsa/key.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/rsa/key.py +from __future__ import print_function import logging from rsa._compat import b, bytes_type import rsa.prime @@ -243,9 +244,9 @@ if __name__ == '__main__': if failures: break if count and count % 10 == 0 or count == 1: - print '%i times' % count + print('%i times' % count) except KeyboardInterrupt: - print 'Aborted' + print('Aborted') else: - print 'Doctests done' + print('Doctests done') diff --git a/rsa/pkcs1.py b/rsa/pkcs1.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/rsa/pkcs1.py +from __future__ import print_function import hashlib import os from rsa._compat import b @@ -145,13 +146,13 @@ __all__ = ['encrypt', 'VerificationError', 'CryptoError'] if __name__ == '__main__': - print 'Running doctests 1000x or until failure' + print('Running doctests 1000x or until failure') import doctest for count in range(1000): failures, tests = doctest.testmod() if failures: break if count and count % 100 == 0: - print '%i times' % count + print('%i times' % count) - print 'Doctests done' + print('Doctests done') diff --git a/rsa/prime.py b/rsa/prime.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/rsa/prime.py +from __future__ import print_function __all__ = ['getprime', 'are_relatively_prime'] import rsa.randnum @@ -65,13 +66,13 @@ def are_relatively_prime(a, b): if __name__ == '__main__': - print 'Running doctests 1000x or until failure' + print('Running doctests 1000x or until failure') import doctest for count in range(1000): failures, tests = doctest.testmod() if failures: break if count and count % 100 == 0: - print '%i times' % count + print('%i times' % count) - print 'Doctests done' + print('Doctests done') diff --git a/scriber/filters.py b/scriber/filters.py @@ -9,6 +9,7 @@ from scriber import widgets from scriber import ff from scriber.widgets import inputfields from scriber.esp_filters import * +from functools import reduce def date(date_obj, str_format = '%Y-%m-%d'): return datetime_filter(date_obj, str_format) diff --git a/scriber/htmlutils.py b/scriber/htmlutils.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/scriber/htmlutils.py +from __future__ import print_function import re import HTMLParser import datetime @@ -6,6 +7,7 @@ import datetimeutils import typeutils from scriber import const from inventorycommon import const as iconst +from functools import reduce class TolerantParser(HTMLParser.HTMLParser): ON_ERROR_THROW = 0 @@ -541,41 +543,41 @@ if __name__ == '__main__': nl2 = remove_loc_tags(s2) nl3 = remove_loc_tags(s3) nl4 = remove_loc_tags(s4) - print 'validate_evemarkup' + print('validate_evemarkup') ok1, tl1, ix1 = validate_evemarkup(nl1) - print ok1, tl1, ix1 + print(ok1, tl1, ix1) ok2, tl2, ix2 = validate_evemarkup(nl2) - print ok2, tl2, ix2 + print(ok2, tl2, ix2) ok3, tl3, ix3 = validate_evemarkup(nl3) - print ok3, tl3, ix3 + print(ok3, tl3, ix3) ok4, tl4, ix4 = validate_evemarkup(nl4) - print ok4, tl4, ix4 - print 'fix_broken_markup' + print(ok4, tl4, ix4) + print('fix_broken_markup') f1 = fix_broken_markup(nl1, tl1, ix1) - print f1 + print(f1) f2 = fix_broken_markup(nl3, tl3, ix3) - print f2 + print(f2) f3 = fix_broken_markup(nl2, tl2, ix2) - print f3 + print(f3) f4 = fix_broken_markup(nl4, tl4, ix4) - print f4 - print 'remove_empty_formatting_tags' + print(f4) + print('remove_empty_formatting_tags') ff1 = remove_empty_formatting_tags(f1) - print ff1 + print(ff1) ff2 = remove_empty_formatting_tags(f2) - print ff2 + print(ff2) ff3 = remove_empty_formatting_tags(f3) - print ff3 + print(ff3) ff4 = remove_empty_formatting_tags(f4) - print ff4 - print 'add_loc_tags' + print(ff4) + print('add_loc_tags') fi1 = add_loc_tags(ff1) - print fi1 + print(fi1) fi2 = add_loc_tags(ff2) - print fi2 + print(fi2) fi3 = add_loc_tags(ff3) - print fi3 + print(fi3) fi4 = add_loc_tags(ff4) - print fi4 - print '----' - print remove_tags(fi1, 'fontsize', 'color') + print(fi4) + print('----') + print(remove_tags(fi1, 'fontsize', 'color')) diff --git a/scriber/httputils.py b/scriber/httputils.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/scriber/httputils.py +from __future__ import print_function import datetime as pydt import urllib import urlparse @@ -79,9 +80,9 @@ class Url(object): return ''.join(buff) def __dump__(self): - print '<Url __dump__>' + print('<Url __dump__>') pprint.pprint(self.__dict__) - print '</Url>' + print('</Url>') class MethodParams(object): @@ -211,9 +212,9 @@ class MethodParams(object): def __dump__(self): classname = self.__class__.__name__ - print '<%s __dump__>' % classname + print('<%s __dump__>' % classname) pprint.pprint(self.__dict__) - print '</%s>' % classname + print('</%s>' % classname) class UnifiedParams(object): @@ -355,9 +356,9 @@ class AbstractRequest(object): def __dump__(self): classname = self.__class__.__name__ - print '<%s __dump__>' % classname + print('<%s __dump__>' % classname) pprint.pprint(self.__dict__) - print '</%s>' % classname + print('</%s>' % classname) def __str__(self): return '%s(url=%s, ip=%s)' % (self.__class__.__name__, self.url, self.client_ip) @@ -579,5 +580,5 @@ def get_mimetype(file_name): if __name__ == '__main__': m = MethodParams({'q': str(u'%D0%B0%D1%82%D1%8C')}) s = m.str('q') - print u'%r' % s - print '%s' % s + print(u'%r' % s) + print('%s' % s) diff --git a/scriber/widgets/__init__.py b/scriber/widgets/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/scriber/widgets/__init__.py +from __future__ import print_function import warnings import scriber COLOR_DEFAULT = 0 @@ -152,7 +153,7 @@ class Style(object): @property def float(self): - print '######## Style.float was just called!' + print('######## Style.float was just called!') if self._float: return self._float_format % FLOAT_CLASSES[self._float] return '' diff --git a/seasons/client/vanguardnemesis/communityprogressbar.py b/seasons/client/vanguardnemesis/communityprogressbar.py @@ -21,7 +21,6 @@ from eve.client.script.ui.control.eveLoadingWheel import LoadingWheel from eve.client.script.ui.control.gaugeCircular import GaugeCircular from eve.client.script.ui.control.infoIcon import InfoGlyphIcon from player_messaging.client.ui_message import message_player -from eve.client.script.ui.shared.maps.mapcommon import STARMODE_VANGUARD_NEMESIS from eve.client.script.ui.shared.mapView.mapViewUtil import OpenMap from localization import GetByLabel from publicGateway.grpc.exceptions import GenericException @@ -157,7 +156,7 @@ class CommunityProgressBar(Container): self.update() def on_map_button(self, *args): - OpenMap(starColorMode=STARMODE_VANGUARD_NEMESIS) + pass def start_polling(self): self.kill_polling_thread() diff --git a/sensorsuite/overlay/bookmarkvisibilitymanager.py b/sensorsuite/overlay/bookmarkvisibilitymanager.py @@ -17,7 +17,7 @@ class BookmarkFolderVisibilityManager: tempSettings = yaml.safe_load(settingsYaml) or [] try: self.bookmarkFolderKeysHiddenFromSensorOverlay = set(((f, s) for f, s in tempSettings)) - except StandardError: + except Exception: logger.exception('Failed to load folder visibility settings') self.bookmarkFolderKeysHiddenFromSensorOverlay = set() diff --git a/shipcaster/client/shipcasterUtil.py b/shipcaster/client/shipcasterUtil.py @@ -0,0 +1,65 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/shipcaster/client/shipcasterUtil.py +import eve.common.lib.appConst as appConst +import eveformat.client +import gametime +from carbonui.control.contextMenu.menuEntryData import MenuEntryData +from localization import GetByLabel +from menu import MenuLabel +from spacecomponents.common.componentConst import SHIPCASTER_LAUNCHER, STARTER_SHIPCASTER +from spacecomponents.common.helper import HasShipcasterComponent +from carbon.common.script.util.format import FmtDate +from eve.client.script.ui.eveColor import LED_GREY + +def GetShipcasterText(slimItem): + if not HasShipcasterComponent(slimItem.typeID): + return '' + linkedTargets = slimItem.component_shipcaster_linked_targets or [] + if not len(linkedTargets): + return eveformat.tags.color('UI/Inflight/ShipcasterNotLinkedToTarget', LED_GREY) + target0Info = linkedTargets[0] + if target0Info[0] is None: + return eveformat.tags.color(GetByLabel('UI/Inflight/ShipcasterNotLinkedToTarget'), LED_GREY) + targetSystem, targetID, targetFactionID = target0Info[0] + startTime = target0Info[1] + endTime = target0Info[2] + textList = [GetByLabel('UI/Inflight/ShipcasterLinkedToTargetSystem', solarsystem=targetSystem, securityStatus=eveformat.solar_system_security_status(targetSystem))] + now = gametime.GetWallclockTime() + if startTime > now: + textList.append(GetByLabel('UI/Inflight/ShipcasterCharging', timeLeft=FmtDate(startTime - gametime.GetWallclockTime(), 'ns'))) + elif endTime > now: + textList.append(GetByLabel('UI/Inflight/ShipcasterActive', timeLeft=FmtDate(endTime - gametime.GetWallclockTime(), 'ns'))) + return '<br>'.join(textList) + + +def GetTargetForShipcaster(itemID): + bp = sm.GetService('michelle').GetBallpark() + shipcasterLauncherComponent = bp.componentRegistry.GetComponentForItem(itemID, SHIPCASTER_LAUNCHER) + if shipcasterLauncherComponent: + return (shipcasterLauncherComponent.targetSolarsystemID, shipcasterLauncherComponent.targetLandingPadID) + return (None, None) + + +def GetTargetForStarterShipcaster(itemID): + bp = sm.GetService('michelle').GetBallpark() + shipcasterLauncherComponent = bp.componentRegistry.GetComponentForItem(itemID, STARTER_SHIPCASTER) + if shipcasterLauncherComponent: + return (shipcasterLauncherComponent.targetSolarsystemID, None) + return (None, None) + + +def GetNextTargetForShipcaster(itemID): + bp = sm.StartService('michelle').GetBallpark() + shipcasterLauncherComponent = bp.componentRegistry.GetComponentForItem(itemID, SHIPCASTER_LAUNCHER) + if shipcasterLauncherComponent: + return shipcasterLauncherComponent.nextTargetSolarsystemID + + +def GetFailureTextAndDisabledOption(itemID, celestial): + if celestial.failure_label == 'UI/Menusvc/MenuHints/ShipcasterIsCharging': + nextTargetID = GetNextTargetForShipcaster(itemID) + if nextTargetID: + failureText = GetByLabel('UI/Inflight/ShipcasterChargingLink', solarsystem=nextTargetID) + med = MenuEntryData(MenuLabel('UI/Inflight/JumpByShipcasterToSystem', kw={'solarsystem': nextTargetID}), isEnabled=False, hint=failureText) + return (failureText, med) + text = sm.GetService('menu').GetUnavailableText(celestial) + return (text, None) diff --git a/shipcaster/shipcasterUtil.py b/shipcaster/shipcasterUtil.py @@ -1,65 +0,0 @@ -#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/shipcaster/shipcasterUtil.py -import eve.common.lib.appConst as appConst -import eveformat.client -import gametime -from carbonui.control.contextMenu.menuEntryData import MenuEntryData -from localization import GetByLabel -from menu import MenuLabel -from spacecomponents.common.componentConst import SHIPCASTER_LAUNCHER, STARTER_SHIPCASTER -from spacecomponents.common.helper import HasShipcasterComponent -from carbon.common.script.util.format import FmtDate -from eve.client.script.ui.eveColor import LED_GREY - -def GetShipcasterText(slimItem): - if not HasShipcasterComponent(slimItem.typeID): - return '' - linkedTargets = slimItem.component_shipcaster_linked_targets or [] - if not len(linkedTargets): - return eveformat.tags.color('UI/Inflight/ShipcasterNotLinkedToTarget', LED_GREY) - target0Info = linkedTargets[0] - if target0Info[0] is None: - return eveformat.tags.color(GetByLabel('UI/Inflight/ShipcasterNotLinkedToTarget'), LED_GREY) - targetSystem, targetID, targetFactionID = target0Info[0] - startTime = target0Info[1] - endTime = target0Info[2] - textList = [GetByLabel('UI/Inflight/ShipcasterLinkedToTargetSystem', solarsystem=targetSystem, securityStatus=eveformat.solar_system_security_status(targetSystem))] - now = gametime.GetWallclockTime() - if startTime > now: - textList.append(GetByLabel('UI/Inflight/ShipcasterCharging', timeLeft=FmtDate(startTime - gametime.GetWallclockTime(), 'ns'))) - elif endTime > now: - textList.append(GetByLabel('UI/Inflight/ShipcasterActive', timeLeft=FmtDate(endTime - gametime.GetWallclockTime(), 'ns'))) - return '<br>'.join(textList) - - -def GetTargetForShipcaster(itemID): - bp = sm.GetService('michelle').GetBallpark() - shipcasterLauncherComponent = bp.componentRegistry.GetComponentForItem(itemID, SHIPCASTER_LAUNCHER) - if shipcasterLauncherComponent: - return (shipcasterLauncherComponent.targetSolarsystemID, shipcasterLauncherComponent.targetLandingPadID) - return (None, None) - - -def GetTargetForStarterShipcaster(itemID): - bp = sm.GetService('michelle').GetBallpark() - shipcasterLauncherComponent = bp.componentRegistry.GetComponentForItem(itemID, STARTER_SHIPCASTER) - if shipcasterLauncherComponent: - return (shipcasterLauncherComponent.targetSolarsystemID, None) - return (None, None) - - -def GetNextTargetForShipcaster(itemID): - bp = sm.StartService('michelle').GetBallpark() - shipcasterLauncherComponent = bp.componentRegistry.GetComponentForItem(itemID, SHIPCASTER_LAUNCHER) - if shipcasterLauncherComponent: - return shipcasterLauncherComponent.nextTargetSolarsystemID - - -def GetFailureTextAndDisabledOption(itemID, celestial): - if celestial.failure_label == 'UI/Menusvc/MenuHints/ShipcasterIsCharging': - nextTargetID = GetNextTargetForShipcaster(itemID) - if nextTargetID: - failureText = GetByLabel('UI/Inflight/ShipcasterChargingLink', solarsystem=nextTargetID) - med = MenuEntryData(MenuLabel('UI/Inflight/JumpByShipcasterToSystem', kw={'solarsystem': nextTargetID}), isEnabled=False, hint=failureText) - return (failureText, med) - text = sm.GetService('menu').GetUnavailableText(celestial) - return (text, None) diff --git a/shipfitting/fittingDogmaLocationUtil.py b/shipfitting/fittingDogmaLocationUtil.py @@ -417,7 +417,7 @@ def _GetAvgInjectedEachCycle(dogmaLocation, moduleID, charges, duration): def RunSimulation(capacitorCapacity, rechargeRate, modules): capacitor = capacitorCapacity tauThingy = float(const.dgmTauConstant) * (rechargeRate / 5.0) - currentTime = nextTime = 0L + currentTime = nextTime = 0 while capacitor > 0.0 and nextTime < CAP_STABLE_TIME: capacitor = (1.0 + (math.sqrt(capacitor / capacitorCapacity) - 1.0) * math.exp((currentTime - nextTime) / tauThingy)) ** 2 * capacitorCapacity currentTime = nextTime diff --git a/shipfitting/fittingWarnings.py b/shipfitting/fittingWarnings.py @@ -238,7 +238,7 @@ def GetMutaplasmidAttributeIDs(itemIDs): for eachItemID in itemIDs: try: attributeDictForItem = dynamicItemSvc.GetDynamicItemAttributes(eachItemID) - except StandardError: + except Exception: continue attributeIDs.update(attributeDictForItem) @@ -347,7 +347,7 @@ def _GetTurretsBySizes(highSlotModules, mutaplasmidItemIDsByTypeID): for eachItemID in mutaplasmidItemIDsByTypeID.get(typeID, []): try: sizeAttribute = sm.GetService('dynamicItemSvc').GetDynamicItemAttributes(eachItemID).get(const.attributeChargeSize, None) - except StandardError: + except Exception: continue if sizeAttribute: @@ -521,7 +521,7 @@ def EvaluateFit(fittingController): fittingSvc = sm.GetService('fittingSvc') try: currentFittingInfo = fittingSvc.GetFittingDictForCurrentFittingWindowShip() - except RuntimeError as e: + except (RuntimeError, AttributeError) as e: fittingSvc.LogWarn('Error when getting current fit: ', e) return diff --git a/shipfitting/fittingWarningsStackingPenalty.py b/shipfitting/fittingWarningsStackingPenalty.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/shipfitting/fittingWarningsStackingPenalty.py +from __future__ import print_function from collections import defaultdict import evetypes import dogma.data as dogma_data @@ -148,9 +149,9 @@ def FindModulesWithStackingPenaltyTest(): continue correct.add(eachTypeID) - print '-------------- correct ------------------- = ', len(correct) - print '-------------- Missing text ------------------- = ', len(missingText) - print '-------------- Missing stacking ------------------- = ', len(textButNotInList) + print('-------------- correct ------------------- = ', len(correct)) + print('-------------- Missing text ------------------- = ', len(missingText)) + print('-------------- Missing stacking ------------------- = ', len(textButNotInList)) PrintList(textButNotInList) @@ -163,4 +164,4 @@ def PrintList(typeIDs): import localization grouped = [ y[1] for y in sorted(grouped) ] for eachTypeID in grouped: - print '- ', evetypes.GetName(eachTypeID), eachTypeID + print('- ', evetypes.GetName(eachTypeID), eachTypeID) diff --git a/shipprogression/boarding_moment/qa.py b/shipprogression/boarding_moment/qa.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/shipprogression/boarding_moment/qa.py +from __future__ import print_function from carbon.common.script.sys.serviceConst import ROLE_QA from clientsettings.setting import CharSettingBool from player_messaging.client.ui_message import message_player @@ -44,11 +45,11 @@ def get_boarding_moment_ship_info(type_ids = None, separator = '\t', copy_to_cli import evetypes import blue if not session.role & ROLE_QA: - print 'not a qa' + print('not a qa') return type_id_set = set(type_ids or evetypes.GetTypeIDsByCategory(6)) result = '{}\n'.format(separator.join((str(i) for i in ('type_id', 'type_name', 'hull_name', 'shape_group', 'size_group')))) - print 'get_boarding_moment_ship_info starting for {} ships'.format(len(type_id_set)) + print('get_boarding_moment_ship_info starting for {} ships'.format(len(type_id_set))) for type_id in type_id_set: graphic_id = evetypes.GetGraphicID(type_id) hull = GetSofHullName(graphic_id) @@ -65,13 +66,13 @@ def get_boarding_moment_ship_info(type_ids = None, separator = '\t', copy_to_cli shape, SIZE_STRINGS.get(get_ship_size_group(type_id, ship_model.GetBoundingSphereRadius()), 'UNDEFINED')))) if print_to_console: - print entry + print(entry) result += '{}\n'.format(entry) if copy_to_clipboard: blue.pyos.SetClipboardData(result) - print 'get_boarding_moment_ship_info copied to clipboard' - print 'get_boarding_moment_ship_info completed' + print('get_boarding_moment_ship_info copied to clipboard') + print('get_boarding_moment_ship_info completed') def play_cinematic_for_ships(type_ids = None, skip_unpublished = True, skip_duplicate_hulls = False, only_unseen = False): @@ -86,7 +87,7 @@ def play_cinematic_for_ships(type_ids = None, skip_unpublished = True, skip_dupl from nodegraph.client.util import wait_for_session from shipprogression.boarding_moment import is_excluded_from_boarding_moment if not session.role & ROLE_QA: - print 'not a qa' + print('not a qa') return get_ship = GetInventoryItem() slash_command = SlashCommand(wait_for_session=True) @@ -99,10 +100,10 @@ def play_cinematic_for_ships(type_ids = None, skip_unpublished = True, skip_dupl was_naming_suppressed = settings.user.suppress.Get('suppress.ShipNameChangeOnAssemble', False) settings.user.suppress.Set('suppress.ShipNameChangeOnAssemble', True) bm_svc = GetBoardingMomentService() - print 'play_cinematic_for_ships starting for {} ships'.format(len(type_id_list)) + print('play_cinematic_for_ships starting for {} ships'.format(len(type_id_list))) def the_action(type_id): - print 'starting', type_id, evetypes.GetName(type_id, languageID='en-us') + print('starting', type_id, evetypes.GetName(type_id, languageID='en-us')) get_ship.type_id = type_id item_info = get_ship.get_values() if not item_info: @@ -111,8 +112,7 @@ def play_cinematic_for_ships(type_ids = None, skip_unpublished = True, skip_dupl uthread2.sleep(0.5) item_info = get_ship.get_values() if not item_info: - print 'skipping - failed to create item', type_id, - print evetypes.GetName(type_id, languageID='en-us') + print('skipping - failed to create item', type_id, evetypes.GetName(type_id, languageID='en-us')) return bm_svc.SetSeen(type_id) item = item_info['inventory_item'] @@ -132,7 +132,7 @@ def play_cinematic_for_ships(type_ids = None, skip_unpublished = True, skip_dupl uthread2.sleep(0.1) counter += 1 if not bool(counter % 10): - print 'waiting for hangar - has activeShipModel {} - is correct ship type {}'.format(bool(current_view.activeShipModel), current_view.GetActiveShipTypeID() == type_id) + print('waiting for hangar - has activeShipModel {} - is correct ship type {}'.format(bool(current_view.activeShipModel), current_view.GetActiveShipTypeID() == type_id)) current_view.on_first_boarding() uthread2.sleep(0.5) @@ -146,33 +146,28 @@ def play_cinematic_for_ships(type_ids = None, skip_unpublished = True, skip_dupl if skip_unpublished and not evetypes.IsPublished(type_id): continue if is_excluded_from_boarding_moment(type_id): - print 'skipping - excluded from boarding moments', type_id, - print evetypes.GetName(type_id, languageID='en-us') + print('skipping - excluded from boarding moments', type_id, evetypes.GetName(type_id, languageID='en-us')) continue if IsModularShip(type_id): - print 'skipping - modular ship', type_id, - print evetypes.GetName(type_id, languageID='en-us') + print('skipping - modular ship', type_id, evetypes.GetName(type_id, languageID='en-us')) continue if structure_type_id and not CanDock(structure_type_id, type_id): - print 'skipping - not allowed to dock', type_id, - print evetypes.GetName(type_id, languageID='en-us') + print('skipping - not allowed to dock', type_id, evetypes.GetName(type_id, languageID='en-us')) continue if only_unseen and bm_svc.HasSeen(type_id): - print 'skipping - has seen', type_id, - print evetypes.GetName(type_id, languageID='en-us') + print('skipping - has seen', type_id, evetypes.GetName(type_id, languageID='en-us')) continue if skip_duplicate_hulls: graphic_id = evetypes.GetGraphicID(type_id) hull = GetSofHullName(graphic_id) if hull in hulls_played: - print 'skipping - duplicate hull', type_id, - print evetypes.GetName(type_id, languageID='en-us') + print('skipping - duplicate hull', type_id, evetypes.GetName(type_id, languageID='en-us')) continue hulls_played.add(hull) the_action(type_id) settings.user.suppress.Set('suppress.ShipNameChangeOnAssemble', was_naming_suppressed) - print 'play_cinematic_for_ships completed' + print('play_cinematic_for_ships completed') tasklet = uthread2.start_tasklet(the_loop) return tasklet diff --git a/skills/skillplan/__init__.py b/skills/skillplan/__init__.py @@ -1,2 +1,3 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/skills/skillplan/__init__.py -import skillPlanSignals as signals +from __future__ import absolute_import +from . import skillPlanSignals as signals diff --git a/skills/skillplan/errors.py b/skills/skillplan/errors.py @@ -1,5 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/skills/skillplan/errors.py -class SkillPlanConnectionError(StandardError): +class SkillPlanConnectionError(Exception): pass diff --git a/skills/skillplan/grpc/personalSkillPlanRequest.py b/skills/skillplan/grpc/personalSkillPlanRequest.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/skills/skillplan/grpc/personalSkillPlanRequest.py +from __future__ import absolute_import import uuid import eveProto.generated.eve_public.skill.plan.plan_pb2 as skill_plan_pb2 -from message_bus.skillPlanRequestsMessenger import SkillPlanRequestsMessenger +from .message_bus.skillPlanRequestsMessenger import SkillPlanRequestsMessenger def GetAll(): response = _GetSkillPlanRequestsMessenger().get_all() diff --git a/skills/skillplan/milestone/milestoneService.py b/skills/skillplan/milestone/milestoneService.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/skills/skillplan/milestone/milestoneService.py +from __future__ import absolute_import import logging from collections import defaultdict import uthread -from milestoneController import BuildMilestonesFromRawData +from .milestoneController import BuildMilestonesFromRawData from skills.skillplan import skillPlanSignals import skills.skillplan.grpc.personalMilestoneRequest as personalMilestoneRequest import skills.skillplan.grpc.corpMilestoneRequest as corpMilestoneRequest diff --git a/sofDnaLibrary/query.py b/sofDnaLibrary/query.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/sofDnaLibrary/query.py +from __future__ import print_function from sofDnaLibrary.data import GetTypes from sofDnaLibrary.dataLookup import GetSkinnedDnaForDnaQuery, GetDefaultDnaStringsForDnaQuery import time @@ -26,7 +27,7 @@ def GetDefaultDnaStringsMatchingQuery(hullQuery = '.*', factionQuery = '.*', rac def GetDnaStringsMatchingQuery(hullQuery = '.*', factionQuery = '.*', raceQuery = '.*'): dnaString = GenerateDnaString(hullQuery, factionQuery, raceQuery) - print "Getting dna strings that match '%s'" % dnaString + print("Getting dna strings that match '%s'" % dnaString) skinnedDna = GetSkinnedDnaStringsMatchingQuery(hullQuery, factionQuery, raceQuery) defaultDna = GetDefaultDnaStringsMatchingQuery(hullQuery, factionQuery, raceQuery) dnaStrings = skinnedDna @@ -36,7 +37,7 @@ def GetDnaStringsMatchingQuery(hullQuery = '.*', factionQuery = '.*', raceQuery def GetDefaultDnaStringsWithTypesMatchingQuery(hullQuery = '.*', factionQuery = '.*', raceQuery = '.*'): dnaString = GenerateDnaString(hullQuery, factionQuery, raceQuery) - print "Getting dna strings that match '%s' and are linked to types" % dnaString + print("Getting dna strings that match '%s' and are linked to types" % dnaString) defaultDnaGraphicID = GetDefaultDnaStringsForDnaQuery(hullQuery, factionQuery, raceQuery) dnaStrings = set() for typeID, typeData in GetTypes().iteritems(): @@ -49,4 +50,4 @@ def GetDefaultDnaStringsWithTypesMatchingQuery(hullQuery = '.*', factionQuery = if __name__ == '__main__': start = time.time() dnaResult = GetDnaStringsMatchingQuery(hullQuery='asd1_t1', raceQuery='amarr') - print dnaResult + print(dnaResult) diff --git a/solarsysteminterference/__init__.py b/solarsysteminterference/__init__.py @@ -1,2 +1,3 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/solarsysteminterference/__init__.py -from solarsystemInterferenceState import SolarsystemInterferenceState, ExcessInterferenceError, CalculateStateAtTime, CalculateStateAfterAddingInterferenceAtTime +from __future__ import absolute_import +from .solarsystemInterferenceState import SolarsystemInterferenceState, ExcessInterferenceError, CalculateStateAtTime, CalculateStateAfterAddingInterferenceAtTime diff --git a/solarsysteminterference/solarsystemInterferenceState.py b/solarsysteminterference/solarsystemInterferenceState.py @@ -120,5 +120,5 @@ def CalculateStateAfterAddingInterferenceAtTime(state, interferenceIncrease, tim return GetNewState(state, newInterferenceLevel + interferenceIncrease, newDecayTickTimestamp) -class ExcessInterferenceError(StandardError): +class ExcessInterferenceError(Exception): pass diff --git a/sovereignty/fuel/client/external_messenger.py b/sovereignty/fuel/client/external_messenger.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/sovereignty/fuel/client/external_messenger.py +from __future__ import print_function import httplib from eveProto import timestamp_to_blue from eveProto.generated.eve_public.sovereignty.hub.fuel.api import requests_pb2 @@ -50,4 +51,4 @@ class FakseSovFuelExternalMessenger(object): 81143: Fuel(81143, 53, 15, last_updated)} def add_fuel(self, fuel_item_id, amount, hub_id): - print 'fuel added' + print('fuel added') diff --git a/sovereignty/mercenaryden/client/mocks/request_messenger_mock.py b/sovereignty/mercenaryden/client/mocks/request_messenger_mock.py @@ -35,7 +35,7 @@ class MockMercenaryDenRequestMessenger(object): def _get_all_activities_request(self): if not hasattr(self, '_activities'): - self._activities = [MercenaryDenActivity(activity_id=uuid.uuid4(), den_id=1000000013115L, dungeon_id=12355, name_id=871696, description_id=871697, started=False, expiry=datetime.datetime.utcnow() + datetime.timedelta(minutes=60), solar_system_id=30000208, development_impact=10, anarchy_impact=-10, infomorph_bonus=100)] + self._activities = [MercenaryDenActivity(activity_id=uuid.uuid4(), den_id=1000000013115, dungeon_id=12355, name_id=871696, description_id=871697, started=False, expiry=datetime.datetime.utcnow() + datetime.timedelta(minutes=60), solar_system_id=30000208, development_impact=10, anarchy_impact=-10, infomorph_bonus=100)] return self._activities def get_all_activities_request_without_retries(self): diff --git a/sovereignty/upgrades/client/external_messenger.py b/sovereignty/upgrades/client/external_messenger.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/sovereignty/upgrades/client/external_messenger.py +from __future__ import print_function import gametime import httplib import sovereignty.upgrades.client.errors as errors @@ -157,9 +158,9 @@ class FakeSovUpgradesExternalMessenger(object): return (installedUpgrades, gametime.GetWallclockTime()) def update_upgrade_configuration(self, new_upgrades_item_ids, upgrades_states): - print 'save configuration' + print('save configuration') installed_upgrade_data = [ InstalledUpgradeData(typeID, onlineState, (-1, typeID)) for typeID, onlineState in upgrades_states ] return installed_upgrade_data def uninstall_upgrade(self, hub_id, upgrade_type_id): - print 'uninstall_upgrade' + print('uninstall_upgrade') diff --git a/sovereignty/workforce/client/workforceController.py b/sovereignty/workforce/client/workforceController.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/sovereignty/workforce/client/workforceController.py +from __future__ import print_function import eveicon from evelink.client import location_link from localization import GetByLabel @@ -74,7 +75,7 @@ class WorkforceController(object): def SetWorkforceConfiguration(self, newConfig): result = self.quasarCallWrapper.SaveWorkforceConfiguration(self._sovHubID, newConfig) if result == DATA_NOT_AVAILABLE: - print 'failed to set workforce' + print('failed to set workforce') return self._currentConfig = newConfig self._currentState = None diff --git a/spacecomponents/client/components/sovHub.py b/spacecomponents/client/components/sovHub.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/spacecomponents/client/components/sovHub.py +from __future__ import print_function import logging from spacecomponents import Component from spacecomponents.client import MSG_ON_ADDED_TO_SPACE @@ -11,4 +12,4 @@ class SovHub(Component): self.SubscribeToMessage(MSG_ON_ADDED_TO_SPACE, self.OnAddedToSpace) def OnAddedToSpace(self, slimItem): - print 'sov hub added to space, slimItem= ', slimItem + print('sov hub added to space, slimItem= ', slimItem) diff --git a/spacecomponents/client/components/underConstruction.py b/spacecomponents/client/components/underConstruction.py @@ -97,7 +97,7 @@ class UnderConstruction(Component): self.estimatedValueProgress = float(valueOfComponents) / totalValueOfNeeded else: self.estimatedValueProgress = None - except StandardError as e: + except Exception as e: logger.exception('Failed _CalculatePriceProgress') def _UpdateModel(self, ball): diff --git a/spacecomponents/client/ui/shipcaster/launcherCont.py b/spacecomponents/client/ui/shipcaster/launcherCont.py @@ -13,7 +13,7 @@ from factionwarfare.client.text import GetSystemCaptureStatusText from fwwarzone.client.dashboard.const import ADJACENCY_STATE_TO_ICON_PATH_SMALL from localization import GetByLabel from menucheckers import CelestialChecker, SessionChecker -from shipcaster.shipcasterUtil import GetFailureTextAndDisabledOption +from shipcaster.client.shipcasterUtil import GetFailureTextAndDisabledOption from spacecomponents.client.ui.shipcaster.launcherContController import LauncherContController from carbon.common.script.util.format import FmtAmt from carbon.common.script.util.timerstuff import AutoTimer diff --git a/spacecomponents/common/componentregistry.py b/spacecomponents/common/componentregistry.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/spacecomponents/common/componentregistry.py +from __future__ import absolute_import from collections import defaultdict from ccpProfile import TimedFunction -from componentmessenger import ComponentMessenger +from .componentmessenger import ComponentMessenger from eveexceptions.exceptionEater import ExceptionEater from spacecomponents.common.componentclass import ComponentClass from spacecomponents.common.data import get_space_component_names_for_type, get_space_component_for_type diff --git a/spacecomponents/common/helper.py b/spacecomponents/common/helper.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/spacecomponents/common/helper.py -import componentConst +from __future__ import absolute_import +from . import componentConst from spacecomponents.common.data import type_has_space_component from spacecomponents.common.data import get_type_ids_with_space_component from spacecomponents.common.data import get_space_component_for_type diff --git a/stackless_response_router/__init__.py b/stackless_response_router/__init__.py @@ -1,2 +1,3 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/stackless_response_router/__init__.py -from stackless_response_router import StacklessResponseRouter +from __future__ import absolute_import +from .stackless_response_router import StacklessResponseRouter diff --git a/stackless_tracing/__init__.py b/stackless_tracing/__init__.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/stackless_tracing/__init__.py -import clonable_tracer -import attributes +from __future__ import absolute_import +from . import clonable_tracer +from . import attributes import beeline import monolithconfig import monolithhoneycomb @@ -215,7 +216,7 @@ def _store_trace(tracer, trace_id, parent_id, sampled, ingress_id, sample_rate): setattr(current, 'sampled', sampled) setattr(current, 'ingress_id', ingress_id) setattr(current, 'sample_rate', sample_rate) - except StandardError: + except Exception: pass @@ -228,7 +229,7 @@ def _remove_trace(): setattr(current, 'sampled', None) setattr(current, 'ingress_id', None) setattr(current, 'sample_rate', None) - except StandardError: + except Exception: pass @@ -242,7 +243,7 @@ def _get_trace_from_store(): sampled = getattr(current, 'sampled', None) ingress_id = getattr(current, 'ingress_id', None) sample_rate = getattr(current, 'sample_rate', None) - except StandardError: + except Exception: pass return (tracer, diff --git a/stackless_tracing/clonable_tracer.py b/stackless_tracing/clonable_tracer.py @@ -1,8 +1,9 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/stackless_tracing/clonable_tracer.py +from __future__ import absolute_import from beeline.trace import Span, Trace import beeline import logging -import tasklet_tracer +from . import tasklet_tracer _cut_span_names = set() logger = logging.getLogger(__name__) diff --git a/stackless_tracing/tasklet_tracer.py b/stackless_tracing/tasklet_tracer.py @@ -1,5 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/stackless_tracing/tasklet_tracer.py -from attributes import SPAN_NAME, SERVICE_NAME, SPAN_KIND, TASKLET_CONTEXT, TASKLET_PARENT_CALLSITE +from __future__ import absolute_import +from .attributes import SPAN_NAME, SERVICE_NAME, SPAN_KIND, TASKLET_CONTEXT, TASKLET_PARENT_CALLSITE import stackless_tracing import monolithconfig NO_TRACE_METHOD_NAMES = [None, 'inner', 'MollycoddledUthread'] diff --git a/statscapture/performancemeasurements.py b/statscapture/performancemeasurements.py @@ -8,6 +8,7 @@ import blue import evegraphics.settings as gfxsettings import trinity import uthread2 +from functools import reduce PERFMEASUREMENTS_URL = 'http://trilambda-ws:8088/' PERFMEASUREMENTS_UPLOAD_URL = PERFMEASUREMENTS_URL + 'measurement/' @@ -90,7 +91,7 @@ class Measurement(object): self._steps = [] self._captureRenderSteps = captureRenderSteps self._perFrameCapture = perFrameCapture - self._startTime = 0L + self._startTime = 0 self._endTime = time.localtime() self._statistics = [] self._state = self.STATE_NOT_STARTED diff --git a/statscapture/vm_metrics_reporter.py b/statscapture/vm_metrics_reporter.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/statscapture/vm_metrics_reporter.py +from __future__ import print_function import os import platform import time @@ -42,7 +43,7 @@ def format_url_and_payload(measurement_name, results, branch_name, machine_type) def send_metrics(url, payload): r = requests.post(url, data=payload, timeout=10) - print ('Response code from Victoria Metrics: ', r.status_code) + print(('Response code from Victoria Metrics: ', r.status_code)) def send_metrics_wrapper(url, payload): @@ -55,7 +56,7 @@ def send_metrics_wrapper(url, payload): from stackless import getcurrent if getcurrent().is_main: - print 'Sending to vm through tasklet' + print('Sending to vm through tasklet') t = uthread2.StartTasklet(send_metrics, url, payload) i = 0 while t.is_alive(): @@ -65,10 +66,10 @@ def send_metrics_wrapper(url, payload): raise TimeoutError('Waited too long for sending results') else: - print 'Sending to vm directly' + print('Sending to vm directly') send_metrics(url, payload) except ImportError: - print 'Sending without blue' + print('Sending without blue') send_metrics(url, payload) diff --git a/stdlogutils/__init__.py b/stdlogutils/__init__.py @@ -51,7 +51,7 @@ def FormatList(traceback_list, show_locals = 0, show_lines = True): return lines -traceID = 0L +traceID = 0 cachedFriendlyPathNames = {} def GetFriendlyPathName(pathName): diff --git a/surveys/client/__init__.py b/surveys/client/__init__.py @@ -1,6 +1,7 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/surveys/client/__init__.py +from __future__ import absolute_import import logging -import api +from . import api logger = logging.getLogger(__name__) def GetSurveyClientAPI(survey): @@ -9,7 +10,7 @@ def GetSurveyClientAPI(survey): apiName = survey.GetAPIClassName() try: apiClass = getattr(api, apiName) - except StandardError: + except Exception: logger.exception('GetSurveyClientAPI - Unable to find a client API called %s, maybe you forgot to import it?' % apiName) else: return apiClass() diff --git a/tacticalNavigation/actionDisplay.py b/tacticalNavigation/actionDisplay.py @@ -1,10 +1,11 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/tacticalNavigation/actionDisplay.py +from __future__ import absolute_import import blue import destiny import math import tacticalNavigation.ui.util as tacticalui import uthread2 -from ballparkFunctions import GetBall, GetBallpark +from .ballparkFunctions import GetBall, GetBallpark from destructionEffect import destructionType as destructionEffectType from eve.client.script.ui.inflight.squadrons.shipFighterState import GetShipFighterState diff --git a/taleclient/tale_service.py b/taleclient/tale_service.py @@ -77,7 +77,7 @@ class TaleService(Service): sm.GetService('infoPanel').UpdateWorldEventsPanel() else: self._active_tales_in_system[tale.taleID].update(tale) - on_active_tale_updated(tale.tale_id) + on_active_tale_updated(tale.taleID) def _remove_active_tale_in_system(self, tale_id): if tale_id not in self._active_tales_in_system: diff --git a/trinity/GraphManager.py b/trinity/GraphManager.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/trinity/GraphManager.py +from __future__ import print_function import blue from . import _trinity as trinity from .renderJob import renderJobs, CreateRenderJob @@ -129,12 +130,12 @@ class GraphManager: return renderJob def AddGraph(self, statisticName): - if self.graphs.has_key(statisticName): - print statisticName, 'is already being graphed' + if statisticName in self.graphs: + print(statisticName, 'is already being graphed') return self.graphs[statisticName][1] lg = blue.statistics.GetAccumulator(statisticName) if lg is not None: - print statisticName, 'already has an accumulator' + print(statisticName, 'already has an accumulator') return lg statsDesc = blue.statistics.GetDescriptions() grpName = statsDesc[statisticName][1] @@ -166,13 +167,13 @@ class GraphManager: self.AdjustViewports(self.bounds) def HasGraph(self, statisticName): - return self.graphs.has_key(statisticName) + return statisticName in self.graphs def Clear(self): while len(self.graphs) > 0: self.RemoveGraph(self.graphs.keys()[0]) def AddMarker(self, statisticName, name): - if not self.graphs.has_key(statisticName): + if statisticName not in self.graphs: return self.graphs[statisticName][1].AddMarker(name) diff --git a/trinity/__init__.py b/trinity/__init__.py @@ -1,7 +1,8 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/trinity/__init__.py +from __future__ import absolute_import import logging import blue -import _utils +from . import _utils _utils.AssertNotOnProxyOrServer() from d3dinfo import availablePlatforms from ._singletons import * diff --git a/trinity/gpuprofiler.py b/trinity/gpuprofiler.py @@ -66,7 +66,7 @@ class BaseProfileNode(object): if not self.stats: for each in self.children: for k, v in each.stats.items(): - self.stats[k] = self.stats.get(k, 0L) + v + self.stats[k] = self.stats.get(k, 0) + v self._PopulateStatText() diff --git a/trinutils/particlebounds.py b/trinutils/particlebounds.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/trinutils/particlebounds.py +from __future__ import absolute_import import logging import greatergranny.grannyutils as grannyutils import remotefilecache @@ -153,7 +154,7 @@ class ParticleBoundsSimulation(object): trinity.settings.SetValue('eveSpaceSceneMediumDetailThreshold', 0) trinity.settings.SetValue('eveSpaceSceneLODFactor', 0) ut.StartTasklet(self._PumpBlue) - import sceneutils + from . import sceneutils scene = sceneutils.GetOrCreateScene() scene.objects.append(self.redNodeMutated) self._EnableParticleSorting() diff --git a/trinutils/wip.py b/trinutils/wip.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/trinutils/wip.py +from __future__ import print_function import json import os try: @@ -36,12 +37,12 @@ def _LoadScene(filename): def SnapshotSave(wipscene = WIP_SCENE): _SaveScene(wipscene) - print 'Scene saved... %s' % wipscene + print('Scene saved... %s' % wipscene) def SnapshotLoad(wipscene = WIP_SCENE): _LoadScene(wipscene) - print 'Scene loaded... %s' % wipscene + print('Scene loaded... %s' % wipscene) def SnapshotSetupScene(scene): diff --git a/uihighlighting/uniqueNameChains.py b/uihighlighting/uniqueNameChains.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/uihighlighting/uniqueNameChains.py +from __future__ import print_function import logging import neocom2.btnIDs as btnIDs import uihighlighting.uniqueNameConst as pConst @@ -229,13 +230,13 @@ def _DebugPrintAllChains(): chains.sort(key=lambda x: len(x)) for eachChain in chains: - print ' - ', eachChain + print(' - ', eachChain) def _DebugPrintChain(uniqueName): c = FindChainForUniqueName(uniqueName) c = [ x.replace(pConst.UNIQUE_UI_PREFIX, '') for x in c ] - print c + print(c) def GetMapFiltersPre(): diff --git a/url_utils/__init__.py b/url_utils/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/url_utils/__init__.py +pass diff --git a/url_utils/client/__init__.py b/url_utils/client/__init__.py @@ -0,0 +1,2 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/url_utils/client/__init__.py +pass diff --git a/url_utils/client/canonical.py b/url_utils/client/canonical.py @@ -0,0 +1,43 @@ +#Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/url_utils/client/canonical.py +import urlparse +ALLOWED_SCHEMES = ('http', 'https') +FORBIDDEN_CHARS = frozenset(u'\\<>"') + +def canonicalize_http_url(url): + if not isinstance(url, basestring): + return None + if isinstance(url, bytes): + url = url.decode('latin-1') + u = url.strip() + for c in u: + if not 32 < ord(c) < 127 or c in FORBIDDEN_CHARS: + return None + + try: + parsed = urlparse.urlparse(u) + scheme = parsed.scheme.lower() + if scheme not in ALLOWED_SCHEMES or not parsed.netloc: + return None + canonical = urlparse.urlunparse((scheme, + parsed.netloc, + parsed.path, + parsed.params, + parsed.query, + parsed.fragment)) + except Exception: + return None + + if not canonical.startswith(scheme + u'://'): + return None + return canonical + + +def canonical_safe_url(url): + canonical = canonicalize_http_url(url) + if canonical is None: + return + if canonical.find(u'../') >= 0 or canonical.find(u'\\..') >= 0: + return + if canonical.lower().endswith(u'.exe'): + return + return canonical diff --git a/uthread/__init__.py b/uthread/__init__.py @@ -1,4 +1,6 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/uthread/__init__.py +from __future__ import print_function +from future.utils import raise_ __version__ = '0.1' __license__ = 'Python Microthread Library version 0.1\nCopyright (C)2000 Will Ware, Christian Tismer\n\nPermission to use, copy, modify, and distribute this software and its\ndocumentation for any purpose and without fee is hereby granted,\nprovided that the above copyright notice appear in all copies and that\nboth that copyright notice and this permission notice appear in\nsupporting documentation, and that the names of the authors not be\nused in advertising or publicity pertaining to distribution of the\nsoftware without specific, written prior permission.\n\nWILL WARE AND CHRISTIAN TISMER DISCLAIM ALL WARRANTIES WITH REGARD TO\nTHIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\nFITNESS. IN NO EVENT SHALL WILL WARE OR CHRISTIAN TISMER BE LIABLE FOR\nANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT\nOF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.' import stackless @@ -13,7 +15,7 @@ import blue.heapq as heapq import locks import threading from stacklesslib.util import atomic -SEC = 10000000L +SEC = 10000000 MIN = 60 * SEC tasks = [] schedule = stackless.schedule @@ -63,7 +65,7 @@ def waitForJoinable(t, timeout): result, exce = data if exce is not None: try: - raise exce[0], exce[1], exce[2] + raise_(exce[0], exce[1], exce[2]) finally: exce = None @@ -126,7 +128,7 @@ class Semaphore: with atomic(): if self.strict: if self.count <= 0 and stackless.getcurrent() in self.threads: - raise RuntimeError, 'tasklet deadlock, acquiring tasklet holds strict semaphore' + raise RuntimeError('tasklet deadlock, acquiring tasklet holds strict semaphore') while self.count == 0: self.n_waiting += 1 try: @@ -147,7 +149,7 @@ class Semaphore: with atomic(): if self.strict: if self.count <= 0 and stackless.getcurrent() in self.threads: - raise RuntimeError, 'tasklet deadlock, acquiring tasklet holds strict semaphore' + raise RuntimeError('tasklet deadlock, acquiring tasklet holds strict semaphore') if self.count > 0: self.count -= 1 self.lockedWhen = blue.os.GetWallclockTime() @@ -159,7 +161,7 @@ class Semaphore: with atomic(): if self.strict and not override: if stackless.getcurrent() not in self.threads: - raise RuntimeError, 'wrong tasklet releasing strict semaphore' + raise RuntimeError('wrong tasklet releasing strict semaphore') self.count += 1 self.threads.remove(stackless.getcurrent()) self.lockedWhen = None @@ -240,7 +242,7 @@ class CriticalSection(Semaphore): def release(self): if self.__reentrantRefs: if not self._owns(): - raise RuntimeError, 'wrong tasklet releasing reentrant CriticalSection' + raise RuntimeError('wrong tasklet releasing reentrant CriticalSection') self.__reentrantRefs -= 1 else: Semaphore.release(self) @@ -513,15 +515,15 @@ def LockCheck(): if not problem: continue with log.general.open(log.LGERR) as s: - print >> s, 'Locks have been held for a long time (%ss). Locking conflict log' % (problem / SEC) + print('Locks have been held for a long time (%ss). Locking conflict log' % (problem / SEC), file=s) foundCycles = locks.LockCycleReport(out=s, timeLimit=60) if not foundCycles: - print >> s, 'logical analysis found no cycles.' + print('logical analysis found no cycles.', file=s) if not foundCycles: - print >> s, 'Full dump of locks with waiting tasklets:' + print('Full dump of locks with waiting tasklets:', file=s) locks.OldLockReport(None, out=s) - print >> s, 'End of locking conflict log' - except StandardError: + print('End of locking conflict log', file=s) + except Exception: log.LogException() sys.exc_clear() @@ -604,7 +606,7 @@ def Parallel(funcs, exceptionHandler = None, maxcount = 30, contextSuffix = None if exceptionHandler: exceptionHandler(error[1]) else: - raise error[0], error[1], error[2] + raise_(error[0], error[1], error[2]) return ret finally: del error diff --git a/uthread2/bluepyimpl.py b/uthread2/bluepyimpl.py @@ -14,7 +14,7 @@ class BluepyTasklet(stacklessimpl.StacklessTasklet): def inner(): getcurrent().localStorage['uthread2_tasklet'] = weakref.ref(self) try: - func_name = func.func_name + func_name = func.__name__ except AttributeError: try: func_name = func.key diff --git a/uthread2_plugins/__init__.py b/uthread2_plugins/__init__.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/uthread2_plugins/__init__.py +from future.utils import raise_ import sys _all_implementations = [] @@ -30,7 +31,7 @@ class BaseUthreadImpl(object): if any(exc_infos): ei = exc_infos[0] - raise ei[0], ei[1], ei[2] + raise_(ei[0], ei[1], ei[2]) return resultmap diff --git a/utillib/__init__.py b/utillib/__init__.py @@ -26,7 +26,7 @@ class KeyVal: return self.__class__.__name__ def __str__(self): - members = dict(filter(lambda (k, v): not k.startswith('__'), self.__dict__.items())) + members = dict(filter(lambda k_v: not k_v[0].startswith('__'), self.__dict__.items())) return '%s: %s' % (self._get_class_name(), members) def __repr__(self): diff --git a/weakness/__init__.py b/weakness/__init__.py @@ -4,24 +4,24 @@ import weakref class WeakMethod(object): def __init__(self, f): - self.class_method = f.im_func - self.self_ref = weakref.ref(f.im_self) + self.class_method = f.__func__ + self.self_ref = weakref.ref(f.__self__) def __call__(self, *args, **kwargs): method_self = self.self_ref() if method_self is None: raise ReferenceError('weakly-referenced method no longer exists') - return apply(self.class_method, (method_self,) + args, kwargs) + return self.class_method(method_self, *args, **kwargs) def __eq__(self, other): - return self is other or getattr(other, 'im_func', None) is self.class_method and getattr(other, 'im_self', None) == self.self_ref() + return self is other or getattr(other, '__func__', None) is self.class_method and getattr(other, '__self__', None) == self.self_ref() def __ne__(self, other): return not self.__eq__(other) def callable_proxy(callable_object): - if hasattr(callable_object, 'im_func'): + if hasattr(callable_object, '__func__'): return WeakMethod(callable_object) else: return weakref.proxy(callable_object) diff --git a/xmpp/chatterbox.py b/xmpp/chatterbox.py @@ -1,4 +1,5 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/xmpp/chatterbox.py +from __future__ import print_function import random import socket import ssl @@ -63,7 +64,7 @@ class ChatterBox(object): while not self.stop_requested: phrase = random.choice(PHRASES) self.socket.sendall(phrase) - print self.socket.recv(1024) + print(self.socket.recv(1024)) uthread2.Sleep(1) def _listener(self): @@ -71,7 +72,7 @@ class ChatterBox(object): while not self.stop_requested: logger.debug('Waiting for data') data = self.socket.recv(4096) - print data + print(data) logger.debug('Received: %s', data) except Exception: @@ -83,7 +84,7 @@ class ChatterBox(object): while not self.stop_requested: phrase = random.choice(PHRASES)[:16] logger.debug('Sending %s', phrase) - print ('Sending', phrase) + print(('Sending', phrase)) self.socket.sendall(phrase) logger.debug('Sleeping for 1 second') uthread2.Sleep(1) diff --git a/xmpp/xmppConnection.py b/xmpp/xmppConnection.py @@ -482,5 +482,5 @@ class XmppConnection(object): fields.update(extra) try: mhe.send(event_name, fields) - except StandardError as e: + except Exception as e: logger.warning('Failed to send honey event: %s' % e) diff --git a/xmpp/xmpphandler.py b/xmpp/xmpphandler.py @@ -1,11 +1,12 @@ #Embedded file name: /Users/buildagentA/buildAgentFull/work/20d73f1b24eed06e/eve/release/V24.01/packages/xmpp/xmpphandler.py +from __future__ import absolute_import import base64 import logging import uuid from xml.sax import make_parser from xml.sax.saxutils import escape import unicodedata -from xmppcontenthandler import XmppContentHandler +from .xmppcontenthandler import XmppContentHandler import monolithmetrics logger = logging.getLogger(__name__) diff --git a/xmppchatclient/xmppchatsvc.py b/xmppchatclient/xmppchatsvc.py @@ -676,9 +676,9 @@ class XmppChatService(service.Service): userData[key] = value try: - value = long(vp.attributes.get('role', 0L)) + value = long(vp.attributes.get('role', 0)) except ValueError: - value = 0L + value = 0 userData['role'] = value try: @@ -751,9 +751,9 @@ class XmppChatService(service.Service): userData[key] = value try: - value = long(userDataElem.attributes.get('role', 0L)) + value = long(userDataElem.attributes.get('role', 0)) except ValueError: - value = 0L + value = 0 userData['role'] = value infoLine = userDataElem.attributes.get('info') diff --git a/xmppchatclient/xmppchatwindow.py b/xmppchatclient/xmppchatwindow.py @@ -463,7 +463,7 @@ class XmppChatWindow(BaseChatWindow): if char not in self.userlistNodesByName: if self.verbose: logger.debug('%s added to channel %s', char, self.receiver) - role = userdata.get('role', 0L) + role = userdata.get('role', 0) if role & service.ROLE_CHTINVISIBLE: if self.verbose: logger.debug('Ignoring charID %s because role %s includes ROLE_CHTINVISIBLE', char, role) @@ -545,7 +545,7 @@ class XmppChatWindow(BaseChatWindow): del self.userlistNodesByName[char] self.userlist.RemoveNodes([node]) except KeyError: - if userdata and userdata.get('role', 0L) & service.ROLE_CHTINVISIBLE: + if userdata and userdata.get('role', 0) & service.ROLE_CHTINVISIBLE: pass else: logger.exception('Error removing character from channel') @@ -1153,7 +1153,7 @@ class XmppChatWindow(BaseChatWindow): self.userlist.Clear() nodeListToSort = [] for char, userdata in self.members.iteritems(): - role = userdata.get('role', 0L) + role = userdata.get('role', 0) if role & service.ROLE_CHTINVISIBLE: logger.debug('Ignoring charID %s because role %s includes ROLE_CHTINVISIBLE', char, role) continue