Commit Graph

310 Commits

Author SHA1 Message Date
Sarjuuk
b35ab67360 Items/Stats
* fixed stats for random enchanted items with scaling enchantments
 * don't send unused 'chance' to Summary tool
2025-07-27 16:42:14 +02:00
Sarjuuk
086760b9b1 User/Cleanup
* the great unfuckening of user and displayName
    * `login` is purely used as login with AUTH_MODE_SELF
    * `email` may now also be used to log in (if the system knows it)
    * `username` is purely used for display around the site, and lookups from web context
    * both must exist because of external logins
        a) that may be not unique
        b) you may not want to share with the rest of the world
    * todo: implement rename ( because of b) )
2025-07-27 16:42:13 +02:00
Sarjuuk
bffdb9672e Future/Frontend
* create php classes, each mirroring a js object
 * each frontend class implements __toString and json_serialize and as such can be directly used by the template
 * also allows for sane object creation before js screams in agony

 * usage TBD
2025-07-27 16:42:12 +02:00
Sarjuuk
58412e0491 Titles/Name
* partially revert 398b93e9a7
 * generic "name" is required by CommunityContent system
2025-07-27 16:42:12 +02:00
Sarjuuk
967841fcb9 Spell/DetailPage
* finally set GCDCat var
 * (a smooth decade later and it turns out it was StartRecoveryCategory all along)
2025-07-27 16:42:12 +02:00
Sarjuuk
f826e4d68a NPCs/Vendors
* fix npc_vendor self-referencing itself
 * game_event_npc_vendor seems to not allow for self references
2025-07-04 22:29:15 +02:00
Sarjuuk
e173de9a97 Quests/Series
* apply cuFlags to quest series
 * implement firstquestseries, lastquestseries, partseries filters using said flags
2025-06-22 19:31:22 +02:00
Sarjuuk
cd94a2fa4e Profiler/Misc
* fix realm selection in profiler filters
 * minor cleanup of prQueue
2025-06-17 17:45:49 +02:00
Sarjuuk
91bb53aa1d Profiler/Realms
* skip out of List construction if realms are empty or do not match preselection
 * also prefilter Guilds and Prolfiles Lists for server or region (unless custom profiles)
 * discard ProfileList entries for inaccessible realms
2025-06-13 21:04:32 +02:00
Sarjuuk
c3048fe1f8 Misc/Fixup
* test arrays first before use, not the other way round
 * do not try to init local arena team entries if there are no entries in list.
 * fix equally distributing chars/guilds/arenateams across realms for unlimited (0) lists
 * fix double declaration of realms in ArenateamList
2025-06-03 17:13:44 +02:00
Sarjuuk
af69aa8e94 Profiler/ArenaTeams
* fixed LocalArenaTeamList being incompatible with it's inherited getListviewData()
 * also apply region and server limiters in LocalArenaTeamList
2025-06-03 17:02:23 +02:00
Sarjuuk
9d704c5ff9 ItemDetailPage/Vendors
* show mapper for vendor locations
2025-05-20 20:07:32 +02:00
Sarjuuk
d75aa56b38 Spells/Attributes
* update spell attribute descriptions primary from TC, secondary from Wowdev Wiki (not guaranteed to be correct for 335)
 * show all attributes on SpellDetailPage
 * update links from attributes to SpellFilter
   * unsure: should the attribute filters work purely on attributes or also consider other factors?
 * implement some of the client side modifiers on the spell tooltips and buffs
2025-04-22 21:38:58 +02:00
Sarjuuk
3078763ec3 Misc/Fixup
* floating changes
 * condense several switch() into match() constructs
 * fix ucFirst not making the rest of the word lowercase
2025-04-02 22:22:57 +02:00
Sarjuuk
db1d3ccace Core/Cleanup
* try to give included files a logical structure
 * move objects from Util and Game to their own files
 * make non-essential files auto-loaded
2025-04-01 22:33:36 +02:00
Sarjuuk
3a6c86092b Core/Compat
* create namespace Aowow to avoid naming conflicts
 * inclues/libs/ is outside of the Aowow namespace
2025-04-01 22:32:37 +02:00
Sarjuuk
b2d3bc1076 Types/Filters
* 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
2025-03-12 00:29:23 +01:00
Sarjuuk
460f4857ad Items/Filters
* add 'fished' as valid item source
 * item source 'none' now properly selects items without source, not items without source from this list
 * fixed edgecases where filter callback might have no return value
2025-03-06 18:51:51 +01:00
Sarjuuk
c712d1234b WorldEvents/Query
* try to fix generated aggregate query by not selecting multiple cols as `id`
2025-03-04 23:49:32 +01:00
Sarjuuk
efc8b51c8f Enchantment/Spells
*  initialize SpellList as null so it can be referenced
2025-03-04 00:29:08 +01:00
Sarjuuk
337eddcc0b Fixup/Spells
* fixed variable reuse
2025-03-01 21:17:34 +01:00
Sarjuuk
1f59e6fe2d Util/Enums
* create helper enum classes ChrClass & ChrRace
 * replace various iterators and checks with said enums
2025-02-28 14:04:19 +01:00
Sarjuuk
6660125154 Items/Tooltips
* fix scaling string in item tooltips for scaling & non-interactive tooltips
2025-02-27 16:25:25 +01:00
Sarjuuk
870cbea2ca SmartAI/Update
* 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
2025-02-27 16:25:24 +01:00
Sarjuuk
748a78c3c7 Filters/Cleanup
* move filter constants to class Filter
 * use less magic numbers
 * add type declarations
2025-02-27 16:25:23 +01:00
Sarjuuk
398b93e9a7 Locale
* 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
2025-02-27 16:25:23 +01:00
Sarjuuk
88da3588e5 Compat/SQL
* make ON DUPLICATE KEY UPDATE queries compatible with both MySQL8 and MariaDB by providing update values from php
2025-01-26 13:53:26 +01:00
Sarjuuk
c1eecb4c22 ItemStats/Filters
* 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
2024-09-10 16:54:49 +02:00
Sarjuuk
79aa8fda7e Profiler/Fixup
* fix index error in ArenaTeam member update query
2024-08-27 22:56:33 +02:00
Sarjuuk
48ce7267e7 ItemFilter/Fixup
* fix invalid return type in createConditionsForWeights()
2024-08-27 22:34:52 +02:00
Sarjuuk
03cf3a5918 UtilityPage/Random
* fix invalid type error
 * simplyfy query building (there are no longer tables with an index named `entry`)
2024-08-27 20:42:06 +02:00
Sarjuuk
3aede18926 SpellDetailPage/Fixup
* fix empty scaling bar
 * fix setting max level for scaling tooltips
 * fix displayed periodic power gain value for runic power and rage
 * attempt to fix spell coefficient calculation (dear god...)
 * append % sign to value for two more auras
 * display value per combo point
2024-08-24 20:02:51 +02:00
Sarjuuk
b11c1125f6 Filters/Wildcards
* 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)
2024-08-22 16:15:07 +02:00
Sarjuuk
57ad861da7 Items/Arena
* changed logic to not display required arena rating in tooltip or infobox if there are sources that don't require it.
 * also, should there be a difference in sources, display lowest required rating, not not highest.
2024-08-22 01:40:03 +02:00
Sarjuuk
d2e109d818 SpellDetailPage
* attempted cleanup in effect generation and template
 * display summon properties
 * display unit of effect value
 * fix spell effect layout, typos, missing tools, ...
2024-08-19 21:35:36 +02:00
Sarjuuk
dab110475c Items/Tooltips
* do not display crafted item tooltip inside recipe tooltip if the craft spell doesn't create an item.
   (notably: enchantments were displaying enchantment scrolls)
 * always display reagent cost if set
2024-07-31 22:02:15 +02:00
Sarjuuk
b330f88699 Itemstats/Ammunition
* don't use 'delay' to calc added dps from ammunition
2024-07-31 02:38:25 +02:00
Sarjuuk
481a3dc63f MySQL/Compat
* 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)
2024-07-31 02:38:19 +02:00
Sarjuuk
c30e68d86f Enchantments/ProcSpells
* fixed resolving procSpells with a triggerSpell of 0
 * spells are now always displayed in listview
2024-07-14 17:48:30 +02:00
Sarjuuk
460615c112 Profiler/Completion
* split completion table into it's subcomponents
 * this should save some disk space as some keys and null fields have been optimized out and col sizes have been reduced
 * sort ICC raid bosses first to last
2024-07-08 23:56:43 +02:00
Sarjuuk
92a6e0122f Misc/Fixup
* Profiler: handle items with invalid enchantments
 * Profiler: convert (last?) forgotten INSERT IGNORE to ON DUPLICATE KEY UPDATE id=id
 * Areatrigger: fix null related tabs
 * LatestComments: fix lv template for replies
 * Conditions: fixed tab names for locale DE
2024-07-08 16:51:08 +02:00
Sarjuuk
f21e8045b2 Misc/Fixup
* spell:    resolve MiscValue for SPELL_AURA_MOD_INVISIBILITY
 * search:   do not double escape page title
 * profiler: fixed typo, causing shaman spirit weapons to be applied _everywhere_
2024-07-05 18:15:05 +02:00
Sarjuuk
2bd588045a PHP/Compat
* remove sources of deprecation warnings. Mostly dynamic creation of object properties.
 * some string function no longer accept null as string
2024-07-03 18:38:28 +02:00
Sarjuuk
b5b62a5a62 Localization/GlobalStrings
* apply more strings from GLobalStrings.lua to localization
 * mostly ITEM_MOD_* and PVP_RANK_*
 * some fixes in the process
2024-06-18 22:59:20 +02:00
Sarjuuk
7e0be11323 Stats/CombatRatings
* define magic numbers from combat ratings
 * move forgotten rating base values from Util to Stats
 * fix localized rating strings for item and spell tooltips (expected float, got string)
 * some cleanup in item/spell types to make it more clear when an internal stat is being handled, not an itemMod or combatRating
2024-06-18 22:34:50 +02:00
Sarjuuk
12ddc6fe82 Misc/Fixup
* 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
2024-06-17 19:59:51 +02:00
Sarjuuk
d16b08bb29 Core/CharStats
* 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
2024-06-16 19:28:26 +02:00
Sarjuuk
cb3c7d4ef0 Misc/Util
* 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
2024-06-16 17:22:08 +02:00
Sarjuuk
5c1e9747c6 Misc/Cleanup
* remove some derelict code
2024-06-03 15:58:41 +02:00
Sarjuuk
f861886fdf Misc/Fixup
* Conditions: loot rows initially have no 'id'
 * fixed building talent string for hunter pets (different talents can occupy the same row/col spot)
 * added keys loot cols on creature table
 * fixed trying to show itemset type for itemsets without type
 * fixed waypoint calculation when moving entity between floors
2024-06-02 21:15:29 +02:00