Commit Graph

178 Commits

Author SHA1 Message Date
Isse
d53b344c23 make merchants use tell, and general cleanup 2023-04-09 19:25:55 +01:00
Isse
7ac6c6b453 fix warnings in rtsim 2023-04-09 19:25:55 +01:00
Isse
1a117f1331 rtsim vehicles 2023-04-09 19:25:54 +01:00
Sam
f40ef0d5dd Polymorph effect now more correctly handles when multiple polymorph buffs are applied. 2023-04-01 13:11:59 -04:00
Sam
9875008efa Added stance component that persists even after sheathing weapon (does not yet work with M1 replacement). 2023-03-21 19:29:34 -04:00
Ben Wallis
6eedc02286 Changed character deletion to go via batch update 2023-03-12 23:21:53 +00:00
Ellen Sun
d774319cf0 cleanup and fixes + added change to CHANGELOG.md 2023-01-27 20:32:41 -05:00
Ellen Sun
74cb514094 move client commands to voxygen + add Admin to be shared with client for permissions + unit test for alphabetical server command 2023-01-27 20:31:56 -05:00
flo
650ef9a5e2 autodelete of summoned sprites 2023-01-15 18:28:38 +00:00
Sam
df9ef691fd Cleaving stance AI 2022-10-27 20:07:03 -04:00
Sam
8a578bf3f6 Parrying abilities 2022-10-27 20:06:34 -04:00
Sam
ec03bd7032 Cleaving abilities 2022-10-27 20:06:33 -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
Imbris
334937568e Add an entity view distance setting that allows limiting the distance
entities are synced from and displayed in.

NOTE: Syncing entities work at the granularity regions which are
multi-chunk squares but the display of entities in voxygen is limited in
a circle with the radiues of the supplied distance.

Additional details and changes:
* Added `ViewDistances` struct in `common` that contains separate
  terrain and entity view distances (the entity view distance will be
  clamped by the terrain view distance in uses of this).
* View distance requests from the client to the server now use this
  type.
* When requesting the character or spectate state the client now passes
  its desired view distances. This is exposed as a new parameter on
  `Client::request_character`/`Client::request_spectate`. And the client
  no longer needs to send a view distance request after entering these
  states. This also allows us to avoid needing to initialize `Presence`
  with a default view distance value on the server.
* Removed `DerefFlaggedStorage` from `Presence` and `RegionSubscription` since the
  change tracking isn't used for these components.
* Add sliders in voxygen graphics and network tabs for this new setting.
  Show the clamped value as well as the selected value next to the
  slider.
* Rename existing "Entities View Distance" slider (which AFAIK controls
  the distance at which different LOD levels apply to figures) to
  "Entities Detail Distance" so we can use the former name for this new
  slider.
2022-08-25 23:24:43 -04:00
Isse
0471e78f41 spectate mode :D 2022-08-09 18:43:13 +02:00
tygyh
5e5698249b Remove unnecessarily qualified paths 2022-07-15 14:49:46 +02:00
Imbris
950723dd0d Add metrics for counting server events 2022-06-15 00:40:58 -04:00
Forest Anderson
cea55143ce Change outcomes to eventbus 2022-05-09 19:58:13 +00:00
Isidor Nielsen
a685a353cb Shared and persistent waypoints 2022-02-20 10:10:18 +00:00
Avi Weinstock
5f8957d8ef Globally allow the clippy lints {new_without_default, many_single_char_names, identity_op, type_complexity, too_many_arguments}. 2022-01-30 20:16:20 +01:00
juliancoffee
d5b927602a Loadout Udpate: NpcData part
Actually implement creating npc with new EntitytInfo by chaning
CreateNpc.loadout to CreateNpc.inventory and cleaning code in
NpcData::from_entity_info.
2022-01-28 00:02:34 +02:00
Sam
d0e487da8a Ability sets now start with non-empty defaults. 2022-01-15 21:45:27 -05:00
Sam
4c3771a1a0 Persistence of auxiliary abilities. 2022-01-15 21:42:34 -05:00
Sam
d1e1de3b14 Slashing damage now decreases target's energy if available, and if target has no remaining energy will do additional damage.
Piercing damage now ignores an amount of protection equal to the piercing damage value.
Crushing damage now does poise damage equal to the amount of mitigated damage.
When poise damage is dealt while in a poise state, poise damage is instead converted to damage.
2022-01-12 22:18:58 -05:00
Imbris
457ed6ac64 Remove per entity VecDeque's of events from character StateUpdate and instead pass in external Vecs that can be pushed to (saves significant time not allocating for VecDeque::new) 2021-10-15 01:23:00 -04:00
Imbris
8987389e8a Submit chunk requests to the generator within the terrain system right before receiving new chunks, so that duplicate work is not done for chunks that just finished but were not yet added to the terrain. 2021-10-08 16:17:31 -04:00
juliancoffee
7291d32209 Make ItemDrop component with Item again 2021-09-27 20:36:18 +03:00
Sam
09dd9b4813 Changed ItemDrop to use LootSpec 2021-09-27 15:09:22 +03:00
Sam
942376f88c Made poise a float at interface of module. 2021-09-25 14:07:47 -04:00
Sam
0e5e2b46f2 Changed energy to internally use an integer with a high resolution, and externally to use a float. 2021-09-23 14:11:09 -04:00
Snowram
9c2ce83430 Set projectile offsets in states instead of globally 2021-09-22 01:07:09 +02:00
Sam
42012fddcb Overhauled health component, making it a float to outer interfaces. 2021-09-09 00:10:17 -04:00
Knightress Paladin
f49dc2191d Make parrying refund the block stamina cost and cancel the recover animation 2021-08-31 23:46:33 -07:00
Sam
44c3b0f153 Added attack hook event, attacks now cancel item use and sprite interaction. 2021-08-31 13:37:32 -04:00
Joshua Barretto
0b1a820762 Make arrows 'bonk' hanging sprites 2021-08-31 13:31:27 +01: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
Sam
ed503236d6 Slightly functional sprite summon. 2021-06-23 22:38:16 -05:00
Joshua Barretto
294b6e394a Renamed command event 2021-06-18 11:31:06 +01:00
Joshua Barretto
96cbf60c3f Made commands a distinct ClientMsg to avoid possible sanitisation problems for clients 2021-06-17 19:55:21 +01:00
Snowram
3ba0500b90 Tornado summoning attack 2021-06-15 09:49:13 +02:00
Avi Weinstock
0e394029de Mining skill tree. 2021-06-13 14:34:42 -04:00
Imbris
48ebb10d50 Update toolchain 2021-05-31 20:44:57 -04:00
holychowders
d5f3ba77d4 Make NPCs Aware of Sound - See Issue #913 2021-05-15 19:36:27 +00:00
Marcel Märtens
8196fd8b35 instead of manually trying to sync disconnect metrics we now pass a Reason to the handle_disconnect.
There we make sure that the disconnect only happens once and decrease the respective Metrics.
Also added more reasons
2021-05-06 11:43:10 +02:00
Ludvig Böklin
762c68cfbb Basic fluid dynamics and physical properties for entities 2021-04-20 17:38:19 +02:00
Sam
416fe5c2af Safezone is now permanently in existence at spawn. 2021-04-17 17:33:54 -04: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
Sam
f117a57083 Switched to using ForceUpdate to forcefully update the client position after a blink 2021-03-27 21:33:45 -04:00