Commit Graph

61 Commits

Author SHA1 Message Date
github-actions
717a358636 Format code [skip actions] 2023-09-02 00:33:12 +00:00
KingRainbow44
e04df0526a Run formatter & update protocol 2023-08-31 23:46:55 -04:00
KingRainbow44
9295d79bc2 Reflections change & Start HTTP before game server 2023-08-31 20:59:38 -04:00
KingRainbow44
aad4529b0e Run formatter & 'protogen' 2023-08-30 19:36:58 -04:00
KingRainbow44
4f2d3f9b30 Run formatter on wish event 2023-08-28 19:34:30 -04:00
KingRainbow44
ee33fed721 Add PlayerWishEvent 2023-08-28 13:59:30 -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
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
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
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
aacf013c06 Fix gacha avatars (fixes #1870) 2022-10-18 15:11:33 +10:30
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
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
AnimeGitB
d3bf5b585f Calculate Banner.previewPrefabPath 2022-09-08 22:36:43 +09:30
AnimeGitB
c6323e9759 Funnel all gson calls into helper functions
Add deprecated getGsonFactory for plugin compat until 3.0
2022-08-11 17:59:08 +09:30
github-actions
ae2d1fe438 Fix whitespace [skip actions] 2022-07-21 00:22:26 -07:00
Melledy
408fa90728 Move config java files to their own package 2022-07-21 00:21:00 -07:00
Melledy
55541fa1da Add a loadReader helper function to DataLoader
Also minor name changing on a few DataLoader methods
2022-07-21 00:21:00 -07:00
Melledy
2e19e70fe1 Refactor game server managers to systems 2022-07-21 00:21:00 -07:00
AnimeGitB
e8371677bd Add gachaTimesLimit for beginner banner
Also add some more return codes
2022-07-04 15:22:46 +09:30
KingRainbow44
286d6289b2 Move banner loading to debug 2022-06-26 12:34:56 -04:00
Melledy
5eb1d34b14 Implement battle pass triggers/rewards 2022-06-24 01:12:52 -07:00
Melledy
359e83596c Refactor gacha banner proto creation to not do a lookup on the database 2022-06-16 08:18:24 -07:00
CamChua_VN
2624f48a84 Update Epitomized Path (#1254)
* Update Epitomized Path

* Update Epitomized Path

* Update Epitomized Path

* Refactor doRarePull

* Update Epitomized Path

Co-authored-by: AnimeGitUserB <AnimeGitUserB@bigblueball.in>
2022-06-16 08:01:27 -07:00
ImmuState
ebab89d433 Don't show internal server error on gacha with full inventory. 2022-06-14 18:09:02 -07:00
Melledy
a23b29b65a Rename excel classes 2022-05-30 20:06:25 -07:00
Yazawazi
f139818224 [Anime Game Version update] Support 2.7 (#1072)
* feature(2.7 version): support 2.7 version & upload new protos

1. Support GC in GI 2.7.0;
2. Upload new protos;
3. Fix some bugs cuz by new protos.

BREAKING CHANGE: all

* fix(database helper): fix player uid issues

* fix(ability embryo): uint32 to fixed32

* fix(proto): map mark

rename MAP_MARK_FROM_TYPE_NOE to MAP_MARK_FROM_TYPE_NONE

* fix(game version): change game version to 2.7.0

* perf(proto): remove unused protos

1. Remove unused protos;
2. Temporarily commented out some of the proto fields.

* fix(proto): uint32 to fixed32
2022-05-30 20:06:25 -07:00
Няшик Няшный
e6514f7ad1 Added banner start and end time checks 2022-05-20 05:51:44 -07:00
Няшик Няшный
1662278586 Changing how banners work 2022-05-20 05:51:44 -07:00
4Benj_
f473e44611 "Autogenerate" data files with data fallbacks and moved keys folder into jar resources (#927)
* Autogenerate keys and data files

* Update gacha html files

Accidentally pushed with old html files

* Keys no longer copied. No more manually retrieving listing files. Recursive directory creation

Removed unused code from old GC as well.

* Moved somethings and better errors

* Fixed resources from loading twice

* Data files fallback
2022-05-17 03:00:52 -07:00
line-bear
87966b9e98 Remove the extra slash while loading resources. (#893)
* Remove the extra slash

* Update src/main/java/emu/grasscutter/Configuration.java

Co-authored-by: HotaruYS <105128850+HotaruYS@users.noreply.github.com>

* Update src/main/java/emu/grasscutter/Configuration.java

Co-authored-by: HotaruYS <105128850+HotaruYS@users.noreply.github.com>

* Update src/main/java/emu/grasscutter/Configuration.java

Co-authored-by: HotaruYS <105128850+HotaruYS@users.noreply.github.com>

* Import java.nio.file.Paths to use Paths.get

* Mark fields as private to prevent use *FOLDER directly

* Remove unnecessary slash

Co-authored-by: HotaruYS <105128850+HotaruYS@users.noreply.github.com>
2022-05-15 23:32:03 -07:00
KingRainbow44
2e7cd0b46f Fix errors 2022-05-14 12:10:43 -04:00
KingRainbow44
a2ff8c8470 Merge development into plugin-auth 2022-05-14 12:08:33 -04:00
KingRainbow44
3adf0d448c Refactor dispatch (now called HTTP) server (pt. 2) 2022-05-13 23:22:30 -04:00
AnimeGitB
420801b49e Updated cost logic and default weights 2022-05-13 05:34:14 -07:00
AnimeGitB
736ca85300 Remove debug log from gacha 2022-05-13 05:34:14 -07:00
AnimeGitB
83c46cb9c8 Custom costs for different gacha pulls 2022-05-13 05:34:14 -07:00
AnimeGitB
f83f13204e Gacha rework
Add fallback stripping and C6 stripping
Converting banner definitions from pity vars to lerp arrays
Properly implement rates and pool smoothing
Also move reusable functions to Utils
2022-05-13 05:34:14 -07:00
AnimeGitB
b787c70cb0 More usage of payItems 2022-05-11 21:56:53 -07:00
AnimeGitB
b4d457d78a Add some usage of Inventory.payItems()
And add quantity to it
2022-05-11 21:56:53 -07:00
ImmuState
57c7f7a43b Add gacha details page. 2022-05-11 12:02:45 -07:00
KingRainbow44
11161227ab Convert to the far superior config system 2022-05-11 00:30:07 -04:00
HotaruYS
ab5131e9fd Respect FrontHTTPS when creating URI for gacha record 2022-05-07 14:54:15 -07:00
Melledy
fba26d2da9 Fix gacha rate for weapons 2022-05-02 02:01:24 -07:00
mingjun97
98122f3c55 Implement gacha history record subsystem
* Frontend is not very beautiful yet
* Didn't include too much `some anime game` data in the page to avoid being DMCA'd
2022-05-01 13:47:17 -07:00
Melledy
1586bab5d7 Gacha banner tweaks
Removed min/maxItemType
Added configurable base weight values for banners
2022-04-27 11:23:33 -07:00
Melledy
d1fc8c1faa Moved some files around 2022-04-26 21:27:35 -07:00