6765 Commits

Author SHA1 Message Date
Sam
517abc79ab Factored out duplicate code into closures, consolidated ability handling logic to a single function. 2021-02-19 18:45:48 -05:00
Joshua Barretto
6108653b9a Merge branch 'aweinstock/trade-client-improvements' into 'master'
Client-side trade improvements.

See merge request veloren/veloren!1798
2021-02-19 23:38:30 +00:00
Sam
7be14eef30 Re-deleted duplicate weapons that somehow reappeared. 2021-02-19 17:30:24 -05:00
Sam
b934023169 Added 1h hammers.
Fixed audio tests.
2021-02-19 17:30:24 -05:00
Sam
f50c2479e3 Added AbilityInfo struct to attack states 2021-02-19 17:30:24 -05:00
Sam
35f106c184 Added one-handed axes. 2021-02-19 17:30:23 -05:00
Sam
1b7d4b95b8 Added handedness to weapon tooltips. 2021-02-19 17:30:23 -05:00
Sam
c2cf3b890e Dual wielding now uses skillbar abilities from multiple weapons. 2021-02-19 17:30:22 -05:00
Sam
dbc759b043 Wielding a 1 handed weapon now correctly uses abilities when the second weapon is not also a 1 handed weapon. 2021-02-19 17:30:22 -05:00
Sam
3c47f5ab5b ItemConfig now stores AbilitySet directly instead of each individual ability. 2021-02-19 17:30:21 -05:00
Sam
d94595423c Handedness of weapons affects power and speed. 2021-02-19 17:30:21 -05:00
Sam
a32c14a78b Check for prerequisite skill in using an ability is no longer hardcoded. 2021-02-19 17:30:21 -05:00
Sam
16dcea0ecf Added hands field to all ron files of weapons.
Removed weapons that were duplicated in weapons and npc_weapons from npc_weapons.
Added migration to convert npc_weapons that ended up in anyone's inventory to weapon version.
Consolidated debug boost and possess sticks into one debug_stick, and renamed the admin sword (with name cultist_purp_2h_boss-0) to admin_sword
2021-02-19 17:30:20 -05:00
Sam
0f4b4e4271 Added hands field onto weapons. 2021-02-19 17:30:20 -05:00
Avi Weinstock
d44565d6cc Client-side trade improvements.
- Add item tooltips in trade.
- More localization support.
- Fix bindings (R for trade, B for bag).
2021-02-19 15:20:27 -05:00
Forest Anderson
eef372a850 Merge branch 'angel/fix-mirror-actions' into 'master'
Remove git filter repo

See merge request veloren/veloren!1797
2021-02-19 18:01:42 +00:00
Forest Anderson
7bb038e474 Remove git filter repo 2021-02-19 08:55:10 -05:00
Marcel
e6517db945 Merge branch 'xMAC94x/quick_net_fix' into 'master'
fix main thread blocking which was a bad combination of

See merge request veloren/veloren!1793
2021-02-18 19:26:43 +00:00
Marcel Märtens
6d24c4e1a0 fix main thread blocking which was a bad combination of
- a channel was stale and wasn't shut down propertly AS WELL AS
 - the msg ingoing pipe was bounded, so it could fill up

To mitigate this we
 a) unbounded the pipe
 b) stoped spam the log in no channel case
 c) instead of ever reaching "no channel" state we actually shutdown participant
 d) when send_mgr is closed it will no longer be able to SEND on streams
2021-02-18 20:00:07 +01:00
Forest Anderson
01dd951faf Added badge to show contributor count from Github 2021-02-18 09:46:03 -05:00
Marcel
0f633e7b7c Merge branch 'xMAC94x/network_tokio' into 'master'
xMAC94x/network_tokio switch from `async_std` to `tokio`

See merge request veloren/veloren!1789
2021-02-17 22:47:11 +00:00
Samuel Keiffer
92b7657c0f Merge branch 'cherry-pick-2ef5fb90' into 'master'
Fix missing controller actions

See merge request veloren/veloren!1786
2021-02-17 21:10:14 +00:00
Ada Lovegirls
540635ed99 Fixed missing controller actions
(cherry picked from commit 2ef5fb90e89bf3f8f0acc84e269f6948c696c196)
2021-02-17 21:10:14 +00:00
Marcel Märtens
048fcf88f8 Stabelize Network again:
- completly switch to Bytes, even in api. speed up TCP by fak 2
 - improve benchmarks
 - speed up mpsc metrics
 - gracefully handle shutdown by interpreting Ok(0) as tokio::tcpstream closed now.
 - fix hotloop in participants by adding `Some(n)` to fix endless handing.
 - fix closing bug by closing streams after `recv_mgr` is shutdown even if now shutdown is triggered locally.
 - fix prometheus
 - no longer throw when a `Stream` is dropped while participant still receives a msg for it.
 - fix the bandwith handling, TCP network send speed is up to 1.5GiB/s while recv is 150MiB/s
 - add documentation
 - tmp require rt-multi-threaded in client for tokio, to not fail cargo check

this is prob stable, i tested over 1 hour.
after that some optimisations in priomgr.
and impl. propper bandwith.
Speed is up to 2GB/s write and 150MB/s recv on a single core

sync add documentation
2021-02-17 19:37:48 +01:00
Marcel Märtens
00386b6955 Great improvements to the codebase:
- better logging in network
 - we now notify the send of what happened in recv in participant.
 - works with veloren master servers
 - works in singleplayer, using a actual mid.
 - add `mpsc` in whole stack incl tests
 - speed up internal read/write with `Bytes` crate
 - use `prometheus-hyper` for metrics
 - use a metrics cache
2021-02-17 16:15:00 +01:00
Marcel Märtens
33085f1645 COMPLETE REDESIGN of network crate
- Implementing a async non-io protocol crate
    a) no tokio / no channels
    b) I/O is based on abstraction Sink/Drain
    c) different Protocols can have a different Drain Type
       This allow MPSC to send its content without splitting up messages at all!
       It allows UDP to have internal extra frames to care for security
       It allows better abstraction for tests
       Allows benchmarks on the mpsc variant
       Custom Handshakes to allow sth like Quic protocol easily
 - reduce the participant managers to 4: channel creations, send, recv and shutdown.
   keeping the `mut data` in one manager removes the need for all RwLocks.
   reducing complexity and parallel access problems
 - more strategic participant shutdown. first send. then wait for remote side to notice recv stop, then remote side will stop send, then local side can stop recv.
 - metrics are internally abstracted to fit protocol and network layer
 - in this commit network/protocol tests work and network tests work someway, veloren compiles but does not work
 - handshake compatible to async_std
2021-02-17 12:39:47 +01:00
Marcel Märtens
13bf418794 fix most unittests (not all) by a) dropping network/participant BEFORE runtime and by transfering a expect into a warn! in the protocol 2021-02-17 12:38:58 +01:00
Marcel Märtens
13276a6d00 get rid of async_std::channel
switch to `tokio` and `async_channel` crate.
I wanted to do tokio first, but it doesnt feature Sender::close(), thus i included async_channel
Got rid of `futures` and only need `futures_core` and `futures_util`.

Tokio does not support `Stream` and `StreamExt` so for now i need to use `tokio-stream`, i think this will go in `std` in the future

Created `b2b_close_stream_opened_sender_r` as the shutdown procedure does not need a copy of a Sender, it just need to stop it.

Various adjustments, e.g. for `select!` which now requieres a `&mut` for oneshots.

Future things to do:
 - Use some better signalling than oneshot<()> in some cases.
 - Use a Watch for the Prio propergation (impl. it ofc)
 - Use Bounded Channels in order to improve performance
 - adjust tests coding

bring tests to work
2021-02-17 12:38:53 +01:00
Marcel Märtens
88620c804a Initial switch to tokio for network, minimum working example. 2021-02-17 12:37:59 +01:00
Marcel
498de2703f Merge branch 'update_deps' into 'master'
Clean and update dependencies

See merge request veloren/veloren!1780
2021-02-17 10:41:24 +00:00
Caelan
86d1b00735 Clean and update dependencies
* Remove tweak feature
 * Remove const-tweaker
 * Update tiny_http
 * Update bitvec to 0.21.0
 * Downgrade euc to avoid conflict with vek 0.12.0
 * Require exactly vek 0.12.0
 * Update all other dependencies automatically based on these changes
 * Update gilrs to latest at the request of Ada Lovegirls
 * Update meshing benchmarks to new criterion API
2021-02-17 01:27:06 -08:00
Imbris
dcd7031401 Merge branch 'nwildner/update_pt_BR_translation' into 'master'
update pt_BR translation and adopt multifile translation format

See merge request veloren/veloren!1777
2021-02-17 08:28:04 +00:00
Nícolas Wildner
0e697432b2 creating char_selection.ron plus minor portuguese fixes for better formal language (like olhos - eyes and not olho) 2021-02-17 08:28:04 +00:00
Imbris
990f240a98 Merge branch 'TheThirdSpartan/chat-fixes' into 'master'
Small chat message formatting changes and fixed missing player alias during admin entity possession

See merge request veloren/veloren!1782
2021-02-17 02:15:46 +00:00
TheThirdSpartan
6b236cbc30 Small chat message formatting changes and fixed missing player alias during admin entity possession 2021-02-17 02:15:45 +00:00
Imbris
fcce219462 Merge branch 'huettner94/minimap_settings_persistence' into 'master'
Persist minimap settings

See merge request veloren/veloren!1785
2021-02-17 00:57:07 +00:00
Joshua Barretto
2706ccd675 Merge branch 'lboklin/quat-ori' into 'master'
Redefine Ori as a quaternion

See merge request veloren/veloren!1755
2021-02-16 22:39:11 +00:00
Felix Huettner
c2e298381e Persist minimap settings
This change persists the open/close state as well as the facing-north
state of the minimap to the settings file.
2021-02-16 23:16:16 +01:00
Imbris
3572dbd6ff Merge branch 'huettner94/minimap_rotation' into 'master'
Allow minimap to always face north

See merge request veloren/veloren!1784
2021-02-16 22:04:48 +00:00
Imbris
578f4adf49 Merge branch 'quellus/max-name-length' into 'master'
Limit character name length

Closes #528

See merge request veloren/veloren!1774
2021-02-16 21:29:45 +00:00
Quellus
ca66b2880b Limit character name length 2021-02-16 21:29:45 +00:00
Felix Huettner
e9e709758a Allow minimap to always face north
Some players prefer their minimap to always face north for better
orientation.
2021-02-16 19:57:19 +01:00
Joshua Barretto
fd8d920b20 Merge branch 'ada/improve-controller-bindings' into 'master'
Improve controller keybindings

See merge request veloren/veloren!1779
2021-02-16 16:56:42 +00:00
Ada Lovegirls
483bd4aaca Merge branch 'master' into 'ada/improve-controller-bindings'
# Conflicts:
#   CHANGELOG.md
2021-02-16 15:30:46 +00:00
Joshua Barretto
e9d99c66cf Merge branch 'synis/fix-underwater-campfires' into 'master'
Synis/fix underwater campfires

See merge request veloren/veloren!1783
2021-02-16 14:59:04 +00:00
Synis
c5b934725a Added changelog entry 2021-02-16 13:26:40 +01:00
Synis
cb6d656d42 Waypoints are no longer placed underwater 2021-02-16 13:23:12 +01:00
Joshua Barretto
92bc0d98e5 Merge branch 'Quibble/boss-stairs-fix' into 'master'
Fix #689 - dungeon without stairs to boss floor

Closes #689

See merge request veloren/veloren!1781
2021-02-16 02:59:05 +00:00
Samuel Keiffer
9226d92cd1 Merge branch 'aweinstock/item-tags' into 'master'
Implement tags for items, allowing a crafting recipe to take any item with that tag as input.

See merge request veloren/veloren!1778
2021-02-16 01:05:54 +00:00
Avi Weinstock
d4907197b3 Implement tags for items, allowing a crafting recipe to take any item with that tag as input.
- Added a recipe that turns any of the cloth equipment dropped by villagers into 1x cloth scraps.
- Animate placeholder items for tagged crafting.
2021-02-16 01:05:54 +00:00