Commit Graph

790 Commits

Author SHA1 Message Date
Imbris
65efa779b5 Steps towards properly synchronizing when a client exits in-game to
return to the character screeen. And other related improvements.

* Uid now optional when removing an entity from IdMaps since that Uid
  may have been transferred to the new entity created when the client
  exits "in-game".
* Added notes about making sure to update the CharacterId mapping when
  changing the `kind` field of `Presence`.
* Add a parameter to `delete_entity_recorded` that indicates whether it
  is being called from `handle_exit_ingame` and that provides the `Uid`
  that was removed from the entity so that we can more explicitly and
  correctly handle that case.
* We now add the Uid of the client to the deleted entities list when it
  exits "ingame". (still need to rework code so that the client doesn't
  delete its own entity).
* Improved integration of possession code with ForceUpdate logic.
* Don't remove `Presence` component from old entity in possession so
  that deleting that entity will properly handle updating the
  CharacterId unmapping (if the old entity isn't going to be deleted we
  still remove the `Presence` component so that it doesn't keep terrain
  loaded).
* Added a couple TODOs on existing tangential things I noticed.
2023-06-04 12:58:16 -04:00
Imbris
a8fbfc026a Fix compilation errors from recent changes 2023-06-04 12:58:16 -04:00
Imbris
c60f994c7f Some random changes and a fmt 2023-06-04 12:58:16 -04:00
Imbris
f11baed9fa Adapting various things to the new interface, fixing compilation errors,
and progressing on half done things. Also, added a few TODO comments.
2023-06-04 12:58:16 -04:00
Imbris
4094887997 Rename UidAllocator to IdMaps everywhere, also rename lookup_entity to
uid_entity.

Also made more progress on changes in common/src/uid.rs

(does not compile so don't know if all rebase quirks resolved)
2023-06-04 12:58:16 -04:00
Imbris
35922866a8 Start refactoring UidAllocator to contain mappings for different Id
types.

* Add new `IdMaps` type that contains mappings to Entity from Uid, CharacterId, and
  RtsimEntity.
* Add PresenceKind::LoadingCharacter variant for when the CharacterId
  has not actually been confirmed to exist and belong to the logged in
  client. Switches to the regular PresenceKind::Character once the
  character is loaded from the database and that is used to update the
  entity.
* Start refactoring `delete_entity_recorded` to check for CharacterId
  and RtsimEntity values that may need to be removed from the map (just
  very start, not near complete).
* Other misc tweaks.
2023-06-04 12:58:16 -04:00
Imbris
3277d18265 Rename retrieve_entity_internal to lookup_entity 2023-06-04 12:58:16 -04:00
Imbris
ea725fffde Cleanup UidAllocator and Uid a bit:
* Remove unnecessary Marker/MarkAllocator trait implementations.
* Delete excess functions
* Change some methods to take Uid instead of u64
2023-06-04 12:58:15 -04:00
Isse
a884e0e058 Various rtsim related stuff 2023-06-03 22:14:18 +00:00
Joshua Barretto
3a383050d5 Apply fall damage even after a block-hop 2023-06-01 14:14:28 +01:00
Joshua Barretto
f00f96636c Fixed weird fall damage application 2023-06-01 14:08:13 +01:00
flo
40832456f2 spawn frost gigas 2023-05-31 12:31:54 +00:00
Joshua Barretto
4fa799e7c7 Fixed volume mount orientation 2023-05-25 03:16:27 +01:00
Joshua Barretto
9127d6cbf2 Account for surface normal when calculating collision damage 2023-05-25 01:21:44 +01:00
Joshua Barretto
6a2796dc17 Everything damage 2023-05-25 00:28:35 +01:00
Isse
68491dde55 Merge branch 'seachapel_rework' into 'master'
seachapel_rework

See merge request veloren/veloren!3856
2023-05-24 18:13:29 +00:00
flo
a55276ea73 seachapel_rework 2023-05-24 18:13:29 +00:00
Maxicarlos08
174f75dc63
durability free areas 2023-05-22 22:38:47 +02:00
Joshua Barretto
b730766106 Prevent explosion damage going through walls 2023-05-21 15:30:18 +01:00
flo666
aca38d0cf4 review fixes 2023-05-13 09:32:29 -04:00
flo666
1750c9a0f2 structure work 2023-05-13 09:30:48 -04:00
Joshua Barretto
9e9889eed6 Allowed bird pets to mount their owners when nearby 2023-05-12 21:03:44 +01:00
Isse
9fa4c7217e more info on todo comment and allow clippy lint 2023-05-10 15:22:35 +02:00
Isse
61ecd2c178 various small fixes 2023-05-09 19:43:10 +02:00
Isse
a6665ed988 some comments 2023-05-09 19:43:10 +02:00
Isse
192356f6c5 use interpolated pos and ori 2023-05-09 19:43:09 +02:00
Isse
b6c7316de9 place rtsim on sprite controllers 2023-05-09 19:43:09 +02:00
Isse
134d0f0c04 varius fixes 2023-05-09 19:43:09 +02:00
Isse
6674cce2cc intercat with sprites on ships 2023-05-09 19:43:09 +02:00
Joshua Barretto
1cc221f653 Merge branch 'zesterer/rtsim-tweaks' into 'master'
Started adding wandering rtsim monsters

See merge request veloren/veloren!3908
2023-05-09 14:51:15 +00:00
Marcel Märtens
95bca5418a update toolchain to nightly-2023-04-20 2023-05-08 18:58:54 +02:00
Sam
faff715c4f Simultaneous melee hits now show separately in SCT 2023-05-07 20:43:52 -04:00
Sam
a38f336c9e Added dual wielding sword contextual abilities. 2023-05-07 20:43:51 -04:00
Joshua Barretto
ee971e4056 Added item merging 2023-05-04 22:12:25 +01:00
Joshua Barretto
a5b1e41d8b Make NPC interaction go via rtsim 2023-05-04 11:23:46 +01:00
Isse
3d3a6eab2b Fix items not dropping when no exp is given. 2023-04-25 11:33:44 +02:00
Isse
ab4076518f Add multiloot 2023-04-23 19:17:39 +00:00
Imbris
cd02b3a172 Apply TODO from !3883 and refactor to avoid collect in Inventory::damage_items, also reduce to iterating over the hashmap once when culling the recently unequipped items list 2023-04-22 11:37:52 -04:00
Sam
7fdfc0e71b Addressed review 2023-04-19 18:34:17 -04:00
Sam
d0a902d918 Being attacked now cancels all active trades. 2023-04-19 18:34:16 -04:00
Sam
c1a64e1d69 Recently unequipped items are now tracked and durability loss on death is applied to them 2023-04-19 18:34:16 -04:00
Isse
3548b464da orient airships correctly on load 2023-04-14 11:25:59 +02:00
Joshua Barretto
daacadaedb Made NPCs give directions to nearby towns, fixed player death propagation 2023-04-13 14:34:31 +01:00
Joshua Barretto
9e17042bf6 Merge branch 'rtsim2' into 'master'
Initial implementation of rtsim2

Closes #1476

See merge request veloren/veloren!3517
2023-04-12 16:17:52 +00:00
Isse
0bb6fa7946 add flag to clamp to ground for RepositionOnChunkLoad 2023-04-12 10:17:49 +02:00
Isse
6be4a2b33f only add RepositionOnChunkLoad to rtsim npcs and don't add Waypoint if it doesn't exist 2023-04-12 09:24:07 +02:00
Joshua Barretto
edcc2f1870 Overhauled chat message representation to allow for more exhaustive localisation 2023-04-11 15:46:36 +01:00
Imbris
4ea635cc8d Merge branch 'imbris/random-tweaks-35902u8' into 'master'
Some misc tweaks

See merge request veloren/veloren!3861
2023-04-11 02:07:35 +00:00
Joshua Barretto
92ead1cf38 Removed vehicle riders, for now 2023-04-10 20:58:08 +01:00
Joshua Barretto
b50645c1ee Addressed review comments 2023-04-10 17:59:43 +01:00