Commit Graph

1860 Commits

Author SHA1 Message Date
Nazrin
72b854204a
Scene Tag Support! (#119)
* Scene Tag Support!
* added ExecAddSceneTag and ExecDelSceneTag. Cleaned up PacketPlayerWorldSceneInfoListNotify
* Send Scenetags with PlayerEnterSceneNotify
* Send SceneDataNotify packet too on change
* Filter PlayerWorldSceneInfoListNotify to only send big world info
* Actually read SceneTagConfigData and get default states on first enter/unlock of a scene from there (isDefaultValid field)
2024-04-06 01:37:23 +02:00
Alexander Hartmann
0cdd78ca8c
Merge pull request #122 from scooterboo/patch-12
Have timers trigger by events with source = ""
2024-04-05 06:01:26 +02:00
hartie95
1119b3761a [Libs] Updated for latest AnimeGameLua changes 2024-04-04 07:39:29 +02:00
Nazrin
d74a7c0228
Have timers trigger by events with source = "". Remove redundant checking code. 2024-03-30 04:14:48 -07:00
StartForKiller
8f515e0fd7
Fix weather when teleporting 2024-03-28 20:46:15 +01:00
StartForKiller
784215ee97
Oopsie 2024-03-28 19:00:42 +01:00
StartForKiller
1e4b629594
use val instead of gamedata types 2024-03-28 18:59:56 +01:00
StartForKiller
d2c1afb0e8
Removed old packets(CityInfo) 2024-03-28 18:07:21 +01:00
Jesús Sanz del Rey
36b1be145c
Update Grasscutter.java 2024-03-28 17:31:54 +01:00
StartForKiller
93cc5356f6
Remove QUEST_EXEC_MODIFY_WEATHER_AREA missing 2024-03-28 17:30:59 +01:00
StartForKiller
af9e51f91a
Added QUEST_EXEC_MODIFY_WEATHER_AREA 2024-03-28 17:27:45 +01:00
StartForKiller
f0579a57e7
Add weather forcast handler 2024-03-28 17:09:42 +01:00
StartForKiller
5462bb54bf
Merge branch 'quests' of github.com:StartForKiller/Grasscutter-Quests into quests 2024-03-28 16:49:31 +01:00
StartForKiller
fee21f151c
Weather locks 2024-03-28 16:49:17 +01:00
hartie95
f910841cfb [proto] update for latest multi-proto 2024-03-28 15:28:46 +01:00
StartForKiller
a2425ec7a0
Adding works, refresh needs work Still need more testing 2024-03-28 03:43:28 +01:00
StartForKiller
15974549ef
Add Weather System(Not tested) and seven statue 2024-03-27 18:28:47 +01:00
Nazrin
55b62eca39
We don't need to getRouteConfig, routeConfig is right here! 2024-03-15 17:11:59 -07:00
scooterboo
2dd9f8d3ee Move sendStartPlatformPacket to EntityGadget 2024-03-14 22:55:00 -07:00
scooterboo
7b058a3deb found while checking diffs 2024-03-14 21:53:33 -07:00
scooterboo
be1016141d make SetPlatformRouteId not send a start platform packet 2024-03-14 21:42:31 -07:00
scooterboo
873ea85be4 fix minor bug number 3 2024-03-14 21:19:10 -07:00
scooterboo
5a2b49319b Check isStartRoute right after PacketSceneEntityAppearNotify packet is sent 2024-03-14 18:40:10 -07:00
scooterboo
71c4d1df34 Remove the key at the start instead of the end. use SceneTime instead of WorldTime. Get rid of extra logging. 2024-03-14 16:33:30 -07:00
Nazrin
5d66a22811
When the lua tells a platform to stop, remove future schedules for that platform 2024-03-09 04:23:42 -08:00
scooterboo
8e48823e0d Now with 50% more seelies 2024-03-09 03:25:59 -08:00
Nazrin
422c7c0a97
In EVENT_GADGET_STATE_CHANGE, param3 is the previous state 2024-03-07 17:54:48 -08:00
Alexander Hartmann
74f45411bb
Merge pull request #113 from scooterboo/patch-6
Downstream PacketQuestGlobalVarNotify
2024-02-23 04:04:45 +01:00
Nazrin
e2b9dcdf20
move PacketQuestGlobalVarNotify to use BaseTypedPacket 2024-02-22 19:01:49 -08:00
Nazrin
6e010b4ec8
link AddBlossomScheduleProgressByGroupId to addBlossomProgress 2024-02-22 17:13:47 -08:00
scooterboo
cf89f8dde7 downstream PacketQuestGlobalVarNotify 2024-02-18 02:42:38 -08:00
Alexander Hartmann
d2bea1b264
Merge pull request #102 from scooterboo/patch-3
Handle concurrent saving error
2024-02-17 18:14:55 +01:00
Alexander Hartmann
ce3178d167
Merge pull request #103 from scooterboo/patch-4
Update typo in SceneScriptManager.java
2024-02-17 18:13:56 +01:00
hartie95
7671a1ed64 [Lua] Updated for the latest AnimeGameLua changes 2024-02-17 18:02:52 +01:00
Nazrin
ecdd29faa4
Update typo in SceneScriptManager.java 2024-02-16 16:05:39 -08:00
Nazrin
6bfc4aef58
Handle concurrent saving error 2024-02-15 17:24:24 -08:00
hartie95
4e8f709ec2 [Fix] Fixed second parameter for EVENT_QUEST_FINISH lua event calls (#89) (thx @scooterboo ) 2024-02-12 01:23:50 +01:00
Alexander Hartmann
fdf019232f
Merge pull request #96 from scooterboo/patch-2
Fix bug with region leave not resetting properly
2024-02-11 19:19:07 +01:00
Nazrin
f6971f435c
Fix bug with region leave not resetting properly 2024-02-11 00:35:07 -08:00
Nazrin
2e55936ab7
Fix typo in ChapterData.java 2024-02-10 22:58:58 -08:00
hartie95
f1cdbc0239 [Feature/Dugneon] Implement jumping to followup dungeons, might need extra testing 2024-02-10 22:04:17 +01:00
hartie95
24f55cbd4e [Fix] Lock gametime when starting the questing and set gametime to 540, to represent the experience from official 2024-02-10 21:59:47 +01:00
Nazrin
b8dc43d1a4
Fix Quaternions
Quaternions should NOT be treated like Euler angles
2024-02-10 01:08:16 -08:00
hartie95
46048fd434 [Lib/Multiproto] Updated for current multiproto version 2024-02-07 22:27:22 +01:00
hartie95
a42841ab26 [Fix] Quest dungeons now get added and removed when the coresponding quests start/end instead of only on login 2024-02-07 22:26:07 +01:00
hartie95
a66fa7d5ed [Refactoring] shortened getCachedGadgetState 2024-02-07 22:24:27 +01:00
hartie95
70eb3f9d48 [Activity/WIP] Start adding code for aster/unreconsiled stars support
* Currently allows to view the acticity info and do some of the story, but a lot is still hardcoded
2024-02-06 21:44:55 +01:00
hartie95
efd162db77 [Feature/WIP] Added wip support for communication with an external sdk server reimplementations
* Permission handling is still broken when using it
2024-02-06 21:40:20 +01:00
hartie95
e0448e0ca9 [Lua] Update for newest AnimeGameLua Changes
* Use the enums directly in some clases
* Use RewindData and QuestData from AnimeGameLua instead of our own RewindData and TeleportData
2024-02-06 21:01:06 +01:00
hartie95
5996c0052f [Fix] Fix KillGroupEntityByCfgIds bounce checks and use current group for *ExtraGroupSuite method if the groupId is 0
Also added helper method for getting the group by id in case 0 can be used for the current scripting group
2024-02-06 20:28:18 +01:00
hartie95
13dfdeccc0 [Fix] Fixed trying to convert LuaTables into LuaTables via LuaEngine in some cases in ScriptLibHandler and GadgetControllerHandler 2024-02-06 20:19:43 +01:00
hartie95
2cfb63ea28 [Fix] Fixed dungeon spawn position using BeginPos instead of BornPos 2024-02-06 20:13:07 +01:00
hartie95
ec326ff562 [Fix] Prevent the quest "mine craft" from just appearing by not returning true for the open state conditon check for city level reputation
* Also add some comment about the params for city reputation and offering level open state checks
2024-02-05 23:45:04 +01:00
hartie95
9455d4dbdb [Feature] Update for the new AnimeGameLuaChanges
* Added some more scriplib defintions
* Pass the RequireMode enum to the Scriptconfig
2024-02-02 14:14:03 +01:00
hartie95
7a7c2ad8d7 [Building] Fixed removed class still being imported creating a jar 2024-02-02 13:43:28 +01:00
hartie95
740e12b05c [Refactoring] Use AnimeGameLua for lua parsing and lua script handling
* Also added support to read overwrite script files from an overwrite location
2024-01-22 01:15:14 +01:00
hartie95
a48b55ec1d [Fix] Fixes for small multi proto refactoring and building 2024-01-08 01:08:13 +01:00
hartie95
cf2ab47e88 [MultiProto] Use multiproto for most gameserver login packets and some more
* This should allow at least beach simulator and basic entity spawning for all versions via Multiproto
2024-01-03 16:33:37 +01:00
hartie95
9bdcfda43f [WIP] Use multiproto for typesafe version independend proto handling 2023-10-21 07:20:01 +02:00
hartie95
56c8a0acc4 [Fix] Fixed entering tower/spiral abyss with elementless traveler 2023-10-04 22:41:40 +02:00
hartie95
4551763a32 [Fix] Fixes for trial avatar handling in some cases and catch more exceptions in WorldDataSystem 2023-10-04 20:25:11 +02:00
hartie95
7c86e79d16 [LUA] Improve performance for loading big data storage lua files with jnlua (thx @eternalcomet ) 2023-10-04 17:17:53 +02:00
hartie95
e2be06cdcf [Fix] Catch null positions in WorldDataSystems getInvestigationMonster 2023-10-04 01:20:21 +02:00
hartie95
1643f05059 [Fix] Use city data to generate the city list in GetSCeneAreaRsp, instead of a hardcoded list 2023-10-04 01:17:30 +02:00
hartie95
82fba2b31e [Fix] Actually send the unlocked areas from the player instead of a bruteforced list 2023-10-04 01:16:38 +02:00
hartie95
ac8c6848c9 [Fix] Add the actuall cfg id to client send EVENT_AVATAR_NEAR_PLATFORM events (thx @scooterboo ) 2023-10-04 01:00:35 +02:00
hartie95
78bb2510a7 [Fix] Fixed quest content/cond checks checking for unstarted quests (thx @scooterboo ) 2023-10-04 00:59:13 +02:00
hartie95
6df5df73b2 [Fix] Handle null record in towermanager 2023-09-14 14:14:35 +02:00
hartie95
dbf8890d5a [Refactor] Decrease the number of reflector instances (thx @KingRainbow44 )
* Also cleanup some imports
2023-09-14 14:14:02 +02:00
hartie95
97c16db874 [Fix] Fix inherited private fields in the lua serializer 2023-09-14 14:08:34 +02:00
hartie95
03f4141975 [Refactor] Moved more Script data classes to private fields without setters
* Also added some missing fields to SceneObject, SceneRegion and SceneMonster
2023-09-01 19:23:02 +02:00
hartie95
08cc307c1d [Refactor/Lua] Allow Lua serializers to set private fields without setters in objects
* This is done by using reflection apis to use setAccessible to true for the fields
* This allows removing setters from read only lua based objects
2023-08-31 19:55:46 +02:00
hartie95
939783b913 [Refactor] QuestContent refactoring
* Use finish/failprogresslist to store the actuall progress
  * TODO verify if official sends progress like this too
* Only update progress if the event got fired
  * This prevents breaking similar conditons in the same quest by rechecking them agains the different events content
* Move initial progress checks to the Handler code
  * This removes hardcoding inital check conditions in the QuestManager
* Use the Quest system logger to make logging more granular
* Added some previously missing content implementations or triggers for them:
  * QUEST_CONTENT_OBTAIN_VARIOUS_ITEM (new)
  * QUEST_EXEC_RANDOM_QUEST_VAR (new, thx @scooterboo )
  * QUEST_COND_STATE_NOT_EQUAL (triggers)
  * QUEST_CONTENT_QUEST_STATE_NOT_EQUAL (triggers)
  * QUEST_CONTENT_LEAVE_SCENE (triggers, thx @scooterboo )
  * QUEST_*_QUEST_VAR_* (triggers)
* Don't trigger some events anymore manually
  * QUEST_CONTENT_FINISH_PLOT (gets send by the client)
* Always throw the talk events, in case a talk is not mapped to a quest (thx @scooterboo and @mjolsic )
* Added loading of dummy points from lua (not yet used)
2023-08-31 19:35:21 +02:00
hartie95
a50c82e377 [Refactor] Apply some code comments before merge 2023-08-31 18:30:32 +02:00
mjolsic
89016706ae 1) Modify how blossom worktop entity is created
2) Allows blossom to cache to server, and do daily reset
3) Added more blossom refresh type enums
2023-08-19 22:22:26 +10:00
mjolsic
5167c973a6 1) Mainly resolved pr conversations.
- Removed GadgetCommand.java
 - Changed challenge triggers in WorldChallenge to Map for easier manipulation
 - Moved time zone to game container
 - Fixed dungeon that doesn't have exits point, will send player back to where they were before entering dungeon
 - Added loading script error logging
2023-08-18 01:05:25 +10:00
mjolsic
b22de478bf 1) Fixed Spiral abyss. About 90% of its functionality is working. 2023-08-13 21:40:28 +10:00
mjolsic
b1baa2f09c 1) Modified dungeon related codes.
2) Send PacketPlayerEnterSceneNotify with more details.
3) Fixed dungeon reward statue gadget.
4) Fixed dungeon entries and exits teleportation
5) Fixed showing dungeon entries in handbook and domain interface for normal dungeons and quest entries
6) Added weekly boss discount and refresh implementation
2023-08-10 23:11:16 +10:00
mjolsic
9d6ca5ee00 1) Refactored Scene.java
2) Fixed the problem where replaced groups keep respawn and de-spawn on tick
2023-08-10 18:15:31 +10:00
mjolsic
76b2dc9179 1) Updated implementation for blossom challenges 2023-08-10 15:44:22 +10:00
mjolsic
aacac76aff 1) Updated implementation for challenge related codes. All types of challenges are implemented except for CHALLENGE_TRIGGER2_AVOID_TRIGGER1.
2) Added command to change gadget state.
2023-08-09 23:18:07 +10:00
hartie95
20a5c935d4 [Fix/Scriptlib] add missing GetRegionConfigId function (thx @scooterboo ) 2023-08-08 00:16:04 +02:00
hartie95
1e86edb85e [Fix] Rework EntityId <-> EntityIdType -> EntityType conversion
* Also reverts the Id sync for  EntityIdType and EntityType
2023-08-08 00:01:28 +02:00
hartie95
2be7475591 [Refactor/Fix] Region/trigger handling changes
* Allow all entities to trigger ENTER_/LEAVE_REAGION (thx @scooterboo )
* Allow other trigger types to be used in the TriggerExcelConfigData
* Refactored the region checking
2023-08-07 22:24:34 +02:00
hartie95
ccb95e6594 [Fix] Sync EntityIdType and EntityType for types used by scripts 2023-08-07 21:25:42 +02:00
hartie95
5bb393c480 [Fix] add roomSceneId altname to ItemData (thx @NotThorny ) 2023-08-07 19:02:56 +02:00
hartie95
7a7bf9b972 [Fix] fix http server bind address (thx @dasha-yarkoff ) 2023-08-07 19:00:14 +02:00
hartie95
2d6b623bc7 [Refactoring/Fix] unify the GroupVariableValue functions from ScriptLib (thx @scooterboo ) 2023-08-07 18:47:39 +02:00
hartie95
410b5db37d [Fix] Fix swimming stamina cost (thx @NotThorny) 2023-08-07 18:31:01 +02:00
hartie95
624f65e215 [Fix] handle dungeons with a 0 passCondition (thx @scooterboo ) 2023-08-07 18:27:46 +02:00
hartie95
98deac6f55 [Refactoring] Some small code improvements in Scriptlib and ScriptArgs usage and added the structure for a missing Scriptlib method (thx @scooterboo ) 2023-08-07 18:19:57 +02:00
hartie95
472a07862d [Fix] Add missing getAsIntArray method to LuaJTable 2023-08-07 17:26:31 +02:00
hartie95
797a1e8b42 [Fix] Check for null in the AbilityManager in case an entity doesn't exist 2023-08-07 17:26:01 +02:00
hartie95
29a34a72b2 [Logging] Added added extra logger configs for more granulare loglevers
This mostly affects bigger GC modules like Scripting, abilities and resource loading, with questing following
2023-08-07 15:15:59 +02:00
hartie95
172bdd01d8 [Fix] Fix LuaError error because of LuaJ not supporting overloads 2023-08-06 19:32:29 +02:00
hartie95
51f9bd39e3 [Fix] Fixed LuaJ out of bounce access in call method 2023-08-06 18:34:11 +02:00
hartie95
0fee8cc054 Merge branch 'quests' of github.com:Anime-Game-Servers/Grasscutter-Quests into luasyste 2023-08-06 02:14:08 +02:00
hartie95
041945b257 [Refactor] Added MetaGameEntity for entites without actuall location in the scene and made sure all fightproperties accesses are null safe 2023-08-05 19:42:00 +02:00
hartie95
59c47cb0a3 [Refactor] move the basic ability adding logic into an interface 2023-08-05 19:09:29 +02:00
hartie95
e98307e006 Merge branch 'activity_dev' of github.com:StartForKiller/Grasscutter-Quests into updatedAbilities 2023-08-05 17:37:22 +02:00