Commit Graph

2750 Commits

Author SHA1 Message Date
Imbris
42ba445ea2 Add RtsimEntity mapping if it is included as a component on a newly
created npc.

Also, improve wording of a comment.
2023-06-04 12:58:16 -04:00
Imbris
b8af76deff Remove potential for client to delete its own entity.
Also:
* Fix some clippy warnings
* Remove unused clippy allow
* Document semantics of `DeletedEntities`
2023-06-04 12:58:16 -04:00
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
996f58ebd2 Avoid using return for skipping respawn events 2023-06-04 12:58:16 -04:00
Imbris
62abed1eec Replace u64 with Uid in some places and add/modify some comments 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
Samuel Keiffer
272d57b4fa Merge branch 'cyclops_and_dullahan_tweaks' into 'master'
npc_attack_tweaks

See merge request veloren/veloren!3969
2023-06-03 14:04:11 +00:00
flo
53288d0b22 npc_attack_tweaks 2023-06-03 14:04:10 +00:00
flo
16d58c6b4e plant creatures 2023-06-03 13:59:52 +00:00
Joshua Barretto
ec3a7d1898 Make items vanish after 5 minutes 2023-06-01 14:51:19 +01: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
Joshua Barretto
dbcbd43b8f Added body kind argument to /airship and /ship 2023-05-25 00:25:28 +01:00
Joshua Barretto
610d1d8497 Simplified replacement drag logic, special-case volume entities to improve movement 2023-05-25 00:25:28 +01:00
Joshua Barretto
74d4fc8e64 Added sprites to ship models 2023-05-25 00:25:28 +01:00
Joshua Barretto
96bf86dae0 Rebalanced masses, dimensions, swim thrusts, and made various improvements to water movement that help with gameplay and pathfinding. Also fixed swimming animations for many creatures. 2023-05-25 00:25:25 +01:00
Joshua Barretto
5988237b3d Fixed non-dismounting teleportation 2023-05-25 00:22:54 +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
Kittycat
9eb4931822 Fix: the /time command has been fixed in accordance to issue #1622 2023-05-24 16:47:36 +00:00
Maxicarlos08
777a69e576
adressed review comments 2023-05-22 23:20:11 +02:00
Maxicarlos08
fbe32a9047
no_dura -> no_durability 2023-05-22 22:38:48 +02: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
Joshua Barretto
cfdf184c4c Fix non-humanoid pathfinding and movement in water 2023-05-16 20:48:50 +01:00
Joshua Barretto
52b5967914 Fix pet idle movement, add a way to configure agent behaviour through manifests 2023-05-16 18:51:46 +01:00
Joshua Barretto
4732d28e24 Reduce creature flee speed 2023-05-14 22:18:01 +01:00
Joshua Barretto
140927cbe7 Clean up day coefficient code 2023-05-14 22:10:37 +01:00
flo666
aca38d0cf4 review fixes 2023-05-13 09:32:29 -04:00
Sam
fd3c377d1c Taught adlet elder how to use leap 2023-05-13 09:32:25 -04:00
Sam
8c3b1f23ee Adlet elder AI 2023-05-13 09:31:31 -04:00
Sam
71d7a3b780 Ice creature AIs 2023-05-13 09:30:56 -04:00
Sam
5a83f85779 Initial ice drake AI 2023-05-13 09:30:55 -04:00
Sam
2e9f1edef3 Adlet AI 2023-05-13 09:30:52 -04:00
Sam
680d987e11 Adlet hunter AI 2023-05-13 09:30:51 -04:00
flo666
1750c9a0f2 structure work 2023-05-13 09:30:48 -04:00
Sam
76f4db6f70 Tweaked positioning of adlet sites 2023-05-13 09:30:14 -04:00
Joshua Barretto
ec5e3fe716 Avoid re-fetching system data on every link persist 2023-05-13 12:31:19 +01:00
Joshua Barretto
9e9889eed6 Allowed bird pets to mount their owners when nearby 2023-05-12 21:03:44 +01:00