* Avoid iterating over every offline player
* getAllPlayers by stream
* Use the new method without changing the old signature
* Annotate deprecated `getAllPlayers`
* 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>
* 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>
* 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>
* 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>
* 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>
Ensures Traveler retains talent levels and constellations on inactive elements when switching elements.
Relevant for any other skillDepot-changing activities like Windtrace too, though keeping those in the db might not be as useful.
Refactor avatar talent upgrade and access
Refactor skillExtraCharges
Original commits:
* Add necessary protos for scene point/area unlocking.
* Rename PlayerOpenStateManager to PlayerProgressManager and move data to Player.
* Handle unlocking of waypoints.
* Add primo rewards for waypoint unlock.
* Statue unlocking.
* Add statue quest on player login.
* I forgor to add an unlock command.
* Give EXP as reward, fire quest trigger, make EXP UI show up.
* Make sure we never access PlayerOpenStateManager::map directly.
* Read OpenStates from excels.
* Add defaultState
* Replace hardcoded open states with the ones read from excels.
* Don't send change notify when unlocking on login.
* Add open state blacklist for default unlocks.
* Add a way to temporarily set open states for dev
* Remove old OpenState.java
* Fix UnlockAllCommand
* Change condType to an enum.