Commit Graph

564 Commits

Author SHA1 Message Date
Melledy
2e19e70fe1 Refactor game server managers to systems 2022-07-21 00:21:00 -07:00
Melledy
d20e9d1f72 Refactor player managers 2022-07-21 00:21:00 -07:00
GanyusLeftHorn
b266854c72 Handle existing players who might already have passed a level. 2022-07-18 11:20:33 -07:00
GanyusLeftHorn
af7bbdaadd Set certain OpenStates on level-up. 2022-07-18 11:20:33 -07:00
zhaodice
6c49fab137 Block loader (sort and merge gadgets into different blocks) (#1517)
Original commits:

* block loader
* fix
* fix
* fix foolish bug
* add scales
* rename
* set to 600
* nitpick

Co-authored-by: AnimeGitB <AnimeGitB@bigblueball.in>
2022-07-18 19:43:55 +09:30
Melledy
2e85834e9c Update OpenState protos and rework OpenStateManager
OpenState map no longer contains default openstates, they should not be saved in the database for efficiency reasons.
2022-07-18 02:28:38 -07:00
akatatsu27
b5a4ab7524 Open state framework (#1483)
* Added more server debug options

* made server debug code prettier

* fixed initialization bug

* Enables logging of packets contained in UnionCmdNotify, when debug level is WHITELIST or BLACKLIST

* Fully Implement OpenState Framework

* added devOpenStates

* Commented out newPlayerOpenStates

* Removed OPEN_STATE_NONE from devOpenStates
2022-07-18 01:33:57 -07:00
AnimeGitB
591ca4805a Some proto name changes 2022-07-17 13:43:45 +09:30
kyoko
80f9346983 Fix the chat history not correctly showing. 2022-07-17 13:43:45 +09:30
KingRainbow44
f6b4016f1b Add PlayerTeleportEvent 2022-07-15 16:18:46 -04:00
KingRainbow44
80e75fd023 Implement PlayerMoveEvent 2022-07-15 12:43:49 -04:00
GanyusLeftHorn
fbf80e7156 Fix crafting for mystic enhancement ores. 2022-07-11 16:07:19 +02:00
Akka
910008216f quest fix & personal line impl 2022-07-10 17:52:47 +09:30
GanyusLeftHorn
6338c17189 Add reliquary decomposition (aka strongbox). 2022-07-05 22:59:19 -07:00
AnimeGitB
e8371677bd Add gachaTimesLimit for beginner banner
Also add some more return codes
2022-07-04 15:22:46 +09:30
Akka
b92cc6a882 fix some region errors 2022-07-03 11:40:09 -07:00
Akka
9bafc2c5d5 Implement server announcement (#1420)
* implement server announcement

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

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

* Added arg numbers check

Co-authored-by: Luke H-W <Birdulon@users.noreply.github.com>
2022-07-02 06:43:22 -07:00
AnimeGitB
a80302cdcd Fix commands in party chat, re-add optional positional item quantity to give command, error out and print usage if excess arguments given to give command 2022-07-02 06:41:56 -07:00
GanyusLeftHorn
13a7f08665 Add character's specialty food. 2022-07-01 23:14:36 -07:00
GanyusLeftHorn
d95a30a1a5 Cooking and unlocking recipies. 2022-07-01 23:14:36 -07:00
GanyusLeftHorn
a957b8c5b8 Notify client of unlocked recipies on login. 2022-07-01 23:14:36 -07:00
Akka
9951bec6b7 optimize npc group load & fix some NPE in suite 2022-07-01 23:13:26 -07:00
zhaodice
f90b65120a Fix no static gadget in the map,example: no tree but a fruit in the air (#1415)
* fixGadget

* fixGadget

* add gadgetObject

* fix bug
2022-07-01 11:41:53 -07:00
Akka
a8690ef720 fix bug 2022-06-29 05:23:02 -07:00
Akka
12146ff09c implement the music game 2022-06-29 05:23:02 -07:00
Akka
977f1ca2ea implement the activity system 2022-06-29 05:23:02 -07:00
zhaodice
2462da2ede Big World Resources Collection Implement (#1368)
* init

* init

* init

* revoke

* fix error

* mining support

* mining support

* Roks endurance support

* Roks endurance support

* Timed refresh

* upgrade resource data

* Timed refresh support

* remove null gadget

* Coordination

* full synchronized

* oh no, my math teacher will hit me!

* synchronized onInteract

* remove break;

* supply re-spawn time , thanks to @wl23333

* Clean up and integrate collection spawns into SpawnDataEntries

Co-authored-by: Melledy <52122272+Melledy@users.noreply.github.com>
2022-06-29 04:53:50 -07:00
GanyusLeftHorn
17fb19ebc9 Add BP login trigger to daily reset. 2022-06-28 04:04:35 -07:00
GanyusLeftHorn
54c4f60abb Fix next sunday. 2022-06-26 21:38:35 -07:00
GanyusLeftHorn
0c8db8f00e Remove comments 2022-06-26 21:38:35 -07:00
GanyusLeftHorn
b0d19e54db Implement selection chests for BP rewards. 2022-06-26 21:38:35 -07:00
GanyusLeftHorn
8104378b95 Add daily and weekly mission reset. 2022-06-26 21:38:35 -07:00
GanyusLeftHorn
814d4819d4 Unlock Gnostic Hymn 2022-06-26 21:38:35 -07:00
KingRainbow44
163c6bf47d Move drop data loading to debug 2022-06-26 12:42:37 -04:00
KingRainbow44
7e0c19021c Move expedition rewards loading to debug 2022-06-26 12:42:14 -04:00
KingRainbow44
a896928e61 Move energy data loading to debug 2022-06-26 12:36:17 -04:00
KingRainbow44
286d6289b2 Move banner loading to debug 2022-06-26 12:34:56 -04:00
KingRainbow44
5895439a3f Move shop data messages to debug 2022-06-26 12:34:03 -04:00
KingRainbow44
19d81463bc Merge remote-tracking branch 'origin/development' into development 2022-06-26 12:33:03 -04:00
KingRainbow44
2dcdb839c4 Move resource loading messages to the debug level 2022-06-26 12:26:39 -04:00
Paimon2022
46916b8216 Fix healing abilities for Q skill of Hu Tao 2022-06-26 22:29:06 +08:00
Paimon2022
57e0f7ba40 Fix healing abilities for Q skill of Kokomi, Qiqi and Barbara. 2022-06-25 22:20:26 -07:00
AnimeGitB
9425f672e0 Remove BPLevel, GodMode, NoStamina, SetWorldLevel, UnlimitEnergy, UnlockTower commands 2022-06-25 22:19:29 -07:00
AnimeGitB
fc9acf42c2 PlayerProperty Refactor 2022-06-25 22:19:29 -07:00
AnimeGitB
baafb4104c Remove GiveAll, GiveArt, GiveChar commands 2022-06-25 22:19:29 -07:00
AnimeGitB
bb37201105 Small putItem refactor 2022-06-25 22:19:29 -07:00
AnimeGitB
f00db7b7b2 Allow offline Player objects to return their Account 2022-06-25 02:12:33 -07:00
GanyusLeftHorn
1ba415c66a Remove logging. 2022-06-24 17:51:30 -07:00
GanyusLeftHorn
3ec2c4e21e Reset forge points every day to enable crafting of enhancement ores. 2022-06-24 17:51:30 -07:00
GanyusLeftHorn
2cdfea1fb2 Move worldlevel for World to Player::setWorldLevel 2022-06-24 17:51:30 -07:00
Melledy
cdc23a0647 Random cleanups in the gameserver and player 2022-06-24 07:43:43 -07:00
Melledy
a16bc72101 Implement weekly points for the battle pass 2022-06-24 07:34:24 -07:00
Melledy
5eb1d34b14 Implement battle pass triggers/rewards 2022-06-24 01:12:52 -07:00
GanyusLeftHorn
3a2ebd1edd Set world level automatically on level up. 2022-06-23 21:23:14 -07:00
Luke H-W
f04035da34 Merge branch 'development' into Weather 2022-06-24 00:47:14 +09:30
Magix
1c9a9599be Change plugin manager logic
Merge pull request #1346 from Grasscutters/plugin-priority
2022-06-23 11:13:15 -04:00
Akka
67ac0d700d add region entity 2022-06-23 03:14:38 -07:00
AnimeGitB
c9363ef5e5 Move weather from Scene to Player 2022-06-23 02:32:38 +09:30
AnimeGitB
dcd3c696ea Add default Climates per weather 2022-06-22 22:41:07 +09:30
KingRainbow44
91d232d625 Fix Player on this branch 2022-06-22 00:22:23 -04:00
GanyusLeftHorn
63b6b805cc Bring back dungeon drops. 2022-06-21 19:49:46 -07:00
Melledy
f18f06fd1b Migrate battlepass to its own db collection 2022-06-21 07:59:10 -07:00
诗音澄鸢 镜苑芳依
b9bf33c2f7 implement BattlePass (Except missions) (#1316)
* BattlePass

* BattlePass
2022-06-21 07:18:13 -07:00
Akka
706dc5e4c7 MonsterInvestigation (boss icon in map) 2022-06-18 08:04:06 -07:00
Melledy
2915b14c1f 2.7 Merge 2022-06-17 23:36:16 -07:00
Melledy
30c7bb9443 Merge branch 'dev-world-scripts' of https://github.com/Grasscutters/Grasscutter into development 2022-06-17 23:35:45 -07:00
Yazawazi
aba4080b0e feat(ban): Implementing ban.
Rough code, not based on permission.
2022-06-17 19:42:42 -07:00
Akka
557298f847 a little fix 2022-06-17 18:15:49 -07:00
Akka
2d461641f1 a little fix 2022-06-17 18:15:49 -07:00
Akka
247412b17e fix the rot of furniture 2022-06-17 18:15:49 -07:00
Akka
211d7d6fbf implement furniture make system 2022-06-17 18:15:49 -07:00
Akka
7a247e70e0 npc/animals arrangement & support enter room scene 2022-06-17 18:15:49 -07:00
Akka
e16633e34b Implement the Home System (Serenitea Pot) 2022-06-17 18:15:49 -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
Melledy
6d59159b8b Cleanup package names 2022-06-16 07:57:57 -07:00
Melledy
ac49114c45 Add embryos for all skill depots for the main characters 2022-06-16 07:54:53 -07:00
Paimon2022
37230d1274 Fix issue: skill recovery value of a character should benefit from his/her own property,
not the character he/she treats.
2022-06-15 23:10:17 -07:00
ImmuState
ebab89d433 Don't show internal server error on gacha with full inventory. 2022-06-14 18:09:02 -07:00
ImmuState
e0d386105a Only send full clear notification on burst cast. 2022-06-14 18:08:55 -07:00
ImmuState
0db1472195 Adapt protocol for clearing energy. 2022-06-14 18:08:55 -07:00
saucebing
458aadc2ff fix healing ability of some characters to some extent (#1201)
* fix healing ability of some characters to some extent

* using SerialName to replace replaceAll in avatar ability files reading

* add class HealAbilityManager

* move codes in onAbilityInvoke of class AbilityManager to class HealAbilityManager
2022-06-14 04:36:53 -07:00
ImmuState
6e955c9fdb Implement Resin (#1257)
* Basic resin usage/refresh.

* Honor resin config, move some logic to logon.

* Add resin usage to DungeonChallenge

* Make fragile and transient resin usable.

* Get resin cost from dungeon excel.

* Add ability to unlock combine diagrams.

* Refactor CombineManager to use Inventory.payItems, enabling crafting of condensed resin.

* Refactor ForgingManager to use Inventory.payItems, to prepare for eventually forging Mystic Enhancement Ores using resin.

* Remove comment

* Check resin usage in addResin
2022-06-14 01:14:15 -07:00
zhaodice
db039cc35b make sure towerData is not null (#1240)
* make sure towerData is not null

* Update Player.java

* add notice
2022-06-11 04:34:25 -07:00
zhaodice
052e70e488 Fix inconformity of Player Object at TowerManager (#1226)
* Fix inconformity of Player Object at TowerManager

Fix inconformity of Player Object at TowerManager class from GameSession

* fix with a reasonable resolution

* Make sure towerManager'player is online player

* Make sure towerManager'player is online player

* Obsolete storage

* Fix build

* fix build

* fix build

* add @Entity

* set record map

* replace tab with space

* add Entity to TowerData

* make infomater more accurate

* move player register to onLogin
2022-06-09 13:38:53 -07:00
ImmuState
a8d972c0c0 Make UI for blueprint unlocking behave. 2022-06-08 05:43:38 -07:00
ImmuState
4309e96253 Make calculation for partial claims better. 2022-06-08 05:43:38 -07:00
ImmuState
443cc8fc4b Make the UI behave. 2022-06-08 05:43:38 -07:00
ImmuState
9a313e50eb Send periodic notifications to the client for ongoing forges. 2022-06-08 05:43:38 -07:00
ImmuState
4b77e84e81 Add ForgeQueueDataNotify, unwhack UI. 2022-06-08 05:43:38 -07:00
ImmuState
0e1c8dc526 Cancel forging and refund items. 2022-06-08 05:43:38 -07:00
ImmuState
0cc4bad18c Obtain forging results (UI is broken though). 2022-06-08 05:43:38 -07:00
ImmuState
28a8475cea Consume material. 2022-06-08 05:43:38 -07:00
ImmuState
a668bd6ec1 Check materials and mora 2022-06-08 05:43:38 -07:00
ImmuState
5db5c90a8b Start a new forge (no checking for now). 2022-06-08 05:43:38 -07:00
ImmuState
9d6bc2a910 Change active forges in player to list. 2022-06-08 05:43:38 -07:00
ImmuState
8db0500e9d Add missing forging protos, add data for ongoing forges to player, handler for ForgeStartReq. 2022-06-08 05:43:38 -07:00
ImmuState
3fc63c2c4b Move forging stuff to ForgingManager, make client respond to ForgeGetQueueDataReq and actually display forging queues. 2022-06-08 05:43:38 -07:00
zhaodice
ecf7a81ad1 Fix unable to save game data occasionally (#1194)
* Fix unable to save game data occasionally

* No self-kicking

* Game data synchronization

* finally

* prevent duplicated saving

* reverse changing

* keep the previous code

* Update GameServerInitializer.java

* Update GameSession.java

* remove sanity check because of try block

* a session needs can be created without a pipeline.
2022-06-05 04:23:19 -07:00
liizfq
934fb5873a add new command (unlimitenergy):toggle energyusage for each player (#1186)
* add new command (unlimitenergy):toggle energyusage for each player while  energyusage is ture in config.json

* Solve the problem of layout and naming errors

* make currentActiveTeam's Avatar full-energy while turn on the ule.

* Resolve language document errors

* add config_error message while player try to execute UnlimitEnergyCommand in GAME_OPTIONS.energyUsage == false
2022-06-04 19:14:52 -07:00
Paimon2022
a19e7c6db6 Spawn default monsters with different levels according to data/Spawns.json when worldLevelOverride is not zero.
For example, in world with worldlevel 8, base monster level is 90 according to resources/ExcelBinOutput/WorldLevelExcelConfigData.json,
monster level bias in data/Spawns.json belongs to [1,32], so the monster level would belong to [69, 100].
2022-06-03 03:20:07 -07:00
zhaodice
73a1c5762a skipping right characters panel for Android 2022-06-03 02:42:17 -07:00
ImmuState
e140284d37 Persist unlocked blueprints to the database. 2022-06-03 00:52:22 -07:00
ImmuState
f243c10157 Unlock forging blueprints. 2022-06-03 00:52:22 -07:00
zhaodice
01481fd524 Arresting small creature support (#1150)
* Arresting small creature support

* add InsectCaptureManager

* use EnvAnimalGatherExcelConfigData.json

* Update InsectCaptureManager.java
2022-06-03 00:51:51 -07:00
line-bear
28b505e187 Fix stuck when talking to npc seller (#1128)
* Fix zero length array check method

* Import grasscutter logger
2022-05-31 02:42:16 -07:00
ImmuState
2e167d2d78 Add energy generation probabilities to WeaponType. 2022-05-30 20:06:25 -07:00
Melledy
ef6e16aaf5 Refactor WeaponType and MonsterType into enums 2022-05-30 20:06:25 -07:00
ImmuState
b9ca4a5dbd Make NA/CA energy not scale with ER. 2022-05-30 20:06:25 -07:00
ImmuState
635e342a3d Make sure the hit target is actually a monster. 2022-05-30 20:06:25 -07:00
ImmuState
febdb99855 Add a rough implementation for NA/CA energy generation. 2022-05-30 20:06:25 -07:00
linebear
18df521347 Fix enter tower dungeons 2022-05-30 20:06:25 -07:00
Melledy
0ba13ef7ff Fix map mark issues from updating from 2.6
Close #1086
2022-05-30 20:06:25 -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
zhaodice
a95002fd40 Hunting and deforestation support. (#1083)
* add drops for animals wild pig,fishes,foxes,birds

* append fox

* Deforestation Support

implement drop woods when attacking tree

* Deforestation support (remove prints)

implement drop woods when attacking tree

* Deforestation support (remove prints)

implement drop woods when attacking tree

* add AutoRecycleHashMap

Map's KEY is automatic expire if key long time no use (query or modify from HashMap)

* use AutoRecycleHashMap in case of memory leak

* fix bug

* remove prints

* static AutoRecycleHashMap

* fix problems

* Delete AutoRecycleHashMap.java

* remove log

* fix build

* improve

* remove unnecessary information

Co-authored-by: Albedo <105265570+arub3do@users.noreply.github.com>

Co-authored-by: Albedo <105265570+arub3do@users.noreply.github.com>
2022-05-29 06:16:49 -07:00
ImmuState
cb3f3b92f5 Make sure energy drops are only processed for actual monsters. 2022-05-27 23:48:54 -07:00
Melledy
243ad3abe5 Refactor accounts to not use a player uid 2022-05-27 00:22:55 -07:00
ProxyismGH
880d177034 TeamManager avatar add refactor. 2022-05-26 22:54:36 -07:00
ImmuState
b57cf83bbd Some refactoring. 2022-05-26 03:41:19 -07:00
ImmuState
de8b0be36e Introduce a simpler way to get the original owner of an EntityClientGadget 2022-05-26 03:41:19 -07:00
logictc
fa90e37da3 remove debug msg 2022-05-25 21:10:10 -07:00
logictc
baef25680f change indentation to tab 2022-05-25 21:10:10 -07:00
logictc
c26bf08d90 fix indentation 2022-05-25 21:10:10 -07:00
logictc
95bc655882 implement skill particle generation 2022-05-25 21:10:10 -07:00
Akka
5a3e9bc34e Fixed excessive memory usage of Spatial Index 2022-05-25 00:42:52 -07:00
Akka
d95708ec03 Support spawn NPC 2022-05-24 21:43:51 -07:00
ImmuState
2a76e904ad Energy: Particle/Orb Drops from Monsters (#1054)
* Generate energy drops for monsters + make sure picking up particles honors their count.

* Use drop info from excels instead.

* Remove double newline.

* Remove commented code.
2022-05-24 21:43:04 -07:00
logictc
5811556630 don't take effect if energyUsage is false 2022-05-24 14:43:02 -07:00
logictc
af381dcf42 clear energy on death 2022-05-24 14:43:02 -07:00
logictc
e0593554b6 implement persist energy 2022-05-24 14:43:02 -07:00
ShiroSaki
c8a7aea78b Fix new account can't load codex datas 2022-05-23 23:55:46 -07:00
ShigemoriHakura
9e8b6eff09 remove unused import 2022-05-23 15:46:21 -07:00
ShiroSaki
fef5c06a29 Fix the bug that can't kill command-generated monsters
Command-generated monsters do not have spawnentry so we have to get data from getMonsterData
2022-05-23 15:46:21 -07:00
Akka
5a4a708931 remove unused imports 2022-05-23 15:46:17 -07:00
Akka
791b9534b7 refactor the challenge 2022-05-23 15:46:17 -07:00
ShiroSaki
2b799958d2 Refactor support for codex(aka archive) animal, weapon, reliquary 2022-05-23 02:46:50 -07:00
ImmuState
922ae91771 Fix EnergyManager indentation. 2022-05-22 12:55:55 -07:00
ImmuState
ab1341f0d9 Make sure offFieldPenalty does not go below 0.1 2022-05-22 12:55:55 -07:00
ImmuState
88781fdd82 Remove debug stuff 2022-05-22 12:55:55 -07:00
ImmuState
4649680101 Fix traveller not being able to gain energy. 2022-05-22 12:55:55 -07:00
ImmuState
28323fed66 Move energy-related logic to a new EnergyManager. 2022-05-22 12:55:55 -07:00
ImmuState
1d2fde40d5 Make energy usage configurable, and preserve current behavior as the default. 2022-05-22 12:55:55 -07:00
ImmuState
531683f370 Make sure to use absolute energy to deplete burst. 2022-05-22 12:55:55 -07:00
ImmuState
8f5bd2f220 Give correct amount of energy for collecting particles/orbs, and consume energy on burst cast. 2022-05-22 12:55:55 -07:00
ImmuState
1df9acbb6a Generate energy particle of the correct element for abilities. 2022-05-22 12:55:55 -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
Akka
717c2d1dd7 Support Boss Chest 2022-05-19 23:36:13 -07:00
Melledy
8c860308ba Fix bad casting exceptions with scene garbages objects 2022-05-19 02:28:25 -07:00