ce96af4363
Allow for an arbitrary array of effects and buffs for consumables
2020-11-06 01:08:30 +01:00
121364821a
Merge branch 'xMAC94x/FeuerzeugBierflasche' into 'master'
...
xMAC94x/feuerzeugBierflasche
See merge request veloren/veloren!1478
2020-11-05 09:22:50 +00:00
f69f494524
Fixed crash from changes in explosion code.
2020-11-04 22:21:02 -06:00
a0af315930
Addressed comments.
2020-11-04 19:22:08 -06:00
bda7fefdc0
Removed Damages struct. Added GroupTarget enum. Changed RadiusEffect to use Effect instead of Daamges. Added Damage variant to Effect Eenum.
2020-11-04 19:22:07 -06:00
d38f1d319c
Energy and health change server events now reference EcsEntity instead of Uid. Added TargetGroup to use to determine targets of effects/damage. Added Entity(TargetGroup, Effect) to RadiusEffect enum.
2020-11-04 19:22:06 -06:00
87bff41a66
Addressed comments.
2020-11-04 19:22:05 -06:00
c48c022f7e
Separated out health from stats component.
2020-11-04 19:22:04 -06:00
f1f5c2b21b
Added energy change server event.
2020-11-04 19:22:01 -06:00
e0cbbf52ed
Changed explosions to take a vec of RadiusEffects. Changed Damage to a struct of DamageSource and value. Added interpolation function to damage.
2020-11-04 19:22:00 -06:00
87ac4bd998
Merge branch 'christof/home_town' into 'master'
...
implement /home to return to home town
See merge request veloren/veloren!1481
2020-11-04 15:58:35 +00:00
a7123c6e14
put cache in ECS to get rid of allocations
2020-11-04 14:19:28 +01:00
ce3173ecdf
add metrics for physics sys and implement concurrent physics
2020-11-04 11:53:13 +01:00
bbe6e8be7c
Improve Phyiscs speed of entity handling.
...
Before we had accessed velocities in a nested loop O(n²).
Now we copy it only once out of the ECS system and store it in a tmp Vec.
As we no longer need to hold a mut and imutable reference, we can iter of `&mut velocities` again in the outer loop.
Also improved many calculations called in the loop to make the check if 2 entities are to far apart as easy as possible
2020-11-04 11:53:09 +01:00
094bb7c45a
keep Presence when possesing
2020-11-04 11:49:05 +01:00
ac92c8a6af
implement /home to return to home town
2020-11-04 00:55:15 +01:00
3d9c3e481e
Undo one Componenet per Stream
and instead use Client
.
...
In order to keep the performance we made it Internal Mutability and use a `Mutex` per Stream, till `Stream.send` is no longer `&mut self`.
The old solution didn't rely on this, but needed multiple Components instead which zest didn't liked
2020-11-03 08:56:08 +01:00
00456c8373
extract a Presence Component, which is server
only and has state of Player
and Client
. Presence is only valid for Clients that are in game
2020-11-03 08:56:02 +01:00
084b60d7ec
Fix an error that a failed initialization of a client lead to a Kill of the gameserver. Instead we just log a msg now.
2020-11-03 08:55:56 +01:00
6bb74c9c6f
Fix clients are disconnecting GRACEFULLY by removing the Disconnect Request from a client, a client now sends a TERMINATE message directly
2020-11-03 08:55:54 +01:00
37d08e93ca
review:
...
- fix wording in error msg
- find better name for structs
- unify errors and cleanup code with `(|| {foo?; Some(())})()` pattern
- fix the negative PlayersOnline, it was caused by having a gracefull shutdown AND a timeout error. we now unregister the client when he issues TERMINATE
2020-11-03 08:55:51 +01:00
9ba19a1cd9
implement lazy_msg which only serialize + compress AT MAX ONCE if the same msg is send to multiple participants
2020-11-03 08:55:46 +01:00
2290efd219
remove clippy warnings no longer needed
2020-11-03 08:55:44 +01:00
e9be36c993
replace the single message
system with 5 message systems. one per stream to handle less ECS systems PER msg system.
...
As the MAIN message system was already on 25 of the max of 26 possible Ressources
2020-11-03 08:55:42 +01:00
9459ccf61b
working on implementing seperated msg system.
...
Does compile, but only reach connection till character screen.
Full play not yet possible
2020-11-03 08:55:36 +01:00
dd966dd00e
remote all streams from Client
and put it directly in the ecs system.
...
This commit does not run compile as the message sys now would requiere 30 imput parameters which is over the max of 26 :/
2020-11-03 08:55:35 +01:00
cf06912b7b
Merge branch 'bbenton91/add-mount-range-check' into 'master'
...
Fixes #814 . Added range check to mounting
Closes #814
See merge request veloren/veloren!1466
2020-10-31 03:50:00 +00:00
95163a5a65
Added range check to mounting
2020-10-30 22:34:44 -04:00
a1baab1a5c
Added range check to block pickup
2020-10-30 19:50:36 -04:00
64def3cde4
Allow interacting with nearby blocks without pointing at them, unify selection of block/entity interactors so that only one is select at once, rearrange pickup and mount range consts
2020-10-29 18:40:11 -04:00
47b06658b0
Log where the userdata folder is in binary crates, fix bug where the old
...
path was logged instead of the new path when renaming invalid settings
2020-10-29 18:30:49 -04:00
a7e3e55a12
Transitioned damage and healing from u32/i32s to enums.
2020-10-28 18:15:25 -05:00
5d0fd3d9bc
Addressed more comments. Changed how buffs were sorted so that duration was also taken into account.
2020-10-26 19:30:18 -05:00
f759895d63
add maxhealthmodifier
...
oops variable
2020-10-26 19:30:18 -05:00
f60985d733
Transitioned buff storage from a vec to a hashmap. Addressed other comments. Only continuous buff effects are handled right now.
2020-10-26 19:30:17 -05:00
337cf6e137
Cleaned up UI code. Removed stuff added for testing. Added 10% for melee attacks to inflict a bleeding debuff. Renamed BuffId to BuffKind. Fixed memory leak. Set event emission to false when timer is decremented.
2020-10-26 19:30:10 -05:00
5a5d35fade
Cleaned up logic used to handle buff addition. Old active buffs now get deleted if they had a smaller duration and weaker strength.
2020-10-26 19:28:26 -05:00
8fa398954d
Initial implementation of buffs UI
...
player buffs animation
more testing debuffs
sorting and display limit fix
overhead buffs
fix
WIP buff removal function
fmt
Update buffs.rs
Now with compiling: WIP group UI buffs
positioning
Update group.rs
Update group.rs
Small optimizations.
Fixed positioning of buffs in group panel. Broke buff tooltips in group panel.
buff frame visuals
added setting for displaying buffs at minimap
2020-10-26 19:28:24 -05:00
007d3c09ac
Buffs now get removed on death by default. Buffs are now required to have either the 'Buff' or 'Debuff' tag. RemoveByCategory function now has support for blacklisting certain categories. Support for UI stuffs.
2020-10-26 19:28:23 -05:00
60a5346a0b
Addressed comments.
2020-10-26 19:28:22 -05:00
0df061a38e
Moved duration to inside BuffId enum to future-proof for when buffs are persisted.
2020-10-26 19:28:20 -05:00
1a1ceb54bc
Server event used to deal damage/heal with buffs. Buff kills now award xp.
2020-10-26 19:28:20 -05:00
de7191b985
Added functionality to remove buffs by category.
2020-10-26 19:28:19 -05:00
ccad1fa0b8
Separated buffs into active and inactive buffs. There can only be 1 active buff at a time of a particular buff id. If a new buff is stronger than an active buff, it moves the active buff to inactive buffs. When active buffs are removed, it checks inactive buffs for any buffs of the same id and moves the strongest one to active buffs.
2020-10-26 19:28:18 -05:00
b8690473e4
When buffs expire from duration, now only they expire rather than ending all buffs of the same type.
2020-10-26 19:28:17 -05:00
125de0b46e
Creatures and playrs now have buffs component, buffs that expire now only end their particular buff instead of every buff with the same type.
2020-10-26 19:28:16 -05:00
c50063ad0c
Move addition/removal of buffs to server event.
2020-10-26 19:28:15 -05:00
7ab99a3bbf
Initial WIP implementation of the Buff system
2020-10-26 19:28:14 -05:00
1b47913835
fix clippy after toolchain update
2020-10-26 22:30:51 +01:00
071ce08b69
Removed else branch and ran fmt and clippy
2020-10-25 16:43:07 -04:00