Commit Graph

1694 Commits

Author SHA1 Message Date
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
Joshua Yanovski
b9528da8f6 Improve chunk space consumption by a lot.
3x - 5x depending on terrain.  We can do a lot better but this is a good
start.

Also, added chunk group count to metrics.  This correlates with memory
usage specifically by chunk voxel data in a much more direct way than
chonk or chunk count do, so this should provide extra useful information
(especially for our average overhead per chonk / chunk).
2020-09-28 13:35:49 +02:00
Joshua Yanovski
443f3287e4 Merge branch 'sharp/remove-spurious-vox' into 'master'
Remove spurious uses of Vox.

See merge request veloren/veloren!1406
2020-09-27 16:41:29 +00:00
Ben Wallis
b3dd8e8a02 Added #![deny(clippy::clone_on_ref_ptr)] to all crates and fixed resulting lint errors 2020-09-27 17:25:33 +01:00
Joshua Yanovski
5af5ceb1f9 Address review comments. 2020-09-27 17:06:46 +02:00
Ben Wallis
11fc74642e Refactored crafting to use ItemDef instead of Item 2020-09-27 14:55:31 +01:00
Joshua Yanovski
529533466c Fix collision detection in liquid. 2020-09-26 16:53:49 +02:00
Joshua Yanovski
938039a56e Remove spurious uses of Vox.
In the process, also try to address a few edge cases related to block
detection, such as adding back previously solid sprites and removing
filters that may be vestiges of earlier logic.
2020-09-26 16:30:40 +02:00
Marcel Märtens
b7dc17c11f switch version to pre-alpha-2020-09-22 vs pre-alpha-v0.7.0 2020-09-22 12:04:07 +02:00
Marcel Märtens
8eec46424f switching veloren naming scheme, to either one of the following:
`stable-0.7.0 (<hash>-<datetime>)` for release versions.
And
`nightly-<date> (<hash>)` for nightly and master versions

Reason is, many players only give information that they are running `0.x.0` but are not giving us the information which day, or commit they are running. So we should make master builds less confusing.
2020-09-22 11:47:18 +02:00
Snowram
fa2dd28587 Fixed various issues from better-things branch 2020-09-21 23:57:10 -04:00
Joshua Barretto
2f2e766ebb Merge branch 'zesterer/better-block-format' into 'master'
Stopped all blocks being explodable

See merge request veloren/veloren!1402
2020-09-22 00:26:06 +00:00
Sam
2ff59c9f60 Addressed comments 2020-09-21 17:55:29 -05:00
Joshua Barretto
becb58e305 Stopped all blocks being explodable 2020-09-21 23:47:33 +01:00
Sam
b4018e7d42 Made 3rd ability interruptible. Final balance tweaks. 2020-09-21 17:40:16 -05:00
jshipsey
8070a38a89 spin anim 2020-09-21 17:38:57 -05:00
Sam
133e79ffd5 Modified how spin melee functions. 2020-09-21 17:38:56 -05:00
jshipsey
e79cef4824 dash animation 2020-09-21 17:38:55 -05:00
Sam
a8e834e754 Initial implementation of spin attack for sword. 2020-09-21 17:38:54 -05:00
Sam
fe70b7fbce Addressed second round of feedback. 2020-09-21 17:38:53 -05:00
Sam
b06ab250cc Addressed first round of feedback on sword overhaul. 2020-09-21 17:38:52 -05:00
Sam
c99e4c3c18 Added swing duration to dash melee. Added framework for animation to be added. 2020-09-21 17:38:51 -05:00
Sam
6dede05a0e Combo now only increases when landing a hit. 2020-09-21 17:38:51 -05:00
Sam
2aac008b90 Attack speed now scales with combo in combo melee. 2020-09-21 17:38:50 -05:00
Sam
e54483d789 Shifted hit attempt to before swing duration, instead of after. 2020-09-21 17:38:49 -05:00
Sam
b79235b890 Dash melee now works as desired. 2020-09-21 17:38:49 -05:00
Sam
744843d03f Dash now stops when colliding with entity 2020-09-21 17:38:48 -05:00
Sam
04af75bf8d Initial implementation of new dash melee. 2020-09-21 17:38:48 -05:00
Sam
abcd0af1e3 Removed combo duration of combo melee (combo now activated from recover duration). Allowed for forced forward movement in combo melee, and added it to stages 1 and 3). 2020-09-21 17:38:47 -05:00
jshipsey
a18c23025e stage 2 and 3 anim 2020-09-21 17:38:46 -05:00
Sam
847bddbd89 Removed swing_frac, added a swing duration instead to allow for more utility in character state. Moved location of stage_section enum to wielding so it could more easily be used by other character states. 2020-09-21 17:38:46 -05:00
Sam
2ba9d1e54f Added support for different swings in the combo melee having differnt fractions of time buildup duration is split. 2020-09-21 17:38:45 -05:00
jshipsey
2451a64b97 stage 2 animation 2020-09-21 17:38:44 -05:00
Sam
0ba5740265 Added enum for stage section instead of using 4 bools. 2020-09-21 17:38:43 -05:00
Sam
440e45f2bc Did stuff to support addition of keyframes for combo melee animation. 2020-09-21 17:38:43 -05:00