From 04e7e38c195b09db13e027f237e0881bc03a799b Mon Sep 17 00:00:00 2001 From: sirinsidiator Date: Tue, 16 Apr 2024 02:32:27 +0200 Subject: [PATCH] 10.0.0 --- ESOUIDocumentation.txt | 677 +- README.md | 9 +- bin/{update => update-pts} | 4 +- .../app/loadingscreen/sharedloadingscreen.lua | 18 +- esoui/common/common.txt | 2 + .../gamepad/genericheaders/genericheaders.lua | 3 +- esoui/common/textsearch/textsearchobject.lua | 141 + esoui/common/tooltip/tooltipstyles.lua | 4 + esoui/common/zo_gamemenu/zo_gamemenu.lua | 6 +- .../gamepad/achievements_gamepad.lua | 9 +- esoui/ingame/actionbar/actionbar.lua | 24 +- esoui/ingame/actionbar/actionbutton.lua | 42 +- .../pc/addoncompatibilityaliases.lua | 48 +- esoui/ingame/alerttext/alerthandlers.lua | 46 +- .../alerttext/gamepad/alerttext_gamepad.lua | 10 + .../alerttext/keyboard/alerttext_keyboard.lua | 10 + .../gamepad/antiquityjournal_gamepad.lua | 10 +- .../banking/gamepad/banking_gamepad.lua | 4 +- .../banking/gamepad/bankingcommon_gamepad.lua | 4 +- esoui/ingame/battleground/battlegroundhud.lua | 2 +- .../battleground/battlegroundscoreboard.lua | 46 +- .../battleground/battlegroundscorehud.lua | 10 +- .../campaign/campaignbrowser_manager.lua | 4 +- .../campaign/campaignemperor_shared.lua | 2 +- .../centerscreenannounce.lua | 77 +- .../centerscreenannounce.xml | 9 +- .../centerscreenannouncehandlers.lua | 64 +- esoui/ingame/chatsystem/chathandlers.lua | 4 +- .../chatsystem/gamepad/chatmenu_gamepad.lua | 13 +- .../gamepad/interactivechatlog_gamepad.lua | 1 + .../gamepad/interactivechatlog_gamepad.xml | 31 +- .../collections/collectibledatamanager.lua | 42 +- .../gamepad/collectionsbook_gamepad.lua | 100 +- .../gamepad/collectionsbook_gamepad.xml | 2 +- .../gamepad/tributepatronbook_gamepad.lua | 21 +- .../collections/itemsetcollectionsdata.lua | 36 +- .../itemsetcollectionsdatamanager.lua | 29 - .../collections/itemsetsbook_shared.lua | 44 +- .../keyboard/collectibletile_keyboard.lua | 22 +- .../keyboard/itemsetsbook_keyboard.lua | 8 +- .../keyboard/itemsetsbook_keyboard.xml | 6 +- .../keyboard/tributepatronbook_keyboard.lua | 21 +- .../keyboard/tributepatronbook_keyboard.xml | 6 +- .../collections/tributepatronbook_shared.lua | 44 +- .../companioncollectionbook_gamepad.xml | 2 +- .../gamepad/companionequipment_gamepad.lua | 8 +- .../keyboard/companionequipment_keyboard.lua | 2 +- esoui/ingame/compass/compass.xml | 2 +- .../gamepad/notifications_gamepad.lua | 10 +- .../contacts/gamepad/sociallist_gamepad.lua | 3 + .../zo_socialoptionsdialog_gamepad.lua | 4 +- .../keyboard/notifications_keyboard.lua | 8 +- .../ingame/contacts/notifications_common.lua | 83 +- .../ingame/crafting/craftingresults_base.lua | 77 +- esoui/ingame/crafting/craftingutils.xml | 12 + .../gamepad/craftingresults_gamepad.lua | 4 - .../gamepad/craftingutils_gamepad.lua | 51 +- .../crafting/gamepad/gamepadprovisioner.lua | 6 +- .../crafting/gamepad/scribing_gamepad.lua | 622 + .../crafting/gamepad/scribing_gamepad.xml | 78 + .../gamepad/scribinglayout_gamepad.lua | 313 + .../gamepad/smithingcreation_gamepad.lua | 1 - .../gamepad/smithingextraction_gamepad.lua | 1 - .../gamepad/smithingresearch_gamepad.lua | 1 - .../universaldeconstructionpanel_gamepad.lua | 1 - .../keyboard/craftingresults_keyboard.lua | 6 +- .../keyboard/craftingutils_keyboard.xml | 6 + .../ingame/crafting/keyboard/provisioner.lua | 14 +- .../crafting/keyboard/scribing_keyboard.lua | 889 + .../crafting/keyboard/scribing_keyboard.xml | 239 + .../keyboard/scribinglayout_keyboard.lua | 678 + .../keyboard/scribinglayout_keyboard.xml | 266 + esoui/ingame/crafting/scribing_manager.lua | 273 + esoui/ingame/crafting/scribing_shared.lua | 619 + esoui/ingame/crafting/scribing_shared.xml | 17 + esoui/ingame/crafting/scribingdata.lua | 194 + esoui/ingame/crafting/scribingdatamanager.lua | 293 + esoui/ingame/deathrecap/deathrecap.lua | 100 +- esoui/ingame/deathrecap/deathrecap.xml | 29 +- .../endlessdungeonbufftracker_shared.lua | 86 +- .../endlessdungeonbufftracker_shared.xml | 10 +- .../endlessdungeonbufftracker_gamepad.lua | 8 +- .../endlessdungeonbufftracker_gamepad.xml | 15 +- .../endlessdungeonbufftracker_keyboard.lua | 8 +- .../endlessdungeonbufftracker_keyboard.xml | 15 +- ...epadparametricscrolllist_search_screen.lua | 100 + esoui/ingame/globals/bindings.xml | 1 + esoui/ingame/globals/globals.lua | 4 +- esoui/ingame/globals/ingamedialogs.lua | 165 +- .../group/keyboard/zo_groupmenu_keyboard.lua | 3 +- esoui/ingame/group/zo_grouplist_manager.lua | 4 +- .../groupfinder_searchresults_gamepad.lua | 4 +- ...finder_createeditgrouplisting_keyboard.xml | 2 +- .../groupfinder_searchresults_keyboard.lua | 4 +- .../guild/gamepad/guildroster_gamepad.lua | 2 +- .../guild/keyboard/guildselector_keyboard.lua | 6 - .../guildrecruitment_applications_gamepad.lua | 4 +- .../guildrecruitment_blacklist_gamepad.lua | 2 +- .../ingame/guildhistory/guildhistory_data.lua | 5 +- .../help/gamepad/help_common_gamepad.lua | 10 +- .../help/gamepad/help_entries_gamepad.lua | 2 +- .../keyboard/helpsubmitfeedback_keyboard.xml | 2 +- .../gamepad/furnitureclasses_gamepad.lua | 65 +- .../housingfurniturebrowser_gamepad.lua | 13 +- .../housingfurnituresettings_gamepad.lua | 12 +- esoui/ingame/hud/huddaedricenergymeter.lua | 2 +- esoui/ingame/hud/hudtracker_manager.lua | 9 +- esoui/ingame/ingame.txt | 34 +- .../inventory/gamepad/gamepadinventory.lua | 27 +- .../inventory/gamepad/guildbank_gamepad.lua | 6 +- .../gamepad/inventorylist_gamepad.lua | 2 +- .../gamepad/inventoryutils_gamepad.lua | 27 + ...parametricscrolllist_bagssearch_screen.lua | 126 +- esoui/ingame/inventory/inventory.lua | 208 +- esoui/ingame/inventory/inventory.xml | 15 +- esoui/ingame/inventory/inventoryslot.lua | 10 +- esoui/ingame/inventory/itemfilterutils.lua | 24 +- .../endlessdungeonleaderboards_shared.lua | 1 - .../zo_activityfindertemplate_gamepad.lua | 2 +- .../zo_activitytributerankfooter_gamepad.xml | 2 + .../gamepad/lorelibrary_gamepad.lua | 62 +- .../gamepad/lorelibrarybookset_gamepad.lua | 88 +- .../keyboard/lorelibrary_keyboard.lua | 215 +- .../keyboard/lorelibrary_keyboard.xml | 26 +- .../ingame/lorelibrary/lorelibrary_shared.lua | 6 + esoui/ingame/lorereader/lorereader.lua | 239 +- ...ilmanager_gamepad.lua => mail_gamepad.lua} | 800 +- ...ilmanager_gamepad.xml => mail_gamepad.xml} | 48 +- .../ingame/mail/gamepad/mailinbox_gamepad.lua | 520 +- .../ingame/mail/gamepad/mailsend_gamepad.lua | 92 +- .../mail/keyboard/mailinbox_keyboard.lua | 399 +- .../mail/keyboard/mailinbox_keyboard.xml | 104 +- esoui/ingame/mail/mail_manager.lua | 36 + esoui/ingame/mail/mailinbox_shared.lua | 22 +- .../mainmenu/gamepad/zo_mainmenu_gamepad.lua | 2 +- .../keyboard/zo_mainmenu_keyboard.lua | 34 +- esoui/ingame/map/cmaphandlers.lua | 2 +- .../map/gamepad/worldmapquests_gamepad.lua | 4 +- .../map/keyboard/worldmapquests_keyboard.lua | 2 +- esoui/ingame/map/mappin.lua | 23 +- esoui/ingame/map/worldmap.lua | 14 +- .../objectivecapturemeter.lua | 24 +- .../gamepad/optionspanels_gamepad.lua | 11 + .../playerattributebars.lua | 4 + .../playerprogressbar/playerprogressbar.xml | 2 +- .../ingame/playertoplayer/playertoplayer.lua | 11 +- .../quickslot/keyboard/quickslot_keyboard.lua | 6 +- esoui/ingame/repair/repairwindow.lua | 2 +- .../rzchroma/ingamerzchroma_effects.lua | 2 +- .../scenes/gamepad/gamepadingamescenes.lua | 27 +- .../gamepad/ingamefragments_gamepad.lua | 2 +- esoui/ingame/scenes/ingamefragmentgroups.lua | 3 + esoui/ingame/scenes/ingamefragments.lua | 5 +- esoui/ingame/scenes/ingamesceneelements.xml | 3 + esoui/ingame/scenes/ingamescenemanager.lua | 1 + .../scenes/keyboard/keyboardingamescenes.lua | 68 +- esoui/ingame/siegebar/siegebar.lua | 20 +- .../skills/actionbarassignmentmanager.lua | 24 +- esoui/ingame/skills/companionskillsdata.lua | 199 +- esoui/ingame/skills/gamepad/gamepadskills.lua | 361 +- esoui/ingame/skills/gamepad/gamepadskills.xml | 4 +- ...nglibrary_craftedabilityskills_gamepad.lua | 264 + ...nglibrary_craftedabilityskills_gamepad.xml | 49 + .../gamepad/scribinglibrary_gamepad.lua | 177 + .../gamepad/scribinglibrary_gamepad.xml | 9 + .../gamepad/skillscomponents_gamepad.lua | 49 +- .../keyboard/keyboardassignableactionbar.lua | 12 +- ...glibrary_craftedabilityskills_keyboard.lua | 98 + ...glibrary_craftedabilityskills_keyboard.xml | 64 + .../keyboard/scribinglibrary_keyboard.lua | 162 + .../keyboard/scribinglibrary_keyboard.xml | 17 + .../keyboard/skillscomponents_keyboard.lua | 68 + .../keyboard/skillscomponents_keyboard.xml | 83 +- .../keyboard/skillstyleselector_keyboard.lua | 170 + .../keyboard/skillstyleselector_keyboard.xml | 45 + esoui/ingame/skills/keyboard/zo_skills.lua | 204 +- esoui/ingame/skills/keyboard/zo_skills.xml | 66 +- esoui/ingame/skills/playerskillsdata.lua | 674 +- .../skills/skillpointallocationmanager.lua | 123 +- .../skills/skillsandactionbarmanager.lua | 5 +- esoui/ingame/skills/skillsdata_base.lua | 234 +- esoui/ingame/skills/skillsdatamanager.lua | 30 +- .../skillsadvisor_suggestions_gamepad.lua | 8 +- .../skillsadvisor/skillsadvisor_manager.lua | 4 - .../ingame/stats/gamepad/zo_stats_gamepad.lua | 9 +- .../ingame/stats/gamepad/zo_stats_gamepad.xml | 2 +- esoui/ingame/stats/zo_stats_common.lua | 36 +- .../gamepad/storewindow_gamepad.lua | 4 +- .../gamepad/storewindow_gamepad_util.lua | 16 +- .../gamepad/storewindowcomponent_gamepad.lua | 2 + .../storewindow/keyboard/buyback_keyboard.lua | 2 +- .../ingame/storewindow/storewindow_shared.lua | 3 +- esoui/ingame/tooltip/scribingtooltips.lua | 242 + esoui/ingame/tooltip/skilltooltips.lua | 109 +- .../gamepad/tradewindow_gamepad.lua | 6 +- .../tradinghousecategories_shared.lua | 43 +- .../modules/powershield.lua | 134 +- .../modules/powershield.xml | 252 +- .../unitattributevisualizermodulebase.lua | 5 + .../unitattributevisualizer.lua | 12 +- esoui/ingame/unitframes/unitframes.lua | 90 +- esoui/ingame/unitframes/unitframes.xml | 4 +- esoui/ingame/utility/textsearchmanager.lua | 83 +- .../assignableutilitywheel_keyboard.xml | 2 +- .../zo_loot/gamepad/loothistory_gamepad.lua | 2 +- .../zo_quest/gamepad/questjournal_gamepad.lua | 26 +- .../keyboard/questjournal_keyboard.lua | 17 +- .../ingame/zo_quest/questjournal_manager.lua | 5 +- esoui/ingame/zo_quest/questjournal_shared.lua | 21 + esoui/ingame/zo_quest/questtracker.lua | 18 +- .../zonestories/zonestories_manager.lua | 14 +- esoui/ingame/zonestories/zonestorytracker.xml | 8 + .../localizegeneratedstrings.lua | 22183 ++++++++-------- esoui/internalingame/mail/confirmmail.lua | 157 + .../internalingame/market/market_manager.lua | 29 +- .../marketannouncement_shared.lua | 2 +- .../gamepad/internalingamescenes_gamepad.lua | 2 +- esoui/internalingame/scrying/scrying.lua | 2 +- .../scrying/scryinghexanimations.lua | 2 +- esoui/internalingame/tribute/tribute.lua | 6 +- ...localizeinternalingamegeneratedstrings.lua | 10518 ++++---- esoui/lang/de_client.lua | 294 +- esoui/lang/de_pregame.lua | 181 +- esoui/lang/en_client.lua | 296 +- esoui/lang/en_pregame.lua | 181 +- esoui/lang/es_client.lua | 180 +- esoui/lang/es_pregame.lua | 131 +- esoui/lang/fr_client.lua | 227 +- esoui/lang/fr_pregame.lua | 142 +- esoui/lang/jp_client.lua | 227 +- esoui/lang/jp_pregame.lua | 142 +- esoui/lang/ru_client.lua | 179 +- esoui/lang/ru_pregame.lua | 131 +- esoui/lang/zh_client.lua | 179 +- esoui/lang/zh_pregame.lua | 131 +- esoui/libraries/globals/defaultcolordefs.lua | 14 +- esoui/libraries/globals/globalapi.lua | 16 + esoui/libraries/globals/globals.lua | 7 - esoui/libraries/globals/soundids.lua | 22 + esoui/libraries/utility/baseobject.lua | 31 +- esoui/libraries/utility/zo_platformutils.lua | 4 + esoui/libraries/utility/zo_tableutils.lua | 8 + .../gamepad/zo_combobox_gamepad.lua | 19 + esoui/libraries/zo_combobox/zo_combobox.lua | 32 +- .../zo_combobox/zo_combobox_base.lua | 8 - esoui/libraries/zo_dialog/zo_dialog.lua | 17 +- .../gamepad/zo_gridscrolllist_gamepad.lua | 4 +- .../gamepad/zo_gridscrolllist_gamepad.xml | 13 + .../keyboard/zo_gridscrolllist_keyboard.lua | 4 +- .../keyboard/zo_gridscrolllist_keyboard.xml | 15 +- .../zo_abstractgridscrolllist.lua | 33 +- .../zo_parametricscrolllist.lua | 6 +- .../zo_interactivesortfilterlist_gamepad.lua | 14 +- .../zo_sortfilterlist/zo_sortfilterlist.lua | 7 + .../zo_templates/controltemplates.xml | 10 + .../zo_templates/scrolltemplates.lua | 24 +- .../zo_templates/windowtemplates.xml | 30 +- .../gamepad/gamestartup_gamepad.lua | 26 + .../accountlogin/keyboard/zo_login.xml | 2 +- .../accountlogin/keyboard/zo_loginmanager.lua | 2 + .../keyboard/gamemenu_charactercreate.lua | 12 +- .../keyboard/gamemenu_pregame.lua | 6 +- esoui/pregame/globals/pregamedialogs.lua | 34 + .../gamepad/optionspanels_gamepad.lua | 17 +- .../gamepad/pregamestates_gamepad.lua | 1 + .../keyboard/pregamestates_keyboard.lua | 2 +- .../statemanager/pregamestatemanager.lua | 27 + esoui/pregame/tooltip/tooltip.xml | 2 +- .../gammaadjust/gammaadjust.lua | 2 +- .../optionspanel_accessibility_keyboard.lua | 14 + .../keyboard/optionspanel_video_keyboard.lua | 28 + .../optionspanel_accessibility_shared.lua | 39 +- .../optionspanel_video_shared.lua | 121 +- .../localizepregamegeneratedstrings.lua | 11321 ++++---- .../dailyloginrewards_manager.lua | 5 +- .../gamepad/gamepadgamercard.lua | 4 - esoui/publicallingames/globals/globals.lua | 8 +- .../globals/sharedtextures.lua | 24 +- .../gamepad/itempreview_gamepad.lua | 2 +- .../keyboard/itempreview_keyboard.lua | 2 +- esoui/publicallingames/publicallingames.txt | 2 - .../rewards/rewards_manager.lua | 2 +- .../tooltip/abilitytooltips.lua | 288 +- .../publicallingames/tooltip/itemtooltips.lua | 110 +- esoui/publicallingames/tooltip/tooltip.lua | 9 +- esoui/publicallingames/tooltip/tooltip.xml | 11 +- .../publicallingames/tribute/tributecard.lua | 2 +- .../publicallingames/tribute/tributecard.xml | 4 +- .../publicallingames/tribute/tributedata.lua | 25 +- .../tribute/tributedatamanager.lua | 32 +- 290 files changed, 38232 insertions(+), 24787 deletions(-) rename bin/{update => update-pts} (89%) create mode 100644 esoui/common/textsearch/textsearchobject.lua create mode 100644 esoui/ingame/crafting/gamepad/scribing_gamepad.lua create mode 100644 esoui/ingame/crafting/gamepad/scribing_gamepad.xml create mode 100644 esoui/ingame/crafting/gamepad/scribinglayout_gamepad.lua create mode 100644 esoui/ingame/crafting/keyboard/scribing_keyboard.lua create mode 100644 esoui/ingame/crafting/keyboard/scribing_keyboard.xml create mode 100644 esoui/ingame/crafting/keyboard/scribinglayout_keyboard.lua create mode 100644 esoui/ingame/crafting/keyboard/scribinglayout_keyboard.xml create mode 100644 esoui/ingame/crafting/scribing_manager.lua create mode 100644 esoui/ingame/crafting/scribing_shared.lua create mode 100644 esoui/ingame/crafting/scribing_shared.xml create mode 100644 esoui/ingame/crafting/scribingdata.lua create mode 100644 esoui/ingame/crafting/scribingdatamanager.lua create mode 100644 esoui/ingame/gamepad/zo_gamepadparametricscrolllist_search_screen.lua rename esoui/ingame/mail/gamepad/{mailmanager_gamepad.lua => mail_gamepad.lua} (83%) mode change 100755 => 100644 rename esoui/ingame/mail/gamepad/{mailmanager_gamepad.xml => mail_gamepad.xml} (82%) mode change 100755 => 100644 create mode 100644 esoui/ingame/mail/mail_manager.lua create mode 100644 esoui/ingame/skills/gamepad/scribinglibrary_craftedabilityskills_gamepad.lua create mode 100644 esoui/ingame/skills/gamepad/scribinglibrary_craftedabilityskills_gamepad.xml create mode 100644 esoui/ingame/skills/gamepad/scribinglibrary_gamepad.lua create mode 100644 esoui/ingame/skills/gamepad/scribinglibrary_gamepad.xml create mode 100644 esoui/ingame/skills/keyboard/scribinglibrary_craftedabilityskills_keyboard.lua create mode 100644 esoui/ingame/skills/keyboard/scribinglibrary_craftedabilityskills_keyboard.xml create mode 100644 esoui/ingame/skills/keyboard/scribinglibrary_keyboard.lua create mode 100644 esoui/ingame/skills/keyboard/scribinglibrary_keyboard.xml create mode 100644 esoui/ingame/skills/keyboard/skillstyleselector_keyboard.lua create mode 100644 esoui/ingame/skills/keyboard/skillstyleselector_keyboard.xml create mode 100644 esoui/ingame/tooltip/scribingtooltips.lua delete mode 100644 esoui/publicallingames/gamepad/gamepadgamercard.lua diff --git a/ESOUIDocumentation.txt b/ESOUIDocumentation.txt index 6e9d79aba..a4d0d224a 100644 --- a/ESOUIDocumentation.txt +++ b/ESOUIDocumentation.txt @@ -1,5 +1,5 @@ {TOC:maxLevel=3} -h1. ESO UI Documentation for API Version 101041 +h1. ESO UI Documentation for API Version 101042 h2. VM Functions * ScriptBuildInfo() ** _Returns:_ *table* _buildInfo_ @@ -30,6 +30,7 @@ h5. ActionBarSlotType * ACTION_TYPE_ABILITY * ACTION_TYPE_CHAMPION_SKILL * ACTION_TYPE_COLLECTIBLE +* ACTION_TYPE_CRAFTED_ABILITY * ACTION_TYPE_EMOTE * ACTION_TYPE_ITEM * ACTION_TYPE_NOTHING @@ -69,6 +70,9 @@ h5. BackgroundListFilterTarget * BACKGROUND_LIST_FILTER_TARGET_ANTIQUITY_ID * BACKGROUND_LIST_FILTER_TARGET_BAG_SLOT * BACKGROUND_LIST_FILTER_TARGET_COLLECTIBLE_ID +* BACKGROUND_LIST_FILTER_TARGET_CRAFTED_ABILITY_COMBINATION +* BACKGROUND_LIST_FILTER_TARGET_CRAFTED_ABILITY_ID +* BACKGROUND_LIST_FILTER_TARGET_CRAFTED_ABILITY_SCRIPT_ID * BACKGROUND_LIST_FILTER_TARGET_DYE_ID * BACKGROUND_LIST_FILTER_TARGET_FURNITURE_ID * BACKGROUND_LIST_FILTER_TARGET_HELP_ID @@ -98,6 +102,7 @@ h5. BonusDropSource h5. BookMedium * BOOK_MEDIUM_ANIMAL_SKIN +* BOOK_MEDIUM_ELVEN_SCROLL * BOOK_MEDIUM_LETTER * BOOK_MEDIUM_METAL * BOOK_MEDIUM_METAL_TABLET @@ -337,6 +342,12 @@ h5. GameplayActorCategory * GAMEPLAY_ACTOR_CATEGORY_PLAYER +h5. Gender +* GENDER_FEMALE +* GENDER_MALE +* GENDER_NEUTER + + h5. HealthWarningStage * HEALTH_WARNING_FLASH_1 * HEALTH_WARNING_FLASH_2 @@ -546,6 +557,8 @@ h5. MonsterSocialClass h5. MouseContentType * MOUSE_CONTENT_ACTION * MOUSE_CONTENT_COLLECTIBLE +* MOUSE_CONTENT_CRAFTED_ABILITY +* MOUSE_CONTENT_CRAFTED_ABILITY_SCRIPT * MOUSE_CONTENT_EMOTE * MOUSE_CONTENT_EMPTY * MOUSE_CONTENT_EQUIPPED_ITEM @@ -679,6 +692,7 @@ h5. NonCombatBonusType h5. NotificationType * NOTIFICATION_TYPE_CAMPAIGN_QUEUE * NOTIFICATION_TYPE_COLLECTIONS +* NOTIFICATION_TYPE_CRAFTED_ABILITY_RESET * NOTIFICATION_TYPE_CRAFT_BAG_AUTO_TRANSFER * NOTIFICATION_TYPE_CUSTOMER_SERVICE * NOTIFICATION_TYPE_DISABLED_ADDON @@ -799,6 +813,7 @@ h5. ProgressReason * PROGRESS_REASON_LFG_REWARD * PROGRESS_REASON_LOCK_PICK * PROGRESS_REASON_MEDAL +* PROGRESS_REASON_MIRRORMOOR_COMPLETED * PROGRESS_REASON_NONE * PROGRESS_REASON_OBLIVION_PORTAL_COMPLETED * PROGRESS_REASON_OTHER @@ -1193,6 +1208,11 @@ h5. UnitReactionType * UNIT_REACTION_PLAYER_ALLY +h5. VideoPlaybackErrorReason +* VIDEO_PLAYBACK_ERROR_REASON_INVALID_VIDEO_NAME +* VIDEO_PLAYBACK_ERROR_REASON_UNABLE_TO_FIND_VIDEO + + h5. VideoSkipMode * VIDEO_SKIP_MODE_ALLOW_SKIP * VIDEO_SKIP_MODE_NO_SKIP @@ -1347,6 +1367,7 @@ h5. AbilityType * ABILITY_TYPE_PATHLINE * ABILITY_TYPE_PERSISTENTRADIUS * ABILITY_TYPE_PHASETHROUGH +* ABILITY_TYPE_PLAYERFLIGHT * ABILITY_TYPE_PREVENTHEALING * ABILITY_TYPE_RANDOMBRANCH * ABILITY_TYPE_RECALL @@ -1390,6 +1411,13 @@ h5. MorphSlot * MORPH_SLOT_MORPH_2 +h5. ScribingSlot +* SCRIBING_SLOT_NONE +* SCRIBING_SLOT_PRIMARY +* SCRIBING_SLOT_SECONDARY +* SCRIBING_SLOT_TERTIARY + + h5. SprintBlockRule * SPRINT_BLOCK_RULE_ALWAYS * SPRINT_BLOCK_RULE_NEVER @@ -1533,6 +1561,12 @@ h5. GroupFinderPlaystyle * GROUP_FINDER_PLAYSTYLE_STORY +h5. GroupFinderStatus +* GROUP_FINDER_STATUS_AVAILABLE +* GROUP_FINDER_STATUS_DISABLED +* GROUP_FINDER_STATUS_DOWN + + h5. LFGActivity * LFG_ACTIVITY_ARENA * LFG_ACTIVITY_AVA @@ -1770,13 +1804,6 @@ h5. Globals * NUM_OUTFITS_PER_UPGRADE -h5. BattlegroundAlliance -* BATTLEGROUND_ALLIANCE_FIRE_DRAKES -* BATTLEGROUND_ALLIANCE_NONE -* BATTLEGROUND_ALLIANCE_PIT_DAEMONS -* BATTLEGROUND_ALLIANCE_STORM_LORDS - - h5. BattlegroundGameType * BATTLEGROUND_GAME_TYPE_CAPTURE_THE_FLAG * BATTLEGROUND_GAME_TYPE_CRAZY_KING @@ -1818,6 +1845,13 @@ h5. BattlegroundState * BATTLEGROUND_STATE_STARTING +h5. BattlegroundTeam +* BATTLEGROUND_TEAM_FIRE_DRAKES +* BATTLEGROUND_TEAM_INVALID +* BATTLEGROUND_TEAM_PIT_DAEMONS +* BATTLEGROUND_TEAM_STORM_LORDS + + h5. CampaignAllianceLockReason * CAMPAIGN_ALLIANCE_LOCK_REASON_CAMPAIGN_ENTERED_AND_ASSIGNED * CAMPAIGN_ALLIANCE_LOCK_REASON_CHARACTER_ASSIGNED @@ -1997,6 +2031,15 @@ h5. KeepType * KEEPTYPE_TOWN +h5. KeepUpgradeLine +* KEEP_UPGRADE_LINE_DEFENSIVE +* KEEP_UPGRADE_LINE_FOOD +* KEEP_UPGRADE_LINE_NONE +* KEEP_UPGRADE_LINE_ORE +* KEEP_UPGRADE_LINE_PRODUCTION +* KEEP_UPGRADE_LINE_WOOD + + h5. KeepUpgradePath * UPGRADEPATH_DEFENSIVE * UPGRADEPATH_NONE @@ -2114,6 +2157,19 @@ h5. QueueForCampaignResponseType * QUEUE_FOR_CAMPAIGN_RESULT_SUCCESS +h5. ReleaseKeepResultType +* RELEASE_KEEP_RESULT_TYPE_GUILD_DOES_NOT_HAVE_A_KEEP +* RELEASE_KEEP_RESULT_TYPE_GUILD_DOES_NOT_OWN_KEEP +* RELEASE_KEEP_RESULT_TYPE_INSUFFICIENT_PERMISSION +* RELEASE_KEEP_RESULT_TYPE_INTERNAL_ERROR +* RELEASE_KEEP_RESULT_TYPE_INVALID_DATA +* RELEASE_KEEP_RESULT_TYPE_KEEP_DOES_NOT_EXIST +* RELEASE_KEEP_RESULT_TYPE_NOT_IN_GUILD +* RELEASE_KEEP_RESULT_TYPE_SOCIAL_DISABLED +* RELEASE_KEEP_RESULT_TYPE_STILL_ON_COOLDOWN +* RELEASE_KEEP_RESULT_TYPE_SUCCESS + + h5. ScoreTrackerEntryType * SCORE_TRACKER_TYPE_ASSISTS * SCORE_TRACKER_TYPE_CAPTURE_DEFENSE_POINTS @@ -2515,6 +2571,7 @@ h5. Chapter * CHAPTER_GLACIER * CHAPTER_MAGMA * CHAPTER_MESA +* CHAPTER_PENINSULA * CHAPTER_SCARP * CHAPTER_VOLCANO @@ -2546,6 +2603,7 @@ h5. CollectibleCategorySpecialization h5. CollectibleCategoryType +* COLLECTIBLE_CATEGORY_TYPE_ABILITY_FX_OVERRIDE * COLLECTIBLE_CATEGORY_TYPE_ABILITY_SKIN * COLLECTIBLE_CATEGORY_TYPE_ACCOUNT_SERVICE * COLLECTIBLE_CATEGORY_TYPE_ACCOUNT_UPGRADE @@ -2624,6 +2682,7 @@ h5. CollectibleUsageBlockReason * COLLECTIBLE_USAGE_BLOCK_REASON_IN_HIDEY_HOLE * COLLECTIBLE_USAGE_BLOCK_REASON_IN_WATER * COLLECTIBLE_USAGE_BLOCK_REASON_MAX_NUMBER_EQUIPPED +* COLLECTIBLE_USAGE_BLOCK_REASON_MOUNT_IN_COMBAT * COLLECTIBLE_USAGE_BLOCK_REASON_NOT_BLOCKED * COLLECTIBLE_USAGE_BLOCK_REASON_ON_COOLDOWN * COLLECTIBLE_USAGE_BLOCK_REASON_ON_MOUNT @@ -2631,6 +2690,7 @@ h5. CollectibleUsageBlockReason * COLLECTIBLE_USAGE_BLOCK_REASON_QUEST_FOLLOWER * COLLECTIBLE_USAGE_BLOCK_REASON_TARGET_REQUIRED * COLLECTIBLE_USAGE_BLOCK_REASON_TEMPORARILY_DISABLED +* COLLECTIBLE_USAGE_BLOCK_REASON_UNACQUIRED_SKILL * COLLECTIBLE_USAGE_BLOCK_REASON_UNUSABLE_BY_COMPANION * COLLECTIBLE_USAGE_BLOCK_REASON_WORLD_BOSS * COLLECTIBLE_USAGE_BLOCK_REASON_WORLD_EVENT @@ -2765,6 +2825,7 @@ h5. BossRank * BOSS_RANK_FOUR * BOSS_RANK_NOT_A_BOSS * BOSS_RANK_ONE +* BOSS_RANK_SEVEN * BOSS_RANK_SIX * BOSS_RANK_THREE * BOSS_RANK_TWO @@ -3007,6 +3068,12 @@ h5. EncounterLogLineType * ENCOUNTER_LOG_LINE_TYPE_COMBAT_EVENT * ENCOUNTER_LOG_LINE_TYPE_EFFECT_CHANGED * ENCOUNTER_LOG_LINE_TYPE_EFFECT_INFO +* ENCOUNTER_LOG_LINE_TYPE_ENDLESS_DUNGEON_BEGIN +* ENCOUNTER_LOG_LINE_TYPE_ENDLESS_DUNGEON_BUFF_ADDED +* ENCOUNTER_LOG_LINE_TYPE_ENDLESS_DUNGEON_BUFF_REMOVED +* ENCOUNTER_LOG_LINE_TYPE_ENDLESS_DUNGEON_END +* ENCOUNTER_LOG_LINE_TYPE_ENDLESS_DUNGEON_INIT +* ENCOUNTER_LOG_LINE_TYPE_ENDLESS_DUNGEON_STAGE_END * ENCOUNTER_LOG_LINE_TYPE_END_CAST * ENCOUNTER_LOG_LINE_TYPE_END_COMBAT * ENCOUNTER_LOG_LINE_TYPE_END_LOG @@ -3045,6 +3112,7 @@ h5. MountFailureReason * MOUNT_FAILURE_REASON_IN_COMBAT * MOUNT_FAILURE_REASON_IS_BLOCKING * MOUNT_FAILURE_REASON_IS_WEREWOLF +* MOUNT_FAILURE_REASON_MOUNT_IN_COMBAT * MOUNT_FAILURE_REASON_NOT_GROUP_MOUNT * MOUNT_FAILURE_REASON_NO_ACTIVE_MOUNT @@ -4196,7 +4264,7 @@ h5. InterfaceColorType * INTERFACE_COLOR_TYPE_ANTIQUITY_QUALITY_COLORS * INTERFACE_COLOR_TYPE_ATTRIBUTE_TOOLTIP * INTERFACE_COLOR_TYPE_ATTRIBUTE_UPGRADE_PROJECTED -* INTERFACE_COLOR_TYPE_BATTLEGROUND_ALLIANCE +* INTERFACE_COLOR_TYPE_BATTLEGROUND_TEAM * INTERFACE_COLOR_TYPE_BOOK_MEDIUM * INTERFACE_COLOR_TYPE_BUFF_TYPE * INTERFACE_COLOR_TYPE_CAST_BAR_END @@ -4220,6 +4288,8 @@ h5. InterfaceColorType * INTERFACE_COLOR_TYPE_MAP_PIN * INTERFACE_COLOR_TYPE_MARKET_COLORS * INTERFACE_COLOR_TYPE_NAME_PLATE +* INTERFACE_COLOR_TYPE_NAME_PLATE_EFFECT_VISUAL_END +* INTERFACE_COLOR_TYPE_NAME_PLATE_EFFECT_VISUAL_START * INTERFACE_COLOR_TYPE_NAME_PLATE_HEALTH_END * INTERFACE_COLOR_TYPE_NAME_PLATE_HEALTH_START * INTERFACE_COLOR_TYPE_NAME_PLATE_HIT_INDICATOR @@ -4600,6 +4670,22 @@ h5. GamepadItemCategory * GAMEPAD_ITEM_CATEGORY_BOW * GAMEPAD_ITEM_CATEGORY_CHEST * GAMEPAD_ITEM_CATEGORY_CLOTHIER +* GAMEPAD_ITEM_CATEGORY_COMPANION_AMULET +* GAMEPAD_ITEM_CATEGORY_COMPANION_AXE +* GAMEPAD_ITEM_CATEGORY_COMPANION_BOW +* GAMEPAD_ITEM_CATEGORY_COMPANION_CHEST +* GAMEPAD_ITEM_CATEGORY_COMPANION_DAGGER +* GAMEPAD_ITEM_CATEGORY_COMPANION_FEET +* GAMEPAD_ITEM_CATEGORY_COMPANION_HAMMER +* GAMEPAD_ITEM_CATEGORY_COMPANION_HANDS +* GAMEPAD_ITEM_CATEGORY_COMPANION_HEAD +* GAMEPAD_ITEM_CATEGORY_COMPANION_LEGS +* GAMEPAD_ITEM_CATEGORY_COMPANION_RING +* GAMEPAD_ITEM_CATEGORY_COMPANION_SHIELD +* GAMEPAD_ITEM_CATEGORY_COMPANION_SHOULDERS +* GAMEPAD_ITEM_CATEGORY_COMPANION_STAFF +* GAMEPAD_ITEM_CATEGORY_COMPANION_SWORD +* GAMEPAD_ITEM_CATEGORY_COMPANION_WAIST * GAMEPAD_ITEM_CATEGORY_CONSUMABLE * GAMEPAD_ITEM_CATEGORY_COSTUME * GAMEPAD_ITEM_CATEGORY_DAGGER @@ -4648,6 +4734,29 @@ h5. GamepadWeaponCategory * GAMEPAD_WEAPON_CATEGORY_UNCATEGORIZED +h5. InventoryCountBagOption +* INVENTORY_COUNT_BAG_OPTION_BACKPACK +* INVENTORY_COUNT_BAG_OPTION_BACKPACK_AND_BANK +* INVENTORY_COUNT_BAG_OPTION_BACKPACK_AND_BANK_AND_CRAFT_BAG +* INVENTORY_COUNT_BAG_OPTION_BACKPACK_AND_CRAFT_BAG +* INVENTORY_COUNT_BAG_OPTION_BACKPACK_AND_WORN +* INVENTORY_COUNT_BAG_OPTION_BANK +* INVENTORY_COUNT_BAG_OPTION_CRAFT_BAG +* INVENTORY_COUNT_BAG_OPTION_GUILD_BANK +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANKS +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANK_EIGHT +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANK_FIVE +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANK_FOUR +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANK_NINE +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANK_ONE +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANK_SEVEN +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANK_SIX +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANK_TEN +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANK_THREE +* INVENTORY_COUNT_BAG_OPTION_HOUSE_BANK_TWO +* INVENTORY_COUNT_BAG_OPTION_WORN + + h5. InventoryUpdateReason * INVENTORY_UPDATE_REASON_ARMORY_BUILD_CHANGED * INVENTORY_UPDATE_REASON_DEFAULT @@ -4893,6 +5002,8 @@ h5. ItemType * ITEMTYPE_CONTAINER * ITEMTYPE_CONTAINER_CURRENCY * ITEMTYPE_COSTUME +* ITEMTYPE_CRAFTED_ABILITY +* ITEMTYPE_CRAFTED_ABILITY_SCRIPT * ITEMTYPE_CROWN_ITEM * ITEMTYPE_CROWN_REPAIR * ITEMTYPE_DEPRECATED @@ -4935,6 +5046,7 @@ h5. ItemType * ITEMTYPE_REAGENT * ITEMTYPE_RECALL_STONE * ITEMTYPE_RECIPE +* ITEMTYPE_SCRIBING_INK * ITEMTYPE_SIEGE * ITEMTYPE_SOUL_GEM * ITEMTYPE_SPICE @@ -5016,10 +5128,13 @@ h5. ItemUISoundCategory * ITEM_SOUND_CATEGORY_BOW * ITEM_SOUND_CATEGORY_BREAD * ITEM_SOUND_CATEGORY_CLOTH_COMPONENT +* ITEM_SOUND_CATEGORY_CRAFTED_ABILITY +* ITEM_SOUND_CATEGORY_CRAFTED_ABILITY_SCRIPT * ITEM_SOUND_CATEGORY_CUSTOM_SOUND * ITEM_SOUND_CATEGORY_DAGGER * ITEM_SOUND_CATEGORY_DEFAULT * ITEM_SOUND_CATEGORY_DRINK +* ITEM_SOUND_CATEGORY_ENCHANTED_MEDALLION * ITEM_SOUND_CATEGORY_ENCHANTMENT * ITEM_SOUND_CATEGORY_FISH * ITEM_SOUND_CATEGORY_FOOD @@ -5063,6 +5178,8 @@ h5. ItemUseType * ITEM_USE_TYPE_COLLECTIBLE_GRANT * ITEM_USE_TYPE_COMBINATION * ITEM_USE_TYPE_COSTUME_DYE_STAMP +* ITEM_USE_TYPE_CRAFTED_ABILITY +* ITEM_USE_TYPE_CRAFTED_ABILITY_SCRIPT * ITEM_USE_TYPE_FILLET_FISH * ITEM_USE_TYPE_ITEM_DYE_STAMP * ITEM_USE_TYPE_KEEP_RECALL_STONE @@ -5099,6 +5216,12 @@ h5. OwnershipStatusType * OWNERSHIP_STATUS_STOLEN +h5. ScribingItemUseResult +* SCRIBING_ITEM_USE_RESULT_CRAFTED_ABILITY_ALREADY_UNLOCKED +* SCRIBING_ITEM_USE_RESULT_CRAFTED_ABILITY_SCRIPT_ALREADY_UNLOCKED +* SCRIBING_ITEM_USE_RESULT_NONE + + h5. SmithingDeconstructionType * SMITHING_DECONSTRUCTION_TYPE_ARMOR * SMITHING_DECONSTRUCTION_TYPE_JEWELRY @@ -5150,6 +5273,10 @@ h5. SpecializedItemType * SPECIALIZED_ITEMTYPE_CONTAINER_EVENT * SPECIALIZED_ITEMTYPE_CONTAINER_STYLE_PAGE * SPECIALIZED_ITEMTYPE_COSTUME +* SPECIALIZED_ITEMTYPE_CRAFTED_ABILITY +* SPECIALIZED_ITEMTYPE_CRAFTED_ABILITY_SCRIPT_PRIMARY +* SPECIALIZED_ITEMTYPE_CRAFTED_ABILITY_SCRIPT_SECONDARY +* SPECIALIZED_ITEMTYPE_CRAFTED_ABILITY_SCRIPT_TERTIARY * SPECIALIZED_ITEMTYPE_CROWN_ITEM * SPECIALIZED_ITEMTYPE_CROWN_REPAIR * SPECIALIZED_ITEMTYPE_DISGUISE @@ -5235,6 +5362,7 @@ h5. SpecializedItemType * SPECIALIZED_ITEMTYPE_RECIPE_PROVISIONING_STANDARD_DRINK * SPECIALIZED_ITEMTYPE_RECIPE_PROVISIONING_STANDARD_FOOD * SPECIALIZED_ITEMTYPE_RECIPE_WOODWORKING_BLUEPRINT_FURNISHING +* SPECIALIZED_ITEMTYPE_SCRIBING_INK * SPECIALIZED_ITEMTYPE_SIEGE_BALLISTA * SPECIALIZED_ITEMTYPE_SIEGE_CATAPULT * SPECIALIZED_ITEMTYPE_SIEGE_GRAVEYARD @@ -5289,21 +5417,26 @@ h5. TradeskillResult * CRAFTING_RESULT_CRAFT_SUCCESS * CRAFTING_RESULT_DECONSTRUCT_BAD_QUANTITY * CRAFTING_RESULT_DECONSTRUCT_SUCCESS +* CRAFTING_RESULT_EMPTY_SCRIPT_SLOT * CRAFTING_RESULT_FAILED_TO_ADD_CRAFTING_RESULT * CRAFTING_RESULT_FAIL_MATERIAL_REQUIREMENTS * CRAFTING_RESULT_FAIL_PATTERN_REQUIREMENTS +* CRAFTING_RESULT_GRIMOIRE_DISABLED * CRAFTING_RESULT_IMPROVE_FAILED * CRAFTING_RESULT_INTERNAL_ERROR * CRAFTING_RESULT_INTERRUPTED * CRAFTING_RESULT_INVALID_ALCHEMY_INGREDIENT * CRAFTING_RESULT_INVALID_BASE * CRAFTING_RESULT_INVALID_CRAFTING_RESULT +* CRAFTING_RESULT_INVALID_GRIMOIRE * CRAFTING_RESULT_INVALID_MATERIAL * CRAFTING_RESULT_INVALID_PATTERN * CRAFTING_RESULT_INVALID_REAGENT * CRAFTING_RESULT_INVALID_RESEARCH * CRAFTING_RESULT_INVALID_RESEARCH_TRADESKILL * CRAFTING_RESULT_INVALID_RUNE +* CRAFTING_RESULT_INVALID_SCRIBING_COMBINATION +* CRAFTING_RESULT_INVALID_SCRIPT * CRAFTING_RESULT_INVALID_STYLE_MATERIAL * CRAFTING_RESULT_INVALID_TRAIT_MATERIAL * CRAFTING_RESULT_INVENTORY_FULL @@ -5338,6 +5471,8 @@ h5. TradeskillResult * CRAFTING_RESULT_NO_RECIPE * CRAFTING_RESULT_NO_RESULT * CRAFTING_RESULT_REFINE_SUCCESS +* CRAFTING_RESULT_SCRIBING_DISABLED +* CRAFTING_RESULT_SKILL_UNCHANGED * CRAFTING_RESULT_SOME_STATIONS_NOT_CONSUMED * CRAFTING_RESULT_TOO_FEW_REAGENTS * CRAFTING_RESULT_TOO_LOW_LEVEL_FOR_STYLE @@ -5349,6 +5484,8 @@ h5. TradeskillResult * CRAFTING_RESULT_UNKNOWN_RECIPE * CRAFTING_RESULT_UNKNOWN_SKILL_DECONSTRUCT * CRAFTING_RESULT_UNKNOWN_SKILL_REFINE +* CRAFTING_RESULT_UNOWNED_GRIMOIRE +* CRAFTING_RESULT_UNOWNED_SCRIPT * CRAFTING_RESULT_WRONG_ADDITIVE_CATEGORY * CRAFTING_RESULT_WRONG_BOOSTER * CRAFTING_RESULT_WRONG_STYLE_CRAFT @@ -5486,6 +5623,7 @@ h5. QuestType * QUEST_TYPE_NONE * QUEST_TYPE_PROLOGUE * QUEST_TYPE_RAID +* QUEST_TYPE_SCRIBING * QUEST_TYPE_TRIBUTE * QUEST_TYPE_UNDAUNTED_PLEDGE @@ -5527,6 +5665,7 @@ h5. AccessibilitySetting * ACCESSIBILITY_SETTING_SCREEN_NARRATION * ACCESSIBILITY_SETTING_SEND_TRANSCRIPT_TO_TEXT_CHAT * ACCESSIBILITY_SETTING_TEXT_CHAT_NARRATION +* ACCESSIBILITY_SETTING_TEXT_INPUT_NARRATION * ACCESSIBILITY_SETTING_VOICE_CHAT_ACCESSIBILITY * ACCESSIBILITY_SETTING_ZONE_CHAT_NARRATION @@ -5977,6 +6116,11 @@ h5. ScreenspaceWaterReflectionQuality * SCREENSPACE_WATER_REFLECTION_QUALITY_ULTRA +h5. SetOptions +* SETTINGS_SET_OPTION_DO_NOT_SAVE_TO_PERSISTED_DATA +* SETTINGS_SET_OPTION_SAVE_TO_PERSISTED_DATA + + h5. SettingSystemPanel * SETTING_PANEL_ACCESSIBILITY * SETTING_PANEL_ACCOUNT @@ -6097,6 +6241,21 @@ h5. Globals h5. Globals +h5. GregorianCalendarMonths +* GREGORIAN_CALENDAR_MONTHS_MONTH_EIGHT +* GREGORIAN_CALENDAR_MONTHS_MONTH_ELEVEN +* GREGORIAN_CALENDAR_MONTHS_MONTH_FIVE +* GREGORIAN_CALENDAR_MONTHS_MONTH_FOUR +* GREGORIAN_CALENDAR_MONTHS_MONTH_NINE +* GREGORIAN_CALENDAR_MONTHS_MONTH_ONE +* GREGORIAN_CALENDAR_MONTHS_MONTH_SEVEN +* GREGORIAN_CALENDAR_MONTHS_MONTH_SIX +* GREGORIAN_CALENDAR_MONTHS_MONTH_TEN +* GREGORIAN_CALENDAR_MONTHS_MONTH_THREE +* GREGORIAN_CALENDAR_MONTHS_MONTH_TWELVE +* GREGORIAN_CALENDAR_MONTHS_MONTH_TWO + + h5. TimeFormatDirectionCode * TIME_FORMAT_DIRECTION_ASCENDING * TIME_FORMAT_DIRECTION_DESCENDING @@ -6199,6 +6358,13 @@ h5. Globals h5. Globals +h5. MacroEditorNodeType +* MACRO_EDITOR_NODE_TYPE_COMMAND_MACRO +* MACRO_EDITOR_NODE_TYPE_FOLDER +* MACRO_EDITOR_NODE_TYPE_INFO +* MACRO_EDITOR_NODE_TYPE_LUA_MACRO + + h5. Globals @@ -6415,11 +6581,13 @@ h5. RespecPaymentType h5. RespecResult +* RESPEC_RESULT_ABILITY_DISABLED * RESPEC_RESULT_ACTIVE_ABILITY_IS_AUTOGRANT * RESPEC_RESULT_ACTIVE_ABILITY_NOT_FOUND * RESPEC_RESULT_ACTIVE_ABILITY_NOT_PURCHASED * RESPEC_RESULT_ACTIVE_ABILITY_PREREQS_UNMET * RESPEC_RESULT_ACTIVE_HOTBAR_NOT_RESPECCABLE +* RESPEC_RESULT_CRAFTED_ABILITY_SCRIPT_DISABLED * RESPEC_RESULT_HAS_NO_CHANGES * RESPEC_RESULT_HOTBAR_ABILITY_ILLEGAL_SLOT * RESPEC_RESULT_HOTBAR_ABILITY_NOT_FOUND @@ -6453,6 +6621,7 @@ h5. RespecResult * RESPEC_RESULT_PASSIVE_ABILITY_PREREQS_UNMET * RESPEC_RESULT_REMOVED_ABILITIES_DURING_PURCHASE_MODE * RESPEC_RESULT_REMOVED_NON_MORPH_DURING_MORPH_MODE +* RESPEC_RESULT_SCRIBING_DISABLED * RESPEC_RESULT_SUCCESS * RESPEC_RESULT_UNKNOWN_REPEC_REQUEST_TYPE @@ -6785,6 +6954,15 @@ h5. WorldEventLocationContext * WORLD_EVENT_LOCATION_CONTEXT_UNIT +h5. WorldEventType +* WORLD_EVENT_TYPE_DARK_ANCHOR +* WORLD_EVENT_TYPE_FISSURE +* WORLD_EVENT_TYPE_GEYSER +* WORLD_EVENT_TYPE_HARROWSTORM +* WORLD_EVENT_TYPE_MIRRORMOOR +* WORLD_EVENT_TYPE_MONSTER_HUNT + + h5. ZoneCompletionType * ZONE_COMPLETION_TYPE_DELVES * ZONE_COMPLETION_TYPE_FEATURED_ACHIEVEMENTS @@ -7927,6 +8105,7 @@ h5. TributeMechanic * TRIBUTE_MECHANIC_GAIN_RESOURCES * TRIBUTE_MECHANIC_HEAL_AGENT * TRIBUTE_MECHANIC_KO_AGENT +* TRIBUTE_MECHANIC_KO_ALL * TRIBUTE_MECHANIC_LOSE_RESOURCES * TRIBUTE_MECHANIC_REFRESH_CARDS * TRIBUTE_MECHANIC_TAVERN_REPLACE @@ -7965,6 +8144,14 @@ h5. TributeMoveAction * TRIBUTE_MOVE_ACTION_USE_POWER_TO_DAMAGE_AGENT +h5. TributeNPCSkillLevel +* TRIBUTE_NPC_SKILL_LEVEL_ADEPT +* TRIBUTE_NPC_SKILL_LEVEL_HIDDEN_MASTER +* TRIBUTE_NPC_SKILL_LEVEL_INVALID +* TRIBUTE_NPC_SKILL_LEVEL_NOVICE +* TRIBUTE_NPC_SKILL_LEVEL_VETERAN + + h5. TributePatronDraftId * TRIBUTE_PATRON_DRAFT_ID_FIRST_PLAYER_FIRST_PICK * TRIBUTE_PATRON_DRAFT_ID_FIRST_PLAYER_SECOND_PICK @@ -8085,6 +8272,8 @@ h5. ClientInteractResult * CLIENT_INTERACT_RESULT_PICKPOCKET_ON_COOLDOWN * CLIENT_INTERACT_RESULT_PICKPOCKET_OUT_OF_POSITION * CLIENT_INTERACT_RESULT_PICKPOCKET_TOO_FAR +* CLIENT_INTERACT_RESULT_SCRIBING_DISABLED +* CLIENT_INTERACT_RESULT_SCRIBING_INTERNAL_ERROR * CLIENT_INTERACT_RESULT_SHUNNED * CLIENT_INTERACT_RESULT_SHUNNED_FEARFUL_VAMPIRE * CLIENT_INTERACT_RESULT_SHUNNED_FEARFUL_WEREWOLF @@ -8406,8 +8595,32 @@ h5. MailAttachmentResult * MAIL_ATTACHMENT_RESULT_SUCCESS +h5. MailCategory +* MAIL_CATEGORY_INFO_ONLY_SYSTEM_MAIL +* MAIL_CATEGORY_PLAYER_MAIL +* MAIL_CATEGORY_SYSTEM_MAIL + + +h5. MailExpirationType +* MAIL_EXPIRE_TYPE_DEFAULT +* MAIL_EXPIRE_TYPE_EXTREMELY_LONG +* MAIL_EXPIRE_TYPE_LONG +* MAIL_EXPIRE_TYPE_SHORT +* MAIL_EXPIRE_TYPE_VERY_LONG +* MAIL_EXPIRE_TYPE_VERY_SHORT + + +h5. MailTakeAttachmentResult +* MAIL_TAKE_ATTACHMENT_RESULT_FAIL_ALREADY_HAS_UNIQUE_ITEM +* MAIL_TAKE_ATTACHMENT_RESULT_FAIL_NOTHING_TO_CLAIM +* MAIL_TAKE_ATTACHMENT_RESULT_FAIL_NO_INVENTORY_SPACE +* MAIL_TAKE_ATTACHMENT_RESULT_FAIL_SERVER_ERROR +* MAIL_TAKE_ATTACHMENT_RESULT_SUCCESS + + h5. RequestReadMailResult * REQUEST_READ_MAIL_RESULT_ALREADY_REQUESTED +* REQUEST_READ_MAIL_RESULT_ANOTHER_REQUEST_PENDING * REQUEST_READ_MAIL_RESULT_NOT_IN_MAIL_INTERACTION * REQUEST_READ_MAIL_RESULT_NO_SUCH_MAIL * REQUEST_READ_MAIL_RESULT_SUCCESS_CACHED @@ -8435,8 +8648,9 @@ h5. SendMailResult h5. Globals +* MAIL_EXPIRATION_IMMINENT_THRESHOLD_DAYS * MAIL_MAX_ATTACHED_ITEMS -* MAX_LOCAL_MAILS +* MAX_MAILS_PER_CATEGORY h5. ChannelType @@ -8741,6 +8955,15 @@ h5. CraftingProcessContext * CRAFTING_PROCESS_CONTEXT_NONE +h5. HirelingType +* HIRELING_TYPE_BLACKSMITHING +* HIRELING_TYPE_CLOTHIER +* HIRELING_TYPE_ENCHANTING +* HIRELING_TYPE_JEWELRYCRAFTING +* HIRELING_TYPE_PROVISIONING +* HIRELING_TYPE_WOODWORKING + + h5. PlayerFxWhileHarvestingType * PLAYER_FX_WHILE_HARVESTING_TYPE_CHOPPING_WOOD * PLAYER_FX_WHILE_HARVESTING_TYPE_GATHERING_LEATHER @@ -8806,6 +9029,41 @@ h5. RetraitResponse * RETRAIT_RESPONSE_SUCCESS +h5. ScribingErrorResult +* SCRIBING_ERROR_RESULT_CANNOT_OVERWRITE_CRAFTED_ABILITY +* SCRIBING_ERROR_RESULT_CRAFTED_ABILITY_ALREADY_UNLOCKED +* SCRIBING_ERROR_RESULT_CRAFTED_ABILITY_NOT_UNLOCKED +* SCRIBING_ERROR_RESULT_CRAFTED_ABILITY_SCRIPT_NOT_LOCKED +* SCRIBING_ERROR_RESULT_CRAFTED_ABILITY_SCRIPT_NOT_UNLOCKED +* SCRIBING_ERROR_RESULT_DUPLICATE_CRAFTED_ABILITY +* SCRIBING_ERROR_RESULT_FAILED_SKILL_TRANSITION +* SCRIBING_ERROR_RESULT_FAILED_TO_REMOVE_CRAFTED_ABILITY +* SCRIBING_ERROR_RESULT_FAILURE_TO_LOCK_CRAFTED_ABILITY_SCRIPT +* SCRIBING_ERROR_RESULT_FAILURE_TO_UNLOCK_CRAFTED_ABILITY_SCRIPT +* SCRIBING_ERROR_RESULT_INVALID_CRAFTED_ABILITY_DEF +* SCRIBING_ERROR_RESULT_INVALID_CRAFTED_ABILITY_SCRIPT_DEF +* SCRIBING_ERROR_RESULT_INVALID_CRAFTED_ABILITY_TYPE +* SCRIBING_ERROR_RESULT_INVALID_ENTRY_POINT +* SCRIBING_ERROR_RESULT_INVALID_LINKED_SKILL +* SCRIBING_ERROR_RESULT_MARKED_FOR_DELETE +* SCRIBING_ERROR_RESULT_NONE +* SCRIBING_ERROR_RESULT_NO_SCRIPTS_UPDATED +* SCRIBING_ERROR_RESULT_PRIMARY_CRAFTED_ABILITY_SCRIPT_DISABLED +* SCRIBING_ERROR_RESULT_PRIMARY_CRAFTED_ABILITY_SCRIPT_NOT_UNLOCKED +* SCRIBING_ERROR_RESULT_SECONDARY_CRAFTED_ABILITY_SCRIPT_DISABLED +* SCRIBING_ERROR_RESULT_SECONDARY_CRAFTED_ABILITY_SCRIPT_NOT_UNLOCKED +* SCRIBING_ERROR_RESULT_TERTIARY_CRAFTED_ABILITY_SCRIPT_DISABLED +* SCRIBING_ERROR_RESULT_TERTIARY_CRAFTED_ABILITY_SCRIPT_NOT_UNLOCKED + + +h5. ScribingTooltipDisplayFlags +* SCRIBING_TOOLTIP_DISPLAY_FLAGS_SCRIPT_COMPATIBILITY_ERROR +* SCRIBING_TOOLTIP_DISPLAY_FLAGS_SCRIPT_LOCKED_ERROR +* SCRIBING_TOOLTIP_DISPLAY_FLAGS_SHOW_ACQUIRE_HINT +* SCRIBING_TOOLTIP_DISPLAY_FLAGS_SHOW_ERRORS +* SCRIBING_TOOLTIP_DISPLAY_FLAGS_SHOW_SELECTED_SCRIPTS + + h5. TradeskillType * CRAFTING_TYPE_ALCHEMY * CRAFTING_TYPE_BLACKSMITHING @@ -8814,6 +9072,7 @@ h5. TradeskillType * CRAFTING_TYPE_INVALID * CRAFTING_TYPE_JEWELRYCRAFTING * CRAFTING_TYPE_PROVISIONING +* CRAFTING_TYPE_SCRIBING * CRAFTING_TYPE_WOODWORKING @@ -9104,7 +9363,7 @@ h5. TutorialTrigger * TUTORIAL_TRIGGER_MAP_OPENED_PVE * TUTORIAL_TRIGGER_MARKET_OPENED * TUTORIAL_TRIGGER_MOUNTED -* TUTORIAL_TRIGGER_MOUNT_AVAILABLE +* TUTORIAL_TRIGGER_MOUNT_SET * TUTORIAL_TRIGGER_NONE * TUTORIAL_TRIGGER_NON_SUBSCRIBER_LIMIT_REACHED * TUTORIAL_TRIGGER_NOTIFICATIONS_OPENED @@ -9133,7 +9392,14 @@ h5. TutorialTrigger * TUTORIAL_TRIGGER_RETRAIT_STATION_OPENED * TUTORIAL_TRIGGER_RIDING_SKILL_MANAGEMENT_OPENED * TUTORIAL_TRIGGER_SCALEABLE_REGION_ENTERED +* TUTORIAL_TRIGGER_SCRIBING_ABILITY_SCRIBED +* TUTORIAL_TRIGGER_SCRIBING_GRIMOIRE_SELECTED +* TUTORIAL_TRIGGER_SCRIBING_OPENED +* TUTORIAL_TRIGGER_SCRIBING_SCRIPT_SELECTED * TUTORIAL_TRIGGER_SEAL_MARKET_OPENED +* TUTORIAL_TRIGGER_SKILLS_SCRIBING_OPENED +* TUTORIAL_TRIGGER_SKILLS_SKILL_STYLING +* TUTORIAL_TRIGGER_SKILL_BUILD_SELECTION_GAMEPAD * TUTORIAL_TRIGGER_SKILL_BUILD_SELECTION_POINTER_BOX * TUTORIAL_TRIGGER_SKYSHARDS_DISCOVERED * TUTORIAL_TRIGGER_STATS_OPENED @@ -9460,6 +9726,12 @@ h5. LabelLineStyle * LABEL_LINE_STYLE_WAVY +h5. MapArrowType +* MAP_ARROW_TYPE_GUTTER +* MAP_ARROW_TYPE_INSIDE +* MAP_ARROW_TYPE_NONE + + h5. MapDisplayPinType * MAP_PIN_TYPE_ACTIVE_COMPANION * MAP_PIN_TYPE_AGGRO @@ -10130,6 +10402,13 @@ h5. ScriptProfilerRecordDataType h5. Globals +h5. CharacterResolution +* CHARACTER_RESOLUTION_HIGH +* CHARACTER_RESOLUTION_LOW +* CHARACTER_RESOLUTION_MEDIUM +* CHARACTER_RESOLUTION_ULTRA + + h5. ConsoleEnhancedRenderQuality * CONSOLE_ENHANCED_RENDER_QUALITY_ENHANCED_1080 * CONSOLE_ENHANCED_RENDER_QUALITY_FOUR_K @@ -10263,7 +10542,7 @@ h2. Game API * GetAllianceName(*[Alliance|#Alliance]* _alliance_) ** _Returns:_ *string* _name_ -* GetBattlegroundAllianceName(*[BattlegroundAlliance|#BattlegroundAlliance]* _battlegroundAlliance_) +* GetBattlegroundTeamName(*[BattlegroundTeam|#BattlegroundTeam]* _battlegroundTeam_) ** _Returns:_ *string* _name_ * GetNumClasses() @@ -10462,6 +10741,9 @@ h2. Game API * IsSystemUsingHDR() ** _Returns:_ *bool* _usesHDR_ +* CanSystemEnableHDR() +** _Returns:_ *bool* _canEnableHDR_ + * ShouldShowAdvancedUIErrors() ** _Returns:_ *bool* _shouldShowAdvancedUIErrors_ @@ -11281,7 +11563,7 @@ h2. Game API * AddBackgroundListFilterType(*integer* _taskId_, *[BackgroundListFilterType|#BackgroundListFilterType]* _filterType_) -* AddBackgroundListFilterEntry(*integer* _taskId_, *integer* _value1_, *integer* _value2_) +* AddBackgroundListFilterEntry(*integer* _taskId_, *integer* _value1_, *integer* _value2_, *integer* _value3_, *integer* _value4_) * AddBackgroundListFilterEntry64(*integer* _taskId_, *id64* _value_) @@ -11293,7 +11575,7 @@ h2. Game API ** _Returns:_ *integer* _numResults_ * GetBackgroundListFilterResult(*integer* _taskId_, *luaindex* _resultIndex_) -** _Returns:_ *integer* _value1_, *integer* _value2_ +** _Returns:_ *integer* _value1_, *integer* _value2_, *integer* _value3_, *integer* _value4_ * GetBackgroundListFilterResult64(*integer* _taskId_, *luaindex* _resultIndex_) ** _Returns:_ *id64* _value_ @@ -11327,6 +11609,9 @@ h2. Game API * IsCollectiblePurchasable(*integer* _collectibleId_) ** _Returns:_ *bool* _isPurchasable_ +* GetPurchasableCollectibleIdForCollectible(*integer* _collectibleId_) +** _Returns:_ *integer* _purchasableCollectibleId_ + * GetNumServiceTokens(*[ServiceTokenType|#ServiceTokenType]* _tokenType_) ** _Returns:_ *integer* _numTokens_ @@ -11544,8 +11829,8 @@ h2. Game API * AreUnitsCurrentlyAllied(*string* _unitTag1_, *string* _unitTag2_) ** _Returns:_ *bool* _allied_ -* GetUnitBattlegroundAlliance(*string* _unitTag_) -** _Returns:_ *[BattlegroundAlliance|#BattlegroundAlliance]* _battlegroundAlliance_ +* GetUnitBattlegroundTeam(*string* _unitTag_) +** _Returns:_ *[BattlegroundTeam|#BattlegroundTeam]* _battlegroundTeam_ * GetUnitRace(*string* _unitTag_) ** _Returns:_ *string* _race_ @@ -11772,10 +12057,13 @@ h2. Game API ** _Returns:_ *string* _name_, *string* _texture_, *integer* _rank_, *integer* _actionSlotType_, *bool* _passive_, *bool* _showInSpellbook_ * IsValidAbilityForSlot(*luaindex* _abilityIndex_, *luaindex* _actionSlotIndex_) -** _Returns:_ *bool* _valid_ +** _Returns:_ *bool* _isValid_ + +* IsValidCraftedAbilityForSlot(*integer* _craftedAbilityId_, *luaindex* _actionSlotIndex_) +** _Returns:_ *bool* _isValid_ * IsValidItemForSlot(*[Bag|#Bag]* _bagId_, *integer* _bagSlotIndex_, *luaindex* _actionSlotIndex_, *[HotBarCategory|#HotBarCategory]* _hotbarCategory_) -** _Returns:_ *bool* _valid_ +** _Returns:_ *bool* _isValid_ * IsValidItemForSlotByItemId(*integer* _itemId_, *luaindex* _actionSlotIndex_, *[HotBarCategory|#HotBarCategory]* _hotbarCategory_) ** _Returns:_ *bool* _valid_ @@ -12239,6 +12527,9 @@ h2. Game API * GetCursorAbilityId() ** _Returns:_ *integer:nilable* _abilityId_ +* GetCursorCraftedAbilityId() +** _Returns:_ *integer:nilable* _craftedAbilityId_ + * GetCursorChampionSkillId() ** _Returns:_ *integer:nilable* _championSkillId_ @@ -12251,6 +12542,9 @@ h2. Game API * GetCursorQuestItemId() ** _Returns:_ *integer:nilable* _questItemId_ +* GetCursorCraftedAbilityScriptId() +** _Returns:_ *integer:nilable* _scriptId_ + * PlaceInActionBar *protected* (*luaindex* _actionSlot_, *[HotBarCategory|#HotBarCategory]:nilable* _hotbarCategory_) * PlaceInInventory *protected* (*[Bag|#Bag]* _bagId_, *integer* _slotIndex_) @@ -12297,6 +12591,10 @@ h2. Game API * PickupQuickChatById *protected* (*integer* _quickChatId_) +* PickupCraftedAbility *protected* (*integer* _craftedAbilityId_) + +* PickupCraftedAbilityScript *protected* (*integer* _craftedAbilityScriptId_) + * RespondToDestroyRequest *private* (*bool* _destroyItem_) * PlaceInTradingHouse *protected* () @@ -12974,7 +13272,7 @@ h2. Game API ** _Uses variable returns..._ ** _Returns:_ *string* _newEffect_ -* GetAbilityBuffType(*integer* _abilityId_) +* GetAbilityBuffType(*integer* _abilityId_, *string* _casterUnitTag_) ** _Returns:_ *[BuffType|#BuffType]* _buffType_ * ShouldAbilityShowAsUsableWithDuration(*integer* _abilityId_) @@ -13261,7 +13559,7 @@ h2. Game API * IsChatLogEnabled() ** _Returns:_ *bool* _isEnabled_ -* SetPendingInteractionConfirmed(*bool* _isConfirmed_) +* ReplyToPendingInteraction(*bool* _isConfirmed_) * IsUnderArrest() ** _Returns:_ *bool* _beingArrested_ @@ -13727,6 +14025,9 @@ h2. Game API * GenerateMasterWritRewardText(*string* _itemLink_) ** _Returns:_ *string* _description_ +* GenerateCraftedAbilityScriptSlotDescriptionForAbilityDescription(*integer* _abilityId_, *[ScribingSlot|#ScribingSlot]* _slotType_, *string* _casterUnitTag_) +** _Returns:_ *string* _description_ + * GetNumPOIs(*luaindex* _zoneIndex_) ** _Returns:_ *integer* _numPOIs_ @@ -14048,10 +14349,10 @@ h2. Game API ** _Returns:_ *integer* _numItems_ * GetScoreboardEntryInfo(*luaindex* _slotIndex_) -** _Returns:_ *string* _characterName_, *string* _displayName_, *[BattlegroundAlliance|#BattlegroundAlliance]* _alliance_, *bool* _isLocalPlayer_ +** _Returns:_ *string* _characterName_, *string* _displayName_, *[BattlegroundTeam|#BattlegroundTeam]* _team_, *bool* _isLocalPlayer_ -* GetScoreboardEntryBattlegroundAlliance(*luaindex* _slotIndex_) -** _Returns:_ *[BattlegroundAlliance|#BattlegroundAlliance]* _alliance_ +* GetScoreboardEntryBattlegroundTeam(*luaindex* _slotIndex_) +** _Returns:_ *[BattlegroundTeam|#BattlegroundTeam]* _team_ * GetScoreboardEntryClassId(*luaindex* _slotIndex_) ** _Returns:_ *integer* _classId_ @@ -14068,7 +14369,7 @@ h2. Game API * GetScoringTeam() ** _Returns:_ *integer* _result_ -* GetCurrentBattlegroundScore(*[BattlegroundAlliance|#BattlegroundAlliance]* _alliance_) +* GetCurrentBattlegroundScore(*[BattlegroundTeam|#BattlegroundTeam]* _team_) ** _Returns:_ *integer* _score_ * GetCurrentBattlegroundState() @@ -14366,7 +14667,7 @@ h2. Game API ** _Returns:_ *integer* _numSeconds_ * GetStoreEntryInfo(*luaindex* _entryIndex_) -** _Returns:_ *textureName* _icon_, *string* _name_, *integer* _stack_, *integer* _price_, *integer* _sellPrice_, *bool* _meetsRequirementsToBuy_, *bool* _meetsRequirementsToUse_, *integer* _quality_, *bool* _questNameColor_, *[CurrencyType|#CurrencyType]* _currencyType1_, *integer* _currencyQuantity1_, *[CurrencyType|#CurrencyType]* _currencyType2_, *integer* _currencyQuantity2_, *[StoreEntryType|#StoreEntryType]* _entryType_, *[StoreFailure|#StoreFailure]* _buyStoreFailure_, *integer* _buyErrorStringId_ +** _Returns:_ *textureName* _icon_, *string* _name_, *integer* _stack_, *integer* _price_, *integer* _sellPrice_, *bool* _meetsRequirementsToBuy_, *bool* _meetsRequirementsToUse_, *integer* _quality_, *bool* _questNameColor_, *[CurrencyType|#CurrencyType]* _currencyType1_, *integer* _currencyQuantity1_, *[CurrencyType|#CurrencyType]* _currencyType2_, *integer* _currencyQuantity2_, *[StoreEntryType|#StoreEntryType]* _entryType_, *[StoreFailure|#StoreFailure]* _buyStoreFailure_, *integer* _buyErrorStringId_, *integer* _actorCategory_ * GetStoreCollectibleInfo(*luaindex* _entryIndex_) ** _Returns:_ *integer* _collectibleId_, *bool* _owned_ @@ -14850,6 +15151,9 @@ h2. Game API * GetProgressionSkillMorphSlotRankXPExtents(*integer* _progressionId_, *[MorphSlot|#MorphSlot]* _morphSlot_, *integer* _rank_) ** _Returns:_ *integer* _startXP_, *integer* _endXP_ +* GetCraftedAbilitySkillCraftedAbilityId(*[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_, *luaindex* _skillIndex_) +** _Returns:_ *integer* _craftedAbilityId_ + * GetSpecificSkillAbilityInfo(*[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_, *luaindex* _skillIndex_, *integer* _morphChoice_, *integer* _rank_) ** _Returns:_ *integer* _abilityId_, *luaindex* _skillLineRankNeeded_ @@ -14865,6 +15169,9 @@ h2. Game API * IsSkillAbilityPassive(*[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_, *luaindex* _skillIndex_) ** _Returns:_ *bool* _isPassive_ +* IsCraftedAbilitySkill(*[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_, *luaindex* _skillIndex_) +** _Returns:_ *bool* _isCraftedAbility_ + * IsSkillAbilityUltimate(*[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_, *luaindex* _skillIndex_) ** _Returns:_ *bool* _isUltimate_ @@ -14882,6 +15189,9 @@ h2. Game API * GetSkillAbilityIndicesFromProgressionIndex(*luaindex* _progressionIndex_) ** _Returns:_ *[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_, *luaindex* _skillIndex_ +* GetSkillAbilityIndicesFromCraftedAbilityId(*integer* _craftedAbilityId_) +** _Returns:_ *[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_, *luaindex* _skillIndex_ + * GetSkillLineIndicesFromSkillId(*integer* _skillId_) ** _Returns:_ *[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_ @@ -14994,9 +15304,15 @@ h2. Game API * SetFlashWaitTime(*integer* _waitTimeMs_) -* IsLocalMailboxFull() +* IsLocalMailboxFull(*[MailCategory|#MailCategory]* _category_) ** _Returns:_ *bool* _isFull_ +* GetNumMailItemsByCategory(*[MailCategory|#MailCategory]* _category_) +** _Returns:_ *integer* _numMail_ + +* GetMailIdByIndex(*[MailCategory|#MailCategory]* _category_, *luaindex* _index_) +** _Returns:_ *id64* _mailId_ + * GetNumMailItems() ** _Returns:_ *integer* _numMail_ @@ -15004,14 +15320,11 @@ h2. Game API ** _Returns:_ *id64:nilable* _nextMailId_ * GetMailItemInfo(*id64* _mailId_) -** _Returns:_ *string* _senderDisplayName_, *string* _senderCharacterName_, *string* _subject_, *textureName* _icon_, *bool* _unread_, *bool* _fromSystem_, *bool* _fromCustomerService_, *bool* _returned_, *integer* _numAttachments_, *integer* _attachedMoney_, *integer* _codAmount_, *integer:nilable* _expiresInDays_, *integer* _secsSinceReceived_ +** _Returns:_ *string* _senderDisplayName_, *string* _senderCharacterName_, *string* _subject_, *textureName* _icon_, *bool* _unread_, *bool* _fromSystem_, *bool* _fromCustomerService_, *bool* _returned_, *integer* _numAttachments_, *integer* _attachedMoney_, *integer* _codAmount_, *integer:nilable* _expiresInDays_, *integer* _secsSinceReceived_, *[MailCategory|#MailCategory]* _category_ * GetMailSender(*id64* _mailId_) ** _Returns:_ *string* _senderDisplayName_, *string* _senderCharacterName_ -* GetMailAttachmentInfo(*id64* _mailId_) -** _Returns:_ *integer* _numAttachments_, *integer* _attachedMoney_, *integer* _codAmount_ - * GetMailFlags(*id64* _mailId_) ** _Returns:_ *bool* _unread_, *bool* _returned_, *bool* _fromSystem_, *bool* _fromCustomerService_ @@ -15027,7 +15340,7 @@ h2. Game API * RequestReadMail(*id64* _mailId_) ** _Returns:_ *[RequestReadMailResult|#RequestReadMailResult]* _result_ -* DeleteMail(*id64* _mailId_, *bool* _forceDelete_) +* DeleteMail(*id64* _mailId_) * IsMailReturnable(*id64* _mailId_) ** _Returns:_ *bool* _isReturnable_ @@ -15077,14 +15390,18 @@ h2. Game API * TakeMailAttachedMoney(*id64* _mailId_) +* TakeMailAttachments(*id64* _mailId_, *bool* _deleteOnClaim_) + +* TakeAllMailAttachmentsInCategory(*[MailCategory|#MailCategory]* _category_, *bool* _deleteOnClaim_) + +* CanTryTakeAllMailAttachmentsInCategory(*[MailCategory|#MailCategory]* _category_, *bool* _deleteOnClaim_) +** _Returns:_ *bool* _canTakeAttachments_ + * RequestOpenMailbox() * IsReadMailInfoReady(*id64* _mailId_) ** _Returns:_ *bool* _isReady_ -* GetMaxMailItems() -** _Returns:_ *integer* _maxMail_ - * QueueItemAttachment(*[Bag|#Bag]* _bagId_, *integer* _slotIndex_, *luaindex* _attachmentSlot_) ** _Returns:_ *integer* _itemAttachmentResult_ @@ -15247,6 +15564,18 @@ h2. Game API * ChooseSkillProgressionMorphSlot(*integer* _progressionId_, *[MorphSlot|#MorphSlot]* _morphSlot_) +* GetNumProgressionSkillAbilityFxOverrides(*integer* _progressionId_) +** _Returns:_ *integer* _numAbilityFxOverrides_ + +* GetProgressionSkillAbilityFxOverrideCollectibleIdByIndex(*integer* _progressionId_, *luaindex* _index_) +** _Returns:_ *integer* _collectibleId_ + +* GetActiveProgressionSkillAbilityFxOverrideCollectibleId(*integer* _progressionId_) +** _Returns:_ *integer* _collectibleId_ + +* GetAbilityFxOverrideProgressionId(*integer* _abilityFxOverrideId_) +** _Returns:_ *integer* _progressionId_ + * PurchaseAttributes(*integer* _health_, *integer* _magicka_, *integer* _stamina_) * SendAttributePointAllocationRequest(*[RespecPaymentType|#RespecPaymentType]* _respecPaymentType_, *integer* _healthDelta_, *integer* _magickaDelta_, *integer* _staminaDelta_) @@ -15317,6 +15646,12 @@ h2. Game API * GetLoreBookOverrideImageFromBookId(*integer* _bookId_) ** _Returns:_ *textureName:nilable* _overrideImage_, *[AnchorPosition|#AnchorPosition]:nilable* _overrideImageTitlePosition_ +* GetNumUnlockedHirelingCorrespondence(*[HirelingType|#HirelingType]* _hirelingType_) +** _Returns:_ *integer* _current_, *integer* _max_ + +* GetHirelingCorrespondenceInfoByIndex(*[HirelingType|#HirelingType]* _hirelingType_, *luaindex* _index_) +** _Returns:_ *string* _sender_, *string* _subject_, *string* _message_, *textureName* _icon_ + * GetGameCameraNonInteractableName() ** _Returns:_ *string:nilable* _name_ @@ -15472,6 +15807,9 @@ h2. Game API * GetLastCraftingResultItemLink(*luaindex* _resultIndex_, *[LinkStyle|#LinkStyle]* _linkStyle_) ** _Returns:_ *string* _link_ +* GetLastCraftingResultAbilityId() +** _Returns:_ *integer* _abilityId_ + * GetTradeskillLevelPassiveAbilityId(*[TradeskillType|#TradeskillType]* _tradeskillType_) ** _Returns:_ *integer* _levelPassiveAbilityId_ @@ -15647,6 +15985,102 @@ h2. Game API * DoesPlayerHaveRunesForEnchanting(*integer* _aspectItemId_, *integer* _essenceItemId_, *integer* _potencyItemId_) ** _Returns:_ *bool* _hasRunes_ +* RequestScribe(*integer* _craftedAbilityId_, *integer* _primaryScriptId_, *integer* _secondaryScriptId_, *integer* _tertiaryScriptId_) + +* SetCraftedAbilityScriptSelectionOverride(*integer* _craftedAbilityId_, *integer* _primaryScriptId_, *integer* _secondaryScriptId_, *integer* _tertiaryScriptId_) + +* GetCraftedAbilityScriptSelectionOverride() +** _Returns:_ *integer* _craftedAbilityId_, *integer* _primaryScriptId_, *integer* _secondaryScriptId_, *integer* _tertiaryScriptId_ + +* IsCraftedAbilityScriptCompatibleWithSelections(*integer* _checkScriptId_, *integer* _craftedAbilityId_, *integer* _selectedPrimaryScriptId_, *integer* _selectedSecondaryScriptId_, *integer* _selectedTertiaryScriptId_) +** _Returns:_ *bool* _isCompatible_ + +* ResetCraftedAbilityScriptSelectionOverride() + +* IsScribingEnabled() +** _Returns:_ *bool* _isScribingEnabled_ + +* GetNumCraftedAbilities() +** _Returns:_ *integer* _numCraftedAbilities_ + +* GetCraftedAbilityIdAtIndex(*luaindex* _index_) +** _Returns:_ *integer* _craftedAbilityId_ + +* GetScribingInkItemLink(*[LinkStyle|#LinkStyle]* _linkStyle_) +** _Returns:_ *string* _link_ + +* GetCostToScribeScripts(*integer* _craftedAbilityId_, *integer* _primaryScriptId_, *integer* _secondaryScriptId_, *integer* _tertiaryScriptId_) +** _Returns:_ *integer* _cost_ + +* IsScribableScriptCombinationForCraftedAbility(*integer* _craftedAbilityId_, *integer* _selectedPrimaryScriptId_, *integer* _selectedSecondaryScriptId_, *integer* _selectedTertiaryScriptId_) +** _Returns:_ *bool* _isScribableCombination_ + +* IsCraftedAbilityScribed(*integer* _craftedAbilityId_) +** _Returns:_ *bool* _isScribed_ + +* IsCraftedAbilityScriptUnlocked(*integer* _craftedAbilityScriptId_) +** _Returns:_ *bool* _isUnlocked_ + +* GetAbilityIdForCraftedAbilityId(*integer* _craftedAbilityId_) +** _Returns:_ *integer* _abilityId_ + +* GetSkillTypeForCraftedAbilityId(*integer* _craftedAbilityId_) +** _Returns:_ *[SkillType|#SkillType]* _skillType_ + +* IsCraftedAbilityScriptActive(*integer* _craftedAbilityId_, *integer* _craftedAbilityScriptId_) +** _Returns:_ *bool* _isActive_ + +* GetCraftedAbilityActiveScriptIds(*integer* _craftedAbilityId_) +** _Returns:_ *integer* _primaryScriptId_, *integer* _secondaryScriptId_, *integer* _tertiaryScriptId_ + +* IsCraftedAbilityUnlocked(*integer* _craftedAbilityId_) +** _Returns:_ *bool* _isUnlocked_ + +* IsCraftedAbilityDisabled(*integer* _craftedAbilityId_) +** _Returns:_ *bool* _isDisabled_ + +* IsCraftedAbilityScriptDisabled(*integer* _craftedAbilityScriptId_) +** _Returns:_ *bool* _isDisabled_ + +* GetNumScriptsInSlotForCraftedAbility(*integer* _craftedAbilityId_, *[ScribingSlot|#ScribingSlot]* _slotType_) +** _Returns:_ *integer* _numScripts_ + +* GetScriptIdAtSlotIndexForCraftedAbility(*integer* _craftedAbilityId_, *[ScribingSlot|#ScribingSlot]* _slotType_, *luaindex* _index_) +** _Returns:_ *integer* _scriptDefId_ + +* GetCraftedAbilityScriptDisplayName(*integer* _craftedAbilityScriptId_) +** _Returns:_ *string* _displayName_ + +* GetCraftedAbilityScriptDescription(*integer* _craftedAbilityId_, *integer* _craftedAbilityScriptId_) +** _Returns:_ *string* _description_ + +* GetCraftedAbilityScriptGeneralDescription(*integer* _craftedAbilityScriptId_) +** _Returns:_ *string* _description_ + +* GetCraftedAbilityScriptIcon(*integer* _craftedAbilityScriptId_) +** _Returns:_ *textureName* _icon_ + +* GetCraftedAbilityScriptAcquireHint(*integer* _craftedAbilityScriptId_) +** _Returns:_ *string* _acquireHint_ + +* GetCraftedAbilityScriptScribingSlot(*integer* _craftedAbilityScriptId_) +** _Returns:_ *[ScribingSlot|#ScribingSlot]* _slot_ + +* GetCraftedAbilityDisplayName(*integer* _craftedAbilityId_) +** _Returns:_ *string* _displayName_ + +* GetCraftedAbilityDescription(*integer* _craftedAbilityId_) +** _Returns:_ *string* _description_ + +* GetCraftedAbilityIcon(*integer* _craftedAbilityId_) +** _Returns:_ *textureName* _icon_ + +* GetCraftedAbilityAcquireHint(*integer* _craftedAbilityId_) +** _Returns:_ *string* _acquireHint_ + +* GetCraftedAbilityRepresentativeAbilityId(*integer* _craftedAbilityId_, *string* _casterUnitTag_) +** _Returns:_ *integer* _abilityId_ + * IsSmithingCraftingType(*[TradeskillType|#TradeskillType]* _tradeskillType_) ** _Returns:_ *bool* _isSmithingType_ @@ -16079,7 +16513,7 @@ h2. Game API ** _Returns:_ *integer* _numKillingAttacks_ * GetKillingAttackInfo(*luaindex* _index_) -** _Returns:_ *string* _attackName_, *integer* _attackDamage_, *textureName* _attackIcon_, *bool* _wasKillingBlow_, *integer* _castTimeAgoMS_, *integer* _durationMS_, *integer* _numAttackHits_, *integer* _abilityId_ +** _Returns:_ *string* _attackName_, *integer* _attackDamage_, *textureName* _attackIcon_, *bool* _wasKillingBlow_, *integer* _castTimeAgoMS_, *integer* _durationMS_, *integer* _numAttackHits_, *integer* _abilityId_, *textureName:nilable* _abilityFxIcon_ * DoesKillingAttackHaveAttacker(*luaindex* _index_) ** _Returns:_ *bool* _hasAttacker_ @@ -16087,8 +16521,8 @@ h2. Game API * GetKillingAttackerInfo(*luaindex* _index_) ** _Returns:_ *string* _attackerRawName_, *integer* _attackerChampionPoints_, *integer* _attackerLevel_, *integer* _attackerAvARank_, *bool* _isPlayer_, *bool* _isBoss_, *[Alliance|#Alliance]* _alliance_, *string* _minionName_, *string* _attackerDisplayName_ -* GetKillingAttackerBattlegroundAlliance(*luaindex* _index_) -** _Returns:_ *[BattlegroundAlliance|#BattlegroundAlliance]* _battlegroundAlliance_ +* GetKillingAttackerBattlegroundTeam(*luaindex* _index_) +** _Returns:_ *[BattlegroundTeam|#BattlegroundTeam]* _battlegroundTeam_ * GetNumDeathRecapHints() ** _Returns:_ *integer* _numHints_ @@ -17484,6 +17918,8 @@ h2. Game API * ClearTrackedZoneStory() +* SetTrackedZoneStoryAssisted(*bool* _isAssisted_) + * GetGuildPersonalityAttribute(*integer* _guildId_) ** _Returns:_ *[GuildPersonalityAttributeValue|#GuildPersonalityAttributeValue]* _personality_ @@ -17732,6 +18168,9 @@ h2. Game API * CreateGuildHistoryRequest(*integer* _guildId_, *[GuildHistoryEventCategory|#GuildHistoryEventCategory]* _category_, *integer53* _newestTimeS_, *integer53* _oldestTimeS_) ** _Returns:_ *integer* _requestId_ +* TryCleanExistingGuildHistoryRequestParameters(*integer* _guildId_, *[GuildHistoryEventCategory|#GuildHistoryEventCategory]* _category_, *integer53* _newestTimeS_, *integer53* _oldestTimeS_) +** _Returns:_ *integer* _requestId_ + * GetGuildHistoryRequestFlags(*integer* _requestId_) ** _Returns:_ *[GuildHistoryRequestFlags|#GuildHistoryRequestFlags]* _flags_ @@ -17950,14 +18389,6 @@ h2. Game API * GetEquipmentFilterTypeForItemSetCollectionSlot(*[ItemSetCollectionSlot_id64|#ItemSetCollectionSlot_id64]* _slot_) ** _Returns:_ *[EquipmentFilterType|#EquipmentFilterType]* _equipmentFilterType_ -* StartItemSetCollectionSearch(*string* _searchString_) - -* GetNumItemSetCollectionSearchResults() -** _Returns:_ *integer* _numSearchResults_ - -* GetItemSetCollectionSearchResult(*luaindex* _searchResultIndex_) -** _Returns:_ *integer* _itemSetId_ - * GetCollectibleCategoryNameByCategoryId(*integer* _categoryId_) ** _Returns:_ *string* _categoryName_ @@ -18159,14 +18590,6 @@ h2. Game API * DeclineTribute() -* StartTributePatronSearch(*string* _searchString_) - -* GetNumTributePatronSearchResults() -** _Returns:_ *integer* _numSearchResults_ - -* GetTributePatronSearchResult(*luaindex* _searchResultIndex_) -** _Returns:_ *integer* _patronId_ - * GetTributeRequiredCollectibleId() ** _Returns:_ *integer* _requiredCollectibleId_ @@ -18914,6 +19337,9 @@ h2. Game API * GetItemLinkItemUseType(*string* _itemLink_) ** _Returns:_ *[ItemUseType|#ItemUseType]* _onUseType_ +* GetItemLinkItemUseReferenceId(*string* _itemLink_) +** _Returns:_ *integer* _onUseReferenceId_ + * GetItemLinkArmorType(*string* _itemLink_) ** _Returns:_ *[ArmorType|#ArmorType]* _armorType_ @@ -19157,6 +19583,9 @@ h2. Game API * GetItemLinkStacks(*string* _itemLink_) ** _Returns:_ *integer* _stackCountBackpack_, *integer* _stackCountBank_, *integer* _stackCountCraftBag_, *integer* _stackCountHouseBanks_ +* GetItemLinkInventoryCount(*string* _itemLink_, *[InventoryCountBagOption|#InventoryCountBagOption]* _countType_) +** _Returns:_ *integer* _inventoryCount_ + * CanItemLinkBeVirtual(*string* _itemLink_) ** _Returns:_ *bool* _canBeVirtual_ @@ -19673,6 +20102,9 @@ h2. Game API * GetCollectiblePlayerFxOverrideAbilityType(*integer* _collectibleId_) ** _Returns:_ *[PlayerFxOverrideAbilityType|#PlayerFxOverrideAbilityType]:nilable* _playerFxOverrideAbilityType_ +* GetCollectibleLinkedAchievement(*integer* _collectibleId_) +** _Returns:_ *integer* _achievementId_ + * UpdateMarketDisplayGroup *private* (*[MarketDisplayGroup|#MarketDisplayGroup]* _displayGroup_) * GetNumMarketProductCategories *private* (*[MarketDisplayGroup|#MarketDisplayGroup]* _displayGroup_) @@ -20333,6 +20765,9 @@ h2. Game API * IsInteractionUsingInteractCamera() ** _Returns:_ *bool* _enabled_ +* GetScribingCollectibleId() +** _Returns:_ *integer* _scribingCollectibleId_ + * GetUniversalStyleId() ** _Returns:_ *integer* _universalStyleId_ @@ -20586,8 +21021,11 @@ h2. Game API * IsZoneStoryZoneAvailable(*integer* _zoneId_) ** _Returns:_ *bool* _isZoneAvailable_, *string* _errorString_ -* IsZoneStoryActivelyTracking() -** _Returns:_ *bool* _isActivelyTracking_ +* IsZoneStoryTracked() +** _Returns:_ *bool* _isTracked_ + +* IsZoneStoryAssisted() +** _Returns:_ *bool* _isAssisted_ * GetTrackedZoneStoryActivityInfo() ** _Returns:_ *integer* _zoneId_, *[ZoneCompletionType|#ZoneCompletionType]* _zoneCompletionType_, *integer* _activityId_ @@ -20710,32 +21148,32 @@ h2. Game API * SetShouldRenderWorld(*bool* _shouldRenderWorld_) -* GetAbilityName(*integer* _abilityId_) +* GetAbilityName(*integer* _abilityId_, *string* _casterUnitTag_) ** _Returns:_ *string* _abilityName_ * GetAbilityCastInfo(*integer* _abilityId_, *integer:nilable* _overrideRank_, *string* _casterUnitTag_) -** _Returns:_ *bool* _channeled_, *integer* _castTime_, *integer* _channelTime_ +** _Returns:_ *bool:nilable* _channeled_, *integer:nilable* _durationValue_ * GetAbilityTargetDescription(*integer* _abilityId_, *integer:nilable* _overrideRank_, *string* _casterUnitTag_) ** _Returns:_ *string:nilable* _targetDescription_ * GetAbilityRange(*integer* _abilityId_, *integer:nilable* _overrideRank_, *string* _casterUnitTag_) -** _Returns:_ *integer* _minRangeCM_, *integer* _maxRangeCM_ +** _Returns:_ *integer:nilable* _minRangeCM_, *integer:nilable* _maxRangeCM_ * GetAbilityRadius(*integer* _abilityId_, *integer:nilable* _overrideRank_, *string* _casterUnitTag_) -** _Returns:_ *integer* _radius_ +** _Returns:_ *integer:nilable* _radius_ * GetAbilityAngleDistance(*integer* _abilityId_) -** _Returns:_ *integer* _angleDistance_ +** _Returns:_ *integer:nilable* _angleDistance_ -* IsAbilityDurationToggled(*integer* _abilityId_) -** _Returns:_ *bool* _isAbilityDurationToggled_ +* IsAbilityDurationToggled(*integer* _abilityId_, *string* _casterUnitTag_) +** _Returns:_ *bool:nilable* _isAbilityDurationToggled_ * GetAbilityDuration(*integer* _abilityId_, *integer:nilable* _overrideRank_, *string* _casterUnitTag_) -** _Returns:_ *integer* _durationMs_ +** _Returns:_ *integer:nilable* _durationMs_ * GetAbilityCooldown(*integer* _abilityId_, *string* _casterUnitTag_) -** _Returns:_ *integer* _durationMs_ +** _Returns:_ *integer:nilable* _durationMs_ * GetAbilityIcon(*integer* _abilityId_) ** _Returns:_ *textureName* _icon_ @@ -20743,14 +21181,20 @@ h2. Game API * GetNextAbilityMechanicFlag(*integer* _abilityId_, *[CombatMechanicFlags|#CombatMechanicFlags]:nilable* _lastMechanicFlag_) ** _Returns:_ *[CombatMechanicFlags|#CombatMechanicFlags]:nilable* _nextMechanicFlag_ +* GetAbilityBaseCostInfo(*integer* _abilityId_, *integer:nilable* _overrideRank_, *string* _casterUnitTag_) +** _Returns:_ *integer:nilable* _baseCost_, *[CombatMechanicFlags|#CombatMechanicFlags]:nilable* _mechanicFlags_, *bool:nilable* _isCostChargedPerTick_ + * GetAbilityCost(*integer* _abilityId_, *[CombatMechanicFlags|#CombatMechanicFlags]* _mechanicFlag_, *integer:nilable* _overrideRank_, *string* _casterUnitTag_) ** _Returns:_ *integer* _cost_ * GetCurrentChainedAbility(*integer* _abilityId_, *string* _casterUnitTag_) ** _Returns:_ *integer* _chainedAbilityId_ -* GetAbilityCostOverTime(*integer* _abilityId_, *[CombatMechanicFlags|#CombatMechanicFlags]* _mechanic_, *integer:nilable* _overrideRank_) -** _Returns:_ *integer* _cost_, *integer* _chargeFrequencyMS_ +* GetAbilityCostPerTick(*integer* _abilityId_, *[CombatMechanicFlags|#CombatMechanicFlags]* _mechanic_, *integer:nilable* _overrideRank_) +** _Returns:_ *integer* _costPerTick_ + +* GetAbilityFrequencyMS(*integer* _abilityId_, *string* _casterUnitTag_) +** _Returns:_ *integer:nilable* _frequencyMS_ * GetAbilityRoles(*integer* _abilityId_) ** _Returns:_ *bool* _isTankRoleAbility_, *bool* _isHealerRoleAbility_, *bool* _isDamageRoleAbility_ @@ -21149,6 +21593,9 @@ h2. Game API * GetLFGActivityRewardDescriptionOverride(*integer* _rewardUIDataId_) ** _Returns:_ *string* _descriptionOverride_ +* GetMailAttachmentInfo(*id64* _mailId_) +** _Returns:_ *integer* _numAttachments_, *integer* _attachedMoney_, *integer* _codAmount_ + h2. Object API @@ -22406,7 +22853,7 @@ Objects that inherit behavior from *Control* * SetHeight *protected-attributes* (*layout_measurement* _height_) -* SetHidden *protected-attributes* (*bool* _aHidden_) +* SetHidden *protected-attributes* (*bool* _hidden_) * SetHitInsets(*layout_measurement* _left_, *layout_measurement* _top_, *layout_measurement* _right_, *layout_measurement* _bottom_) @@ -22591,7 +23038,7 @@ h3. EditControl ** _Returns:_ *integer* _cursorPosition_ * GetDefaultText() -** _Returns:_ *string* _apRet_ +** _Returns:_ *string* _defaultText_ * GetEditEnabled() ** _Returns:_ *bool* _enabled_ @@ -22618,7 +23065,7 @@ h3. EditControl ** _Returns:_ *bool* _enabled_ * GetText() -** _Returns:_ *string* _apRet_ +** _Returns:_ *string* _text_ * GetTextType() ** _Returns:_ *[TextType|#TextType]* _textType_ @@ -22627,12 +23074,12 @@ h3. EditControl ** _Returns:_ *luaindex* _index_ * HasFocus() -** _Returns:_ *bool* _aRet_ +** _Returns:_ *bool* _focused_ * HasSelection() ** _Returns:_ *bool* _hasSelection_ -* InsertText(*string* _aText_) +* InsertText(*string* _text_) * IsComposingIMEText() ** _Returns:_ *bool* _isComposing_ @@ -22659,7 +23106,7 @@ h3. EditControl * SetCursorPosition(*integer* _cursorPosition_) -* SetDefaultText(*string* _aDefaultText_) +* SetDefaultText(*string* _defaultText_) * SetDefaultTextColor(*number* _r_, *number* _g_, *number* _b_, *number* _a_) @@ -22681,18 +23128,18 @@ h3. EditControl * SetSelectionColor(*number* _r_, *number* _g_, *number* _b_, *number* _a_) -* SetText(*string* _aText_, *bool* _aSuppressCallbackHandler_) +* SetText(*string* _text_, *bool* _suppressCallbackHandler_) * SetTextType(*[TextType|#TextType]* _textType_) * SetTopLineIndex(*luaindex* _index_) -* SetVirtualKeyboardType(*[VirtualKeyboardType|#VirtualKeyboardType]* _aKeyboardType_) +* SetVirtualKeyboardType(*[VirtualKeyboardType|#VirtualKeyboardType]* _keyboardType_) * TakeFocus() * WasLastChangeVirtualKeyboard() -** _Returns:_ *bool* _aRet_ +** _Returns:_ *bool* _fromVirtual_ h3. FontObject @@ -22715,6 +23162,9 @@ h3. LabelControl * GetColor() ** _Returns:_ *number* _r_, *number* _g_, *number* _b_, *number* _a_ +* GetFontFaceName() +** _Returns:_ *string* _text_ + * GetFontHeight() ** _Returns:_ *number* _fontHeightUIUnits_ @@ -22740,13 +23190,13 @@ h3. LabelControl ** _Returns:_ *number* _r_, *number* _g_, *number* _b_, *number* _a_ * GetText() -** _Returns:_ *string* _apRet_ +** _Returns:_ *string* _text_ * GetTextDimensions() ** _Returns:_ *number* _stringWidthUIUnits_, *number* _stringHeightUIUnits_ * GetTextForLines(*luaindex* _startLine_, *luaindex* _endLine_) -** _Returns:_ *string* _apRet_ +** _Returns:_ *string* _text_ * GetTextHeight() ** _Returns:_ *number* _stringHeightUIUnits_ @@ -22781,11 +23231,17 @@ h3. LabelControl * SetShaderEffectType(*[ShaderEffectType|#ShaderEffectType]* _shaderEffectType_) +* SetSmallCaps(*bool* _smallCaps_) + * SetStoreLineEndingCharacterIndices(*bool* _storeLineEndingCharacterIndices_) +* SetStrikethrough(*bool* _strikethrough_) + * SetStyleColor(*number* _r_, *number* _g_, *number* _b_, *number* _a_) -* SetText(*string* _aText_) +* SetText(*string* _text_) + +* SetUnderline(*bool* _underline_) * SetVerticalAlignment(*[TextAlignment|#TextAlignment]* _align_) @@ -23107,7 +23563,7 @@ h3. SynchronizingObject h3. TextBufferControl -* AddMessage(*string* _aText_, *number* _r_, *number* _g_, *number* _b_, *integer* _colorId_) +* AddMessage(*string* _text_, *number* _r_, *number* _g_, *number* _b_, *integer* _colorId_) * Clear() @@ -23348,15 +23804,15 @@ h3. TooltipControl * HideComparativeTooltips() -* SetAbility(*luaindex* _aAbilityIndex_, *bool* _aShowBase_) +* SetAbility(*luaindex* _abilityIndex_, *bool* _showBase_) * SetAbilityId(*integer* _abilityId_) -* SetAchievement(*integer* _aAchievementId_) +* SetAchievement(*integer* _achievementId_) -* SetAchievementRewardItem(*integer* _aAchievementId_) +* SetAchievementRewardItem(*integer* _achievementId_) -* SetAction(*luaindex* _aSlotId_, *[HotBarCategory|#HotBarCategory]:nilable* _hotbarCategory_) +* SetAction(*luaindex* _slotId_, *[HotBarCategory|#HotBarCategory]:nilable* _hotbarCategory_) * SetActiveSkill(*[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_, *luaindex* _skillIndex_, *[MorphSlot|#MorphSlot]* _morphSlot_, *bool* _isPurchased_, *bool* _isAdvised_, *bool* _isBadMorph_, *integer* _numAvailableSkillPoints_, *bool* _showSkillPointCost_, *bool* _showUpgradeText_, *bool* _showAdvised_, *bool* _showBadMorph_, *integer:nilable* _overrideRank_, *integer:nilable* _overrideAbilityId_) @@ -23368,13 +23824,13 @@ h3. TooltipControl * SetAsComparativeTooltip2() -* SetAttachedMailItem(*id64* _aMailId_, *luaindex* _aAttachSlot_) +* SetAttachedMailItem(*id64* _mailId_, *luaindex* _attachSlot_) * SetBagItem(*[Bag|#Bag]* _bagIndex_, *integer* _slotIndex_) * SetBook(*luaindex* _categoryIndex_, *luaindex* _collectionIndex_, *luaindex* _bookIndex_) -* SetBuff(*integer* _aBuffSlotId_, *string* _unitTag_) +* SetBuff(*integer* _buffSlotId_, *string* _unitTag_) * SetBuybackItem(*luaindex* _entryIndex_) @@ -23384,6 +23840,10 @@ h3. TooltipControl * SetCompanionSkill(*integer* _abilityId_) +* SetCraftedAbility(*integer* _craftedAbilityId_, *integer* _primaryScriptId_, *integer* _secondaryScriptId_, *integer* _tertiaryScriptId_, *[ScribingTooltipDisplayFlags|#ScribingTooltipDisplayFlags]* _displayFlags_) + +* SetCraftedAbilityScript(*integer* _craftedAbilityId_, *integer* _craftedAbilityScriptId_, *integer* _primaryScriptId_, *integer* _secondaryScriptId_, *integer* _tertiaryScriptId_, *[ScribingTooltipDisplayFlags|#ScribingTooltipDisplayFlags]* _displayFlags_) + * SetCrownCrateReward(*luaindex* _rewardIndex_) * SetCurrency(*[CurrencyType|#CurrencyType]* _currencyType_, *integer* _quantity_) @@ -23408,7 +23868,7 @@ h3. TooltipControl * SetHeaderVerticalOffset(*number* _verticalOffset_) -* SetItemSetCollectionPieceLink(*string* _aLink_, *bool* _aHideTrait_) +* SetItemSetCollectionPieceLink(*string* _link_, *bool* _hideTrait_) * SetItemUsingEnchantment(*[Bag|#Bag]* _itemBagIndex_, *integer* _itemSlotIndex_, *[Bag|#Bag]* _enchantmentBagIndex_, *integer* _enchantmentSlotIndex_) @@ -23418,7 +23878,7 @@ h3. TooltipControl * SetLastCraftingResultItem(*luaindex* _resultIndex_) -* SetLink(*string* _aLink_) +* SetLink(*string* _link_) * SetLootItem(*integer* _lootId_) @@ -23444,7 +23904,7 @@ h3. TooltipControl * SetPlacedFurniture(*id64* _placedFurnitureId_) -* SetProgressionAbility(*luaindex* _aProgressionIndex_, *integer* _aMorph_, *integer* _aRank_, *bool* _aShowAdvice_, *bool* _aAdvised_) +* SetProgressionAbility(*luaindex* _progressionIndex_, *integer* _morph_, *integer* _rank_, *bool* _showAdvice_, *bool* _advised_) * SetProvisionerIngredientItem(*luaindex* _recipeListIndex_, *luaindex* _recipeIndex_, *luaindex* _ingredientIndex_) @@ -23452,7 +23912,7 @@ h3. TooltipControl * SetQuestItem(*luaindex* _questIndex_, *luaindex* _stepIndex_, *luaindex* _conditionIndex_) -* SetQuestReward(*luaindex* _aPerkIndex_) +* SetQuestReward(*luaindex* _perkIndex_) * SetQuestTool(*luaindex* _questIndex_, *luaindex* _toolIndex_) @@ -23482,7 +23942,7 @@ h3. TooltipControl * SetStoreItem(*luaindex* _entryIndex_) -* SetTradeItem(*integer* _aWho_, *luaindex* _aTradeIndex_) +* SetTradeItem(*integer* _who_, *luaindex* _tradeIndex_) * SetTradingHouseItem(*luaindex* _tradingHouseIndex_) @@ -23615,7 +24075,7 @@ h3. WindowManager * GetWindowManager() -** _Returns:_ *object* _apRetWindowManager_ +** _Returns:_ *object* _windowManager_ * MouseIsOver(*object* _control_, *number* _leftOffset_, *number* _topOffset_, *number* _rightOffset_, *number* _bottomOffset_) ** _Returns:_ *bool* _isOver_ @@ -23636,7 +24096,7 @@ h3. WindowManager ** _Returns:_ *string* _localizedString_ * GetAnimationManager() -** _Returns:_ *object* _apRetAnimationManager_ +** _Returns:_ *object* _animationManager_ * GetAddOnManager() ** _Returns:_ *object* _addOnManager_ @@ -23801,7 +24261,7 @@ h2. Events * EVENT_BANK_DEPOSIT_NOT_ALLOWED * EVENT_BANK_IS_FULL * EVENT_BATTLEGROUND_INACTIVITY_WARNING -* EVENT_BATTLEGROUND_KILL (*string* _killedPlayerCharacterName_, *string* _killedPlayerDisplayName_, *[BattlegroundAlliance|#BattlegroundAlliance]* _killedPlayerBattlegroundAlliance_, *string* _killingPlayerCharacterName_, *string* _killingPlayerDisplayName_, *[BattlegroundAlliance|#BattlegroundAlliance]* _killingPlayerBattlegroundAlliance_, *[BattlegroundKillType|#BattlegroundKillType]* _battlegroundKillType_, *integer* _killingAbilityId_) +* EVENT_BATTLEGROUND_KILL (*string* _killedPlayerCharacterName_, *string* _killedPlayerDisplayName_, *[BattlegroundTeam|#BattlegroundTeam]* _killedPlayerBattlegroundTeam_, *string* _killingPlayerCharacterName_, *string* _killingPlayerDisplayName_, *[BattlegroundTeam|#BattlegroundTeam]* _killingPlayerBattlegroundTeam_, *[BattlegroundKillType|#BattlegroundKillType]* _battlegroundKillType_, *integer* _killingAbilityId_) * EVENT_BATTLEGROUND_LEADERBOARD_DATA_RECEIVED (*[BattlegroundLeaderboardType|#BattlegroundLeaderboardType]* _battlegroundType_) * EVENT_BATTLEGROUND_RULESET_CHANGED * EVENT_BATTLEGROUND_SCOREBOARD_UPDATED @@ -23890,6 +24350,10 @@ h2. Events * EVENT_CONVERSATION_FAILED_UNIQUE_ITEM * EVENT_CONVERSATION_UPDATED (*string* _conversationBodyText_, *integer* _conversationOptionCount_) * EVENT_CORONATE_EMPEROR_NOTIFICATION (*integer* _campaignId_, *string* _emperorCharacterName_, *[Alliance|#Alliance]* _emperorAlliance_, *string* _emperorDisplayName_) +* EVENT_CRAFTED_ABILITY_LOCK_STATE_CHANGED (*integer* _craftedAbilityDefId_, *bool* _isUnlocked_) +* EVENT_CRAFTED_ABILITY_RESET (*integer* _craftedAbilityDefId_, *integer* _totalNumReset_, *bool* _isLastReset_) +* EVENT_CRAFTED_ABILITY_SCRIPT_LOCK_STATE_CHANGED (*integer* _craftedAbilityScriptDefId_, *bool* _isUnlocked_) +* EVENT_CRAFTED_ABILITY_SEARCH_RESULTS_READY * EVENT_CRAFTING_STATION_INTERACT (*[TradeskillType|#TradeskillType]* _craftSkill_, *bool* _sameStation_, *[CraftingInteractionMode|#CraftingInteractionMode]* _craftMode_) * EVENT_CRAFT_BAG_AUTO_TRANSFER_NOTIFICATION_CLEARED * EVENT_CRAFT_COMPLETED (*[TradeskillType|#TradeskillType]* _craftSkill_) @@ -23909,6 +24373,7 @@ h2. Events * EVENT_DAEDRIC_ARTIFACT_OBJECTIVE_SPAWNED_BUT_NOT_REVEALED (*integer* _daedricArtifactId_) * EVENT_DAEDRIC_ARTIFACT_OBJECTIVE_STATE_CHANGED (*integer* _objectiveKeepId_, *integer* _objectiveObjectiveId_, *[BattlegroundQueryContextType|#BattlegroundQueryContextType]* _battlegroundContext_, *[ObjectiveControlEvent|#ObjectiveControlEvent]* _objectiveControlEvent_, *[ObjectiveControlState|#ObjectiveControlState]* _objectiveControlState_, *[Alliance|#Alliance]* _holderAlliance_, *[Alliance|#Alliance]* _lastHolderAlliance_, *[MapDisplayPinType|#MapDisplayPinType]* _pinType_, *integer* _daedricArtifactId_, *[ObjectiveControlState|#ObjectiveControlState]* _lastObjectiveControlState_) * EVENT_DAILY_LOGIN_MONTH_CHANGED +* EVENT_DELETE_MAIL_RESPONSE (*id64* _mailId_, *bool* _success_) * EVENT_DEPOSE_EMPEROR_NOTIFICATION (*integer* _campaignId_, *string* _emperorCharacterName_, *[Alliance|#Alliance]* _emperorAlliance_, *bool* _abdication_, *string* _emperorDisplayName_) * EVENT_DISABLE_SIEGE_AIM_ABILITY * EVENT_DISABLE_SIEGE_FIRE_ABILITY @@ -24203,8 +24668,10 @@ h2. Events * EVENT_MAIL_REMOVED (*id64* _mailId_) * EVENT_MAIL_SEND_FAILED (*[SendMailResult|#SendMailResult]* _reason_) * EVENT_MAIL_SEND_SUCCESS (*string* _playerName_) +* EVENT_MAIL_TAKE_ALL_ATTACHMENTS_IN_CATEGORY_RESPONSE (*[MailTakeAttachmentResult|#MailTakeAttachmentResult]* _result_, *[MailCategory|#MailCategory]* _category_, *bool* _headersRemoved_) * EVENT_MAIL_TAKE_ATTACHED_ITEM_SUCCESS (*id64* _mailId_) * EVENT_MAIL_TAKE_ATTACHED_MONEY_SUCCESS (*id64* _mailId_) +* EVENT_MAIL_WITH_ATTACHMENTS_AVAILABLE (*bool* _hasAttachments_, *bool* _hasExpiringAttachments_) * EVENT_MAP_PING (*[MapPingEventType|#MapPingEventType]* _pingEventType_, *[MapDisplayPinType|#MapDisplayPinType]* _pingType_, *string* _pingTag_, *number* _offsetX_, *number* _offsetY_, *bool* _isLocalPlayerOwner_) * EVENT_MARKET_PRODUCTS_UNLOCKED * EVENT_MARKET_PRODUCTS_UNLOCKED_NOTIFICATIONS_CLEARED @@ -24219,6 +24686,7 @@ h2. Events * EVENT_MOUSE_REQUEST_DESTROY_ITEM_FAILED (*[Bag|#Bag]* _bagId_, *integer* _slotIndex_, *integer* _itemCount_, *string* _name_, *integer* _reason_) * EVENT_MULTIPLE_RECIPES_LEARNED (*integer* _numRecipesUnlocked_) * EVENT_MURDERBALL_STATE_CHANGED (*integer* _objectiveKeepId_, *integer* _objectiveObjectiveId_, *integer* _battlegroundContext_, *string* _objectiveName_, *[ObjectiveControlEvent|#ObjectiveControlEvent]* _objectiveControlEvent_, *[ObjectiveControlState|#ObjectiveControlState]* _objectiveControlState_, *[Alliance|#Alliance]* _holderAlliance_, *[Alliance|#Alliance]* _lastHolderAlliance_, *string* _holderRawCharacterName_, *string* _holderDisplayName_, *string* _lastHolderRawCharacterName_, *string* _lastHolderDisplayName_, *[MapDisplayPinType|#MapDisplayPinType]* _pinType_) +* EVENT_NEW_HIRELING_CORRESPONDENCE_RECEIVED * EVENT_NEW_MOVEMENT_IN_UI_MODE * EVENT_NON_COMBAT_BONUS_CHANGED (*[NonCombatBonusType|#NonCombatBonusType]* _nonCombatBonus_, *integer* _oldValue_, *integer* _newValue_) * EVENT_NOT_ENOUGH_MONEY @@ -24332,6 +24800,9 @@ h2. Events * EVENT_REVENGE_KILL (*string* _killedCharacterName_, *string* _killedDisplayName_) * EVENT_RIDING_SKILL_IMPROVEMENT (*[RidingTrainType|#RidingTrainType]* _ridingSkillType_, *integer* _previous_, *integer* _current_, *[RidingTrainSource|#RidingTrainSource]* _source_) * EVENT_SCREENSHOT_SAVED (*string* _directory_, *string* _filename_) +* EVENT_SCRIBING_DISABLED +* EVENT_SCRIBING_ERROR_RESULT (*[ScribingErrorResult|#ScribingErrorResult]* _result_) +* EVENT_SCRIBING_ITEM_USE_RESULT (*[ScribingItemUseResult|#ScribingItemUseResult]* _result_) * EVENT_SCRIPTED_WORLD_EVENT_INVITE (*integer* _eventId_, *string* _scriptedEventName_, *string* _inviterName_, *string* _questName_) * EVENT_SCRIPTED_WORLD_EVENT_INVITE_REMOVED (*integer* _eventId_) * EVENT_SCRYING_EXIT_RESPONSE (*bool* _accept_) @@ -24357,6 +24828,7 @@ h2. Events * EVENT_SKILL_POINTS_CHANGED (*integer* _pointsBefore_, *integer* _pointsNow_, *integer* _partialPointsBefore_, *integer* _partialPointsNow_, *[SkillPointReason|#SkillPointReason]* _skillPointChangeReason_) * EVENT_SKILL_RANK_UPDATE (*[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_, *luaindex* _rank_) * EVENT_SKILL_RESPEC_RESULT (*[RespecResult|#RespecResult]* _result_) +* EVENT_SKILL_STYLE_DISABLED_BY_SERVER (*bool* _isDisabled_) * EVENT_SKILL_XP_UPDATE (*[SkillType|#SkillType]* _skillType_, *luaindex* _skillLineIndex_, *integer* _reason_, *luaindex* _rank_, *integer* _previousXP_, *integer* _currentXP_) * EVENT_SKYSHARDS_UPDATED * EVENT_SLOT_IS_LOCKED_FAILURE (*[Bag|#Bag]* _bagId_, *integer* _slotIndex_) @@ -24460,6 +24932,8 @@ h2. Events * EVENT_UNIT_DEATH_STATE_CHANGED (*string* _unitTag_, *bool* _isDead_) * EVENT_UNIT_DESTROYED (*string* _unitTag_) * EVENT_UNLOCKED_DYES_UPDATED +* EVENT_UNLOCKED_HIRELING_CORRESPONDENCE_INITIALIZED +* EVENT_UNLOCKED_HIRELING_CORRESPONDENCE_UPDATED * EVENT_UNSPENT_CHAMPION_POINTS_CHANGED * EVENT_UPDATE_BUYBACK * EVENT_VETERAN_DIFFICULTY_CHANGED (*string* _unitTag_, *bool* _isDifficult_) @@ -24520,6 +24994,7 @@ h2. Events * EVENT_TRIBUTE_PATRON_PROGRESSION_DATA_CHANGED (*integer:nilable* _patronId_) * EVENT_TRIBUTE_PLAYER_TURN_STARTED (*bool* _isLocalPlayer_) +* EVENT_ACTIVE_MONITOR_CHANGED * EVENT_APP_GUI_HIDDEN_STATE_CHANGED (*bool* _hidden_) * EVENT_AVAILABLE_DISPLAY_DEVICES_CHANGED * EVENT_BACKGROUND_LIST_FILTER_COMPLETE (*integer* _taskId_) @@ -24658,12 +25133,12 @@ h4. Attributes: * deltaV *number* * deltaX *number* * deltaX *layout_measurement* -* deltaXFromEnd *number* * deltaXFromEnd *layout_measurement* +* deltaXFromEnd *number* * deltaY *number* * deltaY *layout_measurement* -* deltaYFromEnd *number* * deltaYFromEnd *layout_measurement* +* deltaYFromEnd *number* * deltaZ *number* * deltaZFromEnd *number* * desaturation *number* @@ -24692,8 +25167,8 @@ h4. Attributes: * endSkewX *number* * endSkewY *number* * endWidth *number* -* endX *layout_measurement* * endX *number* +* endX *layout_measurement* * endY *layout_measurement* * endY *number* * endYaw *number* @@ -24778,6 +25253,7 @@ h4. Attributes: * selectionColor *string* * shaderEffectType *[ShaderEffectType|#ShaderEffectType]* * shape *[ShapeType|#ShapeType]* +* smallCaps *bool* * smoothingEnabled *bool* * space *[Space|#Space]* * splitLongMessages *bool* @@ -24794,15 +25270,16 @@ h4. Attributes: * startSkewX *number* * startSkewY *number* * startWidth *number* -* startX *number* * startX *layout_measurement* +* startX *number* * startY *number* * startY *layout_measurement* * startYaw *number* -* startZ *number* * startZ *layout_measurement* +* startZ *number* * step *number* * storeLineEndingCharacterIndices *bool* +* strikethrough *bool* * styleColor *string* * text *string* * textType *[TextType|#TextType]* @@ -24812,6 +25289,7 @@ h4. Attributes: * thickness *layout_measurement* * tier *[DrawTier|#DrawTier]* * topmost *bool* +* underline *bool* * value *number* * verticalAlignment *[TextAlignment|#TextAlignment]* * wrapMode *[TextWrapMode|#TextWrapMode]* @@ -25308,9 +25786,12 @@ h5. Label * [Child: newLineIndent|#Attributes] * [Child: pixelRoundingEnabled|#Attributes] * [Child: shaderEffectType|#Attributes] +* [Child: smallCaps|#Attributes] * [Child: storeLineEndingCharacterIndices|#Attributes] +* [Child: strikethrough|#Attributes] * [Child: styleColor|#Attributes] * [Child: text|#Attributes] +* [Child: underline|#Attributes] * [Child: verticalAlignment|#Attributes] * [Child: wrapMode|#Attributes] diff --git a/README.md b/README.md index 53f79660c..c5144dc4d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -© 2023 ZENIMAX MEDIA INC. TRADEMARKS BELONG TO THEIR RESPECTIVE OWNERS. ALL RIGHTS RESERVED. +© 2024 ZENIMAX MEDIA INC. TRADEMARKS BELONG TO THEIR RESPECTIVE OWNERS. ALL RIGHTS RESERVED. This is the source code for "The Elder Scrolls Online" user interface and it's presented here unchanged for reference only. @@ -6,9 +6,8 @@ If you're a Zenimax Media Inc. representative and have any objection to any of t This repo is also available at http://www.esoui.com/downloads/info1213-ESOUI-TheElderScrollsOnlinesourcecode.html -**Last update: 9.3.7 (API 101041) on 08 Apr 2024.** +**Last update: 10.0.0 (API 101042) on 16 Apr 2024.** -*Join ESOUI Dev Community on Gitter :* - -[![Join the chat at https://gitter.im/esoui/esoui](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ESOUI/ESOUI?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +*Join the ESOUI Dev Community on Matrix:* +[![Matrix](https://img.shields.io/matrix/esoui_esoui%3Agitter.im?server_fqdn=matrix.org)](https://matrix.to/#/#esoui_esoui:gitter.im) \ No newline at end of file diff --git a/bin/update b/bin/update-pts similarity index 89% rename from bin/update rename to bin/update-pts index 3df8ec141..4cf8d1f20 100644 --- a/bin/update +++ b/bin/update-pts @@ -2,7 +2,7 @@ set -ue -git checkout master +git checkout pts find esoui/ -type f -name "*.dds" > Textures.txt grep -Phor 'EsoUI[^"]+?\.dds' esoui/ >> Textures.txt cat Textures.txt | tr '[A-Z]\\' '[a-z]/' | sort -u > 1.txt @@ -18,4 +18,4 @@ sed -i "s#API [0-9]\+#API ${new_apiversion:-$apiversion}#" README.md sed -i "s# on .\+\?\.# on $today.#" README.md git add esoui git commit -am "${new_version:-$version}" -git archive --format zip -o esoui-${new_version:-$version}.zip HEAD +git archive --format zip -o esoui-pts-${new_version:-$version}.zip HEAD diff --git a/esoui/app/loadingscreen/sharedloadingscreen.lua b/esoui/app/loadingscreen/sharedloadingscreen.lua index 63b7820fe..8a1fee116 100755 --- a/esoui/app/loadingscreen/sharedloadingscreen.lua +++ b/esoui/app/loadingscreen/sharedloadingscreen.lua @@ -170,16 +170,16 @@ end local BATTLEGROUND_TEAM_TEXTURES = { - [BATTLEGROUND_ALLIANCE_FIRE_DRAKES] = "EsoUI/Art/Battlegrounds/battlegrounds_teamIcon_orange.dds", - [BATTLEGROUND_ALLIANCE_STORM_LORDS] = "EsoUI/Art/Battlegrounds/battlegrounds_teamIcon_purple.dds", - [BATTLEGROUND_ALLIANCE_PIT_DAEMONS] = "EsoUI/Art/Battlegrounds/battlegrounds_teamIcon_green.dds", + [BATTLEGROUND_TEAM_FIRE_DRAKES] = "EsoUI/Art/Battlegrounds/battlegrounds_teamIcon_orange.dds", + [BATTLEGROUND_TEAM_STORM_LORDS] = "EsoUI/Art/Battlegrounds/battlegrounds_teamIcon_purple.dds", + [BATTLEGROUND_TEAM_PIT_DAEMONS] = "EsoUI/Art/Battlegrounds/battlegrounds_teamIcon_green.dds", } local GAMEPAD_BATTLEGROUND_TEAM_TEXTURES = { - [BATTLEGROUND_ALLIANCE_FIRE_DRAKES] = "EsoUI/Art/Battlegrounds/Gamepad/gp_battlegrounds_teamIcon_orange.dds", - [BATTLEGROUND_ALLIANCE_STORM_LORDS] = "EsoUI/Art/Battlegrounds/Gamepad/gp_battlegrounds_teamIcon_purple.dds", - [BATTLEGROUND_ALLIANCE_PIT_DAEMONS] = "EsoUI/Art/Battlegrounds/Gamepad/gp_battlegrounds_teamIcon_green.dds", + [BATTLEGROUND_TEAM_FIRE_DRAKES] = "EsoUI/Art/Battlegrounds/Gamepad/gp_battlegrounds_teamIcon_orange.dds", + [BATTLEGROUND_TEAM_STORM_LORDS] = "EsoUI/Art/Battlegrounds/Gamepad/gp_battlegrounds_teamIcon_purple.dds", + [BATTLEGROUND_TEAM_PIT_DAEMONS] = "EsoUI/Art/Battlegrounds/Gamepad/gp_battlegrounds_teamIcon_green.dds", } function LoadingScreen_Base:Show(zoneName, zoneDescription, loadingTexture, zoneDisplayType) @@ -233,9 +233,9 @@ function LoadingScreen_Base:Show(zoneName, zoneDescription, loadingTexture, zone self:SetZoneDescription(LocalizeString("<<1>>", battlegroundDescription)) local activityAlliance = GetLatestActivityAlliance() - if activityAlliance ~= BATTLEGROUND_ALLIANCE_NONE then - local r, g, b, a = GetInterfaceColor(INTERFACE_COLOR_TYPE_BATTLEGROUND_ALLIANCE, activityAlliance) - local battlegroundTeamName = ZO_ColorizeString(r, g, b, GetString("SI_BATTLEGROUNDALLIANCE", activityAlliance)) + if activityAlliance ~= BATTLEGROUND_TEAM_INVALID then + local r, g, b, a = GetInterfaceColor(INTERFACE_COLOR_TYPE_BATTLEGROUND_TEAM, activityAlliance) + local battlegroundTeamName = ZO_ColorizeString(r, g, b, GetString("SI_BATTLEGROUNDTEAM", activityAlliance)) local teamIcon if IsInGamepadPreferredMode() then diff --git a/esoui/common/common.txt b/esoui/common/common.txt index c90196585..e1b064070 100755 --- a/esoui/common/common.txt +++ b/esoui/common/common.txt @@ -70,6 +70,8 @@ EsoUI\Common\ZO_SaveLoadDialog\ZO_SaveLoadDialog.lua EsoUI\Common\Scenes\CommonFragments.lua +EsoUI\Common\TextSearch\TextSearchObject.lua + EsoUI\Common\ZO_PlayerInventoryFooter\Gamepad\ZO_PlayerInventoryFooter_Gamepad.lua EsoUI\Common\ZO_PlayerInventoryFooter\Gamepad\ZO_PlayerInventoryFooter_Gamepad.xml diff --git a/esoui/common/gamepad/genericheaders/genericheaders.lua b/esoui/common/gamepad/genericheaders/genericheaders.lua index 3dc98d5d0..5f60206e1 100755 --- a/esoui/common/gamepad/genericheaders/genericheaders.lua +++ b/esoui/common/gamepad/genericheaders/genericheaders.lua @@ -509,9 +509,10 @@ local function AdjustHeaderFocusControlAnchors(control, refreshResults) anchorToControl = control.controls[previousTarget] elseif control.tabBar and control.tabBar.control then anchorToControl = control.tabBar.control + elseif control.controls[DIVIDER_SIMPLE] then + anchorToControl = control.controls[DIVIDER_SIMPLE] end - control.headerFocusControl:ClearAnchors() if anchorToControl then control.headerFocusControl:SetAnchor(TOPLEFT, anchorToControl, BOTTOMLEFT, 0, 0) diff --git a/esoui/common/textsearch/textsearchobject.lua b/esoui/common/textsearch/textsearchobject.lua new file mode 100644 index 000000000..a3681df44 --- /dev/null +++ b/esoui/common/textsearch/textsearchobject.lua @@ -0,0 +1,141 @@ +ZO_TextSearchObject = ZO_InitializingObject:Subclass() + +function ZO_TextSearchObject:Initialize(searchContext, searchEditBox) + self.searchContext = searchContext + self.searchEditBox = searchEditBox + + self:SetupContextTextSearch() + self:SetupOnTextChangedHandler() +end + +function ZO_TextSearchObject:SetupContextTextSearch() + -- Can be overridden + -- Context can be setup elsewhere in the code to be used here. + -- The TEXT_SEARCH_MANAGER function will override the filter target descriptors for a context that already exists. + --[[ + Expected format for filterTargetDescriptors: + filterTargetDescriptors = + { + [] = + { + searchFilterList = + { + BACKGROUND_LIST_FILTER_TYPE_, + ... + }, + primaryKeys = + { + (ie. BAG_BACKPACK, BAG_BANK for FILTER_TARGET_BAG_SLOT or filterFunction() for filter like slottable in FILTER_TARGET_COLLECTIBLE) + }, + }, + } + + TEXT_SEARCH_MANAGER:SetupContextTextSearch(self.searchContext, filterTargetDescriptor) + ]]-- +end + +function ZO_TextSearchObject:SetupOnTextChangedHandler() + local currentSearchEditBox = self:GetSearchEditBox() + if currentSearchEditBox then + local function OnTextSearchTextChanged(editBox) + self:OnTextSearchTextChanged(editBox) + end + currentSearchEditBox:SetHandler("OnTextChanged", OnTextSearchTextChanged) + end +end + +function ZO_TextSearchObject:SetTextSearchContext(context) + self.searchContext = context +end + +function ZO_TextSearchObject:SetSearchEditBox(searchEditBox) + self.searchEditBox = searchEditBox + self:SetupOnTextChangedHandler() +end + +function ZO_TextSearchObject:GetSearchEditBox() + return self.searchEditBox +end + +function ZO_TextSearchObject:SetSearchCriteria(filterType, context, editBox) + local previousContextActive = TEXT_SEARCH_MANAGER:IsActiveTextSearch(self.searchContext) + if previousContextActive then + self:DeactivateTextSearch() + end + self.searchFilterType = filterType + self.searchContext = context + if editBox then + self:SetSearchEditBox(editBox) + end + if previousContextActive then + self:ActivateTextSearch() + end +end + +function ZO_TextSearchObject:OnTextSearchTextChanged(editBox) + if self.searchContext then + TEXT_SEARCH_MANAGER:SetSearchText(self.searchContext, editBox:GetText()) + end +end + +function ZO_TextSearchObject:OnUpdateSearchResults() + -- To be overridden +end + +function ZO_TextSearchObject:SetSearchText() + if self.searchContext then + TEXT_SEARCH_MANAGER:SetSearchText(self.searchContext, self:GetTextSearchText()) + end +end + +function ZO_TextSearchObject:GetTextSearchText() + local searchEditBox = self:GetSearchEditBox() + if searchEditBox then + return searchEditBox:GetText() + end + return "" +end + +function ZO_TextSearchObject:UpdateSearchText() + if self.searchEditBox and self.searchContext then + self.searchEditBox:SetText(TEXT_SEARCH_MANAGER:GetSearchText(self.searchContext)) + end +end + +function ZO_TextSearchObject:ActivateTextSearch() + if self.searchContext and not TEXT_SEARCH_MANAGER:IsActiveTextSearch(self.searchContext) then + self:UpdateSearchText() + + local function OnTextSearchResults() + self.dirty = true + self:OnUpdateSearchResults() + end + self.onTextSearchResults = OnTextSearchResults + + TEXT_SEARCH_MANAGER:ActivateTextSearch(self.searchContext) + TEXT_SEARCH_MANAGER:RegisterCallback("UpdateSearchResults", OnTextSearchResults) + end +end + +function ZO_TextSearchObject:DeactivateTextSearch() + if self.searchContext then + TEXT_SEARCH_MANAGER:DeactivateTextSearch(self.searchContext) + TEXT_SEARCH_MANAGER:UnregisterCallback("UpdateSearchResults", self.onTextSearchResults) + end +end + +function ZO_TextSearchObject:HasSearchFilter() + return TEXT_SEARCH_MANAGER:HasSearchFilter(self.searchContext) +end + +function ZO_TextSearchObject:SetSearchFilterType(searchFilterType) + self.searchFilterType = searchFilterType +end + +function ZO_TextSearchObject:IsDataInSearchTextResults(dataId) + if self.searchContext and self.searchFilterType then + return TEXT_SEARCH_MANAGER:IsDataInSearchTextResults(self.searchContext, self.searchFilterType, dataId) + end + -- Return true for every result if we don't have a context search + return true +end \ No newline at end of file diff --git a/esoui/common/tooltip/tooltipstyles.lua b/esoui/common/tooltip/tooltipstyles.lua index 6c9cf89bd..d86cb9827 100644 --- a/esoui/common/tooltip/tooltipstyles.lua +++ b/esoui/common/tooltip/tooltipstyles.lua @@ -114,6 +114,10 @@ ZO_TOOLTIP_STYLES = { fontColorField = GAMEPAD_TOOLTIP_COLOR_FAILED, }, + disabled = + { + fontColorField = GENERAL_COLOR_GREY, + }, bodySection = { customSpacing = 30, diff --git a/esoui/common/zo_gamemenu/zo_gamemenu.lua b/esoui/common/zo_gamemenu/zo_gamemenu.lua index aca9503ba..a00ec1bbe 100755 --- a/esoui/common/zo_gamemenu/zo_gamemenu.lua +++ b/esoui/common/zo_gamemenu/zo_gamemenu.lua @@ -34,6 +34,10 @@ function ZO_GameMenu_Base:InitializeTree() BaseTreeHeaderSetup(node, control, data, open) if open and userRequested then + if data.selectedCallback then + data.selectedCallback(control) + end + self.navigationTree:SelectFirstChild(node) end end @@ -121,7 +125,7 @@ function ZO_GameMenu_Base:AddEntry(data) else -- It's a header...determine what type if not self.headerControls[data.name] then - if data.callback then + if data.callback then --TODO: Changing behavior on existence of callback is strange. -- No children...does it have a selected state? if data.hasSelectedState then self.headerControls[data.name] = self.navigationTree:AddNode("ZO_GameMenu_ChildlessHeader_WithSelectedState", data) diff --git a/esoui/ingame/achievements/gamepad/achievements_gamepad.lua b/esoui/ingame/achievements/gamepad/achievements_gamepad.lua index e08d8c571..bf942e193 100755 --- a/esoui/ingame/achievements/gamepad/achievements_gamepad.lua +++ b/esoui/ingame/achievements/gamepad/achievements_gamepad.lua @@ -747,6 +747,12 @@ function ZO_Achievements_Gamepad:AddAchievements(categoryIndex, subCategoryIndex local postSelectedPadding = IsAchievementALine(nextAchievementId) and 48 or 0 self.itemList:AddEntry(template, entryData, nil, nil, nil, postSelectedPadding) + + if self.achievementId and DoesAchievementLineContainAchievement(achievementId, self.achievementId) then + -- currentIndex is only in the current category. self.itemList:GetNumItems() has all current items. + self.selectedAchievementIndices[self.selectedCategoryId] = self.itemList:GetNumItems() + self.achievementId = nil + end end end end @@ -822,8 +828,9 @@ function ZO_Achievements_Gamepad:PerformUpdate() self:SetRecentAchievementsHidden(false) self.headerData.titleText = GetString(SI_JOURNAL_MENU_ACHIEVEMENTS) else - selectedIndex = self.selectedAchievementIndices[self.visibleCategoryId] or 1 self:PopulateAchievements(self.visibleCategoryId) + -- Determine the selected index AFTER PopulateAchievements because Populate will mark any specific self.achievementId requested. + selectedIndex = self.selectedAchievementIndices[self.visibleCategoryId] or 1 self:SetRecentAchievementsHidden(true) self.headerData.titleText = GetAchievementCategoryInfo(self.visibleCategoryId) end diff --git a/esoui/ingame/actionbar/actionbar.lua b/esoui/ingame/actionbar/actionbar.lua index b0041e9b3..ad0603212 100755 --- a/esoui/ingame/actionbar/actionbar.lua +++ b/esoui/ingame/actionbar/actionbar.lua @@ -9,6 +9,12 @@ local g_activeHotbar = HOTBAR_CATEGORY_PRIMARY local g_backHotbar = HOTBAR_CATEGORY_BACKUP local MINIMUM_ACTION_BAR_TIMER_DISPLAYED_TIME_MS = 1000 +ZO_ABILITY_DROP_CALLOUT_VALIDITY_FUNCTION_BY_ACTION_TYPE = +{ + [ACTION_TYPE_ABILITY] = IsValidAbilityForSlot, + [ACTION_TYPE_CRAFTED_ABILITY] = IsValidCraftedAbilityForSlot, +} + function ZO_ActionBar_HasAnyActionSlotted() for physicalSlot in pairs(g_actionBarButtons) do if GetSlotType(physicalSlot, g_activeHotbar) ~= ACTION_TYPE_NOTHING then @@ -202,17 +208,17 @@ local function HideAllAbilityActionButtonDropCallouts() end end -local function ShowAppropriateAbilityActionButtonDropCallouts(abilityIndex) +local function ShowAppropriateAbilityActionButtonDropCallouts(actionType, actionValue) HideAllAbilityActionButtonDropCallouts() + local validityFunction = ZO_ABILITY_DROP_CALLOUT_VALIDITY_FUNCTION_BY_ACTION_TYPE[actionType] for i = ACTION_BAR_FIRST_NORMAL_SLOT_INDEX + 1, ACTION_BAR_ULTIMATE_SLOT_INDEX + 1 do - local isValid = IsValidAbilityForSlot(abilityIndex, i) local callout = ZO_ActionBar_GetButton(i).slot:GetNamedChild("DropCallout") - if not isValid then - callout:SetColor(1, 0, 0, 1) - else + if validityFunction(actionValue, i) then callout:SetColor(1, 1, 1, 1) + else + callout:SetColor(1, 0, 0, 1) end callout:SetHidden(false) @@ -452,7 +458,7 @@ function ZO_ActionBar_RegisterEvents() for _, physicalSlot in pairs(g_actionBarButtons) do if physicalSlot then local slotType = GetSlotType(physicalSlot:GetSlot()) - if slotType == ACTION_TYPE_ABILITY then + if slotType == ACTION_TYPE_ABILITY or slotType == ACTION_TYPE_CRAFTED_ABILITY then physicalSlot:UpdateState() end end @@ -485,8 +491,8 @@ function ZO_ActionBar_RegisterEvents() ShowHiddenButtons() end - if cursorType == MOUSE_CONTENT_ACTION and param1 == ACTION_TYPE_ABILITY then - ShowAppropriateAbilityActionButtonDropCallouts(param3) + if cursorType == MOUSE_CONTENT_ACTION and ZO_ABILITY_DROP_CALLOUT_VALIDITY_FUNCTION_BY_ACTION_TYPE[param1] then + ShowAppropriateAbilityActionButtonDropCallouts(param1, param3) end end EVENT_MANAGER:RegisterForEvent("ZO_ActionBar", EVENT_CURSOR_PICKUP, OnCursorPickup) @@ -656,6 +662,7 @@ function ZO_ActionBar_OnInitialized(control) ultimateButton:SetupTimerSwapAnimation() ultimateButton:UpdateUltimateMeter() + EVENT_MANAGER:RegisterForEvent("ZO_ActionBar", EVENT_ULTIMATE_ABILITY_COST_CHANGED, function() ultimateButton:UpdateUltimateMeter() end) local COMPANION_ULTIMATE_BUTTON_STYLE = { @@ -674,6 +681,7 @@ function ZO_ActionBar_OnInitialized(control) companionUltimateButton:UpdateUltimateMeter() SetCompanionAnchors() + EVENT_MANAGER:RegisterForEvent("ZO_ActionBar", EVENT_ULTIMATE_ABILITY_COST_CHANGED, function() companionUltimateButton:UpdateUltimateMeter() end) local BACK_BAR_STYLE = { diff --git a/esoui/ingame/actionbar/actionbutton.lua b/esoui/ingame/actionbar/actionbutton.lua index 318b4e48f..76e24a8f3 100755 --- a/esoui/ingame/actionbar/actionbutton.lua +++ b/esoui/ingame/actionbar/actionbutton.lua @@ -201,13 +201,14 @@ end SetupSlotHandlers = { - [ACTION_TYPE_ABILITY] = SetupAbilitySlot, - [ACTION_TYPE_ITEM] = SetupItemSlot, - [ACTION_TYPE_COLLECTIBLE] = SetupCollectibleActionSlot, - [ACTION_TYPE_QUEST_ITEM] = SetupQuestItemActionSlot, - [ACTION_TYPE_EMOTE] = SetupEmoteActionSlot, - [ACTION_TYPE_QUICK_CHAT] = SetupQuickChatActionSlot, - [ACTION_TYPE_NOTHING] = SetupEmptyActionSlot, + [ACTION_TYPE_ABILITY] = SetupAbilitySlot, + [ACTION_TYPE_ITEM] = SetupItemSlot, + [ACTION_TYPE_CRAFTED_ABILITY] = SetupAbilitySlot, + [ACTION_TYPE_COLLECTIBLE] = SetupCollectibleActionSlot, + [ACTION_TYPE_QUEST_ITEM] = SetupQuestItemActionSlot, + [ACTION_TYPE_EMOTE] = SetupEmoteActionSlot, + [ACTION_TYPE_QUICK_CHAT] = SetupQuickChatActionSlot, + [ACTION_TYPE_NOTHING] = SetupEmptyActionSlot, } function ActionButton:SetupCount() @@ -339,7 +340,7 @@ function ActionButton:SetTimer(durationMS) local hotbarCategory = self:GetHotbarCategory() local actionType = GetSlotType(slotNum, hotbarCategory) local abilityId = GetSlotBoundId(slotNum, hotbarCategory) - if actionType == ACTION_TYPE_ABILITY and ShouldAbilityShowAsUsableWithDuration(abilityId) then + if (actionType == ACTION_TYPE_ABILITY or actionType == ACTION_TYPE_CRAFTED_ABILITY) and ShouldAbilityShowAsUsableWithDuration(abilityId) then self.timerOverlay:SetHidden(true) else self.timerOverlay:SetHidden(false) @@ -380,7 +381,7 @@ function ActionButton:UpdateUseFailure() local soulGemFailure = false if slotType == ACTION_TYPE_ITEM then self.itemQtyFailure = (GetSlotItemCount(slotNum, hotbarCategory) == 0) - elseif slotType == ACTION_TYPE_ABILITY then + elseif slotType == ACTION_TYPE_ABILITY or slotType == ACTION_TYPE_CRAFTED_ABILITY then local isSoulGemAbility = IsSlotSoulTrap(slotNum) if isSoulGemAbility and not DoesInventoryContainEmptySoulGem() then soulGemFailure = true @@ -471,7 +472,7 @@ function ActionButton:UpdateCooldown(options) local slotType = GetSlotType(slotNum, hotbarCategory) local showGlobalCooldownForCollectible = global and slotType == ACTION_TYPE_COLLECTIBLE and globalSlotType == ACTION_TYPE_COLLECTIBLE local showCooldown = isInCooldown and (g_showGlobalCooldown or not global or showGlobalCooldownForCollectible) - local updateChromaQuickslot = slotType ~= ACTION_TYPE_ABILITY and ZO_RZCHROMA_EFFECTS + local updateChromaQuickslot = (slotType ~= ACTION_TYPE_ABILITY or slotType ~= ACTION_TYPE_CRAFTED_ABILITY) and ZO_RZCHROMA_EFFECTS self.cooldown:SetHidden(not showCooldown) if showCooldown then @@ -910,27 +911,22 @@ do end end -function ActionButton:UpdateUltimateNumber() - local ultimateCount +function ActionButton:GetUltimateCount() if self:GetHotbarCategory() == HOTBAR_CATEGORY_COMPANION then - ultimateCount = GetUnitPower("companion", COMBAT_MECHANIC_FLAGS_ULTIMATE) + return GetUnitPower("companion", COMBAT_MECHANIC_FLAGS_ULTIMATE) else - ultimateCount = GetUnitPower("player", COMBAT_MECHANIC_FLAGS_ULTIMATE) + return GetUnitPower("player", COMBAT_MECHANIC_FLAGS_ULTIMATE) end - self.countText:SetText(ultimateCount) +end + +function ActionButton:UpdateUltimateNumber() + self.countText:SetText(self:GetUltimateCount()) end function ActionButton:UpdateUltimateMeter() local SET_ULTIMATE_METER_NO_ANIM = true self:UpdateCurrentUltimateMax() - local ultimateCount - if self:GetHotbarCategory() == HOTBAR_CATEGORY_COMPANION then - ultimateCount = GetUnitPower("companion", COMBAT_MECHANIC_FLAGS_ULTIMATE) - else - ultimateCount = GetUnitPower("player", COMBAT_MECHANIC_FLAGS_ULTIMATE) - end - - self:SetUltimateMeter(ultimateCount, SET_ULTIMATE_METER_NO_ANIM) + self:SetUltimateMeter(self:GetUltimateCount(), SET_ULTIMATE_METER_NO_ANIM) end function ActionButton:UpdateCurrentUltimateMax() diff --git a/esoui/ingame/addoncompatibilityaliases/pc/addoncompatibilityaliases.lua b/esoui/ingame/addoncompatibilityaliases/pc/addoncompatibilityaliases.lua index 4fa2eb344..1d58fd528 100644 --- a/esoui/ingame/addoncompatibilityaliases/pc/addoncompatibilityaliases.lua +++ b/esoui/ingame/addoncompatibilityaliases/pc/addoncompatibilityaliases.lua @@ -1329,6 +1329,26 @@ STORE_FAILURE_NOT_ENOUGH_ENDLESS_DUNGEON_CURRENCY = STORE_FAILURE_NOT_ENOUGH_ARC LOOT_TYPE_ENDLESS_DUNGEON_CURRENCY = LOOT_TYPE_ARCHIVAL_FORTUNES TUTORIAL_TRIGGER_CURRENCY_GAINED_ENDLESS_DUNGEON = TUTORIAL_TRIGGER_CURRENCY_GAINED_ARCHIVAL_FORTUNES +-- +IsZoneStoryActivelyTracked = IsZoneStoryTracked + +-- Renaming battleground related enum prefixes and values +BATTLEGROUND_ALLIANCE_NONE = BATTLEGROUND_TEAM_INVALID +BATTLEGROUND_ALLIANCE_FIRE_DRAKES = BATTLEGROUND_TEAM_FIRE_DRAKES +BATTLEGROUND_ALLIANCE_STORM_LORDS = BATTLEGROUND_TEAM_STORM_LORDS +BATTLEGROUND_ALLIANCE_PIT_DAEMONS = BATTLEGROUND_TEAM_PIT_DAEMONS +BATTLEGROUND_ALLIANCE_ITERATION_BEGIN = BATTLEGROUND_TEAM_ITERATION_BEGIN +BATTLEGROUND_ALLIANCE_ITERATION_END = BATTLEGROUND_TEAM_ITERATION_END +BATTLEGROUND_ALLIANCE_MIN_VALUE = BATTLEGROUND_TEAM_MIN_VALUE +BATTLEGROUND_ALLIANCE_MAX_VALUE = BATTLEGROUND_TEAM_MAX_VALUE +INTERFACE_COLOR_TYPE_BATTLEGROUND_ALLIANCE = INTERFACE_COLOR_TYPE_BATTLEGROUND_TEAM + +-- Renaming battleground related functions +GetUnitBattlegroundAlliance = GetUnitBattlegroundTeam +GetBattlegroundAllianceName = GetBattlegroundTeamName +GetScoreboardEntryBattlegroundAlliance = GetScoreboardEntryBattlegroundTeam +GetKillingAttackerBattlegroundAlliance = GetKillingAttackerBattlegroundTeam + --[[ multiselect combo box ui widget for keyboard screens. Uses a custom control definition with the box border, selected item label, and a dropdown button. @@ -1495,4 +1515,30 @@ ZO_ComboBox_Entry_OnSelected = ZO_ComboBoxDropdown_Keyboard.OnEntryMouseUp IsTributeMechanicSetbackForPlayer = function(...) return GetTributeMechanicSetbackTypeForPlayer(...) ~= TRIBUTE_MECHANIC_SETBACK_TYPE_NONE -end \ No newline at end of file +end + +-- Renaming 'SetPendingInteractionConfirmed' to 'ReplyToPendingInteraction' +SetPendingInteractionConfirmed = ReplyToPendingInteraction + +-- Gamepad Mail Rename +ZO_MailManager_Gamepad = ZO_Mail_Gamepad_TopLevel +ZO_MailManager_Gamepad_OnInitialized = ZO_Mail_Gamepad.OnControlInitialized +GAMEPAD_MAIL_MANAGER_FRAGMENT = GAMEPAD_MAIL_FRAGMENT +MAIL_MANAGER_GAMEPAD = MAIL_GAMEPAD +MAIL_MANAGER_GAMEPAD_SCENE = MAIL_GAMEPAD_SCENE +INBOX_TAB_INDEX = ZO_MAIL_TAB_INDEX.INBOX +SEND_TAB_INDEX = ZO_MAIL_TAB_INDEX.SEND + +-- Gamepad OnUpdatedSearchResults Rename for text search +ZO_TextSearchObject.OnUpdatedSearchResults = ZO_TextSearchObject.OnUpdateSearchResults +ZO_TextSearchManager.IsItemInSearchTextResults = ZO_TextSearchManager.IsDataInSearchTextResults +ZO_Gamepad_ParametricList_BagsSearch_Screen.IsSlotInSearchTextResults = ZO_Gamepad_ParametricList_BagsSearch_Screen.IsDataInSearchTextResults + +function GetAbilityCostOverTime(abilityId, mechanic, overrideRank, casterUnitTag) + local cost = GetAbilityCostPerTick(abilityId, mechanic, overrideRank) + local frequencyMS = GetAbilityFrequencyMS(abilityId, casterUnitTag) + return cost, frequencyMS +end + +-- System Mail Improvements +MAX_LOCAL_MAILS = MAX_MAILS_PER_CATEGORY \ No newline at end of file diff --git a/esoui/ingame/alerttext/alerthandlers.lua b/esoui/ingame/alerttext/alerthandlers.lua index 118800c24..9c168a64d 100755 --- a/esoui/ingame/alerttext/alerthandlers.lua +++ b/esoui/ingame/alerttext/alerthandlers.lua @@ -90,9 +90,7 @@ local function RequirementFailedAlertHandler(errorStringId) local collectibleId = GetErrorStringLockedByCollectibleId(errorStringId) if collectibleId ~= 0 then local collectibleData = ZO_COLLECTIBLE_DATA_MANAGER:GetCollectibleDataById(collectibleId) - local collectibleName = collectibleData:GetName() - local categoryName = collectibleData:GetCategoryData():GetName() - ZO_Dialogs_ShowPlatformDialog("COLLECTIBLE_REQUIREMENT_FAILED", { collectibleData = collectibleData }, { mainTextParams = { message, collectibleName, categoryName } }) + ZO_Dialogs_ShowCollectibleRequirementFailedPlatformDialog(collectibleData, message) elseif message ~= "" then return ERROR, message, SOUNDS.ABILITY_FAILED_REQUIREMENTS end @@ -1189,6 +1187,48 @@ local AlertHandlers = [EVENT_GROUP_FINDER_MEMBER_ALERT] = function(alert) return ALERT, GetString("SI_GROUPFINDERMEMBERALERT", alert), SOUNDS.GENERAL_ALERT_ERROR end, + + [EVENT_SCRIBING_ITEM_USE_RESULT] = function(result) + if result ~= SCRIBING_ITEM_USE_RESULT_NONE then + return ALERT, GetString("SI_SCRIBINGITEMUSERESULT", result), SOUNDS.GENERAL_ALERT_ERROR + end + end, + + [EVENT_SCRIBING_ERROR_RESULT] = function(result) + if result ~= SCRIBING_ERROR_RESULT_NONE then + return ALERT, GetString("SI_SCRIBINGERRORRESULT", result), SOUNDS.GENERAL_ALERT_ERROR + end + end, + + [EVENT_SKILL_STYLE_DISABLED_BY_SERVER] = function(disabled) + if disabled then + return ALERT, GetString(SI_SKILL_STYLING_DISABLED) + else + return ALERT, GetString(SI_SKILL_STYLING_ENABLED) + end + end, + + [EVENT_SCRIBING_DISABLED] = function() + return ERROR, GetString(SI_ERROR_SCRIBING_DISABLED), SOUNDS.GENERAL_ALERT_ERROR + end, + + [EVENT_NEW_HIRELING_CORRESPONDENCE_RECEIVED] = function() + return ALERT, GetString(SI_LORE_LIBRARY_ALERT_CORRESPONDENCE_RECEIVED) + end, + + [EVENT_MAIL_WITH_ATTACHMENTS_AVAILABLE] = function(hasAttachments, hasExpiringAttachments) + if hasExpiringAttachments then + return ALERT, GetString(SI_MAIL_ALERT_ATTACHMENTS_EXPIRING) + elseif hasAttachments then + return ALERT, GetString(SI_MAIL_ALERT_ATTACHMENTS_AVAILABLE) + end + end, + + [EVENT_MAIL_TAKE_ALL_ATTACHMENTS_IN_CATEGORY_RESPONSE] = function(result, category, headersRemoved) + if result ~= MAIL_TAKE_ATTACHMENT_RESULT_SUCCESS then + return ERROR, GetString("SI_MAILTAKEATTACHMENTRESULT", result), SOUNDS.GENERAL_ALERT_ERROR + end + end, } ZO_AntiquityScryingResultsToAlert = diff --git a/esoui/ingame/alerttext/gamepad/alerttext_gamepad.lua b/esoui/ingame/alerttext/gamepad/alerttext_gamepad.lua index a0c3b2f11..d64a954e4 100755 --- a/esoui/ingame/alerttext/gamepad/alerttext_gamepad.lua +++ b/esoui/ingame/alerttext/gamepad/alerttext_gamepad.lua @@ -64,6 +64,16 @@ function ZO_AlertText_Gamepad:Initialize(control) self.alerts:SetHoldTimes(6000) self.alerts:SetAdditionalVerticalSpacing(9) self.alerts:SetFadesInImmediately(true) + + local function OnAppGuiHiddenStateChanged(_, hidden) + self.alerts:SetHoldDisplayingEntries(not hidden) + end + + EVENT_MANAGER:RegisterForEvent("AlertText_Gamepad", EVENT_APP_GUI_HIDDEN_STATE_CHANGED, OnAppGuiHiddenStateChanged) + + if not GetGuiHidden("App") then + self.alerts:SetHoldDisplayingEntries(true) + end end function ZO_AlertText_Gamepad:HasActiveEntries() diff --git a/esoui/ingame/alerttext/keyboard/alerttext_keyboard.lua b/esoui/ingame/alerttext/keyboard/alerttext_keyboard.lua index 390351013..2479f79eb 100755 --- a/esoui/ingame/alerttext/keyboard/alerttext_keyboard.lua +++ b/esoui/ingame/alerttext/keyboard/alerttext_keyboard.lua @@ -38,6 +38,16 @@ function ZO_AlertText_Keyboard:Initialize(control) local MAX_DISPLAYED_ENTRIES_KEYBOARD = 3 self.alerts = ZO_FadingControlBuffer:New(control, MAX_DISPLAYED_ENTRIES_KEYBOARD, nil, nil, "AlertFade", "AlertTranslate", ZO_Anchor:New(TOPRIGHT, GuiRoot)) self.alerts:AddTemplate(DEFAULT_KEYBOARD_ALERT_TEMPLATE, {setup = SetupFunction}) + + local function OnAppGuiHiddenStateChanged(_, hidden) + self.alerts:SetHoldDisplayingEntries(not hidden) + end + + EVENT_MANAGER:RegisterForEvent("AlertText_Keyboard", EVENT_APP_GUI_HIDDEN_STATE_CHANGED, OnAppGuiHiddenStateChanged) + + if not GetGuiHidden("App") then + self.alerts:SetHoldDisplayingEntries(true) + end end function ZO_AlertTextKeyboard_OnInitialized(control) diff --git a/esoui/ingame/antiquities/gamepad/antiquityjournal_gamepad.lua b/esoui/ingame/antiquities/gamepad/antiquityjournal_gamepad.lua index a3653d347..e42c310c9 100644 --- a/esoui/ingame/antiquities/gamepad/antiquityjournal_gamepad.lua +++ b/esoui/ingame/antiquities/gamepad/antiquityjournal_gamepad.lua @@ -687,6 +687,7 @@ function ZO_AntiquityJournalListGamepad:InitializeControl(control) self.fragment = ZO_SimpleSceneFragment:New(self.control) ZO_ANTIQUITY_JOURNAL_LIST_GAMEPAD_FRAGMENT = self.fragment self.fragment:RegisterCallback("StateChange", OnStateChanged) + CALLBACK_MANAGER:RegisterCallback("AllDialogsHidden", function() self:OnAllDialogsHidden() end) end function ZO_AntiquityJournalListGamepad:InitializeControlPools() @@ -1048,7 +1049,7 @@ function ZO_AntiquityJournalListGamepad:InitializeOptionsDialog() end end end - end + end, }) end @@ -1157,6 +1158,13 @@ function ZO_AntiquityJournalListGamepad:OnSelectionChanged(oldData, newData) end end +function ZO_AntiquityJournalListGamepad:OnAllDialogsHidden() + if self:IsActivated() then + local NARRATE_HEADER = true + SCREEN_NARRATION_MANAGER:QueueSortFilterListEntry(self, NARRATE_HEADER) + end +end + --Overridden from base function ZO_AntiquityJournalListGamepad:GetHeaderNarration() return SCREEN_NARRATION_MANAGER:CreateNarratableObject(self.headerText) diff --git a/esoui/ingame/banking/gamepad/banking_gamepad.lua b/esoui/ingame/banking/gamepad/banking_gamepad.lua index 1b1292569..80fb2102b 100755 --- a/esoui/ingame/banking/gamepad/banking_gamepad.lua +++ b/esoui/ingame/banking/gamepad/banking_gamepad.lua @@ -84,7 +84,7 @@ do local currentBestCategoryName = nil for _, itemData in ipairs(slots) do - local passesTextFilter = TEXT_SEARCH_MANAGER:IsItemInSearchTextResults(self.searchContext, BACKGROUND_LIST_FILTER_TARGET_BAG_SLOT, itemData.bagId, itemData.slotIndex) + local passesTextFilter = TEXT_SEARCH_MANAGER:IsDataInSearchTextResults(self.searchContext, BACKGROUND_LIST_FILTER_TARGET_BAG_SLOT, itemData.bagId, itemData.slotIndex) local passesCategoryFilter = IsInFilteredCategories(self.filterCategories, itemData) if passesTextFilter and passesCategoryFilter then local entry = ZO_GamepadEntryData:New(itemData.name, itemData.iconFile) @@ -122,7 +122,7 @@ ZO_GamepadBanking = ZO_BankingCommon_Gamepad:Subclass() function ZO_GamepadBanking:Initialize(control) GAMEPAD_BANKING_SCENE = ZO_InteractScene:New(GAMEPAD_BANKING_SCENE_NAME, SCENE_MANAGER, BANKING_INTERACTION) - ZO_BankingCommon_Gamepad.Initialize(self, control, GAMEPAD_BANKING_SCENE) + ZO_BankingCommon_Gamepad.Initialize(self, "", control, GAMEPAD_BANKING_SCENE) self.itemActions = ZO_ItemSlotActionsController:New(KEYBIND_STRIP_ALIGN_LEFT) self:SetCarriedBag(BAG_BACKPACK) diff --git a/esoui/ingame/banking/gamepad/bankingcommon_gamepad.lua b/esoui/ingame/banking/gamepad/bankingcommon_gamepad.lua index 3cdb512b8..7ca544146 100755 --- a/esoui/ingame/banking/gamepad/bankingcommon_gamepad.lua +++ b/esoui/ingame/banking/gamepad/bankingcommon_gamepad.lua @@ -63,7 +63,7 @@ end ZO_BankingCommon_Gamepad = ZO_Gamepad_ParametricList_BagsSearch_Screen:Subclass() -function ZO_BankingCommon_Gamepad:Initialize(control, bankScene) +function ZO_BankingCommon_Gamepad:Initialize(searchContext, control, bankScene) self.isInitialized = false self.mode = BANKING_GAMEPAD_MODE_WITHDRAW @@ -72,7 +72,7 @@ function ZO_BankingCommon_Gamepad:Initialize(control, bankScene) self:CreateEventTable() local DONT_ACTIVATE_LIST_ON_SHOW = false - ZO_Gamepad_ParametricList_BagsSearch_Screen.Initialize(self, control, ZO_GAMEPAD_HEADER_TABBAR_CREATE, DONT_ACTIVATE_LIST_ON_SHOW, bankScene) + ZO_Gamepad_ParametricList_BagsSearch_Screen.Initialize(self, searchContext, control, ZO_GAMEPAD_HEADER_TABBAR_CREATE, DONT_ACTIVATE_LIST_ON_SHOW, bankScene) self:InitializeFiltersDialog() end diff --git a/esoui/ingame/battleground/battlegroundhud.lua b/esoui/ingame/battleground/battlegroundhud.lua index 7a4629e84..53e44e47b 100644 --- a/esoui/ingame/battleground/battlegroundhud.lua +++ b/esoui/ingame/battleground/battlegroundhud.lua @@ -103,7 +103,7 @@ do if previousBattlegroundTimeMS > COUNTDOWN_TIMER_START_MS then local messageParams = CENTER_SCREEN_ANNOUNCE:CreateMessageParams(CSA_CATEGORY_COUNTDOWN_TEXT, SOUNDS.BATTLEGROUND_COUNTDOWN_FINISH ) messageParams:SetLifespanMS(COUNTDOWN_TIMER_START_MS) - messageParams:SetIconData(ZO_GetCountdownBattlegroundAllianceSymbolIcon(GetUnitBattlegroundAlliance("player"))) + messageParams:SetIconData(ZO_GetCountdownBattlegroundAllianceSymbolIcon(GetUnitBattlegroundTeam("player"))) messageParams:SetCSAType(CENTER_SCREEN_ANNOUNCE_TYPE_COUNTDOWN) CENTER_SCREEN_ANNOUNCE:AddMessageWithParams(messageParams) end diff --git a/esoui/ingame/battleground/battlegroundscoreboard.lua b/esoui/ingame/battleground/battlegroundscoreboard.lua index fce0ccb8d..2411096aa 100644 --- a/esoui/ingame/battleground/battlegroundscoreboard.lua +++ b/esoui/ingame/battleground/battlegroundscoreboard.lua @@ -81,7 +81,7 @@ function Battleground_Scoreboard_Fragment:Initialize(control) self.alliancePanels = {} self.playerEntryData = {} - for i = BATTLEGROUND_ALLIANCE_ITERATION_BEGIN, BATTLEGROUND_ALLIANCE_ITERATION_END do + for i = BATTLEGROUND_TEAM_ITERATION_BEGIN, BATTLEGROUND_TEAM_ITERATION_END do local alliancePanelControl = CreateControlFromVirtual("$(parent)AlliancePanel", control, "ZO_Battleground_Scoreboard_Alliance_Panel", i) local alliancePanel = Battleground_Scoreboard_Alliance_Panel:New(alliancePanelControl, i) self.alliancePanels[i] = alliancePanel @@ -161,7 +161,7 @@ function Battleground_Scoreboard_Fragment:ApplyPlatformStyle(style) ApplyTemplateToControl(self.headers, style.headers) self.gamepadBackground:SetHidden(not style.useGamepadBackground) self.keyboardBackground:SetHidden(not style.useKeyboardBackground) - for i = BATTLEGROUND_ALLIANCE_ITERATION_BEGIN, BATTLEGROUND_ALLIANCE_ITERATION_END do + for i = BATTLEGROUND_TEAM_ITERATION_BEGIN, BATTLEGROUND_TEAM_ITERATION_END do self.alliancePanels[i]:ApplyPlatformStyle(style) end self:UpdateAll() @@ -180,7 +180,7 @@ function Battleground_Scoreboard_Fragment:InitializeNarrationInfo() local selectedData = self.selectedPlayerData -- Team Info for Selected Row - ZO_AppendNarration(narrations, SCREEN_NARRATION_MANAGER:CreateNarratableObject(GetString("SI_BATTLEGROUNDALLIANCE", selectedData.battlegroundAlliance))) + ZO_AppendNarration(narrations, SCREEN_NARRATION_MANAGER:CreateNarratableObject(GetString("SI_BATTLEGROUNDTEAM", selectedData.battlegroundAlliance))) ZO_AppendNarration(narrations, SCREEN_NARRATION_MANAGER:CreateNarratableObject(GetString(SI_BATTLEGROUND_SCOREBOARD_HEADER_TEAM_SCORE))) ZO_AppendNarration(narrations, SCREEN_NARRATION_MANAGER:CreateNarratableObject(self.alliancePanels[selectedData.battlegroundAlliance]:GetScore())) @@ -259,21 +259,21 @@ function Battleground_Scoreboard_Fragment:OnUpdate(control, timeS) end do - local BATTLEGROUND_ALLIANCE_SORT_ORDER = + local BATTLEGROUND_TEAM_SORT_ORDER = { - BATTLEGROUND_ALLIANCE_PIT_DAEMONS, - BATTLEGROUND_ALLIANCE_STORM_LORDS, - BATTLEGROUND_ALLIANCE_FIRE_DRAKES + BATTLEGROUND_TEAM_PIT_DAEMONS, + BATTLEGROUND_TEAM_STORM_LORDS, + BATTLEGROUND_TEAM_FIRE_DRAKES } - local KEYED_BATTLEGROUND_ALLIANCE_SORT_ORDER = {} - for index, alliance in ipairs(BATTLEGROUND_ALLIANCE_SORT_ORDER) do - KEYED_BATTLEGROUND_ALLIANCE_SORT_ORDER[alliance] = index + local KEYED_BATTLEGROUND_TEAM_SORT_ORDER = {} + for index, alliance in ipairs(BATTLEGROUND_TEAM_SORT_ORDER) do + KEYED_BATTLEGROUND_TEAM_SORT_ORDER[alliance] = index end local function SortPlayerData(leftData, rightData) - local leftAllianceSortOrder = KEYED_BATTLEGROUND_ALLIANCE_SORT_ORDER[leftData.battlegroundAlliance] - local rightAllianceSortOrder = KEYED_BATTLEGROUND_ALLIANCE_SORT_ORDER[rightData.battlegroundAlliance] + local leftAllianceSortOrder = KEYED_BATTLEGROUND_TEAM_SORT_ORDER[leftData.battlegroundAlliance] + local rightAllianceSortOrder = KEYED_BATTLEGROUND_TEAM_SORT_ORDER[rightData.battlegroundAlliance] if leftAllianceSortOrder == rightAllianceSortOrder then if leftData.medalScore == rightData.medalScore then if leftData.deaths == rightData.deaths then @@ -304,7 +304,7 @@ do self:UpdateAnchors() if self.playMatchResultSound then - local playerAlliance = GetUnitBattlegroundAlliance("player") + local playerAlliance = GetUnitBattlegroundTeam("player") alliancePanel = self.alliancePanels[playerAlliance] local playerTeamWon = alliancePanel:GetScore() == self.highestPanelScore @@ -398,7 +398,7 @@ do function Battleground_Scoreboard_Fragment:UpdateAnchors() local previousControl = self.headers - for _, bgOrder in ipairs(BATTLEGROUND_ALLIANCE_SORT_ORDER) do + for _, bgOrder in ipairs(BATTLEGROUND_TEAM_SORT_ORDER) do local currentPanel = self.alliancePanels[bgOrder] local control = currentPanel.control control:ClearAnchors() @@ -624,7 +624,7 @@ function Battleground_Scoreboard_Alliance_Panel:Initialize(control, battleground self.score = 0 self.iconControl:SetTexture(ZO_GetLargeBattlegroundAllianceSymbolIcon(battlegroundAlliance)) - self.nameControl:SetText(zo_strformat(SI_ALLIANCE_NAME, GetString("SI_BATTLEGROUNDALLIANCE", battlegroundAlliance))) + self.nameControl:SetText(zo_strformat(SI_ALLIANCE_NAME, GetString("SI_BATTLEGROUNDTEAM", battlegroundAlliance))) local function PlayerRowFactory(pool) local playerRowControl = ZO_ObjectPool_CreateNamedControl("$(parent)PlayerRow", "ZO_Battleground_Scoreboard_Player_Row", pool, self.control) @@ -636,11 +636,11 @@ function Battleground_Scoreboard_Alliance_Panel:Initialize(control, battleground end do - local BATTLEGROUND_ALLIANCE_TO_BG_TEXTURE = + local BATTLEGROUND_TEAM_TO_BG_TEXTURE = { - [BATTLEGROUND_ALLIANCE_FIRE_DRAKES] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboardBG_orange.dds", - [BATTLEGROUND_ALLIANCE_PIT_DAEMONS] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboardBG_green.dds", - [BATTLEGROUND_ALLIANCE_STORM_LORDS] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboardBG_purple.dds", + [BATTLEGROUND_TEAM_FIRE_DRAKES] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboardBG_orange.dds", + [BATTLEGROUND_TEAM_PIT_DAEMONS] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboardBG_green.dds", + [BATTLEGROUND_TEAM_STORM_LORDS] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboardBG_purple.dds", } function Battleground_Scoreboard_Alliance_Panel:ApplyPlatformStyle(style) @@ -649,7 +649,7 @@ do self.bgControl:SetColor(GetBattlegroundAllianceColor(self.battlegroundAlliance):UnpackRGBA()) self.bgControl:SetTexture("") else - self.bgControl:SetTexture(BATTLEGROUND_ALLIANCE_TO_BG_TEXTURE[self.battlegroundAlliance]) + self.bgControl:SetTexture(BATTLEGROUND_TEAM_TO_BG_TEXTURE[self.battlegroundAlliance]) end for _, playerRow in ipairs(self.sortedPlayerRows) do @@ -767,9 +767,9 @@ end do local HIGHLIGHT_KEYBOARD_TEXTURES = { - [BATTLEGROUND_ALLIANCE_FIRE_DRAKES] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboard_highlightStrip_orange.dds", - [BATTLEGROUND_ALLIANCE_STORM_LORDS] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboard_highlightStrip_purple.dds", - [BATTLEGROUND_ALLIANCE_PIT_DAEMONS] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboard_highlightStrip_green.dds", + [BATTLEGROUND_TEAM_FIRE_DRAKES] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboard_highlightStrip_orange.dds", + [BATTLEGROUND_TEAM_STORM_LORDS] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboard_highlightStrip_purple.dds", + [BATTLEGROUND_TEAM_PIT_DAEMONS] = "EsoUI/Art/Battlegrounds/battlegrounds_scoreboard_highlightStrip_green.dds", } function Battleground_Scoreboard_Player_Row:SetupOnAcquire(panel, poolKey, data) diff --git a/esoui/ingame/battleground/battlegroundscorehud.lua b/esoui/ingame/battleground/battlegroundscorehud.lua index 351df19e9..1e8f2102c 100644 --- a/esoui/ingame/battleground/battlegroundscorehud.lua +++ b/esoui/ingame/battleground/battlegroundscorehud.lua @@ -115,7 +115,7 @@ function ZO_BattlegroundTeamSection:UpdateScore() (currentScorePercent > nearingVictoryPercent or zo_floatsAreEqual(currentScorePercent, nearingVictoryPercent)) then local messageParams = CENTER_SCREEN_ANNOUNCE:CreateMessageParams(CSA_CATEGORY_MAJOR_TEXT, SOUNDS.BATTLEGROUND_NEARING_VICTORY) local text - if self.battlegroundAlliance == GetUnitBattlegroundAlliance("player") then + if self.battlegroundAlliance == GetUnitBattlegroundTeam("player") then text = zo_strformat(SI_BATTLEGROUND_NEARING_VICTORY_OWN_TEAM, GetColoredBattlegroundYourTeamText(self.battlegroundAlliance)) else text = zo_strformat(SI_BATTLEGROUND_NEARING_VICTORY_OTHER_TEAM, GetColoredBattlegroundAllianceName(self.battlegroundAlliance)) @@ -181,9 +181,9 @@ function ZO_BattlegroundScoreHud:CreateTeamSections() end self.teamSections = {} - for bgAlliance = BATTLEGROUND_ALLIANCE_ITERATION_BEGIN, BATTLEGROUND_ALLIANCE_ITERATION_END do - local control = CreateControlFromVirtual("$(parent)Section", self.teamsControl, "ZO_BattlegroundTeamSection", bgAlliance) - table.insert(self.teamSections, ZO_BattlegroundTeamSection:New(control, bgAlliance)) + for bgTeam = BATTLEGROUND_TEAM_ITERATION_BEGIN, BATTLEGROUND_TEAM_ITERATION_END do + local control = CreateControlFromVirtual("$(parent)Section", self.teamsControl, "ZO_BattlegroundTeamSection", bgTeam) + table.insert(self.teamSections, ZO_BattlegroundTeamSection:New(control, bgTeam)) end local DONT_ANIMATE = false self:SortTeamSections(DONT_ANIMATE) @@ -201,7 +201,7 @@ function ZO_BattlegroundScoreHud:SortTeamSections(animate) end function ZO_BattlegroundScoreHud:RefreshPlayerTeamIndicator() - local playerBattlegroundAlliance = GetUnitBattlegroundAlliance("player") + local playerBattlegroundAlliance = GetUnitBattlegroundTeam("player") for _, section in ipairs(self.teamSections) do if section:GetBattlegroundAlliance() == playerBattlegroundAlliance then local sectionControl = section:GetControl() diff --git a/esoui/ingame/campaign/campaignbrowser_manager.lua b/esoui/ingame/campaign/campaignbrowser_manager.lua index ed3a83133..aaa2d1c8b 100644 --- a/esoui/ingame/campaign/campaignbrowser_manager.lua +++ b/esoui/ingame/campaign/campaignbrowser_manager.lua @@ -131,11 +131,9 @@ do if campaignData.isImperialCityCampaign then local collectibleData = ZO_COLLECTIBLE_DATA_MANAGER:GetCollectibleDataById(GetImperialCityCollectibleId()) if not collectibleData:IsUnlocked() then - local collectibleName = collectibleData:GetName() - local categoryName = collectibleData:GetCategoryData():GetName() local message = GetString(SI_COLLECTIBLE_LOCKED_FAILURE_CAUSED_BY_CAMPAIGN_QUEUE) local marketOperation = MARKET_OPEN_OPERATION_DLC_FAILURE_CAMPAIGN_QUEUE - ZO_Dialogs_ShowPlatformDialog("COLLECTIBLE_REQUIREMENT_FAILED", { collectibleData = collectibleData, marketOpenOperation = marketOperation }, { mainTextParams = { message, collectibleName, categoryName } }) + ZO_Dialogs_ShowCollectibleRequirementFailedPlatformDialog(collectibleData, message, marketOperation) return end end diff --git a/esoui/ingame/campaign/campaignemperor_shared.lua b/esoui/ingame/campaign/campaignemperor_shared.lua index 2ef9a2823..004ba66d3 100755 --- a/esoui/ingame/campaign/campaignemperor_shared.lua +++ b/esoui/ingame/campaign/campaignemperor_shared.lua @@ -51,7 +51,7 @@ function CampaignEmperor_Shared:InitializeMenu() local function InitializeMenuEntry(alliance) local entry = { alliance = alliance, textString = zo_strformat(SI_ALLIANCE_NAME, GetAllianceName(alliance)) } - entry.callback = function() OnEntryClicked(entry) end, + entry.callback = function() OnEntryClicked(entry) end table.insert(self.menuEntries, entry) diff --git a/esoui/ingame/centerscreenannounce/centerscreenannounce.lua b/esoui/ingame/centerscreenannounce/centerscreenannounce.lua index ebd6634af..0e3447038 100755 --- a/esoui/ingame/centerscreenannounce/centerscreenannounce.lua +++ b/esoui/ingame/centerscreenannounce/centerscreenannounce.lua @@ -102,13 +102,7 @@ end -- Center Screen Message Params --------------------------------------------- -ZO_CenterScreenMessageParams = ZO_Object:Subclass() - -function ZO_CenterScreenMessageParams:New() - local messageParams = ZO_Object.New(self) - messageParams:Initialize() - return messageParams -end +ZO_CenterScreenMessageParams = ZO_InitializingObject:Subclass() function ZO_CenterScreenMessageParams:Initialize() self:Reset() @@ -150,6 +144,14 @@ function ZO_CenterScreenMessageParams:GetIconData() return self.icon, self.iconBg end +function ZO_CenterScreenMessageParams:SetLargeInformationIconData(icon) + self.LargeInformationIcon = icon +end + +function ZO_CenterScreenMessageParams:GetLargeInformationIconData() + return self.LargeInformationIcon +end + function ZO_CenterScreenMessageParams:SetScryingProgressData(lastNumGoalsAchieved, numGoalsAchieved, numGoalsTotal) self.lastNumGoalsAchieved = lastNumGoalsAchieved self.numGoalsAchieved = numGoalsAchieved @@ -435,13 +437,7 @@ end -- Center Screen Announcement Line ------------------------------------ -ZO_CenterScreenAnnouncementLine = ZO_CallbackObject:Subclass() - -function ZO_CenterScreenAnnouncementLine:New(...) - local announcementLine = ZO_CallbackObject.New(self) - announcementLine:Initialize(...) - return announcementLine -end +ZO_CenterScreenAnnouncementLine = ZO_InitializingCallbackObject:Subclass() function ZO_CenterScreenAnnouncementLine:Initialize(control) self.control = control @@ -558,10 +554,6 @@ end ZO_CenterScreenAnnouncementSmallLine = ZO_CenterScreenAnnouncementLine:Subclass() -function ZO_CenterScreenAnnouncementSmallLine:New(...) - return ZO_CenterScreenAnnouncementLine.New(self, ...) -end - function ZO_CenterScreenAnnouncementSmallLine:Reset() ZO_CenterScreenAnnouncementLine.Reset(self) @@ -654,25 +646,22 @@ local function AnchorIconToLabelControl(iconControl, textControl) local centeringOffset = (lineWidth - textWidth) / 2 iconControl:ClearAnchors() - iconControl:SetAnchor(RIGHT, textControl, LEFT, centeringOffset - 10, 0) + iconControl:SetAnchor(RIGHT, textControl, LEFT, centeringOffset - 10, 0) end - ZO_CenterScreenAnnouncementLargeLine = ZO_CenterScreenAnnouncementLine:Subclass() -function ZO_CenterScreenAnnouncementLargeLine:New(...) - return ZO_CenterScreenAnnouncementLine.New(self, ...) -end - function ZO_CenterScreenAnnouncementLargeLine:Initialize(control) ZO_CenterScreenAnnouncementLine.Initialize(self, control) - self.largeText = self.control:GetNamedChild("Text") + self.largeText = control:GetNamedChild("Text") self.smallCombinedText = self.largeText:GetNamedChild("Combined") self.smallCombinedIcon = self.smallCombinedText:GetNamedChild("Icon") self.smallCombinedIconBG = self.smallCombinedText:GetNamedChild("IconBG") self.smallCombinedIconFrame = self.smallCombinedText:GetNamedChild("IconFrame") + self.largeInformationIcon = self.largeText:GetNamedChild("LargeInformationIcon") + self.raidCompleteContainer = self.largeText:GetNamedChild("RaidCompleteText") self.raidTimeAmountLabel = self.raidCompleteContainer:GetNamedChild("TimeAmount") self.raidScoreAmountLabel = self.raidCompleteContainer:GetNamedChild("ScoreAmount") @@ -681,6 +670,7 @@ function ZO_CenterScreenAnnouncementLargeLine:Initialize(control) self.raidVitalityIcon = self.raidCompleteContainer:GetNamedChild("VitalityIcon") self.smallCombinedIcon:SetHidden(true) + self.largeInformationIcon:SetHidden(true) self.raidCompleteContainer:SetHidden(true) end @@ -689,6 +679,7 @@ function ZO_CenterScreenAnnouncementLargeLine:Reset() self.smallCombinedText:SetHandler("OnUpdate", nil) self.smallCombinedIcon:SetHidden(true) + self.largeInformationIcon:SetHidden(true) self.raidCompleteContainer:SetHidden(true) self.wipeAnimationTimeline:Stop() self.wipeFadeAnimationTimeline:Stop() @@ -740,6 +731,14 @@ function ZO_CenterScreenAnnouncementLargeLine:SetIcon(icon, iconBg, suppressIcon end end +function ZO_CenterScreenAnnouncementLargeLine:SetLargeInformationIcon(icon) + self.largeInformationIcon:SetHidden(icon == nil) + + if icon then + self.largeInformationIcon:SetTexture(icon) + end +end + function ZO_CenterScreenAnnouncementLargeLine:SetRaidBreakdownText(raidArgumentTable) self.raidCompleteContainer:SetHidden(false) self:TrySettingDynamicText(self.raidTimeAmountLabel, raidArgumentTable[ARG_BREAKDOWN_INDEX_TIME]) @@ -926,10 +925,6 @@ end ZO_CenterScreenAnnouncementMajorLine = ZO_CenterScreenAnnouncementLine:Subclass() -function ZO_CenterScreenAnnouncementMajorLine:New(...) - return ZO_CenterScreenAnnouncementLine.New(self, ...) -end - function ZO_CenterScreenAnnouncementMajorLine:Initialize(control) ZO_CenterScreenAnnouncementLine.Initialize(self, control) @@ -996,10 +991,6 @@ end ZO_CenterScreenAnnouncementCountdownLine = ZO_CenterScreenAnnouncementLine:Subclass() -function ZO_CenterScreenAnnouncementCountdownLine:New(...) - return ZO_CenterScreenAnnouncementLine.New(self, ...) -end - function ZO_CenterScreenAnnouncementCountdownLine:Initialize(control) ZO_CenterScreenAnnouncementLine.Initialize(self, control) @@ -1090,13 +1081,7 @@ end -- Center Screen Announce Manager ----------------------------------- -local CenterScreenAnnounce = ZO_Object:Subclass() - -function CenterScreenAnnounce:New(...) - local announce = ZO_Object.New(self) - announce:Initialize(...) - return announce -end +local CenterScreenAnnounce = ZO_InitializingObject:Subclass() do local eventHandlers = ZO_CenterScreenAnnounce_GetEventHandlers() @@ -1790,7 +1775,11 @@ local setupFunctions = backgroundControl:ClearAnchors() backgroundControl:SetAnchor(TOP, largeMessageLine.largeText, TOP, 0, -70) if messageParams:GetSecondaryText() then - backgroundControl:SetAnchor(BOTTOM, largeMessageLine.smallCombinedText, BOTTOM, 0, 80) + if messageParams:GetLargeInformationIconData() then + backgroundControl:SetAnchor(BOTTOM, largeMessageLine.largeInformationIcon, BOTTOM, 0, 100) + else + backgroundControl:SetAnchor(BOTTOM, largeMessageLine.smallCombinedText, BOTTOM, 0, 80) + end else backgroundControl:SetAnchor(BOTTOM, largeMessageLine.largeText, BOTTOM, 0, 70) end @@ -1799,11 +1788,15 @@ local setupFunctions = else largeMessageLine:PlayWipeAnimation() end - self.isBeforeMessageExpiring = true + self.isBeforeMessageExpiring = true end local icon, iconBg = messageParams:GetIconData() largeMessageLine:SetIcon(icon, iconBg, messageParams:GetSuppressIconFrame() == CSA_OPTION_SUPPRESS_ICON_FRAME) + + local largeInformationIcon = messageParams:GetLargeInformationIconData() + largeMessageLine:SetLargeInformationIcon(largeInformationIcon) + SCREEN_NARRATION_MANAGER:QueueCSA(messageParams) return largeMessageLine diff --git a/esoui/ingame/centerscreenannounce/centerscreenannounce.xml b/esoui/ingame/centerscreenannounce/centerscreenannounce.xml index 74f22fe9e..642c758ba 100755 --- a/esoui/ingame/centerscreenannounce/centerscreenannounce.xml +++ b/esoui/ingame/centerscreenannounce/centerscreenannounce.xml @@ -199,13 +199,18 @@ - +