Commit Graph

1728 Commits

Author SHA1 Message Date
Sam
b8f722af8d Removed most hardcoded ability keys. 2020-11-04 19:22:02 -06:00
Sam
f1f5c2b21b Added energy change server event. 2020-11-04 19:22:01 -06:00
Sam
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
Joshua Barretto
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
Marcel Märtens
a7123c6e14 put cache in ECS to get rid of allocations 2020-11-04 14:19:28 +01:00
Marcel Märtens
ce3173ecdf add metrics for physics sys and implement concurrent physics 2020-11-04 11:53:13 +01:00
Marcel Märtens
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
jshipsey
28cde31bbb setup for staff, more anim conversions 2020-11-04 01:48:05 +01:00
Christof Petig
ac92c8a6af implement /home to return to home town 2020-11-04 00:55:15 +01:00
Joshua Barretto
6331ad9455 Implemented Flight 2020-11-03 22:46:07 +00:00
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
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
ubruntu
8c1e1fdc5c Fixed sneak toggle, sneaking no longer has sound, rolling can return to sneaking state, sneaking reduces aggro distance 2020-11-03 04:09:38 +00:00
ubruntu
b11041dfa4 10% of bow hits cause bleed debuff 2020-11-01 18:38:57 +00:00
Sam
4d8a635843 Sceptre fix. 2020-10-31 12:57:51 -05: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
Imbris
74ef766051 Rename running_tps_average -> running_average_delta 2020-10-29 18:30:19 -04:00
Sam
52c93f613e Addressed comments. 2020-10-28 22:04:15 -05:00
Sam
1a8cf33a60 Transitioned forced movement to an enum. 2020-10-28 18:15:27 -05:00
Sam
981eee5936 Transitioned knockback to an enum. 2020-10-28 18:15:27 -05:00
Sam
1ccbdec35c Tweaked dash melee some more. 2020-10-28 18:15:26 -05:00
Sam
a7e3e55a12 Transitioned damage and healing from u32/i32s to enums. 2020-10-28 18:15:25 -05:00
Sam
844e6f2b60 Slightly nerfed sword dash. Reduced particle count on fire aoe by factor of 3. 2020-10-28 18:15:25 -05:00
Sam
15286a094a Leaps now require a non-negative vertical velocity to use. 2020-10-28 18:15:24 -05:00
Sam
555bc559f5 Axe no longer sets vertical velocity to 0, but instead preserves vertical velocity. 2020-10-28 18:15:24 -05:00
Sam
63011241ea Added keyframes to all states that were lacking them. 2020-10-28 18:15:23 -05:00
Sam
6559df459e Addressed comments. 2020-10-26 21:32:01 -05:00
Sam
e8f6338eb0 Admin armor now provides immunity to debuffs. 2020-10-26 19:49:40 -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
Adam Whitehurst
8aad7adab8 add comments 2020-10-26 19:30:17 -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
fdf8decb18 Handled health change over time buff effect better. 2020-10-26 19:28:27 -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
19c7ed7885 Added builder function for 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
BottledByte
7ab99a3bbf Initial WIP implementation of the Buff system 2020-10-26 19:28:14 -05:00
Marcel Märtens
1b47913835 fix clippy after toolchain update 2020-10-26 22:30:51 +01:00
Marcel Märtens
153c6c3b13 Fixing Tarpaulin isn't easy.
So first off all we had to update the toolchain, i think everything in september is okay, but we got with this current version.
Then we had to update several dependencies, which broke:
 - need a specific fix of winit, i think we want to get rid of this with iced, hopefully, because its buggy as hell. update wayland client to 0.27
 - use a updated version of glutin which has wayland-client 0.27 and no longer the broke version 0.23
 - update conrod to use modern copypasta 0.7
 - use `packed_simd_2` instead of `packed_simd` as the owner of the create abandoned the project.
 - adjust all the coding to work with the newer glutin and winit version. that also includes fixing a macro in one of the dependencies that did some crazy conversion from 1 event type to another event type.
   It was called `convert_event`
 - make a `simd` feature which is default and introduce conditional compiling.
   AS I HAVE NO IDEA OF SIMD AND THE CODE. AND I DIDN'T INTRODUCE THE ERROR IN THE FIRST PLACE, WE PANIC FOR NON SIMD CASE FOR NOW. BUT IT WORKS FOR TESTS.
 - tarpaulin doesnt support no-default-features. so we have to `sed` them away. semms fair.
2020-10-26 17:04:20 +01:00
Adam Whitehurst
4dcac28f8a Ensure leap melee swing animation and hit are sync 2020-10-24 20:15:19 +00:00
jiminycrick
b98e2a924d Fixed hammer AI and added axe AI 2020-10-19 16:20:59 +02:00
Snowram
34ce8bb042 Addressed comments 2020-10-19 16:20:59 +02:00
jiminycrick
64ef7f39d6 Addressed comments on agent code 2020-10-19 16:20:59 +02:00
jshipsey
64d73abdec roshwalr fix 2020-10-19 16:20:59 +02:00
jshipsey
caa048b1d5 small fixes 2020-10-19 16:20:59 +02:00
Snowram
7a62ddfd3f Add BeastClaw npc weapontype 2020-10-19 16:20:59 +02:00
Snowram
f9383e4dd8 Add roshwalr npc 2020-10-19 16:20:59 +02:00
jiminycrick
be1596a703 fixed agent code for staff rework 2020-10-19 16:20:59 +02:00
jshipsey
66b1fe67dc rebase 2020-10-19 16:20:58 +02:00
Snowram
c9985e14cb Rename Saurok, various anim fixes 2020-10-19 16:20:58 +02:00
jshipsey
6a86567301 fix agent bug 2020-10-19 16:20:58 +02:00
jshipsey
65df398672 werewolf work 2020-10-19 16:20:58 +02:00
jiminycrick
50aac17d94 Added secondary skills to agent code (except bow) 2020-10-19 16:20:58 +02:00
Snowram
6c54e6d8fe Add sand, snow and wood raptor npcs 2020-10-19 16:20:58 +02:00
Snowram
588f66a1ee Add treant npc 2020-10-19 16:20:58 +02:00
unknown
d2f91bc3a0 Assigns a ToolKind to bipedlarge weapons 2020-10-19 16:20:58 +02:00
Snowram
0a9ec848a7 add lizardman npcs 2020-10-19 16:20:58 +02:00
Snowram
204fa50de9 Add werewolf npc 2020-10-19 16:20:57 +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
jshipsey
6a744eed82 anims 2020-10-14 21:06:32 -05:00
Sam
1ba8a6cfb3 Balance tweaks to staff abilities. 2020-10-14 20:57:01 -05:00
Sam
b5091a5891 Ai for staff-wielding enemies. Keyframes for shockwave state. 2020-10-14 20:56:24 -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
7ef73f5981 Added particles for fire shockwave. Added ability key enum so held abilities could differentiate what button they should check. Modified energy fields on basic beam so it could drain energy every second. 2020-10-14 20:56:22 -05:00
Sam
cbb72363af Reworked explosions. Tweaked staff fireball. 2020-10-14 20:56:21 -05:00
Sam
04dcd012da Flamethrower particles. 2020-10-14 20:56:21 -05:00
Sam
c80f16ae74 Started to add particles. 2020-10-14 20:56:20 -05:00
Sam
256846a669 Initial implementation of new staff abilities. 2020-10-14 20:56:16 -05:00
jiminycrick
4de42e36fd Consolidated recover code in repeater_ranged 2020-10-14 17:10:27 -07:00
jiminycrick
512d881cd2 Fixed clippy errors and added SFX 2020-10-14 15:30:58 -07:00
jiminycrick
95c36cc3fb Skill icons with proper rotation 2020-10-14 12:50:33 -07:00
jiminycrick
1f3bd0e1d2 Responded to testing feedback 2020-10-14 12:50:33 -07:00
jshipsey
3bb59b36cd energy values, remove hotload 2020-10-14 12:50:33 -07:00
jshipsey
64f72a73f9 axeleap tweaks 2020-10-14 12:50:33 -07:00
jiminycrick
691acd730d Smoother leap and recovery leap handling 2020-10-14 12:50:33 -07:00
jshipsey
22d8792c4b adjustments to chargedmelee, repeater 2020-10-14 12:50:33 -07:00
jshipsey
521ffd64ba cleanup 2020-10-14 12:50:33 -07:00
jshipsey
28eb58ddfa anims 2020-10-14 12:50:33 -07:00
Sam
fadba23dde Slight tweaks to leap 2020-10-14 12:50:33 -07:00
jshipsey
281155186f hammer leap melee anim 2020-10-14 12:50:33 -07:00
Sam
e1634fa83a Fixed errors from transitioning some states to keyframes. 2020-10-14 12:50:33 -07:00
Sam
21cf1e2168 Added keyframes to leap melee. 2020-10-14 12:50:33 -07:00
Sam
7e0cc2d8e5 Added keyframes to repeater ranged. 2020-10-14 12:50:33 -07:00
Sam
97f580be2b Added keyframes to charged melee. 2020-10-14 12:50:32 -07:00
jiminycrick
9ebda3c353 Made bow leap more graceful and set energy costs and removed jitter for no leap 2020-10-14 12:50:32 -07:00
jiminycrick
431f99a791 Reducing the amount of data in character state 2020-10-14 12:50:32 -07:00
jiminycrick
05623eb8bd Addressed comments 2020-10-14 12:50:32 -07:00
jiminycrick
04175bab09 Add skillbar stuff for 3rd skills 2020-10-14 12:50:32 -07:00
jiminycrick
951acfca21 Add 3rd skill for hammer, bow, and axe minus skillbar UI stuff 2020-10-14 12:50:32 -07:00
Imbris
9e7f521489 Fix system data folder name, panic when outside the project dir and there is no env var set 2020-10-13 02:29:32 -04:00
Marcel Märtens
f1c9b959f4 rename a file, fix error msg, dont spam persistence by default 2020-10-13 00:06:24 +02: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
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
e8452fafc6 fix naming, replace NotInGame with CharacterScreen 2020-10-11 22:55:38 +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
e1a77d040d loot table adjustments
- decrease blue glider drop rate
- decrease cloth scaprs drop rate from villagers
- add crafting mats to crates instead
2020-10-11 16:25:35 +00:00
Imbris
71251ca6a6 Change admins from Vec<String> into Hashset<Uuid>, add commands to server-cli-bin for adding and removing admins 2020-10-10 02:10:32 -04:00
Imbris
fb2cf1a292 Fix clippy warnings 2020-10-10 02:10:32 -04:00
Imbris
7c14a3f4a4 New userdata folder that holds voxygen settings and logs and server saves and settings, split up server settings file into parts that are persisted back to their files and parts that are read-only, misc fixes 2020-10-10 02:10:32 -04:00
Imbris
6c43a7cdc5 Change projectiles to not be pushed back by collisions, moved group check into projectile system from physics system 2020-10-10 02:10:31 -04: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
5f889773b5 Addressed comments 2020-09-29 19:48:17 -05:00
Sam
51141b2c1a Changelog line, final balance tweaks. 2020-09-29 19:48:16 -05:00
Sam
0b80257aa3 Add migration 2020-09-29 19:48:15 -05:00
Sam
56d2afc0dc Added keyframe support to basic beam state. Addressed some comments. 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
506ad1e80e Improvements to beam collision. 2020-09-29 19:48:14 -05:00
Sam
ffe456c703 Fixed what broke after rebasing. 2020-09-29 19:48:13 -05:00
Sam
37fcfb8b6f Created manifest for database to filepath for items. 2020-09-29 19:48:12 -05:00
Sam
3d6c26a3c7 Fully separated sceptres from staves. 2020-09-29 19:48:12 -05:00
Sam
3e2e06f2f8 Projectile effects are now drained, so that the same projectile can't trigger it's effects on multiple enemies. 2020-09-29 19:48:11 -05:00
Sam
67eafdabd0 Separated out energy cost for healing so it's not based off of the energy regen from dealing damage. 2020-09-29 19:48:11 -05:00
Monty Marz
3734fafcd8 doubled energy consumption for M1 healing 2020-09-29 19:48:10 -05:00
Sam
5bd6f0e26f Addressed feedback in sceptre branch 2020-09-29 19:48:09 -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
Monty Marz
13d9b814ab separate sceptres from staffs, show values below 1.0 as decimals in the SCT, add starting sceptre
remove firebolt from starting sceptre
2020-09-29 19:48:07 -05:00
Sam
7e95a93434 Energy no longer regens when heal target is at full health. 2020-09-29 19:48:07 -05:00
Sam
07fd9ac023 Re-added necessary functionality to beam (heal, lifesteal, energy regen). 2020-09-29 19:48:06 -05:00
Sam
095433abcc Addressed comments. 2020-09-29 19:48:06 -05:00
Sam
799a6c1d1e Tweaked beam collision logic to be more accurate. 2020-09-29 19:48:05 -05:00
Sam
a679a34a7b Reverted changes to melee system that were added to when beam was initially in melee system. 2020-09-29 19:48:04 -05:00
Sam
46563e7008 Added beam system. Added collision code for spherical wedge/cylinder detection. 2020-09-29 19:48:04 -05:00
Sam
03b5cac2f9 Beams now have spherical hit detection. 2020-09-29 19:48:02 -05:00
Sam
6bb680f372 M1 now only regens stamina when healing allies if they are not at full health. 2020-09-29 19:48:02 -05:00
Sam
8f7d45100d Tick rate now exposed as a variable. 2020-09-29 19:48:01 -05:00
Monty Marz
a2d74b71c4 change tick rate 2020-09-29 19:48:01 -05:00
Monty Marz
2b8d1e6fb9 test values 2020-09-29 19:48:00 -05:00
Sam
bcda944af9 Fixed energy cost for playtesting purposes. 2020-09-29 19:48:00 -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
Sam
921d224ef6 Lifesteal now works. Added particles to healing beam. 2020-09-29 19:47:57 -05:00
Sam
f20134d7ea Initial implementation for beam attack. 2020-09-29 19:47:56 -05:00
Joshua Yanovski
69f68ddf29 Reduce chunks / chonk by trimming the ends.
This improves the defragment operation for chonks by letting them remove
chunks at the top that match above, and bottom that match below.  This
reduces the chunks / chonk from around 5.9 to around 3.4 at origin. From
my investigations, adding something for water would probably get us a
full 50% reduction, if we could collapse intermediate chunks; block
types other than rock / air / water never appear to have full chunks of
the same block, so any additional optimization will require changes to
the subchunk compression format or changes to the actual chunks we
generate.
2020-09-29 19:08:45 +02:00
Forest Anderson
25ab132d73 Merge branch 'xvar/add-clone-on-ref-ptr-clippy-lint' into 'master'
Added #![deny(clippy::clone_on_ref_ptr)] to all crates and fixed resulting lint errors

See merge request veloren/veloren!1411
2020-09-28 19:32:03 +00:00
Joshua Yanovski
7d6aebb316 Fix hacky solution with proper defragmentation.
After generating a chonk, we now find the highest frequency block (in
terms of the number of groups that uniformly consist of that block) and
replace the chunk's default with that one.  We also resort the data in
the process to be in the same order as the original array index.  This
improves our memory savings from 3x to almost 7x, and brings us within a
factor of 3 or so of what I hope a true average will be.

The defragmentation is not totally optimal and can probably be improved
from a performance perspective, but given how much of a hard bottleneck
RAM is this seems worthwhile.  Also, this doesn't suffer from the issues
the previous solution did.
2020-09-28 16:56:26 +02:00