Missing cleanup from @45cd1c2dea3679c89affa8658cbb9d5ac9174fb4
Adding new SubClass switch capability from ALT+T
Fixing minor typos in Listeners:
Fixing notification to some listeners were prevented if not contained in
global container
Fixing global players container not used for char create/delete
Reported by @St3eT
Fixing NPE vulnerability caused by last commit
Adding some NpcStringId required for Quests
Merge branch 'ertheia' of https://github.com/L2J/L2J_Server into ertheia
Core part for L2J/L2J_DataPack@4fd301548b76242efd714935b96aadda1f8e20b4
Core-part for
St3eT/L2J_DataPack@5b871f31cf0b3fbb8dc8dbe9eb1f24a74251579a
Merge pull request #13 from St3eT/ertheia

Implementing Shannon AI and fixed typo in Mahram AI
Core-part for
St3eT/L2J_DataPack@4682760dafbabec6950c276782e72bdaac69dccd
Merge pull request #14 from St3eT/ertheia

Implemented Envy AI, htmls and multisells
Updating NpcStringId:
Updated NpcStringId with all new client ids and names and changing
approach of initializing fields because there is a limit of 65k inside
the static block.
Now using Annotation to bind id to field
Reference update patch by @St3eT
Adding support for disabling attack timeout
Patch by @St3eT
Reworking SystemMessageId:
Updated SystemMessageId with all new client ids and names and changing
approach of initializing fields because there is a limit of 65k inside
the static block.
Now using Annotation to bind id to field
Fixing back reverted accidenatly fix
Updating NpcStringId
Re-validating all field names to avoid symbols that should not present
Using whitelist instead of blacklist and validating char per char.
Updating NpcInfo:
Fixing the mask in last C that controls npc state in combat, dead,
targetable, showing name
Note: As GM You will be able to target non targetable npcs!
Trade update
Fixed trading caused by wrong structure
Also implemented TradeUpdate by daemon
More for Chat/Trade info
Added 0x10 mask that hides player level for GM
improvements support for block talk with npcs