* moved dungeon enums to dungeons.enums.*
* moved challange enums to dungeons.challenge.enums.*
* added some missing Enums
* ChallengeCondType
* ChallengeEventMarkType (also used in ScriptLoader)
* ChallengeRecordType.java
* FatherChallengeProperty (also used in ScriptLoader)
* DungeonEntrySatisfiedConditionType
* DungunEntryType
Implemented configRoutes + platform refactoring
* EntityGadget now has the fieldRouteConfig, which is used to manage routes
* Implemented routes system, adds:
* ConfigRoute (routes based on config id, mostly handled by the client)
* AbilityRoute (routes based on abilities, those are still hardcoded)
* PointArrayRoute (not implemented since resources for them are missing)
* EVENT_PLATFORM_REACH_POINT lua event still missing
* changed addTrialAvatarForQuest() in Player.java to accept Grant Reason as another param
* changed removeTrialAvatar() in Player.java to remove trial avatar based on trialAvatarId instead of clearing the entire team
* modified Avatar.java to not save avatar to DB if it is a trial avatar
* modified relevant files
-> GameItem.java
-> TeamManager.java
-> ExecGrantTrialAvatar.java
-> ExecRemoveTrialAvatar.java
* added implementation for ScenePlayerSoundNotify in ScriptLib
* added implementation for ShowClientGuideNotify in ScriptLib
* added relevant files
-> ScenePlayerSoundOuterClass.java
-> ShowClientGuideNotifyOuterClass.java
-> VectorOuterClass.java
-> GuideTriggerData.java
-> PacketScenePlayerSoundNotify.java
-> PacketShowClientGuideNotify.java
* modified relevant files
-> GameData.java
* Deserialization support for tsv files
* Benchmarking
* Apparently moving the setter out of the lambda fixed the setAccessible issue
* Thread it
* Use AllArgsConstructor instead of field reflection
* Clean up AllArgsConstructor TSV deserialization
* Refactor TsvUtils
* Remove AllArgsConstructors from Excels
* Set field accessible
* [WIP] TSJ improvements
* [WIP] More TSV stuff
* [WIP] More TSV stuff
* Working TSV parser (slow)
* Load Excels in TSJ > JSON > TSV priority
- Added files
-- ExcelData
* TrialAvatarData.java
* TrialAvatarTemplateData.java
* TrialReliquaryData.java
-- OuterClass
* AvatarDelNotifyOuterClass.java
-- Packets
* PacketAvatarDelNotify.java to remove trial avatar appearing in player's bag
-- QuestExec
* ExecGrantTrialAvatar.java
* ExecRemoveTrialAvatar.java
- Modified files
-- ExcelData
* GameData.java to cache excel data
* QuestData.java to read trial avatar list
-- Game files
* Avatar.java to set trial avatar information
* Player.java to send corresponding packages for trial avatar
* TeamManager.java to add trial avatar to temporary team
* GameQuest.java to remove trial avatar on quest fail
* World.java to not send extra startDungeon() which is already handled by dungeon system
-- Packets
-- PacketAvatarTeamUpdate.java to selectively send trial team or player's team information
- Added outer class and packets for quest transmit (teleportation during quest), cleaned up related files
-- QuestTransmitReqOuterClass.java (newly added)
-- QuestTransmitRspOuterClass.java (newly added)
-- HandlerQuestTransmitReq.java (newly added)
-- PacketQuestTransmitRsp.java (newly addded)
-- TeleportData.java (read teleport data in quest shared config)
- Read extra files to display Boss name and cleaned up related files
-- MonsterSpecialNameData.java (newly read)
-- MonsterDescribeData.java (cleaned up)
-- MonsterData.java (cleaned up)
-- EntityMonster.java (cleaned up to display the special titles)
- Read extra files to use extra abilities for certain scene and cleaned up related files
-- ConfigLevelEntity.java (newly read)
-- SceneData.java (from here map to ConfigLevelEntity)
-- AvatarData.java (moved part of ability embryo code to function to be reused in Player.java)
-- Player.java (rebuild and add ability embryo if any)
- Modified Grasscutter.java
-- to init ScriptLoader before ResourceLoader.loadAll() since quest shared config are in luas
- Modified ResourceLoader.java to load new data
-- function loadQuestShareConfig (rewind and teleport data)
-- function loadConfigLevelEntityData (ability embryo for certain scene)
- Modified GameData.java
-- to cache all the newly read data
- Modified GameMainQuest.java
-- to read rewind positions from cahced, rather than saving to DB
- Modified World.java
-- to rebuild and add ability embryo for every new scene
-- to give more teleport reason
- Modified PlayerTeleportEvent
-- to map to client transmit reason
Update languages [skip actions]
Fix whitespace [skip actions]
Refactor Entity data
Clean up excels
Make PlayerBuffManager::removeBuff actually remove buff
Remove LinkedList usage https://twitter.com/joshbloch/status/583813919019573248
Add FIGHT_PROP_CUR_DEFENSE alias to setstats (closes#1929)
Update gradle wrapper (closes#1076)
Add warnings to ancient deprecated Banners.json fields Will probably turn these into runtime errors in 1.5.0, people need to stop sharing configs with dead fields and especially stop making PRs with them.
3.2 First Half Banners (closes#1932)
Reimplement namecard claiming (fixes#1882)
Kill console on IOError
Refactor command kwarg parsing
Update roomSceneId obfuscated names (#1926)
Add the new keys (3.2 Support) (#1923)
Update README_ja-JP.md (#1922)
Fix Mail SendToAll Freeze (#1913)
Remove deprecated constructor call
Debug system (#1894)
[Security][Bugfix] Fix directory traversal exploit (#1907)
Updated spanish translations (#1911)
Don't override en-us gacha strings with vietnamese
Fix gacha history internal server error
Fix CONTIBUTING typo in protect_files.yml
Remove compilation warning on Language.java
Version 1.4.3-dev [skip actions]