Commit Graph

1860 Commits

Author SHA1 Message Date
StartForKiller
798d49db2d
Merge branch 'quests' of github.com:StartForKiller/Grasscutter-Quests into activity_dev 2023-05-24 14:24:27 +02:00
StartForKiller
a4aa24734c
Probably fix monster battle 2023-05-24 14:18:41 +02:00
hartie95
fb1f8fc206 [WIP/POC] use the generated quests frmo the resource patcher
* also use gainItems instead of hardcoding amber
2023-05-21 22:04:17 +02:00
StartForKiller
adde6bc2e1
Oopsie 2023-05-21 01:33:31 +02:00
StartForKiller
caf72abd12
Temp commit v2
(Adding LoseHP and some fixes)
2023-05-21 00:16:51 +02:00
StartForKiller
a7801fa9c0
Ability changing commit
TODO: change info to debug
2023-05-14 20:42:21 +02:00
hartie95
d900f154a3 [Fix] fix Quest state lua event source 2023-05-09 20:44:20 +02:00
hartie95
89d01d5f74 [Fix] use challengeIndex as eventSource for challenge events 2023-05-09 19:42:24 +02:00
hartie95
21dec2fec0 [Fix] nullfix at player born 2023-05-09 19:41:25 +02:00
hartie95
86b967f47e small fix and optimisation in AbilityManager 2023-04-23 03:45:36 +02:00
hartie95
0fab4ce841 move abilityManager log to debug level 2023-04-23 03:00:13 +02:00
StartForKiller
e4c46c704e
Fix grid loading and use rtree for getNearbyGroups 2023-04-18 03:54:51 +02:00
StartForKiller
a7f14a9cd8
Modify grid caching and organized it a bit, @skycomet work 2023-04-18 03:15:47 +02:00
StartForKiller
c7b6e2cb0e
Optimize code 2023-04-17 19:34:22 +02:00
StartForKiller
0277aaa050
Merge branch 'activity_dev' of github.com:StartForKiller/Grasscutter-Quests into activity_dev 2023-04-16 15:34:50 +02:00
StartForKiller
27da992848
Optimized entity adding and group checking 2023-04-16 15:34:35 +02:00
hartie95
7539eb45a3 Merge branch 'quests' of github.com:Anime-Game-Servers/Grasscutter-Quests into activity_dev
# Conflicts:
#	src/main/java/emu/grasscutter/data/binout/config/ConfigEntityGadget.java
#	src/main/java/emu/grasscutter/game/entity/EntityGadget.java
#	src/main/java/emu/grasscutter/game/entity/EntityMonster.java
#	src/main/java/emu/grasscutter/game/world/Scene.java
#	src/main/java/emu/grasscutter/scripts/SceneScriptManager.java
2023-04-12 23:58:24 +02:00
StartForKiller
22a46b576f
Fix loading 2023-04-07 15:09:38 +02:00
StartForKiller
d9d819b587
Move grid to another custom folder 2023-04-07 15:08:00 +02:00
StartForKiller
72b56b45de
Fix grid cache 2023-04-07 13:58:29 +02:00
StartForKiller
6e6198d172
Fixed some smells again 2023-04-07 01:32:16 +02:00
StartForKiller
ae86400890
Fixed some critical and major code smells 2023-04-07 01:27:22 +02:00
StartForKiller
fb97f7a7c0
Maybe fix all the serializable smells 2023-04-07 01:11:54 +02:00
StartForKiller
f67942b547
Fixed some issues 2023-04-07 01:06:39 +02:00
StartForKiller
769abcfb98
Make grids cached 2023-04-06 17:41:16 +02:00
hartie95
15f1a4ec9c update group command usage and add Sound command to play sounds 2023-03-17 00:16:23 +01:00
StartForKiller
88bb5ee82c
Update handling technique 2023-03-14 03:09:25 +01:00
StartForKiller
f99789f13a
Temp commit to store all he changes to test 2023-03-12 20:16:57 +01:00
hartie95
82e2b6bf3f Extended some commands a bit, changed questCondition handling and some smaller bugfixes 2023-02-26 20:09:15 +01:00
hartie95
8a2f17f9c5 [Activity] fix music game activity and some activity condition changes
* renamed changed protos for user generated content (music game
* added ACtivityCondGroups
* added open and close time to ACtivityConfigItem
* actually add meet conditions to the acitivty info
* fix wrong quest state enum being used in activityCondition for questFinished
2023-02-26 19:46:36 +01:00
hartie95
4830c1ed69 [Lua] Implemented PlayCutScene method and added a placeholder for PlayCutSceneWithParam
* also added the cutscene packages
2023-02-08 20:28:04 +01:00
hartie95
3006e16e9b [Challenges] Added support for some more challenges and fixed others (thx @NotThorny for finding the parameter bug for the guard challenge) 2023-02-08 20:19:15 +01:00
hartie95
7b82c07d5d [refactoring] handle code comments 2023-02-08 08:37:09 +01:00
hartie95
5347393986 [Lua] always cancel group timers after usage 2023-02-07 02:53:17 +01:00
hartie95
39f0ef75b3 [Fix] fix monsterTideService, for situations, where lua also spawns additional monsters 2023-02-07 02:52:24 +01:00
hartie95
e96ae3e584 [LUA] fixed getSceneUidList and added some more placeholder functions to ScriptLib 2023-02-07 02:51:23 +01:00
hartie95
5b64ff92d4 [Fix,LUA] most events are now limited to only their source group and fixes some group variable null handling 2023-02-07 02:49:21 +01:00
hartie95
63da8bf420 [Fix] Catch and log exceptions during ServerTask 2023-02-07 02:44:40 +01:00
hartie95
9f6568c791 [Resources] some binout EntityConfig loading refactoring and added some more lua and binout fields 2023-02-07 02:44:15 +01:00
hartie95
cd4c936050 [refactoring and fixes] Some more refactoring to reduce redundant code and changes to fix leabing dungeons sometimes being stuck
* Also move the Dungeon Avatar Trial team handling to the DungeonManager
2023-02-07 00:33:22 +01:00
hartie95
0647e7f302 Merge branch 'quests' of github.com:Hartie95/Grasscutter into trial-avatar-activity 2023-02-06 03:54:41 +01:00
Alexander Hartmann
0f1a6d298f
Merge pull request #57 from StartForKiller/activity_dev
Fix variable refreshing and add GetGatherConfigIdList
2023-02-05 04:30:52 +01:00
StartForKiller
79fad67f71
Revert info to debug 2023-02-05 04:18:49 +01:00
StartForKiller
91624df059
Fix variable refreshing and add GetGatherConfigIdList 2023-02-05 02:35:44 +01:00
Alexander Hartmann
61d996a3d0
Merge pull request #56 from StartForKiller/activity_dev
Add group loading based on pos to mimic the original behaviour
2023-01-26 10:38:25 +01:00
StartForKiller
57752b5223
Revert back to debug 2023-01-26 01:52:27 +01:00
StartForKiller
41436a54be
Add group loading based on pos to mimic the original behaviour 2023-01-26 01:43:41 +01:00
hartie95
22f2ad2526 [Fix] some small unrealted fixes 2023-01-25 23:40:33 +01:00
hartie95
1e3767b5f6 [Cleanup] Some code cleaups before merge 2023-01-25 21:10:44 +01:00
hartie95
ca10b6e6b5 Merge branch 'quests' of github.com:Hartie95/Grasscutter into trial-avatar-activity 2023-01-25 20:29:34 +01:00
hartie95
5fef2fa491 [cleanup] small code cleanup before merge 2023-01-24 23:53:09 +01:00
StartForKiller
5dfd2d31f5
Add debug and error messages and fix a loading bug 2023-01-24 20:51:54 +01:00
StartForKiller
a1d88f79f7
Half string operations 2023-01-24 20:13:57 +01:00
StartForKiller
524ab891e4
Reenable loggin and revert printLog to info 2023-01-24 19:52:08 +01:00
StartForKiller
354b009bdd
Fix lint 2023-01-24 19:49:28 +01:00
StartForKiller
c8fa90fe4b
Add stub keys for other languages 2023-01-24 19:45:19 +01:00
StartForKiller
b83dcde0bd
Added a simple commmand:
To be able to manually refresh group suites
2023-01-23 22:00:05 +01:00
StartForKiller
53fe7f959d
Not sure if this fixes something:
Changed some requested changes
2023-01-23 21:41:43 +01:00
StartForKiller
5d4a22cc33
Oopsie 2023-01-23 00:38:38 +01:00
StartForKiller
9d13b91a0a
Fix refresh policy excel 2023-01-23 00:34:01 +01:00
StartForKiller
e3e705327e
Apply some merge build errors 2023-01-22 22:59:14 +01:00
StartForKiller
0a8465083f
Merge branch 'group_loading' of github.com:StartForKiller/Grasscutter-Quests into group_loading 2023-01-22 22:55:31 +01:00
StartForKiller
6c9b0ad80c
Fixed potential bug when clearing group's monsters 2023-01-22 22:55:23 +01:00
Jesús Sanz del Rey
d621194312
Merge branch 'quests' into group_loading 2023-01-22 22:53:37 +01:00
StartForKiller
1c4c982ce3
Requested changes and some visual upgrades 2023-01-22 21:42:32 +01:00
hartie95
e4dd328af9 added some comments to the main gametime methods in world 2023-01-22 20:12:16 +01:00
hartie95
5a92a38a29 [Fix] fix wrong index being used for questStateValue in ConditionState[Not]Equal 2023-01-22 19:12:49 +01:00
hartie95
94dafbe107 [fixes] Propperly trigger accept and content for timevar and add propper ammount ot obatined account 2023-01-21 19:46:42 +01:00
StartForKiller
21f098f151
As refresh policies are not finished, comment that 2023-01-21 18:23:14 +01:00
hartie95
f373884967 [Fix] ContentGameTimeTick implenentation in some special cases
* also cleanup HandlerAddQuestContentProgressReq method
2023-01-21 04:02:44 +01:00
hartie95
d8c3ed3b85 [Test] add some more quest conditions, content and exec
* QUEST_COND_IS_DAYTIME (unused)
* QUEST_COND_TIME_VAR_GT_EQ (unused)
* QUEST_COND_TIME_VAR_PASS_DAY
* QUEST_CONTENT_TIME_VAR_GT_EQ
* QUEST_CONTENT_TIME_VAR_PASS_DAY
* QUEST_EXEC_INIT_TIME_VAR
* QUEST_EXEC_CLEAR_TIME_VAR
* QUEST_CONTENT_CLEAR_GROUP_MONSTER (needs propper implementation for the check with new group management)
2023-01-21 02:14:35 +01:00
hartie95
b245272874 [Quests] Change Quest Condition execute params to more static data to prepare for proper accept condition handling and add some conditions
* added contisions:
  * QUEST_COND_HISTORY_GOT_ANY_ITEM
  * QUEST_COND_OPEN_STATE_EQUAL
  * QUEST_COND_PERSONAL_LINE_UNLOCK
2023-01-20 22:00:30 +01:00
Jesús Sanz del Rey
6749eecab4
Merge pull request #1 from Anime-Game-Servers/quests
Merge Quests changes
2023-01-19 20:15:57 +01:00
StartForKiller
60c0fa7f42
Needs to be revised 2023-01-19 20:08:52 +01:00
hartie95
b56de0612d some cleanups in Resources loader and propperly close streams 2023-01-18 19:33:49 +01:00
StartForKiller
70a61b7909
Added saving cached groups:
TODO: Test
2023-01-12 04:48:01 +01:00
StartForKiller
510a5788e6
Cache group variables,
next should be saving and loading it from database
2023-01-11 01:45:41 +01:00
StartForKiller
7b2d366dcf
Fixed gadget visionLevel
Remember to regenerate grid jsons:
cacheSceneEntitiesEveryRun: true for the first run
2023-01-10 22:05:12 +01:00
StartForKiller
6057939610
Clean a bit of old code 2023-01-10 02:05:41 +01:00
StartForKiller
e45edb5f1d
Fixed group loading, now this works as the official server 2023-01-10 02:00:35 +01:00
WQJ
a205ebca47 Resolved bug/issue with TrialAvatarActivity command 2023-01-10 01:56:28 +11:00
WQJ
8866a50755 Resolved big/issue with Language keys 2023-01-10 01:52:02 +11:00
WQJ
b0371e22da Resolved bug/issue in TrialAvatarActivityChallengeTrigger of previous commit 2023-01-10 01:34:15 +11:00
WQJ
441b3cbce6 Added player command for trial avatar activity 2023-01-10 01:25:14 +11:00
WQJ
cb9ff9f8dd Updated some more activity types 2023-01-10 01:02:58 +11:00
WQJ
d1eb1b9935 Changed way of handling granting and removing trial avatar for dungeon 2023-01-10 01:02:28 +11:00
WQJ
35df3c2889 Updated trial avatar activity to change state after finishing challenge successfully 2023-01-10 01:00:55 +11:00
WQJ
df2c4f6ef8 Fixed PacketAddItemHintNotify in addItemParams() to show the added one instead of whats in the bag 2023-01-10 00:56:48 +11:00
WQJ
3338ad79f8 Added CommonTipsNotify functionality 2023-01-10 00:54:50 +11:00
hartie95
675f8ba5f8 [FIX] filter out null results from removeEntityDirectly in removeEntities to prevent a nullpointer exception 2023-01-09 11:54:50 +01:00
hartie95
31a3c99d99 [FIX] GetSErverTimeByWeek now returns a value in the expected range (day of the week) 2023-01-09 10:59:37 +01:00
hartie95
98c019d831 [FIX] check currentTalentLevel in unlockConstelations to prevent an exception during force unlock on common traveler 2023-01-09 10:41:57 +01:00
StartForKiller
9fd6fb1da0
Fix entities not spawning 2023-01-08 20:13:33 +01:00
StartForKiller
91ab877819
Fixed some of the last commit bugs:
Finished implementing refreshing for now
added scene group instance
2023-01-08 06:20:37 +01:00
StartForKiller
41b0710361
This commit is not finished
We need to change were suite index is stored and apply the last discoveries,
but this should work better than before
2023-01-07 20:42:59 +01:00
hartie95
cb496313ff send groupId again in PacketDungeonChallengeBeginNotify and fix a small possible nullpointer 2023-01-07 13:24:39 +01:00
hartie95
37978c1a6d Merge branch 'quests' of github.com:Hartie95/Grasscutter into trial-avatar-activity
# Conflicts:
#	src/main/java/emu/grasscutter/data/ResourceLoader.java
#	src/main/java/emu/grasscutter/game/avatar/Avatar.java
2023-01-07 13:20:33 +01:00
hartie95
12cc9f5ab1 [Fix] Fixed CHALLENGE_KILL_COUNT handling, progress and group are now set properly 2023-01-07 13:15:11 +01:00
Jesús Sanz del Rey
176dc5cd98
Merge branch 'quests' into group_loading 2023-01-07 04:36:10 +01:00
StartForKiller
0705fadf9e
Breaking changes to group refreshing
Also need to change dynamic register groups to a saved list
2023-01-07 04:23:47 +01:00
StartForKiller
058dc97415
implemented dynamic registering and more:
implemented QUEST_CONTENT_CLEAR_GROUP_MONSTER,
implemented QUEST_EXEC_REFRESH_GROUP_MONSTER,
implemented QUEST_EXEC_REGISTER_DYNAMIC_GROUP,
implemented QUEST_EXEC_UNREGISTER_DYNAMIC_GROUP,
solved some dynamic replace bugs
2023-01-06 03:11:20 +01:00
WQJ
e50f5f3595 Updated TrialAvatar activity all functionality 2023-01-05 17:52:46 +11:00
StartForKiller
4c00ad0937
Probably fix the groups not loading, need to test.
Be sure to change on the config the loadEntitiesForPlayerRange to 400
2023-01-04 22:49:27 +01:00
WQJ
8460ec9111 Fixed bug with reading trial avatar custom data 2023-01-04 19:04:36 +11:00
WQJ
ef4faf0537 Added custom data porting for Trial Avatar resources 2023-01-04 17:03:34 +11:00
StartForKiller
6fdedda178
Wip group replacement, not working right now.
Maybe the game has a limit.
2023-01-04 06:03:35 +01:00
hartie95
3c6748266f Merge commit '8b83dbf58c7fdfdd5e1a2f678966a414433e6699' into upstream_3.2
# Conflicts:
#	src/main/java/emu/grasscutter/data/ResourceLoader.java
#	src/main/java/emu/grasscutter/data/excels/AvatarSkillData.java
#	src/main/java/emu/grasscutter/data/excels/DungeonData.java
#	src/main/java/emu/grasscutter/data/excels/DungeonEntryData.java
#	src/main/java/emu/grasscutter/data/excels/MonsterData.java
#	src/main/java/emu/grasscutter/data/excels/MonsterDescribeData.java
#	src/main/java/emu/grasscutter/data/excels/SceneData.java
#	src/main/java/emu/grasscutter/game/avatar/Avatar.java
#	src/main/java/emu/grasscutter/game/entity/EntityAvatar.java
#	src/main/java/emu/grasscutter/game/entity/EntityBaseGadget.java
#	src/main/java/emu/grasscutter/game/entity/EntityGadget.java
#	src/main/java/emu/grasscutter/game/entity/EntityMonster.java
#	src/main/java/emu/grasscutter/game/entity/EntityNPC.java
#	src/main/java/emu/grasscutter/game/entity/platform/EntityPlatform.java
#	src/main/java/emu/grasscutter/game/quest/QuestSystem.java
#	src/main/java/emu/grasscutter/utils/JsonAdapters.java
2023-01-04 05:51:13 +01:00
WQJ
f4f891dc7b Added basic framework 2023-01-03 00:39:21 +11:00
WQJ
c7d4506152 Updated TrialAvatarActivity Resources 2023-01-03 00:38:16 +11:00
hartie95
94adfb3bb1 Fix gather object multiplying when reloading gadther points 2023-01-01 09:23:23 +01:00
hartie95
7f24e43bc0 Add GetGameHour method to scriptlib 2023-01-01 08:16:51 +01:00
hartie95
cd2c900e39 Make gathering points work with lua for now, might need a refactoring in the future 2023-01-01 08:16:30 +01:00
hartie95
e6a1a18649 Add openstate requirement checking for quest conditions (thx @mjolsic ) 2022-12-31 14:06:47 +01:00
hartie95
06981de4fd track quest progression (thx @mjolsic ) and item history persistently 2022-12-31 13:57:41 +01:00
hartie95
47a718131f Add handling of dieing because of falling out of the world and events and handle 10% damage for them (thx @StartForKiller) 2022-12-30 08:21:44 +01:00
hartie95
8975582ebc Make natural time progression work for ContentGameTimeTick 2022-12-30 04:03:12 +01:00
hartie95
2b088b7817 Made player/world time persistent
* allows for future use in quest conditions
2022-12-29 10:49:06 +01:00
hartie95
3d6babb4dd add some missing quest cond, content and exec enum entries 2022-12-29 09:33:39 +01:00
hartie95
51efa84765 comment out some debug log 2022-12-29 08:58:34 +01:00
hartie95
414e117be2 Handle the trigger_count field for SceneTriggers ( thx @StartForKiller )
* On execution error a trigger is always unregistered
* If trigger_count is 0, its only unregistered on error
* On invocations >= trigger_count triggers are unregistered
2022-12-29 08:57:35 +01:00
hartie95
5dea0d0ddd temporary improvements to challenges
* use the challengeType to identify factory that needs to be used
* use scenetime for challenge time handling to propperly handle pausing the scene
* Add missing fields to DungeonChallengeConfigData
2022-12-29 08:48:57 +01:00
hartie95
1b76eb6213 Add propper scene and world time progressions and pausing 2022-12-29 08:40:27 +01:00
hartie95
9e45030d30 Add EntityController support (thx @StartForKiller )
* For now only gadgets
* They are mapped via resources/Server/GadgetMapping.json
* They are read from resources/Scripts/Gadget
* The compiled scripts are cached in the EntityControllerScriptManager

TODOs:
* Decide if controller execution should be handled by the EntityControllerScriptManager
* Do more testing
2022-12-28 09:51:18 +01:00
hartie95
27c7a8a97d Small personalLine handling refactoring to store which are unlocked and allow using accept conditions for unlocking the quests 2022-12-22 02:56:29 +01:00
hartie95
88d2b63758 check if level is bigger then for ContentPlayerLevelUp 2022-12-22 02:42:10 +01:00
hartie95
4c39a5e28a add new item notification for new items added ( thx @mjolsic ) 2022-12-22 02:29:23 +01:00
hartie95
3a1fff76c0 Automatically add replacement costumes for charaters ( thx @mjolsic ) 2022-12-22 02:27:50 +01:00
hartie95
68f4529391 add QUEST_EXEC_SET_OPEN_STATE 2022-12-22 02:12:48 +01:00
hartie95
8aff743f94 add missing logic types and handle empty progress arrays 2022-12-22 02:00:51 +01:00
hartie95
667ea4814c move accept cond filling to QuestData.onLoad() 2022-12-22 01:59:59 +01:00
hartie95
5599f2e78b Small dungeon and Challange enum refactoring
* 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
2022-12-22 01:26:32 +01:00
유여름
8b83dbf58c
Update Korean translation (#1977)
* updated ko-KR.json

Update Korean translation

* Update ko-KR.json
2022-12-11 01:22:34 +10:30
hartie95
8860acd898 Fix TalkId -> Quest mapping 2022-12-10 00:35:02 +01:00
Alexander Hartmann
ab0416ad72
Merge pull request #37 from Hartie95/routes
Now with 50% more routes (implement routes framework)
2022-12-06 17:06:51 +01:00
hartie95
34cde3add4 moved protos to grasscutter package
small cleanups
2022-12-06 16:44:32 +01:00
hartie95
e1198607ab Now with 50% more routes
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
2022-12-05 23:33:04 +01:00
Tesutarin
e73984bd41
Update CHS translation (#1965) 2022-12-02 10:25:15 +10:30
AnimeGitB
553e22ead8 Add more explicit NoSuchFileException message for excels 2022-11-28 21:04:39 +10:30
AnimeGitB
5878cb6f8d Accidentally left recent banner on test string 2022-11-26 16:50:56 +10:30
AnimeGitB
100d08ec5d Fix up pity tallies for new BannerTypes
Also fixes Beginner banner using Standard pity.
2022-11-26 02:03:11 +10:30
AnimeGitB
83b84408a1 Bake banner defaults into BannerType enum, and add every historic banner 2022-11-25 23:25:22 +10:30
AnimeGitB
da3981089d Add Position JsonAdapter for [x,y,z] format
Also add serializers for existing JsonAdapters
2022-11-25 00:29:26 +10:30
AnimeGitB
ad502a8568 Finally enforce deprecation of ancient Banners.json fields
Also add costItemId10 column so people know it exists, and removeC6FromPool column because it's a cool setting nobody knows about.
2022-11-24 23:56:13 +10:30
AnimeGitB
f6c84fdfbf Forgot about a 5star character that was added to the standard pool 2022-11-24 23:17:10 +10:30
AnimeGitB
1c4d263dd2 Add Data TSJ loading, replace and update Banners 2022-11-24 23:09:55 +10:30
WQJ
28a9f24501 Cleaned up code based on comments as well as added some missing implementation in ScriptLib
* 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
2022-11-24 19:28:02 +11:00
AnimeGitB
35962542af Fix oversight on EnumTypeAdapterFactory 2022-11-24 01:36:58 +10:30
Luke H-W
0b5329514b
TSJ and TSV parsing (#1962)
* 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
2022-11-24 00:18:57 +10:30
Xotak
46b0c7cf93
Work on French localization (#1958)
* Work on French localization

* Apply suggestions from code review
2022-11-22 20:48:39 +10:30
Sinon
1e932ce144
added IT redeirect on all ReadME and typo fix (#1954)
* Added it-IT translaton

* added Italian readme

* readme redirect

add "it-IT" redirect on all readme

* added "it-IT" redirect on README.md

* Add files via upload

* added it to jp readme

* fix

* fix whitspasces

(vscode)
2022-11-20 22:45:43 +10:30
Xiaorunyu2541
b1a9ed0226
Update DeforestationManager.java (#1955)
* Update DeforestationManager.java

* Update src/main/java/emu/grasscutter/game/managers/deforestation/DeforestationManager.java
2022-11-20 18:25:36 +10:30
WQJ
0c7b8a34b3 Added support for granting trial avatars (Quest Exec Only)
- 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
2022-11-19 15:55:13 +11:00
Sinon
676ed32a12
Added it-IT translaton (#1946)
* Added it-IT translaton

* added Italian readme
2022-11-14 11:19:35 +10:30
hartie95
ab1efab4fb directly use owner instead of mainQuest 2022-11-08 17:56:13 +01:00
hartie95
e08ce413c8 Added acceptCond cache
Split apart QuestTrigger enum
Handle unknown QuestTrigger values different
2022-11-08 17:43:42 +01:00
Jeez
05fe62b49a
[FIX] Language es-ES (spanish) (#1941) 2022-11-08 14:54:15 +10:30
WQJ
658c8daeec Quest fix 357 (mainly 35722 Dvalin fight)
- 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
2022-11-06 14:50:39 +11:00
github-actions
e2b59fbd8d Update languages [skip actions] 2022-11-05 12:49:35 +00:00
github-actions
84bf783243 Fix whitespace [skip actions] 2022-11-05 12:49:35 +00:00
AnimeGitB
4d8caf5a8c Refactor Entity data 2022-11-05 23:18:33 +10:30
AnimeGitB
a30f16b0e1 Clean up excels 2022-11-05 23:12:03 +10:30
AnimeGitB
65915b7666 Make PlayerBuffManager::removeBuff actually remove buff 2022-11-05 17:26:20 +10:30
AnimeGitB
1ceda2a455 Remove LinkedList usage
https://twitter.com/joshbloch/status/583813919019573248
2022-11-05 17:04:15 +10:30
AnimeGitB
09f392bb5b Add FIGHT_PROP_CUR_DEFENSE alias to setstats (closes #1929) 2022-11-05 15:36:52 +10:30
hartie95
7a98865f3e fix LuaSerializer handling of lists in classes 2022-11-05 06:01:49 +01:00
AnimeGitB
dc7b8d8ca6 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.
2022-11-05 14:22:17 +10:30
AnimeGitB
9f00ea3573 3.2 First Half Banners
(closes #1932)
2022-11-05 13:56:27 +10:30
AnimeGitB
12316b36b1 Reimplement namecard claiming (fixes #1882) 2022-11-04 15:05:51 +10:30
AnimeGitB
0fb7d50acd Kill console on IOError 2022-11-04 13:55:39 +10:30
AnimeGitB
c926fe326c Refactor command kwarg parsing 2022-11-04 13:55:39 +10:30
hamusuke
e8930e92e1
Update roomSceneId obfuscated names (#1926) 2022-11-02 18:03:41 +10:30
lilmayofuksu
4ed0b90c27
Add the new keys (3.2 Support) (#1923)
* Add the new keys

* Some improvements to the key loading system & Bump the game version
2022-11-01 23:28:04 +01:00
jie65535
47911aa16e
Fix Mail SendToAll Freeze (#1913)
* Avoid iterating over every offline player

* getAllPlayers by stream

* Use the new method without changing the old signature

* Annotate deprecated `getAllPlayers`
2022-10-30 20:03:30 +10:30
hartie95
ef064c0b2e fixed lombokified getter of logger ( thx @BiosNod ) 2022-10-29 21:24:58 +02:00
hartie95
54a065b1fb little bit of more dungeon respawn point handling 2022-10-29 20:42:01 +02:00
hartie95
3dc0c0733b implemented ScriptLib.BeginCameraSceneLook 2022-10-29 20:37:44 +02:00
hartie95
fcb7ca703f Added sceneForceUnlock and SceneForceLock support
* allows more natural amber dungeon progression via `/entity 264 state201` instead of teleport
2022-10-29 18:58:11 +02:00
hartie95
1818d2324e can't compile with getLogget lombofied somehow 2022-10-29 16:37:41 +02:00
biosnod
5b9bdd2c87 Auto finish all hidden child quests when finishing the main quest, QuestListUpdateNotify queue deprecated because if no event triggers = no packets to client with PacketQuestListUpdateNotify (in case of manual finish quest by id) 2022-10-29 16:34:55 +02:00
hartie95
c36f51a9e8 Merge branch 'development' of github.com:Grasscutters/Grasscutter into update 2022-10-29 16:32:16 +02:00
AnimeGitB
855d3182ab Remove deprecated constructor call 2022-10-30 00:40:00 +10:30
BiosNod
43b7d7a383
Debug system (#1894)
* Add build (compile) script: gradlew jar

* Move server and services log levels to ConfigContainer, ability to enable/disable show packet payload and loop packets

* Add some loop packets to known list
2022-10-29 23:31:28 +10:30
mjolsic
f667f28731 Update InventorySystem.java 2022-10-29 14:58:23 +02:00
WQJ
23fbb35302 Added quest fix for 354 to get Ambor
- added code in InventorySystem.java to also consider character
 - added alternative addAvatar function to take avatar id as input in Player.java
 - hard coded to get ambor when quest finishes at 35402 in GameQuest.java
 - added code in Inventory.java to send packet when getting character using item (from store for example)
 - added necessary packet and outerclass for this branch fix to work
2022-10-29 14:58:14 +02:00
sandtechnology
55928d9154
[Security][Bugfix] Fix directory traversal exploit (#1907)
* [Security][Bugfix] Fix directory traversal exploit

1.The first slash will act as root path when resolving local path, so directory traversal is possible
2.Filter the illegal payload to prevent directory traversal
3.This also fix the bug about not loading the files in data folder when querying  `/hk4e/announcement/`

* Fix formatting

* Update src/main/java/emu/grasscutter/server/http/handlers/AnnouncementsHandler.java
2022-10-29 23:19:46 +10:30
RBNXI
6219902e0f
Updated spanish translations (#1911) 2022-10-29 23:06:44 +10:30
hartie95
3836750162 get more of the dvalin battle to work (still missing ability)
* progression in the first dvalin battle is now possible via `/entity 1001 hp19`
* make the eventType available to scripts via scriptargs.type
* call entity hp events when changing hp via EntityCommand
* small inventory reforcoring to make event triggering simpler
* small entity refactoring to make hp event handling simpler
2022-10-29 06:56:53 +02:00
hartie95
c359f09437 a little bit of extra cleanup
* moved changeElement to Avatar
* always change main characters element via questExec
* Change ElementType.depotValue to depotIndex
* don'T send fightprop changes twice, recalcStats already does that
* fixed WorldAreaData names
2022-10-29 06:08:27 +02:00
WQJ
5ed739583b Updated comments on previous pr
- changed AvatarSkillData.java to read costElemVal as float, so that can use directly by PropUpdate packets
 - updated Avatar.java to not use hardcoded depot values
 - added function in EntityAvatar.java to add energy to only the active entity avatar
 - added function in EnergyManager.java to only refill energy for the active entity avatar
 - updated changeAvatarElement function in Player.java to be bit more robust, also sending packets that mimics the official server
 - updated ExecAddCurAvatarEnergy.java to use return value directly from refill energy function
 - changed HandlerAvatarChangeElementTypeReq.java to use changeAvatarElement function in Player.java
 - changed PacketAvatarFightPropUpdate.java to accept list of fight prop as well
 -
2022-10-29 02:49:38 +11:00
AnimeGitB
d7af52f94b Don't override en-us gacha strings with vietnamese 2022-10-29 00:11:44 +10:30
AnimeGitB
c21d216d8d Fix gacha history internal server error 2022-10-29 00:05:29 +10:30
AnimeGitB
f07ce48b24 Remove compilation warning on Language.java 2022-10-28 22:13:13 +10:30
WQJ
c0f79b2071 added Quest Trigger
- added EXEC_ADD_CUR_AVATAR_ENERGY
 - added EXEC_CAHNGE_AVATAR_ELEMET
 - added new function 'changeAvatarElement' in player.java
 - changed hardcoded MC depot skill to read json data in HandlerSetPlayerBornDataReq.Data
 - changed and added refill function in EnergyManager.java
2022-10-28 15:39:54 +11:00
github-actions
a9148e1b66 Update languages [skip actions] 2022-10-26 12:31:30 +00:00
github-actions
d99a50b80f Fix whitespace [skip actions] 2022-10-26 12:31:30 +00:00
AnimeGitB
18360a6231 Remove references to old repo 2022-10-26 12:08:51 +10:30
AnimeGitB
a2c4895c16 Make Player lazyload correct Account (should fix #1900) 2022-10-25 18:31:55 +10:30
AnimeGitB
a5579368bb Lombokify Grasscutter.java some more 2022-10-25 15:49:14 +10:30
TotalyNotOndre
ae51f4c046
Update ru-RU.json (#1895) 2022-10-25 10:54:22 +10:30
natsu
5b6698f583
Extend setConstCommand "all" (#1884)
* Extend give command "talent"

* Update src/main/java/emu/grasscutter/data/excels/AvatarSkillDepotData.java

Shorten IntStream for getCombatSkills

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>

* Fix setSkillLevel to work during avatar construction
Shortening getCombatSkills

* changeSkillLevel now acts as intermediate operation to fetch skillIds

* setSkillLevel changes to allow out of range levels to be normalized

* Update src/main/java/emu/grasscutter/command/commands/GiveCommand.java

Removing recalcStats since it's redundant

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>

* Major changes and cleanup:
- AvatarSkillDepotData: removed getCombatSkills since it's unused
- TalentCommand: shortened /talent all using getSkillsAndEnergySkill
- GiveCommand: changed changeSkillLevel to setSkillLevel
- Avatar: delete changeSkillLevel and moved the operation inside setSkillLevel,updated skillId to Integer to catch special cases from GiveCommand

* Small cleanup:
Removed the special case from Avatar to be handled inside of GiveCommand

* Added "all" parameter to SetConst

* Changed all to [all] int SetConstCommand usage

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
2022-10-24 14:28:39 +10:30
TotalyNotOndre
496cd671da
add Quest command alias (#1891) 2022-10-24 12:32:35 +10:30
Fish and Chip
fd6ed2f15f
Added zh-CN translaton for non-translated strings (#1890)
Added zh-CN translation for non-translated strings
2022-10-24 10:34:51 +10:30
Penelopeep
ceed05cd15
Updated Polish Translation (#1889) 2022-10-24 10:33:15 +10:30
AnimeGitB
7d1a7b501b Added "s" alias to SpawnCommand (closes #1840) 2022-10-24 10:32:10 +10:30
hamusuke
8b520b3883
fix: unlocking home bgm doesn't work. (#1886)
* fix: unlocking home bgm doesn't work.

* Update src/main/java/emu/grasscutter/game/home/GameHome.java

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
2022-10-23 15:08:17 +10:30
AnimeGitB
54ad108a14 Fix edge case on FileUtils::getFilenameWithoutPath 2022-10-22 17:15:43 +10:30
jacky14
ccf182d692
Medicine revival&Login white screen (#1883)
* Update InventorySystem.java

-:[fix] Medicine revival

* Update GameMainQuest.java

-:[fix] Login white screen
2022-10-22 16:51:33 +10:30
AnimeGitB
c51f7610b2 Save avatar in forceConstellationLevel (closes #1881) 2022-10-22 12:45:27 +10:30
hartie95
d21f020ee8 fix the condition check for QUEST_CONTENT_OBTAIN_ITEM, if the count is not set 2022-10-21 14:21:13 +02:00
hartie95
003ff04fa6 add handling for QuestCreateEntity and QuestDestroyEntity packages 2022-10-21 14:02:33 +02:00
iTruth
c331a7f288
Fix IllegalStateException when execute toMap (#1879) 2022-10-21 21:49:48 +10:30
iTruth
be8fbcbc02
Fix StackOverFlow when execute /give all (#1878)
* Fix StackOverFlow when execute /give all

* Use more proper code
2022-10-20 20:22:10 +10:30
github-actions
96da4b6117 Fix whitespace [skip actions] 2022-10-18 14:56:26 +00:00
Luke H-W
026ef9c51b
Restore ability to run without jar (#1875)
* Change JAR_FILE_SYSTEM to allow running from IDE without jar

* Just grab /defaults/data

* Restore FileUtils.getPathsFromResource
2022-10-19 01:26:11 +10:30
AnimeGitB
577772831c Avoid NPE on CookingCompoundManager init 2022-10-18 19:47:21 +10:30
natsu
2b08738043
Extend give command "skill level" & shortening /talent all (#1865)
* Extend give command "talent"

* Update src/main/java/emu/grasscutter/data/excels/AvatarSkillDepotData.java

Shorten IntStream for getCombatSkills

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>

* Fix setSkillLevel to work during avatar construction
Shortening getCombatSkills

* changeSkillLevel now acts as intermediate operation to fetch skillIds

* setSkillLevel changes to allow out of range levels to be normalized

* Update src/main/java/emu/grasscutter/command/commands/GiveCommand.java

Removing recalcStats since it's redundant

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>

* Major changes and cleanup:
- AvatarSkillDepotData: removed getCombatSkills since it's unused
- TalentCommand: shortened /talent all using getSkillsAndEnergySkill
- GiveCommand: changed changeSkillLevel to setSkillLevel
- Avatar: delete changeSkillLevel and moved the operation inside setSkillLevel,updated skillId to Integer to catch special cases from GiveCommand

* Small cleanup:
Removed the special case from Avatar to be handled inside of GiveCommand

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
2022-10-18 19:45:24 +10:30
AnimeGitB
b5940da36b Remove stale item handling code 2022-10-18 17:57:49 +10:30
AnimeGitB
aacf013c06 Fix gacha avatars (fixes #1870) 2022-10-18 15:11:33 +10:30
AnimeGitB
85f44ebdf3 Refactor out some EntrySets 2022-10-17 20:47:52 +10:30
dragon
b5f356ce4f
send CompoundDataNotify on Login;fix spelling mistakes. (#1869) 2022-10-17 20:44:06 +10:30
AnimeGitB
84d02370df Change logging level on item use from info to debug 2022-10-17 19:21:14 +10:30
dragon
cf67c44f22
feat:cooking food ingredient(aka:compound) implementation (#1858)
* feat:cooking food ingredient(aka:compound) implementation

Implement food ingredient(compound) feature.Need a thorough test and still has some work to do.

* small bug fix;implement fish processing

* Update src/main/java/emu/grasscutter/server/packet/send/PacketItemAddHintNotify.java

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>

* Update Inventory.java

* Update Inventory.java

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
2022-10-17 19:18:05 +10:30
AnimeGitB
1ecc3f4390 Remove constellation charge and talent level bonuses from db 2022-10-17 16:13:28 +10:30
AnimeGitB
cbd66a7437 Fix ambiguous command regexes 2022-10-17 13:53:53 +10:30
hamusuke
01e37cce39
feat: set emoji collection in chat screen (#1864) 2022-10-16 22:23:00 +10:30
hartie95
320699d241 added en translation keys for entity command 2022-10-16 00:05:28 +02:00
hartie95
6085472262 added entity command to modify entity states 2022-10-15 22:49:49 +02:00
hartie95
2008fe6393 * Add basic route loading
* fixed rewinds when there is no rewind target
* fixed reace condition with group refreshes from quests after login
2022-10-15 19:52:05 +02:00
hamusuke
610a364b9a
feat: set friend enter home option (#1860) 2022-10-15 11:58:45 -04:00
hartie95
a2a5ee9865 multiple bugfixes and improvements
* improve the rewind system
  * handle some edge cases where the rewind would not trigger
  * fix packages send to the client, so emergency food spawns again
  * added support for quest roleback
* quest system
  * added more contents
  * post to an executer to prevent fail execs affecting beginexecs
* some additional null checks
2022-10-15 17:25:50 +02:00
hartie95
aedc6d9668 Merge branch 'development' of github.com:Grasscutters/Grasscutter into quests 2022-10-15 17:15:51 +02:00
lilmayofuksu
a4747abfc9
Add a dictionary for Encryption public keys (#1862) 2022-10-16 00:36:37 +10:30
AnimeGitB
f3a5bc16a8 Refactor handbook generation to not use naked textmap getter 2022-10-15 23:58:33 +10:30
AnimeGitB
4a5a7bd6bd Accept resource enums of form "1" 2022-10-15 22:18:54 +10:30
TotalyNotOndre
130a01faa4
Update ru-RU.json (#1855) 2022-10-14 03:08:05 +10:30
github-actions
025e5d3c1c Fix whitespace [skip actions] 2022-10-13 13:32:10 +00:00
AnimeGitB
d1d39db56c [BREAKING] Item Usage Overhaul
-De-hardcode elemental orb values
-De-hardcode exp items
-Change ShopChest format (temporary, drop system overhaul will replace it entirely)
-Food healing actually uses Ability data for real HP amounts
2022-10-14 00:00:40 +10:30
atArtyom
5bb43ac074
Updated MAX_FRIENDS (#1852) 2022-10-13 18:32:58 +10:30
AnimeGitB
4e75361ad4 Refactor GameData, remove deprecated getGsonFactory
- Fix day-of-week dungeons
- AvatarSkill max level enforcement from excels
- Partial fix to bonus levels (need packet on talent update)
2022-10-13 18:31:34 +10:30
AnimeGitB
bb342f9114 Lombokify and sort GameData 2022-10-13 14:58:49 +10:30
natsu
953272489d
Extend talent command "all" (#1850)
* Extend talent command "all":
Added talent option to set all talents (n, e, q) at once
Modified error message to cover edge cases when player entered talent level lower than 1

* Update src/main/java/emu/grasscutter/command/commands/TalentCommand.java

some suggested changes

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
2022-10-13 12:46:59 +10:30
hamusuke
ec3cdc040f
fix: Solar Isotoma Elevator doesn't work in multiplayer mode (#1848) 2022-10-12 22:14:25 +10:30
hamusuke
ef55e5515c
fix: ConcurrentModificationError by removing gadget (#1849) 2022-10-12 22:07:53 +10:30
AnimeGitB
558471237a Add DynamicFloat class 2022-10-12 21:58:39 +10:30
hamusuke
bf8ee32382
fix: albedo elevator doesn't work (#1845)
* Packet preparation

* elevator creation

* Make elevator work, scene time, entity removed event.

* Avoid referencing certain character name.
2022-10-12 17:26:45 +10:30
AnimeGitB
f801fe0305 Update GM Handbook with Spincrystal names and Monster strings 2022-10-12 16:01:22 +10:30
hamusuke
4da4c03ecc
feat: unlock homeworld bgm and set homeworld bgm. (#1844)
* will be able to change home bgm.

* feat: unlock homeworld bgm and set homeworld bgm.

* Update src/main/java/emu/grasscutter/game/home/GameHome.java

* Update GameHome.java

* Get default unlocked home bgms from HomeWorldBgmData

* fix: duplicate home items by sending packet
2022-10-11 22:29:43 +10:30
hartie95
76c6386bba Merge branch 'development' of github.com:Grasscutters/Grasscutter into quests_rebase 2022-10-09 06:25:30 +02:00
AnimeGitB
98ac42a6c6 Flatten language translation keys in-memory 2022-10-09 12:21:05 +10:30
hamusuke
a4f10208de
feat: set namecards in profile editing. (#1843)
* add: can set name cards in profile editing.

* some changes

* Update src/main/java/emu/grasscutter/game/player/Player.java

* Update src/main/java/emu/grasscutter/server/packet/recv/HandlerGetFriendShowNameCardInfoReq.java

* Update src/main/java/emu/grasscutter/server/packet/recv/HandlerUpdatePlayerShowNameCardListReq.java

* Update src/main/java/emu/grasscutter/server/packet/send/PacketGetFriendShowNameCardInfoRsp.java

* Update src/main/java/emu/grasscutter/server/packet/send/PacketUpdatePlayerShowNameCardListRsp.java

* Update src/main/java/emu/grasscutter/game/player/Player.java
2022-10-09 11:40:10 +10:30