* followup on 748a78c3c7
* fix return type of criteria filter callbacks (mostly in case of faulty input)
* spread the criteria var into criteria filter callbacks
* some magic numbers to constants and type declarations for params/return types
* detatch from User and Util and move to its own enum class
* added definitions for all locales the 12340 client could in theory have
* this is incompatble with the Intl extension
* version bump and php requirement bump
* fix usage of generic search wildcards: ? *
* only transform search form fields expected to be text
* some cleanup (magic numbers to define, fn return types, nullsafe assignemnts)
* fixed several deprecation notices and warnings from MySQL8, most notably:
- SQL_CALC_FOUND_ROWS: stopped using DBSimple::selectPage and query 'SELECT COUNT(*) ...' separately where needed
- ON DUPLICATE KEY UPDATE ... VALUES(): use row alias for new values instead of VALUES function
- boolean shorthands to long form (&& -> AND, etc)
* move areatrigger teleport endpoints and instance entrance points to spawns. This makes them editable like spawn points.
* since instance entrances aren't shown on maps they are moved through the admin menu on the instances page.
* rewrote spawns SetupScript. Individual groups can now be recalculated separately.
* fix spawns for multifloor dungeonmaps that use their worldmaparea entry for coordinates
* fix mapper feature: move visible spawn point
* resolve confused X/Y coordinate remapping from a time before i knew world coordinated are rotated by 90°
* PS: Ulduar floor indizes were funky. No idea why.
* restore old define order for g_zone_areas
* rewritten to be able to dynamicly load it's components
- CLISetup -> checks for UtilityScripts (config, setup, dbc reader, etc.) -> checks for SetupScripts (individual sql/file generators)
- each step may now have a help prompt attached. If none are provided, the containing script may provide it's help.
- all Scripts are self contained modules. No more editing of 3+ files if some component is added/removed
* removed intermediaries FileGen & SqlGen
* functional changes
- allow providing CLI arguments to siteconfig and account UtilityScript and skip the interactive prompts
- set slot for consumable enchantment items so they are filtrable
- zones dataset is now localized and generated from GlobalStrings.lua and DungeonMap.dbc. Related data dumps removed.
- 'aowow' and 'prQueue' executables now have shebangs
WARNING - command line options have been renamed!
* prevent direct access to some internal files where applicable and reword error for others
* if CFG_DEBUG is set also enable debug in client javascript
* non-breaking formatting changes
* define regions and missing locales for later use
* relax numeric type requirements when working with filters
* restore smart type casting functionality of Util::checkNumeric when used with NUM_ANY
* enable Util::arraySumByKey to work recursively
* fix source display in listview
* rewritten and moved to its own class, should be easier to expand in the future
* add missing sources and types from TrinityCore
* implement conditions on Areatrigger and Loot containers
* implement reverse lookups (e.g. a spell is a conditional for something else)
* general beautification pass .. should be more legible in general
NOTE:
* texts have been changed, so the existing translation for esES ist gone
* selecting and describing condition targets is still wonky
* convert configuration from list of constants to object
* fixes config changes not applying on cli whithout closing and reopening again
* config variables are no longer embedded in localization text
* implement SpawnedByDefault from TC
* maybe fix a longstanding issue where multiple parent areas per instanced map lead to wrong spawn points
map should be can also be
36 The Deadmines The Great Sea, Unused Ironcladcove
109 The Temple of Atal'Hakkar Sunken Temple
540 The Shattered Halls Hellfire Citadel
560 Old Hillsbrad Foothills Hyjal Past
631 Icecrown Citadel The Frost Queen's Lair, Putricide's Laboratory of Alchemical Horrors and Fun, The Crimson Hall, The Frozen Throne, The Sanctum of Blood
* fixed misc issues Intellisense was nice enough to highlight.
* mostly deprecated usage of uninitialized parameters
* class GenericPage still needs a long, hard look and a refactor
* fixed encoding Dungeon Difficulty in source
* resolve difficulty dummy loot sources to base creature if able
* added listview note for difficulty source on item detail page
* misc: fixed parsing color UI escape sequence
* have creature emotes in the same system (on a negeative index) as SAI links were uselessly pointing to player emotes before
* player emotes are now gendered
* display two more cases of who points at whom when using a player emote
* use and link event sound from emote
* display more misc info
* fixed wrong indizes for gem color picker in locale 3 (deDE)
* fixed interpretation of filter enums. Some are providing their value directly, others have an intermediate key.
* createSQLForCriterium is no longer abstract. (was implemented in exactly the same way everywhere)
* erronous criteria are now logged and discarded entirely)
* rewrote SetupSrcipt
* implemented 'zone' parameter
* implemented 'bossdrop' parameter
* implemented 'dungeondifficulty' parameter
* implemented item filter relying on zone information (dropsInX)
* fixed world random drops showing a single loot source
* extended Source column of spells to the same functionality as items
ToDo:
* apply new 'commondrop' parameter on loot listviews
* gather difficuly versions of gameobjects and apply the same logic as for creatures
* implement fake spawns so npcs can get linked to a zone
* use strings from globalstrings.lua to format time in item and spell tooltips
* fixed item filter ItemCooldown
* fixed timeAgo format
* move item duration to correct position in tooltip
* vehicle accessories now get moved with their vehicle
* try to account for multilevel zone offset nonsense
* fixed some more typos and unaccounted null cases
* Entities (Objects, NPCs, ect) can now easily be assigned to a different map to be displayed on by clicking their pip on the map
* Entities with already assigned area (by TrinityCore) that were unable to be matched onto the map are no longer discarded. They'll now show up in appropriate listviews.
* Entities without already assigned area that are also unable to be matched onto the map now get an area assigned as long as the relationship areaId <=> mapId is unique (read instanced areas)
* moving commonly used strings to defines
* moving commonly reused/similar page generation functions to the parent
* generally using consistent return types, more type hints and less strings
* prevent browser context menu when right clicking on UI elements with their own context menus
* fixed menu path for icons
* display a "sells" entry for every combination of currencies the vendor accepts per item
* display every cost combination in the quick infos on the item detail page
* further optimize search
- use achievement 4496 as shortcut for everything based around total achievement points
- get talent distribution separately
- get total profiler-items found separately
- opt to not sort found results
* fixed Profiles with zero Achievement Points
* added cache key genrator i forgot :<
* fixed typos
* vastly improved input validation
* content and type validation occurs when filter is created
* contextual filters like itemTypes are now only applied in context
* Item/XML
- fixed setting typeId when lookup was item name
- fixed lookup by name with utf8-chars
* Items
- do not display page for invalid categories
* NPC
- fixed reputation display
* Quest
- broke infinite loop occuring when quest is in chain with itself
* Filters
- handle different sizes of cr, crs and crv passed