* add reversed words and update token processing to allow
fulltext search to match end of word (e.g. searching 'wind -storm'
will now find 'whisperwind' or 'windrunner' and ignore 'stormwind')
* fix search token duplication for spells
* manually set several trade skills and related items as unavailable
* don't use unavailable trade skills to resolve reagent dependencies
on Spell Detail Page
* closes#499
* localize "unnamed" text for gameobjects and areatrigger
* fix empty links in Quest Detail Page for quests with
external completion event but empty AreaDescription
* closes#501
* move fulltext indizes for tables /w ~10k+ rows to separate tables
> sounds have ~12k but names are effectively incompatible with FTI
* normalize searchable strings to catch edgecases
> preparse spell descriptions + buffs
> move effect text cols of items to new table
* also fix extended search of creatures, spells & quests
* dashes also split words into multiple tokens, so they are now
stripped from search entirely (see: 'weather-beaten')
* only search for the full search input if the tokenizer didn't yield
any fulltext tokens. This should fix search performance after 00f048d3ae
* fixes#497
* port extended client file handling from other branch
* class DBC -> DBCReader now initializes a DBCFile
which itself is a BinaryFile
* update DBCReader to use the new DB wrappers multi-insert feature
* fix melee attack power from spells counting towards generic attack power
* combine melee and ranged attack power from the same spell into
generic attack power, if amounts are equal
* filters should test string input during initialization, so errors
can be passed on to the PageTemplate.
* have strings be compared for identity by default and (NOT) LIKE as
optional operator
* note: if a string criterium gets processed via callback function
it will not get prechecked
* readd regular indizes for name cols. There are cases where entities
are named in a way that does not work with FT indizes.
ex. "XT:9" is two tokens "XT", "9" which are too short to be indexed.
* additionally to FT search also exact match col to search string.
* set path and domain on consent cookie
* if page uses https, tag cookies as secure
* use samesite=lax so cookies get sent if user visits via external link
* implement tooltip scaling calculation for spells with attribute
SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION
* I don't know why i loaded item scales as spell scales a decade ago.
Lets hope removing that didn't break stuff.
* rework map pos -> zone pos calculation. It was kinda stupid to run a
query for each individual spawn point. So cache all wma entries per
map and do the calculation in php.
* sqlgen 'spawns' is now about twice as fast
* fix converting min/max reputation requirements to TC condition
on detail page (it still lacks the exact amount)
* also Game::getReputationLevelForPoints was off by 1