Накопительные обновления с 01.01.17 (привет M$)
- Gradle Update;
- Data access layer refactor
* Using a DAO factory.
* Using stateless DAO implementations.
* Designed to support multiple database engines.
* Separated implementation from interface.
* Moved over 1200 lines of code outside L2PcInstance.
* Fixed player's name regular expression.
* Replaced connection pool singleton with enum singletons.
* Fixed Gradle script.
* Setting default password for database.
* Adding support for MDB.
* MySQL's default server time zone.
* Item reuses are inserted as batch now.
* Subclasses are inserted as batch now.
* Updated to Gradle 3.4.
- Re-organizing L2PcInstance code
* Moving variables to the top.
* Getters and setters together.
* Moved static variables and methods first.
- Avoiding the usage of CopyOnWriteArrayList in L2PcInstance;
- Fixing NPE in latest friend list changes;
- Replacing more loggers with SLF4J;
- Added more DAOs
* Added Servitor Skill Save DAO.
* Added Pet Skill Save DAO.
* Completed Pet DAO.
- pipelines.yml created;
- Minor cleanup;
- Update MDB for fix TYPE_FORWARD_ONLY error;
- Fix "creating character with any type of name appears error";
- Adding more "start quest" methods;
- Retail like player/pet/clan names rules (clean useless code);
- Add new method for quests (check for any state);
- Sound/Music/Voice Rework;
- New system reduce even more object creation;
- Reduce chance for create audio with wrong type or name;
- Tutorial use same method as other audio files;
- Add proper support for delay before music/voice play in client;
- Remove useless methods;
- Add missing sound/music/voice files;
- Prepare needed voice files for tutorial quest rework;
- Hate must be long, used in Emerald Horn AI;
- Core part for Four Goblets Quest;
- Gradle update to 3.5;
- Improving add attack desire;
- Adding some settings for debug;
- NPC with Fist attack type attack very fast Fix;
- Add to git ignore login log folder (debug);
- Cursed Weapons cannot drop in instance fix;
- Optimization on experience increase/decrease;
- Change level to Integer (less cast);
- Add support for new scripts;
- Little adjustment on Cursed Weapons fix (instance problem);
- Add config for max player/pet level;
- Last write on StopRotation need to be int not byte;
- Solve few problems with full inventory check logic Fix;
- Double henna index increase Fix;
- Problems with case-sensitive on npc data load Fix;
- FlyToLocation need to keep target location on skill start as end point;
- Retail like Tutorial;
- Update abnormal types to H5;
- Solve problem with exp on subclass Fix;
- Solve problem with dye not apply Fix;
- Solve problem with pet name check Fix;
- Add add listener for player class cancel Fix;
- Add missing long cast on weight calculation Fix;
- Added program arguments for Datapack and Geodata paths;
- Fixed bug where Config.DATAPACK_ROOT was used before Config.load().
- Added unit test for arguments parser;
- Adding code style warning back;
- Few improvements on Duel Fix:
- Fix problem with restore buffs
- Add support for pet/summons
- Add missing param for winner name;
- Refactoring database installers;
- Minor refactor of DB;
- More exp/sp improvements Fix;
- Solve problem with not properly HP/CP/MP restore on login Fix;
- Souls consume is stored in BuffInfo Fix;
- Solve wrong quest state show in the window Fix;
- Drop unused weight load from Pet data;
- Optimize/Fix weight for Player and Pet;
- Add missing messages on reflect damage;
- Invisible character cannot pickup items Fix;
- Updating dependency versions;
- rework creation point;
- removed duplicate creationPoints nodes;
- added data loader also add reload gm command;
- Fix Login Server restart problem;
- More work on exp Fix;
- Special resurrection (core support) also fix for negative exp display;
- Events for DamageDealt and Received now hold information if is reflect;
- Reflect in formulas now trigger that event too (missing before);
- Weapon conds need to effect all kind of creatures not only players;
- Add missing lib;
- Remove double logging from console and increase little starting memory;
- Separate steal/cancel formula, steal is not effected by cancel resist;
- Added DispelCategory enum for not passing compare strings;
- Steal/Cancel need to hit first triggers then dance/song;
- Fix problem with steal calculate range;
- Remove useless stat / few fix on exp/sp obtain;
- Refactored the database installers a bit;
- Fix sometimes players can teleport to other party's instance;
- Fix Charmber Instances' teleport;
- Fix sometimes party teleport to a empty room (Chamber of Delusion);
- Added methods for Characters to get current HP/MP Percentages;
- Added method in SkillHolder allow to override taken skill level;
- Added method for check exisit key in StatSet.
- Fix skill (642) Remove Trap.