Commit Graph

1482 Commits

Author SHA1 Message Date
Nazrin
97c70f7877
Fix issues with regions (#2179)
Luckily, SceneRegion and TriggerExcelConfigData both have group numbers, so we can use those to differentiate regions!
2023-06-01 02:04:18 -04:00
Magix
9e5b57a043
Merge unstable into development (#2173)
* Remove more scene synchronized

* Fix worktop options not appearing

* Format code [skip actions]

* Fix delay with server tasks

* Format code [skip actions]

* Fully fix fairy clock (#2146)

* Fix scene transition

* fully fix fairy clock

* Re-add call to `Player#updatePlayerGameTime`

* Format code [skip actions]

* Initialize the script loader in `ResourceLoader#loadAll`

* Fix region removal checking

* Format code [skip actions]

* Use Lombok's `EqualsAndHashCode` for comparing scene regions

* Format code [skip actions]

* Move 'invalid gather object' to `trace`

* Add more information to the 'unknown condition handler' message

* Move invalid ability action to trace

* Make `KcpTunnel` public

* Validate the NPC being talked to

* Format code [skip actions]

* NPCs are not spawned server side; change logic to handle it

* Format code [skip actions]

* unload scene when there are no players (#2147)

* unload scene when there are no players

* Update src/main/java/emu/grasscutter/game/world/Scene.java

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>

---------

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>

* Check if a command should be copied or HTTP should be used

* Lint Code [skip actions]

* Fix character names rendering incorrectly

* Add basic troubleshooting command

* Implement handbook teleporting

also a few formatting changes and sort data by logical sense

* Fix listener `ConcurrentModificationException` issue

* Add color change to `Join the Community!`

* Lint Code [skip actions]

* Make clickable buttons appear clickable

* Remove 'Mechanicus' entities from the list of entities

* Format code [skip actions]

* Fix going back returning a blank screen

* Implement entity spawning

* Add setting level to entity card

* Add support for 'plain text' mode

* Make descriptions of objects scrollable

* Lint Code [skip actions]

* Format code [skip actions]

* Change the way existing hooks work

* Format code [skip actions]

* Upgrade Javalin to 5.5.0 & Fix project warnings

* Upgrade logging libraries

* Fix gacha mappings static file issue

* Add temporary backwards compatability for `ServerHelper`

* Format code [skip actions]

* Remove artifact signatures from VCS

* Fix forge queue data protocol definition

* Run `spotlessApply`

* Format code [skip actions]

* Download data required for building artifacts

* Add call for Facebook logins

* Add the wiki page as a submodule

* Format code [skip actions]

* Update translation (#2150)

* Update translation

* Update translation

* Separate the dispatch and game servers (pt. 1)

gacha is still broken, handbook still needs to be done

* Format code [skip actions]

* Separate the dispatch and game servers (pt. 2)

this commit fixes the gacha page

* Add description for '/troubleshoot'

* Set default avatar talent level to 10

* Separate the dispatch and game servers (pt. 3)

implement handbook across servers!

* Format code [skip actions]

* Update GitHub Actions to use 'download-file' over 'wget'

* Gm handbook lmao (#2149)

* Fix font issue

* Fix avatars

* Fix text overflow in commands

* Fix virtualized lists and items page 😭😭

* magix why 💀

* use hover style in all minicards

* button

* remove console.log

* lint

* Add icons

* magix asked

* Fix overflow padding issue

* Fix achievement text overflow

* remove icons from repo

* Change command icon

* Add the wiki page as a submodule

* total magix moment

* fix text overflow in commands

* Fix discord button

* Make text scale on Minicard

* import icons and font from another source

* Add hover effects to siebar buttons

* move font and readme to submodule repo

* Make data folder a submodule

* import icons and font from data submodule

* Update README.md

* total magix moment

* magix moment v2

* submodule change

* Import `.webp` files

* Resize `HomeButton`

* Fix 'Copy Command' reappearing after changing pages

---------

Co-authored-by: KingRainbow44 <kobedo11@gmail.com>

* Lint Code [skip actions]

* Download data for the build, not for the lint

* format imports

this is really just to see if build handbook works kek

* Implement proper handbook authentication (pt. 1)

* Implement proper handbook authentication (pt. 2)

* Format code [skip actions]

* Add quest data dumping for the handbook

* Change colors to fit _something suitable_

* Format code [skip actions]

* Fix force pushing to branches after linting

* Fix logic of `SetPlayerPropReq`

* Move more group loading to `trace`

* Add handbook IP authentication in hybrid mode

* Fix player level up not displaying on the client properly

* Format code [skip actions]

* Fix game time locking

* Format code [skip actions]

* Update player properties

* Format code [skip actions]

* Move `warn`s for groups to `debug`

* Fix player pausing

* Move more logs to `trace`

* Use `removeItemById` for deleting items via quests

* Clean up logger more

* Pause in-game time when the world is paused

* Format code [skip actions]

* More player property documentation

* Multi-threaded resource loading

* Format code [skip actions]

* Add quest widgets

* Add quests page (basic impl.)

* Add/fix colors

also fix tailwind

* Remove banned packets

client modifications already perform the job of blocking malicious packets from being executed, no point in having this if self-windy is wanted

* Re-add `BeginCameraSceneLookNotify`

* Fix being unable to attack (#2157)

* Add `PlayerOpenChestEvent`

* Add methods to get players from the server

* Add static methods to register an event handler

* Add `PlayerEnterDungeonEvent`

* Remove legacy documentation from `PlayerMoveEvent`

* Add `PlayerChatEvent`

* Add defaults to `Position`

* Clean up `.utils`

* Revert `Multi-threaded resource loading`

* Fix changing target UID when talking to the server

* Lint Code [skip actions]

* Format code [skip actions]

* fix NPC talk triggering main quest in 46101 (#2158)

Make it so that only talks where the param matches the talkId are checked.

* Format code [skip actions]

* Partially fix Chasing Shadows (#2159)

* Partially fix Chasing Shadows

* Go ahead and move it before the return before Magix tells me to.

* Format code [skip actions]

* Bring back period lol (#2160)

* Disable SNI for the HTTPS server

* Add `EntityCreationEvent`

* Add initial startup message

this is so the server appears like its preparing to start

* Format code [skip actions]

* Enable debug mode for plugin loggers if enabled for the primary logger

* Add documentation about `WorldAreaConfigData`

* Make more fields in excels accessible

* Remove deprecated fields from `GetShopRsp`

* Run `spotlessApply` on definitions

* Add `PlayerEnterAreaEvent`

* Optimize event calls

* Fix event invokes

* Format code [skip actions]

* Remove manual autofinish for main quests. (#2162)

* Add world areas to the textmap cache

* Format code [skip actions]

* Don't overdefine variables in extended classes (#2163)

* Add dumper for world areas

* Format code [skip actions]

* instantiate personalLineList (#2165)

* Fix protocol definitions

thank you Nazrin! (+ hiro for raw definitions)

* Fix the background color leaking from the character widget

* Change HTML spacing to 2 spaces

* Implement hiding widgets

* Change scrollbar to a vibrant color

* Add _some_ scaling to the home buttons and its text

* Build the handbook with Gradle

* Fix the 'finer details' with the handbook UI

* Lint Code [skip actions]

* Fix target destination for the Gradle-built handbook

* Implement fetching a player across servers & Add a chainable JsonObject

useful for plugins! might be used in grasscutter eventually

* Fix GitHub actions

* Fix event calling & canceling

* Run `spotlessApply`

* Rename fields (might be wrong)

* Add/update all/more protocol definitions

* Add/update all/more protocol definitions

* Remove outdated packet

* Fix protocol definitions

* Format code [skip actions]

* Implement some lua variables for less console spam (#2172)

* Implement some lua variables for less console spam

* Add GetHostQuestState

This fixes some chapter 3 stuff.

* Format code [skip actions]

* Fix merge import

* Format code [skip actions]

* Fully fix fairy clock for real this time (#2167)

* Fully fix fairy clock For real this time

* Make it so relogging keeps the time lock state.

* Refactor out questLockTime

* Per Hartie, the client packet needs to be changed too

* Update src/main/java/emu/grasscutter/game/world/World.java

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>

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

* Remove all code not needed to get clock working

---------

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>

* Implement a proper ability system (#2166)

* Apply fix `21dec2fe`

* Apply fix `89d01d5f`

* Apply fix `d900f154`

this one was already implemented; updated to use call from previous commit

* Ability changing commit

TODO: change info to debug

* Remove use of deprecated methods/fields

* Temp commit v2
(Adding LoseHP and some fixes)

* Oopsie

* Probably fix monster battle

* Fix issue with reflecting into fields

* Fix some things

* Fix ability names for 3.6 resources

* Improve logging

---------

Co-authored-by: StartForKiller <jesussanz2003@gmail.com>

* Format code [skip actions]

* Add system for sending messages between servers

* Format some code

* Remove protocol definitions from Spotless

* Default debug to false; enable with `-debug`

* Implement completely useless global value copying

* HACK: Return the avatar which holds the weapon when the weapon is referred to by ID

* Add properties to `AbilityModifier`

* Change the way HTML is served after authentication

* Use thread executors to speed up the database loading process

* Format code [skip actions]

* Add system for setting handbook address and port

* Lint Code [skip actions]

* Format code [skip actions]

* Fix game-related data not saving

* Format code [skip actions]

* Fix handbook server details

* Lint Code [skip actions]

* Format code [skip actions]

* Use the headers provided by a context to get the IP address

should acknowledge #1975

* Format code [skip actions]

* Move more logs to `trace`

* Format code [skip actions]

* more trace

* Fix something and implement weapon entities

* Format code [skip actions]

* Fix `EntityWeapon`

* Remove deprecated API & Fix resource checking

* Fix unnecessary warning for first-time setup

* Implement handbook request limiting

* Format code [skip actions]

* Fix new avatar weapons being null

* Format code [skip actions]

* Fix issue with 35303 being un-completable & Try to fix fulfilled quest conditions being met

* Load activity config on server startup

* Require plugins to specify an API version and match with the server

* Add default open state ignore list

* Format code [skip actions]

* Quick fix for questing, needs more investigation
This would make the questing work again

* Remove existing hack for 35303

* Fix ignored open states from being set

* Format code [skip actions]

* fix the stupidest bug ive ever seen

* Optimize player kicking on server close

* Format code [skip actions]

* Re-add hack to fix 35303

* Update GitHub actions

* Format code [skip actions]

* Potentially fix issues with regions

* Download additional handbook data

* Revert "Potentially fix issues with regions"

This reverts commit 84e3823695.

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: scooterboo <lewasite@yahoo.com>
Co-authored-by: Tesutarin <105267106+Tesutarin@users.noreply.github.com>
Co-authored-by: Scald <104459145+Arikatsu@users.noreply.github.com>
Co-authored-by: StartForKiller <jesussanz2003@gmail.com>
2023-05-31 23:48:16 -04:00
Moistcrafter
7f4fb20773
Fix boss names in boss bar (#2169)
* Boss bar fix

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

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>

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

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>

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

---------

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
2023-05-27 16:23:52 -04:00
Magix
71f6198361
Upgrade to REL3.7 (#2164)
* Remove hardcoded quest data

* Remove deprecated fields

* Try to fix packet

* Apply fix for token exchange

* Upgrade to REL3.7

* Add obfuscated protocol definitions

* Add missing enum (other protos too maybe)

* Re-add field setters and add note on removal
2023-05-27 00:29:02 -04:00
Magix
c4f1208f45
Add support for game version 3.6 (#2110)
* Update to game version `3.6.0` (pt. 1)

not complete!

* Update to game version `3.6.0` (pt. 2)

not complete!

* Update compiled definitions
2023-04-30 22:08:54 -04:00
Moistcrafter
60e8106b01
use intstream instead of silly list in prop cmd (#2128) 2023-04-24 20:55:08 -04:00
FlourishingWorld
8c6b166a42
fix co-op mode avatar animation interrupt (#2124) 2023-04-18 15:19:34 -04:00
Moistcrafter
abcabc9861
Parse dungeon entry info req from payload instead of player scene (#2122) 2023-04-17 01:08:08 -04:00
tamilpp25
3c60f792ca
reject clients on version mismatch (#2106) 2023-04-10 20:05:11 -04:00
Moistcrafter
c905d493af
Add co-op lyre support (#2105) 2023-04-10 01:43:26 -04:00
hamusuke
caf9521013
feat: add ability to buy resin with primogems (#2104)
* feat: add ability to buy resin with primogems

* ResinManager#buy returns RetCode value
2023-04-09 20:20:12 -04:00
hamusuke
9181d1cbfd
fix: mail system (#2096)
* fix: mail

* Simplify the mail handler

---------

Co-authored-by: KingRainbow44 <kobedo11@gmail.com>
2023-04-02 21:32:30 -04:00
Colleiflower
516e5975e1
Add support for v3.5.0 (#2090)
* Fix Dvalin battle

See https://github.com/Anime-Game-Servers/Grasscutter-Quests/pull/25.

This is entirely untested and there's a 99% chance it's broken, I'm just submitting it as a draft PR so that I don't forget about its existence.

Co-Authored-By: mjolsic <21289772+mjolsic@users.noreply.github.com>

* Update protos

* 3.4 protos

* Fix

Now builds successfully, don't have the time to check if I should have specified true instead of false for withChildQuests, or if this functions as intended.

* Change from false to true

Per what smileoflove has been told on Discord

* 3.5

* Remove the Dvalin crap from this PR

Git is so confusing

* Update version

* Apply README changes from `origin/development`

* Remove unnecessary debugging information

---------

Co-authored-by: mjolsic <21289772+mjolsic@users.noreply.github.com>
Co-authored-by: KingRainbow44 <kobedo11@gmail.com>
2023-03-31 15:13:32 -04:00
yzr
cf4cd80010
Fix delombok package not exists error with proto generated files (#2083)
Fix javadoc & suppress no comments warning
Fix terminal interaction in IDEA
Update lombok onMethod to JDK8 version
Some code reformat
2023-03-31 02:16:32 -04:00
rwx9032
fdaa487b2a
Add support for the Chinese client (#2076)
* Add CNREL support

* Improve logic

* Maintain spacing

* Remove language keys & switch to debug

* Improve Format
2023-03-12 00:51:21 -05:00
hamusuke
3ab3d5bc04
Simply implement achievement system and add achievement command (#2068)
* Implement achievement system

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

Co-authored-by: Der Chien <b03902015@ntu.edu.tw>

* fix: redundant codes

* fix: redundant codes

* Update language files

---------

Co-authored-by: Der Chien <b03902015@ntu.edu.tw>
2023-02-26 00:14:27 -05:00
Thoronium
b209d91947
Add home resource gain (#2064) 2023-02-23 23:22:25 -05:00
hamusuke
220c23b960
feat: change game time (#2061)
* feat: change game time

* Update proto names
2023-02-23 23:21:44 -05:00
yeyeye
71a1e31d37
update gc 3.4 (#2041)
* update 3.4

* update3.4

* update 3.4

* update 3.4

* Add files via upload

* Delete SetPropCommand.java

* update 3.4 area id

* update version

* exchange cmdid

* exchange cmdid

* exchange cmdid

* my fault

* update AiSyncInfo
2023-02-18 22:18:27 -05:00
Thoronium
1b2210f5a7
Improved satiation (#2055)
* Natural satiation decreasing
Graphic showing satiation when eating (usually)

* Reworking values to match original

* Little fixes

* Satiation bar matches real values
Revival correctly updates bar

* Greatly simplify handling
Some fixes

* Inline variables
Add TODO for bug

* Satiation works correctly
Finally it all works as intended

* Remove unnecessary packets

* Improve satiation reduction handling
2023-02-15 19:32:59 -05:00
Thoronium
b4b8f1ec38
Fix climb jump stamina (#2056)
* Fix climb jump stamina

* Update StaminaManager.java

---------

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
2023-02-15 19:32:11 -05:00
Thoronium
d1c7ced0ef
Fix load order (#2057) 2023-02-15 19:31:33 -05:00
Lemon_miaow
11351d9866
Fixed only the issue about "BOOLEAN" occurring when importing resources. (#2028)
* Only Fix 'Exception in thread 'main' com.google.gson.JsonSyntaxException: java.io.IOException: Invalid DynamicFloat definition - BOOLEAN' problem.

* Update ResourceLoader.java

* Modify code indentation and optimization.

* Update JsonUtils.java

* Update JsonUtils.java

* Update DynamicFloat.java

---------

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
2023-02-15 19:31:09 -05:00
Thoronium
1a50cccb38
Fix goal (#2052) 2023-02-09 17:12:01 +01:00
ZanyRain
3b29ba032e
Some fix about scene script and quest (#2029)
* [ScriptLib] Query player when not get entity from scene

* Fix NPE when doing quests

* Add QUEST_CONTENT_SKILL trigger

Q353 need it

* Add some missing fields that contain in scene scripts

* Add a lua table serializer implement with jackson

This do not replace the original one,it is useful when debug

* Fix point_array type error

* feat: fix space
2023-02-09 17:10:07 +01:00
Thoronium
ab5b49b7c5
Teapot Implementations & Fixes (#2032)
* Add realm switching
Fix realm unlock items

* Implement exiting teapot

* Implement home level rewards

* Fix small issues

* Fix call issue

* Add 'seen unlock' packets

* Fix Sumeru Main House bricking accounts
This is only for the house, not the full realm

* Fixed realm 5

Main house needs to be placed manually for Sumeru realm (module 5) as the resources for defaults in Sumeru realm are missing. Sumeru main house cannot be exited from the door, issue due to the same missing res.

* Fix Grass main house bricking accounts

* Remove references

* Formatting change (web editor)

* Whitespace & Formatting

* Whitespace

* Make 'seen' status persistent

* Fix misnamed field

* Revert "Fix misnamed field"

This reverts commit 21ef404e14.

* Implement gaining trust (realm exp)

Add gaining trust by crafting
Add gaining trust via `/give`
Show trust in djinn menu

* Interior check for prevScene

* Correct positions & rotations

Return to front of main house when exiting from inside

* Update HandlerBackMyWorldReq.java

---------

Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com>
2023-02-09 17:00:16 +01:00
Thoronium
0fc578a243
Fix Cooking Compound Retrieval (#2039)
* Fix misnamed field

* Fix getter name
2023-02-02 14:48:42 +01:00
ghjbvvgh
8a5a6ab83e
Unlock hidden points (#2016) 2023-01-11 00:28:00 +01:00
KingRainbow44
668461a6f1
Clean-Up Startup Sequence
hey i like it clean ok.. dont judge..
2022-12-30 20:31:27 -05:00
ZanyRain
fe80290bed
Output the handbook based off the client language (#1993) 2022-12-26 20:09:21 +01:00
Simplxs
92fbaa8670
Update gc to 3.3 (#1981)
* replace the deprecated api

* update proto

* delete music game

* fixed codes

* fix costume switch

* fix mail bug

* Bump version number.

* Re-add max boss chest number

Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com>
2022-12-23 22:12:02 +01:00
AnimeGitB
553e22ead8 Add more explicit NoSuchFileException message for excels 2022-11-28 21:04:39 +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
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
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
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
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
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
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
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
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
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
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
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
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
hamusuke
610a364b9a
feat: set friend enter home option (#1860) 2022-10-15 11:58:45 -04: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
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
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
hamusuke
e23536e7ba
fix costumes are unable to be unlocked. (#1842)
* fix: costumes are able to be unlocked.

* Update AvatarCostumeData
2022-10-09 11:10:42 +10:30
atArtyom
004a765e5b
Fix food decreasing (#1834)
* Update InventorySystem.java

Fix some food didn't reduce after use.

* Update InventorySystem.java
2022-10-08 01:44:29 +10:30
Dang Hoang Phuc
a520bc9416
Fix showing ban message box (#1826)
* fix: getplayertoken ban message popup

* feat: insure no packet handle when banned

* feat: using session state instead of account
2022-10-08 01:37:20 +10:30
AnimeGitB
0b9cab5ad5 Don't need full Java stacktrace on Lua errors 2022-10-07 23:06:26 +10:30
Luke H-W
dd6e1bb8a3
Move Data, Plugin, Script, Packet access from Strings to Paths (#1839)
* Move Data, Plugin, Script, Packet access from Strings to Paths
- No longer dump default Data files to folder on launch
- Allow Scripts to be loaded from Resources zip
- Lay groundwork for Plugins to be loaded from zip
2022-10-07 23:01:08 +10:30
Luke H-W
f6ce7e349d
Add shutdown alias to StopCommand 2022-10-04 01:33:01 +10:30
Luke H-W
c2e620bf7c
[BREAKING] Deobfuscate codex field, slight refactor (#1809)
* Deobfuscate codex field, slight refactor

* Fix relic sets in codex
2022-09-28 16:28:15 +09:30
GanyusLeftHorn
5ffc07cf59
3.1 Support (#1808)
* Update 3.0 protos

* Update classes to match protos

* Fix RegionHandler versions

* 3.0 Opcodes

* Fixed Gadget Spawning

Original Commit Message: fixed gadget spawning ty MJDerp
Gitea Author: yh0Nathan

Co-authored-by: yh0Nathan <yhonathancaleb@gmail.com>

* Make PointData compatible with alternative PointData

Original Commit Message: Make PointData compatible with windied scene points.
Gitea Author: GanyusLeftHorn

Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com>

* Add scene tag for Vanarana.

Original Commit Message: Add scene tag for Vanarana.
Gitea Author: GanyusLeftHorn

Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com>

* Add Sumeru expeditions.

Original Commit Message: Add Sumeru expeditions.
Gitea Author: GanyusLeftHorn

Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com>

* Update game version to 3.0.0

* versionFix must be >= 50 not == 50 in RegionHandler

* Add new 3.0 Reliquary and SkillParticleGeneration data

Original Commit Message: Repair 3.0 added Reliquary 3-in-1 on the crafting table. Add skill particle generation info for Tighnari,Collei and Dori
Gitea Author: Roly

* Actually fix RegionHandler

* Remove asset names from json and comments

* Add scene areas for Sumeru desert to /prop um

* Added New MaterialType

* Change version to 3.1.0

* funny welcome message back

* Fix pyramid skill issue.

* Fix pyramid and event scene tags without ugly bruteforce.

* Remove backrooms chat welcome message.

* Incorporate suggestions.

* RoomSceneId and empty list checking.

Co-authored-by: Benj <benjamin7006@gmail.com>
Co-authored-by: yh0Nathan <yhonathancaleb@gmail.com>
Co-authored-by: Kokoboy <anushkumar222001@gmail.com>
Co-authored-by: nitro <31241699+nitrog0d@users.noreply.github.com>
Co-authored-by: Vexeone <vexeone@gmail.com>
2022-09-28 04:53:19 +02:00
AnimeGitB
4154229722 refactor HandlerWidgetDoBagReq 2022-09-26 18:41:05 +09:30
AnimeGitB
fbc0219cba Allow loading Resources from zip files
Move Resources loading from String filenames to Paths
Add zip support
2022-09-23 22:25:17 +09:30
Melledy
a90455a7a4
Add -game and -dispatch startup arguments that override the run mode in the config 2022-09-18 20:52:30 -07:00
Melledy
0d64e2e810
Use reflection to map database classes and add missing mapped classes to the dispatch datastore 2022-09-18 20:46:28 -07:00
github-actions
e9f5d98466 Fix whitespace [skip actions] 2022-09-16 17:04:44 +00:00
Alexander Hartmann
08f361954a
Extend spawn command (#1777)
* add missing EntityTypes

* small command refactorings and improvements
* move common command patterns and methods to CommandHelpers
* let the spawn command detect the entityType instead of spawning every entity as EntityVehicle
* add extra options for spawning gadgets for better debuging and testing

* More spawn command additions and cleanups+EntityVehicle changes
* Moved remaining patterns from GiveCommand and ClearCommand to CommandHelpers
* Added patterns for hp, maxhp, atk, def and (monster)ai for the spawn command
* Moved intParam parsing via regex to the CommandHelpers
* Read most of EntityVehicle stats from the ConfigGadget instead of hardcoding them

Co-authored-by: hartie95 <mail@hartie95.de>
2022-09-17 02:34:20 +09:30
AnimeGitB
9671a76af2 character and companionship exp gain to party not active character
fixes #1787
2022-09-17 01:33:48 +09:30
Alexander Hartmann
08fdcf6ed4
fixed gadget hp properties and invincibility handling (#1773)
* fixed gadget hp properties and invincibility handling

* Allow killing of hp locked entities, if the damage is higher then the hp

Co-authored-by: hartie95 <mail@hartie95.de>
2022-09-15 11:56:20 +09:30
Alexander Hartmann
21ff749dca
Add support for propperly showing activity shops (#1774)
* Add support for propperly showing activity shops

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

Co-authored-by: hartie95 <mail@hartie95.de>
2022-09-14 19:57:16 +09:30
Kawaa
070edd263a
Improve team respawn (#1752)
* Pull request made after merging the latest version

* Update src/main/resources/languages/ja-JP.json

* first commit

* TeamRespawn_BigWorld

* Improving scene Loading

* Final commit

* optimize import

* optimize

* Update TeamManager.java

* Update src/main/java/emu/grasscutter/game/player/TeamManager.java
2022-09-12 23:25:10 +09:30
AnimeGitB
d3bf5b585f Calculate Banner.previewPrefabPath 2022-09-08 22:36:43 +09:30
Kawaa
210e9e9732 Added a directive to fix some minor bugs (#1744)
* Pull request made after merging the latest version

* Update src/main/resources/languages/ja-JP.json
2022-09-05 23:53:40 +09:30
github-actions
6e5d986687 Fix whitespace [skip actions] 2022-09-03 03:36:51 +00:00
TotalyNotOndre
49aed23f3d Plugin Manager localisation
* Confugure Plugin Manager to use localised strings
* Add localisation strings for plugin manager
2022-09-02 20:27:05 -07:00
pfyy
f93d998ff0 fix serenitea pot main building 2022-09-02 12:13:02 -07:00
AnimeGitB
735b48edca Add command targeting by account username 2022-09-02 22:20:42 +09:30
AnimeGitB
735f765320 Fix elementless Traveler depotValue 2022-09-02 21:57:02 +09:30
Melledy
4eaedae0b7 Move the remaining HttpUtils function over to Router 2022-09-01 13:20:42 -07:00
Melledy
fee34c515d Clean up http server content types 2022-09-01 13:20:42 -07:00
Benj
a1c31d1779 Replace express with javalin in logger 2022-09-01 13:20:42 -07:00
Benj
b5bed6ceef Update HttpServer & AuthenticationSystem to use Javalin 2022-09-01 13:20:42 -07:00
GanyusLeftHorn
712d17631f
Custom Teams (#1731)
* Add support for creating and deleting custom teams.

* Add support for creating and deleting custom teams.

* Move some logic to TeamInfo::toProto
2022-08-31 17:21:47 -07:00
Kawaa
4f015c1077
Console output player command (#1722)
* Console output player command

* Update CommandMap.java

* Add the Output_player_command option to the config

* Proper formatting for logging commands

* Log account usernames, not player nicknames

Co-authored-by: Melledy <52122272+Melledy@users.noreply.github.com>
2022-08-31 03:40:11 -07:00
Melledy
bab6e6845e
Clean up adding extra embryo logic in Avatar::recalcStats 2022-08-31 03:39:41 -07:00
Melledy
45c08c5826
Clean up OpenStateData onLoad logic 2022-08-31 03:38:37 -07:00
pfyy
96caa7db17
fix serenitea pot (#1726)
* partial fix of serenitea pot

* fix serenitea pot
2022-08-31 02:13:48 -07:00
Dang Hoang Phuc
7dd0c89927 fix: avatar energy transform in proudskill 2022-08-31 02:13:23 -07:00
jie65535
32289e2d80
Add permission clear and list commands (#1715)
* Add permission clear and list commands

* Add Account clear permission
2022-08-27 21:16:27 +09:30
AnimeGitB
656cb79b06 Fix offline account deletion (fixes #1716) 2022-08-27 21:11:18 +09:30
AnimeGitB
6ee6e5c2cc Fix up some japanese references 2022-08-26 23:00:34 +09:30
AnimeGitB
7ececc3d42 add dendro resonance 2022-08-26 22:35:58 +09:30
pfyy
c96a1907da fix dungeon 2022-08-26 09:57:52 +08:00
Melledy
79323a05e3
Fix weird conditional in EquipAffixData 2022-08-25 12:03:26 -07:00
pfyy
1c3a6fc837 partial fix of dungeon 2022-08-25 11:52:14 -07:00
Melledy
a25c681274
Update AvatarCostumeData naming 2022-08-25 11:47:22 -07:00
Melledy
0c906aa4ce
Fix ReliquarySetData naming 2022-08-25 11:44:01 -07:00
AnimeGitB
6d65b71512 Show accessAddress in bold yellow on startup
This should make it easier to help people troubleshoot networked setups.
Consider telling people to try connecting to the address with a web browser on the client's machine.
2022-08-25 21:37:49 +09:30
AnimeGitB
f5c8959688 Update SetPropCommand strings, send cmd usage on target fail 2022-08-25 15:15:17 +09:30