* update events and actions to match TrinityCore again
* removed events and actions have been kept but marked as deprecated
* general rewording and use of UIES for better readability
* move constants to respective classes
* reevaluate usage of UNIT_FIELD_BYTES1 content
* 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
* do not use NULL on item stats as it prevents searching for an amount of 0 (except for stats that certain items just cant have)
* fix stats from spells granting spell power and spell healing separately
* define and use some item subclasses
* 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)
* spell: do not create a temporary copy of the spell.dbc, but merge serverside spells directly into aowow_spell.
This sidesteps a mysql issue where a temp table can't be read multiple times.
* spawns: fixed lost var rename in log output
* items: use UNSIGNED instead of INT when typecasting in query so mysql can also understand it
* 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!
* unify stat handling. If there are discrepancies left at least they are now centralized.
- health should no longer pretend to be mana
- stats are no longer capped to 32.7k points as items can have multiple of the same stat and handily exceed smallints
* weight scale fixes:
- "repair cost" is no longer a weight scale option. Why was it one in the first place? Also it wasn't even accessible before. (that was a bug)
- "bonus armor" is now searchable and only applied to armor pieces
* removed unused parsed stats from itemsets
* 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
* improve db error handling
* web view should always result in an user friendly error if the db connection is missing or erronous
* cli use should never fatal if the db connection is erronous. How are you going to fix it, d'uh.
* if some CLISetup script requires a db connection check it individually
* setting an unsigned column -1 is pretty pointless, isn't it?
* using a recently truncated, not yet repopulated table to determine if items can be obtained is pretty pointless, RIGHT!?
(items are not longer blanket tagged as unobtainable)
* 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
* get sounds from ScreenEffect.dbc and link to type Spell and type Sound
* resolve ScreenEffect name in SpellDetailPage
Fixup
* fix warning in UI escape sequence parsing
* 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
* define and use some more magic numbers
* move id-based custom data from spell SetupScript to aowow_setup_custom_data table
* hide on unused glyph while at it
* 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
* allow overwriting generic/fine log output
* fix some errors
* can't catch notices generated by mysqli_connect
* removed some unnessecary ORDER from querys
* sanity check slot / invtype realtion on setup (and hide offenders)
* hide internal/unused items by name part
* always truncate table to get rid of old data
* fixing one->many relation revealed by replacing REPLACE with INSERT in creature setup