Commit Graph

213 Commits

Author SHA1 Message Date
Marcel Märtens
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
Marcel Märtens
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
Marcel Märtens
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
Marcel Märtens
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
Imbris
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
Brad
95163a5a65 Added range check to mounting 2020-10-30 22:34:44 -04:00
Brad
a1baab1a5c Added range check to block pickup 2020-10-30 19:50:36 -04:00
Imbris
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
Sam
a7e3e55a12 Transitioned damage and healing from u32/i32s to enums. 2020-10-28 18:15:25 -05:00
Sam
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
Adam Whitehurst
f759895d63 add maxhealthmodifier
oops variable
2020-10-26 19:30:18 -05:00
Sam
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
Sam
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
Sam
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
Monty Marz
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
Sam
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
Samuel Keiffer
60a5346a0b Addressed comments. 2020-10-26 19:28:22 -05:00
Sam
0df061a38e Moved duration to inside BuffId enum to future-proof for when buffs are persisted. 2020-10-26 19:28:20 -05:00
Sam
1a1ceb54bc Server event used to deal damage/heal with buffs. Buff kills now award xp. 2020-10-26 19:28:20 -05:00
Sam
de7191b985 Added functionality to remove buffs by category. 2020-10-26 19:28:19 -05:00
Sam
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
Sam
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
Sam
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
Sam
c50063ad0c Move addition/removal of buffs to server event. 2020-10-26 19:28:15 -05:00
Brad
071ce08b69 Removed else branch and ran fmt and clippy 2020-10-25 16:43:07 -04:00
Brad
cfbdbf14aa Updated code to be more consistent with codebase 2020-10-25 15:54:08 -04:00
Brad
11f747cc5f Added is_dead check to item pickup 2020-10-25 03:40:34 -04:00
jshipsey
64d73abdec roshwalr fix 2020-10-19 16:20:59 +02:00
Sam
e6684009c2 Made ability key not hardcoded in tool.rs. 2020-10-15 20:05:58 -05:00
Sam
d869f7e430 Moved explsion struct from within comp to common. 2020-10-14 21:06:55 -05:00
Sam
14e4af7ab6 Addressed playtesting feedback. 2020-10-14 21:06:52 -05:00
Sam
1c21362bc3 Fixed shockwaves hitting entities multiple times. Explosions can now regen energy. Staff M1 now has particles instead of using bomb particles. 2020-10-14 20:56:23 -05:00
Sam
cbb72363af Reworked explosions. Tweaked staff fireball. 2020-10-14 20:56:21 -05:00
Marcel Märtens
2a7378b4ae pack together InGame, CharacterScreen and General variant in a single enum, as requested by zesterer.
His reason to reqeust that is, that there might not be a perfect disctinction in the future.
Now we need to send ServerGeneral over streams and do additional checking at various places to verify that not the wrong variant is send.
2020-10-12 11:27:21 +02:00
Marcel Märtens
00c66b5b9c remove a Mutex and AtomicBool 2020-10-11 23:02:39 +02:00
Marcel Märtens
ff374eab59 create a ServerMsg and ClientMsg enum and verify the state when in debug mode to benefit from the transition 2020-10-11 22:59:53 +02:00
Marcel Märtens
8b40f81ee2 No longer block the main thread for client connections, new clients will be handled by server without waiting.
- Instread we have a dedicated thread that will async wait for new participants to connect and then notify the main thread
- registry no longer sends a view distance with it.
- remove ClientMsg::Command again as it's unused
2020-10-11 22:55:02 +02:00
Marcel Märtens
017e004309 Rename enums to allow a super enum in the future, but i am not yet sure if we want to introduce this yet
```
//This is a helper structure, containing all possible data send over
pub enum ClientMsg {
    Initial(ClientType),
    General(ClientGeneralMsg),
    InGame(ClientInGameMsg),
    NotInGame(ClientNotInGameMsg),
    Register(ClientRegisterMsg),
    Ping(PingMsg)
}
```
2020-10-11 22:49:25 +02:00
Marcel Märtens
b1db5ef488 Redo Network Frontend.
Rather than having a single Stream to handle ALL data, seperate into multiple streams:
 - Ping Stream, for seperate PINGS
 - Register Stream, only used till the client is registered, then no longer used!
 - General Stream, used for msg that can occur always
 - NotInGame Stream, used for everything NOT ingame, e.g. Character Screen
 - InGame Stream, used for all GAME data, players, terrain, entities, etc...

This version does compile, and gets the client registered (with auth too) but doesnt get to the char screen yet.

This fixes also the ignoring messages problem we had, as we are not sending data to the register stream!
This fixes also the problem that the server had to sleep for the Stream Creation, as the Server is now creating the streams and client has to sleep.
2020-10-11 22:49:14 +02:00
Monty Marz
2b800a2b63 make clippy happy
Delete glider.ron
2020-10-07 02:23:20 +00:00
Sam
47abf49751 Addressed comments 2020-09-29 20:48:23 -05:00
Sam
0b80257aa3 Add migration 2020-09-29 19:48:15 -05:00
Sam
a8f31cbe6f Beam tick rate now more responsive when aiming. 2020-09-29 19:48:14 -05:00
Sam
ffe456c703 Fixed what broke after rebasing. 2020-09-29 19:48:13 -05:00
Sam
de45784596 Addressed round of testing feedback. 2020-09-29 19:48:09 -05:00
Sam
18c2b850d3 Added healing healthsource logic to beam system. 2020-09-29 19:48:08 -05:00
Sam
46563e7008 Added beam system. Added collision code for spherical wedge/cylinder detection. 2020-09-29 19:48:04 -05:00
Sam
6b23af6e0b Tweaked particles. Added skill icons. 2020-09-29 19:47:58 -05:00
Sam
8b9202710f New sceptre M2 is functional. 2020-09-29 19:47:57 -05:00
Ben Wallis
1205820e8b Preserve admin component if present on return to character select screen 2020-09-27 20:25:00 +01:00