Commit Graph

39 Commits

Author SHA1 Message Date
Ben Wallis
34f580dfaa Introduced loot ownership rules to combat loot stealing by players
* Added `LootOwner` component used to indicate that an `ItemDrop` entity is owned by another entity
* A loot winner is now calculated after EXP allocation using the EXP per entity for weighted chance distribution
* Used existing Inventory Full overitem text to show "Owned by {player} for {seconds}secs" when a pickup fails due to a loot ownership check
* Updated agent code to take into account loot ownership when searching for `ItemDrop` targets to pick up
* Added `loot` ECS system to clear expired loot ownerships
2022-05-28 12:06:49 +00:00
Forest Anderson
cea55143ce Change outcomes to eventbus 2022-05-09 19:58:13 +00:00
Marcel Märtens
fa49248c31 switch to upstream vek again 2022-04-28 09:10:55 +02:00
ubruntu
94a9b407c2 Fix waypoints being movable 2022-02-28 19:20:37 +00:00
Isidor Nielsen
a685a353cb Shared and persistent waypoints 2022-02-20 10:10:18 +00:00
juliancoffee
fba89517de Move Veloren to 2021 edition 2022-01-26 16:46:40 +02:00
Joshua Barretto
043016a433 Don't try to mount unmountable entities, clippy fixes and fmt 2022-01-16 17:53:14 +00:00
Joshua Barretto
504e2a38d5 Added overhead hints, smoother mount movement 2022-01-16 17:53:14 +00:00
Joshua Barretto
b3e2d825ed Overhauled mounting to make it more reliable 2022-01-16 17:53:13 +00:00
Imbris
bf48bd5346 update toolchain to nightly-2021-12-19 2021-12-23 13:04:24 +01:00
Joshua Barretto
e3203080ed Added Calendar for temporal events based on the real-world calendar 2021-12-20 18:03:52 +00:00
Jonathan Berglin
596307c9b7 Remove unused clippy suppressions 2021-12-05 17:59:02 +00:00
Ben Wallis
022c1417b6 EXP on kill is now shared between damage contributors. A "damage contributor" is either an individual entity, or a group - depending if the attacker is in a group. This means that not only does the "killing blow" no longer get 100% of EXP, but multiple groups and individuals all receive their fair share of EXP on death (assuming they are still within range of the entity when it dies).
Damage from a given individual or group only counts towards a kill for 10 minutes since that individual or group's last damage to the entity - after this period their damage contribution is removed. This avoids the list of damage contributors growing excessively large for an entity that does a lot of combat but never dies.

EXP sharing within groups is unchanged - the difference is simply that the input to this calculation may be less than 100% of the base EXP reward for the kill if other individuals or groups contributed damage.
2021-11-13 20:46:45 +00:00
Sam
a288f9ee43 Addressed further review. 2021-11-11 22:37:37 -05:00
Sam
a8bec0280c Ability pool mostly functional. 2021-11-09 12:56:07 -05:00
Marcel Märtens
2a82405df2 update toolchain to nightly-2021-09-24 2021-09-24 23:18:07 +02:00
Marcel Märtens
88685cc016 update crates 2021-09-20 14:39:01 +02:00
Dr. Dystopia
db48e30ea1 Resolve unused '#[allow(clippy::needless_range_loop)]' error supressions 2021-07-24 20:22:05 +02:00
Marcel Märtens
7d93d907f6 implement slowjob metrics to measuere time in queue and execution time 2021-07-22 19:31:21 +02:00
Joshua Barretto
eade248e1f Fixed handling of orientation changes for airships 2021-07-18 01:13:36 +01:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
Benoît du Garreau
286037166a Update wasmer 2021-07-10 15:06:51 +02:00
Imbris
659b42e813 Remove tracy features that are no longer needed now that macros have been fixed 2021-06-19 04:27:50 -04:00
Marcel Märtens
4167621f5d Change the version number to 0.10 2021-06-12 10:14:07 +02:00
Marcel Märtens
7185dcee68 switch to hashbrown 0.11 and specs 0.16.2 2021-06-07 13:01:01 +02:00
Joshua Yanovski
3869cdf1d2 Don't remesh chunk vertex data on sprite update.
This results in an extremely visually noticeable improvement in latency
when adding or removing sprite data and makes the game feel more
responsive.

This happens, for instance, when picking up a sprite like an apple or
flower from the environment.  We check to make sure that for items
with lighting (like Velorite) or changes that otherwise affect meshing
(like changing from fluid to nonfluid) this doesn't trigger.
2021-05-11 12:58:15 -07:00
Daniel Mizerski
b34704ea3f (Wiring) OnDeath 2021-05-05 19:08:18 +02:00
Marcel Märtens
4cfdbdd069 use a constant for recommended_threads 2021-05-05 14:35:06 +02:00
Marcel Märtens
0142cf37f0 limit tokio threads to 1/4 of num_cpus
make sure that rayon has at least 2 threads even on 1cpu systems to increase stability
2021-05-04 21:06:11 +02:00
Marcel Märtens
6e3a74b476 rayon::join creates a global threadpool, which is only used in /world
instead just use the same threadpool for everything
helps with debugging problems with GDB
using threadpool.install() to also be used when `into_par_iter()` is called
2021-05-04 21:06:07 +02:00
Imbris
1af4a04231 Revert "Merge branch 'revert-b10718c5' into 'master'"
This reverts merge request !2172
2021-04-21 17:10:13 +00:00
Imbris
fd672980c4 Revert "Merge branch 'imbris/agent-opt' into 'master'"
This reverts merge request !2024
2021-04-21 14:10:06 +00:00
Imbris
e17477979f Remove extra chunk cloning and parallelize serialization in the server terrain sys 2021-04-20 15:25:05 -04:00
Imbris
e750c9d570 Switch agent target search to use a spatial grid, add convience method for querying the aabr of a circle 2021-04-20 15:25:04 -04:00
Imbris
a76fdbc325 Expose CachedSpatialGrid resource that is updated by the physics system, move BuildAreas into its own module, removed unused ExecMode 2021-04-20 15:25:04 -04:00
Imbris
26222a0a2d Rename common-sys to common-systems and rearrange common-state slightly 2021-04-20 15:25:04 -04:00
Ludvig Böklin
762c68cfbb Basic fluid dynamics and physical properties for entities 2021-04-20 17:38:19 +02:00
Marcel Märtens
7348e399e0 only have 1 Fn passed to tick fn 2021-04-20 01:49:45 +02:00
Marcel Märtens
5862920f32 seperate sys/state 2021-04-20 01:30:17 +02:00