Commit Graph

64 Commits

Author SHA1 Message Date
Avi Weinstock
ff781198d3 Fix 18-slot pets (they now properly get inventories based on their body type, which is usually 1-slot).
Also fixes a related issue where pets lose their natural weapons/armour.
2022-09-30 14:51:49 -04:00
Joshua Yanovski
1c14ec7ee1 Parallelize ingame messages. 2022-09-21 10:25:57 -07:00
Joshua Yanovski
67231aff90 Remove persistence loading error from SkillSet.
This is needed (for now) in order to parallelize ingame_chat, because
one of the handled messages updates this value on the server.  It turns
out that the value is not actually used on the server, only the client,
so this was mostly a matter of threading this back to the correct place.
Additionally, we took the opportunity to modify the UI to not log you
into the game until your character was confirmed to be loaded, which
was a todo item that lets us simplify some error handling logic and
remove stuff from global state.
2022-09-21 09:29:25 -07:00
tygyh
5e5698249b Remove unnecessarily qualified paths 2022-07-15 14:49:46 +02:00
N A
c09f070241 Change animal species to have only one inventory slot 2022-05-29 23:53:00 +00:00
Sam
ed9bb7adae Added comments to persistence code 2022-05-17 19:05:43 -04:00
Isidor Nielsen
a685a353cb Shared and persistent waypoints 2022-02-20 10:10:18 +00:00
Sam
7ae8ed09f6 Addressed MR comments. 2022-01-15 21:50:27 -05:00
Sam
27c9f702db Fixed issue with character creation referencing incorrect table in database 2022-01-15 21:49:28 -05:00
Sam
4c3771a1a0 Persistence of auxiliary abilities. 2022-01-15 21:42:34 -05:00
Sam
da78800047 Changed skill groups to be a hashmap instead of a vec. 2022-01-03 19:55:05 -05:00
Sam
64c8321626 Made skill groups remain locked if skill to unlock them not acquired. 2022-01-03 19:55:03 -05:00
Sam
903c57b862 Persitence now tracks spent_exp as an additional point to potentially invalidate skills. 2022-01-03 19:55:03 -05:00
Sam
6ab2839eaa Fixed migration, added field for hash value. 2022-01-03 19:55:02 -05:00
Sam
356eae85a6 Skillsets now store an ordered vec of skills that is used to track order that skills were acquired in. 2022-01-03 19:55:01 -05:00
Sam
27dd7b4391 Refactored skills code. 2022-01-03 19:55:01 -05:00
Sam
fe45a158ed Skill groups now only persist earned_exp instead of available_exp, earned_sp, and available_sp. 2022-01-03 19:55:00 -05:00
Dr. Dystopia
9b407b8aef Update warning message 2021-12-20 12:33:51 +01:00
Dr. Dystopia
3a52599e49 Clean up 2021-12-15 21:55:53 +01:00
IsseW
8b258e4e81 Non editable data 2021-12-15 20:40:01 +01:00
Joshua Barretto
dd95d69dc4 Fixed character editing 2021-12-13 00:55:25 +00:00
Dr. Dystopia
408fe1e6b6 Begin creating character editing 2021-12-13 01:13:33 +01:00
Xeriab Nabil
c9e2293a6c Server: Fix character deletion mentioned in #1327 2021-09-06 16:02:41 +03:00
Ben Wallis
01ca6911a9 * Pets are now saved on logout and spawned with the player on login
* Pets now teleport to their owner when they are too far away from them
* Limited the animals that can be tamed to `QuadrupedLow` and `QuadrupedSmall` to prevent players taming overly powerful creatures before the pet feature is further developed
* Added `Pet` component used to store pet information about an entity - currently only used to store the pet's database ID
* Added `pet` database table which stores a pet's `body_id` and `name`, alongside the `character_id` that it belongs to
* Replaced `HomeChunk` component with more flexible `Anchor` component which supports anchoring entities to other entities as well as chunks.
2021-07-28 22:36:41 +00:00
Tavo Annus
63be9297e7 Combine multiple inventory loading queries into single reccursive query 2021-07-28 21:11:57 +00:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
Ben Wallis
d7582efad0 Moved character creation to use character_updater instead of character_loader. Changed character_loader to use a read-only database connection. 2021-05-02 16:08:39 +01:00
Ben Wallis
378561598e Character deletes are now processed by CharacterUpdater and clear any pending logout updates for the deleted character 2021-04-14 22:30:53 +01:00
holychowders
568a8d9666 Resolve Issue #978 - Extract SkillSet Into Its Own Component 2021-04-14 15:35:34 +00:00
Ben Wallis
1de94a9979 * Replaced diesel with rusqlite and refinery
* Added "migration of migrations" to transfer the data from the __diesel_schema_migrations table to the refinery_schema_history table
* Removed all down migrations as refinery does not support down migrations
* Changed all diesel up migrations to refinery naming format
* Added --sql-log-mode parameter to veloren-server-cli to allow SQL tracing and profiling
* Added /disconnect_all_players admin command
* Added disconnectall CLI command
* Fixes for several potential persistence-related race conditions
2021-04-13 22:05:47 +00:00
Avi Weinstock
78014d7d3b Put material stats in their own manifest, and multiply a form's stats by the weighted average of the material multipliers. 2021-02-23 15:49:34 -05:00
Avi Weinstock
c489d095df Implement persistence for modular weapons.
This stores the components as children of the item that contains them via the DB's `parent_container_item_id` feature, and ensures that things are loaded in a good order with breadth-first search.

Squahed fixes:

- Fix some constraint violations that occurred when swapping inventory items.
- Comment out recipes for modular weapons.
- Make update_item_at_slot_using_persistence_key and is_modular more idiomatic.
- Add changelog entry.
- Document `defer_foreign_keys` usage.
2021-02-20 14:31:46 -05:00
jshipsey
5d1993009f keyframed axe spin
Fixed error in converting FK to entity_id from character_id.

Giant match statements in persistence.

Tweaked roll.

Changed how skills and skill groups were assigned in the skillset builder so it's format more closely followed loadout builder.
2021-01-19 08:08:18 -05:00
Monty Marz
30df603115 flashing buttons for available points, WIP lock/unlock indicator
Condensed UI code. Removed some hardcoding.

icons

squash later, WIP colouring for unavailable skills
2021-01-19 08:07:33 -05:00
Sam
51c0bd765f Database support for refunding skills.
Nonfunctional xp floaters, squash when working.

more icons, lock visuals
2021-01-19 08:07:29 -05:00
Sam
c0c45a1996 Purged stats, including level and experience 2021-01-19 08:07:23 -05:00
Sam
69be3a3d93 Added persistence for skill trees. 2021-01-19 08:07:00 -05:00
Ben Wallis
aef2637288 Refactored loadout to have public functions for each slot instead of requiring callers to use the _INDEX consts 2021-01-08 19:12:09 +00:00
Ben Wallis
c07844ba52 Fixed diesel schema namespace conflicts in persistence 2020-12-28 23:56:23 +00:00
Ben Wallis
143ecd6e34 Moved waypoint persistence to new waypoint column on stats table 2020-11-17 07:51:50 +00:00
Imbris
4f2512f126 Save the selected character, deselect character when deleting, auto select newly created character 2020-11-14 19:17:42 -05:00
Sam
9b4fa4e961 Started moving loading of ability manifest to an ecs variable. 2020-11-12 21:24:34 -06:00
Christof Petig
b56919b123 Make waypoints persistent
Closes #549
2020-11-08 22:15:47 +01:00
Imbris
26d59a62fc Downgrade debug -> trace in persistence code 2020-10-10 02:10:32 -04:00
Ben Wallis
712f2e9c97 * Moved migrations to beginning of server initialisation
* Added migrations for entity ID changes to existing tables
2020-09-17 23:02:14 +00:00
notoria
2be4202d01 Corrected some spelling errors 2020-08-25 12:21:25 +00:00
Joshua Yanovski
6d425f125e Fix various migration issues. 2020-08-07 01:35:51 +02:00
Ben Wallis
ddb66ec73b Added CharacterDataError when character list fails to load due to Loadout de-serialization error 2020-07-08 09:34:20 +01:00
Ben Wallis
3ac18f73ea Removed de-serialization failure tolerance to prevent player inventory/loadout wipes 2020-07-08 09:09:47 +01:00
Ben Wallis
538598eb08 Refactored Skills/SkillGroups structure and implemented JSON persistence 2020-07-04 15:25:21 +01:00