Commit Graph

2914 Commits

Author SHA1 Message Date
Maxicarlos08
6a4a6bab9f
dance dance 2023-08-15 12:24:49 +02:00
Maxicarlos08
ac68f0af7b
addressed review comments and added hud interaction 2023-08-15 12:24:49 +02:00
Maxicarlos08
26ada89bb9
portal event -> change body and teleport to 2023-08-15 12:24:49 +02:00
Maxicarlos08
8fe5f2e708
addressed review comments 2023-08-15 12:24:49 +02:00
Maxicarlos08
e5fe64ccf6
pre-review cleanups 2023-08-15 12:24:49 +02:00
Maxicarlos08
bb2034ca92
portal particles 2023-08-15 12:24:48 +02:00
Maxicarlos08
09f7087ac6
buildup time adjustments 2023-08-15 12:24:48 +02:00
Maxicarlos08
3343ddf4cc
go into blink state at half buildup time 2023-08-15 12:24:48 +02:00
Maxicarlos08
25fcb04ad3
buildup times and portal model update 2023-08-15 12:24:48 +02:00
Maxicarlos08
0f2db68498
added portals 2023-08-15 12:24:17 +02:00
Maxicarlos08
13dbf679c5
review 2023-08-15 11:10:54 +02:00
Maxicarlos08
1ea0f249f5
display if pet is currently following or staying 2023-08-15 11:10:54 +02:00
TelepathicWalrus
4bdbb3ff6b
Move stay position to agent 2023-08-15 11:10:54 +02:00
TelepathicWalrus
2cb8e2ca84
Update code quality 2023-08-15 11:10:53 +02:00
Joshua Barretto
62d998252d
sync 2023-08-15 11:10:53 +02:00
TelepathicWalrus
6adca217fe
Clean code 2023-08-15 11:10:53 +02:00
TelepathicWalrus
6a080c242c
Add server side check to stop stay when mounted
Add filter to allow telling other pets to stay when mounted
2023-08-15 11:10:53 +02:00
TelepathicWalrus
0648ba1bc6
Clean Code
Remove option to mount if pet is told to stay
2023-08-15 11:10:53 +02:00
TelepathicWalrus
d6496c999d
Removed is_stay variable
Added server side owner and distance checks
2023-08-15 11:10:53 +02:00
TelepathicWalrus
d9d364fe79
Add stay position to PetState
Pets will now stay within 10 voxels of where they were told to stay
Added MAX_STAY_DISTANCE constant
Fixed being able to tell pet to stay when mounted
2023-08-15 11:10:53 +02:00
TelepathicWalrus
9597810e3d
Remove is_stay function
Clean code
2023-08-15 11:10:53 +02:00
TelepathicWalrus
e611d695b1
Add stay/follow option for pets 2023-08-15 11:10:52 +02:00
Imbris
aba0c23bc7 Make sync_me based of PresenceKind rather than being an independent
field.
2023-08-11 20:09:55 -04:00
Imbris
ecb27deeae When sync_me is false avoid:
* Logging a warning when deleting the entity and it is not in any
  Region.
* Searching every single region for an entity that is in none of them.

Also:
* Add workaround for bug in specs where deleting any entity clears the
  components before checking that the generation is correct (surprised
  that we haven't encounted bugs from this yet).
* Properly update `tracked_entities` inside `RegionMap` when deleting
  an entity. Previously, we just relied on this being updated in
  `RegionMap::tick` by the absence of the `Pos` component at that index.
  However, this means if a new entity is created at that index after
  deletion and before calling `RegionMap::tick`, then this can be
  interpreted as an entity moving between regions rather than one being
  deleted and another created. It seems like this could lead to
  synchronization bugs like not creating the new entity on the client
  (although I haven't noticed this before, I think maybe we use newly
  inserted `Uid`s to detect new entities rather than the region system?).
  I think it could at least lead to sending redundant messages to
  synchronize the new entity.
2023-08-11 20:09:55 -04:00
Imbris
cdca700297 Properly check conditions for when the client's physics components should be synced 2023-08-11 20:09:55 -04:00
Imbris
396c08e7ee Also make sure physics components are synced 2023-08-11 20:09:55 -04:00
Imbris
997babca18 Always sync components for a client's entity even if it has no position
or has sync_me false in `Presence`.
2023-08-11 20:09:55 -04:00
Imbris
ba7d7481d7 Move RegionMap insertion into ecs and ticking from common into server
Since it now needs Presence component to be available and we don't use
the RegionMap on the client.
2023-08-11 20:09:55 -04:00
Imbris
a01f75b38d Add sync_me parameter to Presence that must be set to true for
entities with the `Presence` component to be synced to other clients.
2023-08-11 20:09:55 -04:00
Isse
a39923e4d6 digging shovel 2023-08-03 19:32:09 +02:00
Michal Sroczynski
2c23781d22 Remove tiers from dungeons names 2023-08-02 18:48:01 +02:00
flo
57fe2c4adb spawn wyverns 2023-08-02 07:55:10 +00:00
Sam
e3ad16ef47 Addressed review comments 2023-07-29 19:04:11 -04:00
Sam
d6fcd893bf Addressed testing feedback 2023-07-29 19:04:10 -04:00
Sam
9fa556b165 Axe AI 2023-07-29 19:04:07 -04:00
Sam
1cc99c9c4a Fixes to animations and making ability that the animation system thinks is being used more correct 2023-07-29 19:03:56 -04:00
Sam
ff15780c22 Maelstrom 2023-07-29 18:53:48 -04:00
Sam
4a690840e4 Savage sense 2023-07-29 18:53:47 -04:00
Sam
80ab9c26ec Initial setup 2023-07-29 18:53:38 -04:00
Samuel Keiffer
026b61baee Merge branch 'maxicarlos08/chieftain-mask-fix' into 'master'
Maxicarlos08/chieftain mask fix

See merge request veloren/veloren!4024
2023-07-29 01:22:28 +00:00
Neras
e72a8f2fcc Nerasw/defensive stance tweaks 2023-07-28 21:29:32 +00:00
Maxicarlos08
922a592c8d
fixed migrations 2023-07-27 00:24:43 +02:00
Maxicarlos08
2cbb104243
Miner helmet migrations 2023-07-13 17:18:46 +02:00
Igigog
02cb319624 Refactor save_thread function 2023-07-12 21:46:57 +02:00
Monty Marz
102945b9e7 Dungeon rework initial patch 2023-07-09 20:03:09 +00:00
Christof Petig
708819013f remove another dead code section 2023-07-01 15:31:53 +02:00
Christof Petig
01223d7174 implement and use read_exact_bytes, cleanup 2023-07-01 15:31:53 +02:00
Christof Petig
28c3721ecf upgrade wasmer, implement basic WASI, turn off login events for now 2023-07-01 15:31:53 +02:00
Marcel
59e242dfb8 Merge branch 'zesterer/anticheat' into 'master'
Emergency fixes to terrain persistence and anticheat

See merge request veloren/veloren!4006
2023-07-01 12:15:32 +00:00
Joshua Barretto
7c59bec29d Removed dead code warning 2023-07-01 12:11:21 +01:00
Joshua Barretto
598f628858 Reenabled physics rejection logging 2023-07-01 09:40:57 +01:00
Joshua Barretto
9a0aa5d552 Emergency fixes to terrain persistence and anticheat 2023-06-30 19:56:24 +01:00
Marcel Märtens
e3f8046691 Change the version number to 0.15 2023-06-30 16:31:00 +02:00
Joshua Barretto
9c1a06d1b2 Upped maximum vertical speed 2023-06-22 19:34:18 +01:00
Joshua Barretto
98493fd511 Better rejection logs 2023-06-22 13:14:07 +01:00
Joshua Barretto
dda28d5621 Overhauled and improved anticheat 2023-06-22 12:25:08 +01:00
Joshua Barretto
8480cb4a7a Apply client physics once per server tick 2023-06-22 10:43:02 +01:00
Imbris
0b213b6149 Move common code into a separate function to avoid the complexity of calling delete_entity_recorded from handle_exit_ingame 2023-06-04 22:29:19 -04:00
Imbris
599e25c9c6 Address review on !3971 2023-06-04 21:12:39 -04:00
Imbris
9a12de5fcf rebase fix 2023-06-04 14:24:01 -04:00
Imbris
b72bf74563 Update TODO after re-reading code and seeing that it was slightly inaccurate 2023-06-04 12:59:09 -04:00
Imbris
b96e7e1b26 Adjust tests to match changes 2023-06-04 12:59:09 -04:00
Imbris
ea77a443a2 Fix conditions on some error logging spots 2023-06-04 12:59:09 -04:00
Imbris
77e1b1919a Use new id mappings to improve lookup_actor function 2023-06-04 12:59:09 -04:00
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
Marcel Märtens
3a19669d53 use workspace dependencies to make our life easier maintaining them :) 2023-05-10 18:16:25 +02:00
Isse
2bc63d22ae Merge branch 'isse/sittable-sprites' into 'master'
Sprites on airships, and mountable sprites

See merge request veloren/veloren!3886
2023-05-10 13:55:51 +00:00
Isse
9fa4c7217e more info on todo comment and allow clippy lint 2023-05-10 15:22:35 +02:00
maxicarlos08
5c4c47b517
Use LRU cache for caching presistent chunks instead of time-based cache 2023-05-09 20:06:53 +02:00
maxicarlos08
4e136e2961
Performance improvements for persisted terrain
- Only save terrain to disk if it actually has been modified
 - Keep a 10 minute cache with recently unloaded persistent chunks
2023-05-09 20:06:53 +02:00
Isse
1617c180ef small changes 2023-05-09 19:55:52 +02:00
Isse
bcc8c55b5e change 'force from mount' to 'force from volume' in commands 2023-05-09 19:43:10 +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
57551c479c force of mount in teleporting commands 2023-05-09 19:43:09 +02:00
Isse
134d0f0c04 varius fixes 2023-05-09 19:43:09 +02:00
Isse
b3a70627e5 fix volumes 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
Sam
0ecf4fbe87 Dual wielding weapons of the same kind added as a context 2023-05-07 20:43:51 -04:00
Sam
9cedf854de Abilities can now be activated from multiple contexts 2023-05-07 20:43:50 -04:00
Imbris
95a38ff8f6 Merge branch 'imbris/revert-some' into 'master'
Revert some of the updates to make windows cross compile directx work

See merge request veloren/veloren!3918
2023-05-06 05:12:20 +00:00
Imbris
af0d0f3ea4 Second attempt (success) 2023-05-06 00:30:54 -04:00
Corvella
6367a51fa3 Cheesing fixes mainly focused on bosses 2023-05-06 01:57:41 +00:00
Marcel Märtens
cd7d889c13 get rid of oldtime in chrono 2023-05-05 18:25:49 +02:00
Marcel
223ae7ee98 Merge branch 'xMAC94x/update_deps' into 'master'
update further dependencies

See merge request veloren/veloren!3913
2023-05-05 08:42:43 +00:00
Joshua Barretto
b6d8182382 Merge branch 'zesterer/item-merging' into 'master'
Zesterer/item merging

See merge request veloren/veloren!3912
2023-05-05 00:03:22 +00:00
Joshua Barretto
73c84dfcc2 Clippy 2023-05-05 00:04:13 +01:00
Joshua Barretto
8d9625d6ee Addressed comments 2023-05-04 23:18:40 +01:00
Marcel Märtens
4be1e82ba9 update further dependencies 2023-05-04 23:42:05 +02:00
Joshua Barretto
ee971e4056 Added item merging 2023-05-04 22:12:25 +01:00
Marcel Märtens
27620e665b we need a new version of refinery that needs a new version of rusqlite, so update both 2023-05-04 20:53:00 +02:00
Marcel
ce4beff7fe Merge branch 'xMAC94x/update_deps' into 'master'
update veloren deps

See merge request veloren/veloren!3911
2023-05-04 18:28:59 +00:00
Imbris
60dbcf86f9 Merge branch 'imbris/server-start-faster' into 'master'
Improve server startup times, in particular, finding paths between sites.

See merge request veloren/veloren!3888
2023-05-04 18:06:38 +00:00
Joshua Barretto
f000347cac Make NPCs respond to each other 2023-05-04 11:53:01 +01:00
Joshua Barretto
a5b1e41d8b Make NPC interaction go via rtsim 2023-05-04 11:23:46 +01:00