Commit Graph

2233 Commits

Author SHA1 Message Date
Marcel
7d5ca0e7bf Revert "Merge branch 'snowram/hacky-mount' into 'master'"
This reverts merge request !2219
2021-05-14 13:43:20 +00:00
Snowram
e4f3064b8a Collar can make QuadMeds mountable, state + offsets 2021-05-14 00:11:15 +02:00
James Melkonian
4d4bc132f4 Campfires can set things on fire and water puts it out 2021-05-13 05:34:51 +00:00
Joshua Yanovski
3869cdf1d2 Don't remesh chunk vertex data on sprite update.
This results in an extremely visually noticeable improvement in latency
when adding or removing sprite data and makes the game feel more
responsive.

This happens, for instance, when picking up a sprite like an apple or
flower from the environment.  We check to make sure that for items
with lighting (like Velorite) or changes that otherwise affect meshing
(like changing from fluid to nonfluid) this doesn't trigger.
2021-05-11 12:58:15 -07:00
James Melkonian
f76b61ac17 Make merchants /tell instead of /say 2021-05-11 17:26:22 +00:00
Sam
7f6c6c5603 Fixed offsets for laser and rocket attacks of clay golem. 2021-05-10 18:54:04 -05:00
Sam
0d53e790fd Made golem laser spawn based off of orientation rather than look_dir. Additional balance tweaks. 2021-05-10 18:54:00 -05:00
Sam
fca56be4c0 Balance tweaks 2021-05-10 18:53:52 -05:00
Sam
58e5b1fdf5 AI tweaks. 2021-05-10 18:53:49 -05:00
Snowram
47a2bf7de8 Adds haniwa sentry object 2021-05-10 18:53:48 -05:00
Sam
c67c56d194 Dungeon placement. Tweaks to melee. 2021-05-10 18:53:47 -05:00
Sam
9f8aeb91c0 Added armor, more ai tweaks. 2021-05-10 18:53:46 -05:00
Sam
1c8db241e2 Golem AI 2021-05-10 18:53:43 -05:00
Marcel Märtens
b443e4dd31 Add Quin support, as this is not yet very much tested it needs to be activated in the settings of SERVER and CLIENT.
Server:
 provide a certificate file and key file via the settings. When provided it will then listen on TCP and QUIC, if not provided it will be TCP only.
 The certificate must be known by the client, so you might get problems with self-signed certificates.
 ```ron
 quic_files: Some((
     cert: "/home/user/veloren_cert.pem",
     key: "/home/user/veloren_key.key",
 )),
 ```

Client:
 activate the voxygen settin `use_quic: true` to try to connect to the quic backend of a server.
2021-05-10 12:59:13 +02:00
Joshua Yanovski
0cf0f59fa7 Merge branch 'sharp/modtools' into 'master'
Added non-admin moderators and timed bans.

See merge request veloren/veloren!2276
2021-05-10 04:54:06 +00:00
Joshua Yanovski
e7587c4d9d Added non-admin moderators and timed bans.
The security model has been updated to reflect this change (for example,
moderators cannot revert a ban by an administrator).  Ban history is
also now recorded in the ban file, and much more information about the
ban is stored (whitelists and administrators also have extra
information).

To support the new information without losing important information,
this commit also introduces a new migration path for editable settings
(both from legacy to the new format, and between versions).  Examples
of how to do this correctly, and migrate to new versions of a settings
file, are in the settings/ subdirectory.

As part of this effort, editable settings have been revamped to
guarantee atomic saves (due to the increased amount of information in
each file), some latent bugs in networking were fixed, and server-cli
has been updated to go through StructOpt for both calls through TUI
and argv, greatly simplifying parsing logic.
2021-05-09 21:19:16 -07:00
Avi Weinstock
abcb6f34a3 Remove the dependency of the new mindflayer AI on action_state.timer. 2021-05-09 21:16:57 -04:00
Avi Weinstock
1ae105125d Change agent's condition field back to a bool (from bitflags) and add a separate int_counter field. 2021-05-09 18:09:53 -04:00
Avi Weinstock
1dfcdce1c0 Add a purple fireball to mindflayer and have it shoot it a few times before teleporting, and fix mindflayer AI's husk summons. 2021-05-09 18:09:31 -04:00
Illia Denysenko
1c22a2b3fd /skill_preset command 2021-05-08 15:47:09 +00:00
Samuel Keiffer
a2999ce96f Merge branch 'aweinstock/damage-types' into 'master'
Add `DamageKind`, and make piercing damage partially ignore damage resistence.

See merge request veloren/veloren!2262
2021-05-06 22:22:49 +00:00
Avi Weinstock
e4cda4309e Add DamageKind, and make piercing damage partially ignore damage resistence.
- Tweak bow/staff M1 stats.
2021-05-06 17:39:06 -04:00
James Melkonian
346eb48a27 Move weapon tactics to functions and take target body into attack radius consideration 2021-05-06 21:17:05 +00:00
Daniel Mizerski
3197bcd12a (Wiring) Logic - make wiring turing complete 2021-05-06 19:53:12 +02:00
Marcel
91f76d3b00 Merge branch 'xMAC94x/fixDisconnectMetrics' into 'master'
instead of manually trying to sync disconnect metrics we now pass a Reason to...

See merge request veloren/veloren!2259
2021-05-06 11:32:37 +00:00
Marcel Märtens
8196fd8b35 instead of manually trying to sync disconnect metrics we now pass a Reason to the handle_disconnect.
There we make sure that the disconnect only happens once and decrease the respective Metrics.
Also added more reasons
2021-05-06 11:43:10 +02:00
Marcel
efed14ccf9 Merge branch 'duelsik/wiring-on-death' into 'master'
(Wiring) OnDeath

See merge request veloren/veloren!2256
2021-05-06 09:00:50 +00:00
Illia Denysenko
2c14f59a35 Don't drop Debug item with /dropall 2021-05-05 20:35:57 +00:00
Daniel Mizerski
b34704ea3f (Wiring) OnDeath 2021-05-05 19:08:18 +02:00
Daniel Mizerski
a2a0329440 (Wiring) Switch to using maybes 2021-05-05 16:59:17 +02:00
Marcel Märtens
6e3a74b476 rayon::join creates a global threadpool, which is only used in /world
instead just use the same threadpool for everything
helps with debugging problems with GDB
using threadpool.install() to also be used when `into_par_iter()` is called
2021-05-04 21:06:07 +02:00
Samuel Keiffer
fb940ad27a Merge branch 'sam/minotaur' into 'master'
Overhauled Minotaur

See merge request veloren/veloren!2193
2021-05-04 16:26:08 +00:00
Imbris
217502d516 Merge branch 'duelsik/wiring-sticky-trigger' into 'master'
(Wiring) Change Sticky to be handled by physics (but with disabled force on it)

See merge request veloren/veloren!2241
2021-05-04 16:15:19 +00:00
Daniel Mizerski
f1681f465f (Wiring) Change Sticky to be handled by physics (but with disabled force on it) 2021-05-04 17:33:42 +02:00
Sam
062c290e49 Made buff commands exhaustive 2021-05-04 09:54:28 -04:00
Sam
2652660a58 Addressed comments and more testing feedback. 2021-05-04 08:45:14 -04:00
Sam
240a8e577d Minor balancing tweaks. 2021-05-04 08:45:13 -04:00
Sam
5c241850f1 Added sfx. Addressed comments. 2021-05-04 08:45:12 -04:00
Sam
2290a22a15 Gave minotaur AI. 2021-05-04 08:45:09 -04:00
Sam
811f1fadb2 Replaced action_timer with action_state so there are additional fields. 2021-05-04 08:45:09 -04:00
Marcel
3c16966721 Merge branch 'xMAC94x/quic' into 'master'
Cleanup network, remove some unwraps, add experimental (disabled) Quic support

See merge request veloren/veloren!2221
2021-05-04 00:16:05 +00:00
juliancoffee
88ac70c8c7 fmt 2021-05-03 22:17:59 +03:00
juliancoffee
4ba6d438ff Implement 'all' command 2021-05-03 22:07:12 +03:00
juliancoffee
b81981f805 Draft implementation 2021-05-03 22:07:09 +03:00
Marcel
f5c7f99846 Merge branch 'xvar/persistence-fixes' into 'master'
Fixed a rare server crash when creating a character

See merge request veloren/veloren!2237
2021-05-03 18:09:59 +00:00
Samuel Keiffer
610c529c42 Merge branch 'sam/ability-sets' into 'master'
Allow Specification of Custom Ability Sets per Weapon

See merge request veloren/veloren!2231
2021-05-03 17:50:11 +00:00
Avi Weinstock
be39054767 Make terrain compression a checkbox instead of a bandwidth (throughput?) heuristic. 2021-05-03 00:09:44 -04:00
Avi Weinstock
b15913560b Optimize CompressedData with Vec::with_capacity, and move obsolete formats from common_net into the compression benchmark. 2021-05-03 00:09:24 -04:00
Avi Weinstock
c199d12f2d Address MR 2207 review comments.
- Add metrics for which branch of the compression heuristic was taken.
- Reduce the threshold for the heuristic.
- Deduplicate code for dealing with lazy messages.
- Make jpeg dependency only scoped to the compression benchmark.
- Remove commented code.
2021-05-03 00:09:24 -04:00
Avi Weinstock
30cae40b82 Add a bandwidth-based heuristic for chunk compression. 2021-05-03 00:09:24 -04:00
Avi Weinstock
cdc2eccda8 Improve quadpng by adding WidePacking, which makes a wider image, which is faster due to PNG compressing by row. Heuristically switch between quadpng and deflate based on chunk height to reduce variance. 2021-05-03 00:09:24 -04:00
Avi Weinstock
f81539cb00 Get PngPngPngJpeg terrain working in the actual game. 2021-05-03 00:09:24 -04:00
Daniel Mizerski
7faa0d3cd9 Add fundamentals for wiring system. 2021-05-02 22:38:44 +02:00
Ben Wallis
d7582efad0 Moved character creation to use character_updater instead of character_loader. Changed character_loader to use a read-only database connection. 2021-05-02 16:08:39 +01:00
Sam
d500a00414 Made naming of fields more explicit. 2021-05-01 09:25:56 -04:00
Sam
3cb0ee98c8 Removed all unique and simple tool kinds. 2021-05-01 09:25:51 -04:00
Sam
a35b8b4aad Removed ability set as field on items. 2021-05-01 09:25:49 -04:00
Joshua Barretto
b29e2b0017 Fixed admin physics check exemption 2021-04-30 14:06:07 +01:00
Samuel Keiffer
4f5f15979a Merge branch 'sam/deduplicate-items' into 'master'
Sam/deduplicate items

See merge request veloren/veloren!2225
2021-04-29 20:11:43 +00:00
Sam
7870109856 Deduplicated stuff in npc_armor. 2021-04-29 15:45:14 -04:00
Sam
91bb6392bb Removed old 2h variants of 1h weapons. 2021-04-29 13:18:04 -04:00
Ben Wallis
e2d6326615 Made admins exempt from the server-side position and velocity checks 2021-04-29 17:46:40 +01:00
Marcel Märtens
760c382ed9 protocoladdr change for listen and connect
(remove a loop in quic protocol which wasnt a actual loop)
2021-04-29 15:58:34 +02:00
Ben Wallis
c16bf51ab2 Merge branch 'xvar/reduce-timeofday-sync-frequency' into 'master'
Reduced frequency of TimeOfDay message being sent to clients

See merge request veloren/veloren!2218
2021-04-29 13:50:08 +00:00
Ben Wallis
3c20e8ed4e Reduced sync of TimeOfDay to once per 100 ticks 2021-04-29 12:34:27 +01:00
James Melkonian
2fafcded93 Set bird default to not flying and give non-strafing NPCs a larger attack angle 2021-04-28 02:31:51 +00:00
James Melkonian
24095187c7 Partially fixes wolf AI 2021-04-27 17:57:31 +00:00
Ludvig Böklin
34660462e9 Glider physics 2021-04-27 14:41:48 +00:00
Sam
1a7779beb3 Added angle check for new npcs. 2021-04-25 22:19:30 -04:00
Sam
9084e93f8b Added an angle check to all agent attacks. 2021-04-25 22:02:31 -04:00
Marcel
991ccf0033 Merge branch 'aweinstock/deflate-downgrade-20210425' into 'master'
Downgrade deflate from level 5 to level 1 in the terrain system to match LZ4's...

See merge request veloren/veloren!2199
2021-04-25 23:35:43 +00:00
holychowders
5488f9f525 Prevent safezoned villagers from spamming messages upon seeing an enemy 2021-04-25 21:24:06 +00:00
Avi Weinstock
57aee57d82 Downgrade deflate from level 5 to level 1 in the terrain system to match LZ4's worst-case encoding time. 2021-04-25 16:18:57 -04:00
Marcel
ecb176158c Merge branch 'tormeh/rtsim-first' into 'master'
Tormeh/rtsim first

See merge request veloren/veloren!2053
2021-04-25 18:53:39 +00:00
Sam
372eff2a02 Initial SCT implementation to display blocks. 2021-04-25 13:09:09 -04:00
Sam
288a6f3a82 Blocking now works if no weapon is equipped in main hand.
Added temp sfx for blocking and parrying.
Added temp particles for successful parry.
Tweaked values of default block ability.
2021-04-25 13:09:02 -04:00
Sam
91c6288213 Melee weapons can now block. 2021-04-25 13:08:42 -04:00
Snowram
8f54a0bf31 More phoenix AI work
More phoenix AI work
2021-04-25 04:07:12 +02:00
James Melkonian
0cf7e7114f Phoenix AI pass 2021-04-25 04:07:11 +02:00
Snowram
8cf8e51962 Phoenix npc + AI (WIP) 2021-04-25 04:07:11 +02:00
Snowram
bd84677906 Day period dependant wildlife spawns 2021-04-25 02:14:51 +02:00
Snowram
bc95484863 Swaps bird_small skeleton to a new bird_large 2021-04-25 02:14:49 +02:00
Avi Weinstock
95d32b40bb Remove redundant terrain message per MR 2166 comment. 2021-04-20 23:48:15 -04:00
Avi Weinstock
308ad4d81e Cleanup errors introduced in rebase. 2021-04-20 23:34:17 -04:00
Avi Weinstock
15e32e5655 Move terrain compression code to common_net and disable redundant LZ4 compression on the terrain stream. 2021-04-20 23:24:24 -04:00
Avi Weinstock
6d9de520f3 Compress terrain chunks with deflate. Includes a benchmark showing that this makes them around 70% smaller, and is the same speed as LZ4. 2021-04-20 23:23:53 -04:00
Imbris
e17477979f Remove extra chunk cloning and parallelize serialization in the server terrain sys 2021-04-20 15:25:05 -04:00
Imbris
9e0fbd392d Remove some of the spans in the agent system 2021-04-20 15:25:05 -04:00
Imbris
110165de3a Add more profiling spans to the agent system and add timing notes 2021-04-20 15:25:04 -04:00
Imbris
e750c9d570 Switch agent target search to use a spatial grid, add convience method for querying the aabr of a circle 2021-04-20 15:25:04 -04:00
Imbris
26222a0a2d Rename common-sys to common-systems and rearrange common-state slightly 2021-04-20 15:25:04 -04:00
Ludvig Böklin
762c68cfbb Basic fluid dynamics and physical properties for entities 2021-04-20 17:38:19 +02:00
Joshua Barretto
36e95e0c03 Cleaned up client-side recipe handling 2021-04-20 12:33:22 +01:00
Monty
a1b4e0bdaf remove old craftsman hammer, add migration 2021-04-20 03:34:11 +02:00
Joshua Barretto
1a0f6f03ef Prevent crafting without station 2021-04-20 02:46:05 +02:00
Monty
a1fe7c12c3 fmt, add sprites 2021-04-20 02:46:04 +02:00
Joshua Barretto
5598d07944 Added crafting stations 2021-04-20 02:45:59 +02:00
Marcel Märtens
7348e399e0 only have 1 Fn passed to tick fn 2021-04-20 01:49:45 +02:00
Marcel Märtens
485a477503 include origin into system name 2021-04-20 01:30:27 +02:00
Marcel Märtens
425063e24e remove authc from common::net 2021-04-20 01:30:23 +02:00
Marcel Märtens
5862920f32 seperate sys/state 2021-04-20 01:30:17 +02:00
James Melkonian
ef38d9778f Fix bow AI 2021-04-19 12:17:31 -07:00
Joshua Barretto
cd0a65da81 Added minimum chunk unload distance to make chunk reload cheesing harder 2021-04-19 11:29:20 +01:00
Marcel
ba55a46db1 Merge branch 'UMR1352/fix#1077' into 'master'
fix issue #1077: show kill msg only to group members and nearby players if...

Closes #1077

See merge request veloren/veloren!2135
2021-04-18 20:46:17 +00:00
Enrico Marconi
a941833ff1 fix issue #1077: show kill msg only to group members and nearby players if... 2021-04-18 20:46:16 +00:00
Samuel Keiffer
60d38cc03b Merge branch 'aweinstock/dodgesplosion' into 'master'
Unlock dodge roll iframes and staff explosion by default.

See merge request veloren/veloren!2146
2021-04-18 20:46:15 +00:00
Avi Weinstock
0404250300 Unlock dodge roll iframes and staff explosion by default. 2021-04-18 16:16:06 -04:00
Samuel Keiffer
1892ec571d Merge branch 'sam/permanent-spawn-safezone' into 'master'
Safezone is now permanently in existence at spawn.

See merge request veloren/veloren!2144
2021-04-17 23:44:10 +00:00
Sam
c8d4c4ff84 Gated safe zone behind a server setting, removed unneeded function. 2021-04-17 17:54:11 -04:00
Sam
416fe5c2af Safezone is now permanently in existence at spawn. 2021-04-17 17:33:54 -04:00
Ben Wallis
a4cdb89987 Implemented inventory sorting 2021-04-17 22:04:08 +01:00
Avi Weinstock
af47c0dc21 Added /server_physics admin command. 2021-04-17 13:44:22 -04:00
Avi Weinstock
513c7ff068 Make physics anticheat less aggressive. 2021-04-16 18:07:54 -04:00
Imbris
85ee4c8cd1 Merge branch 'aweinstock/server-authoritative-physics' into 'master'
Aweinstock/server authoritative physics

See merge request veloren/veloren!2126
2021-04-15 22:24:00 +00:00
Avi Weinstock
2fb7575d60 Address MR 2126 comments. 2021-04-15 15:17:39 -04:00
Ben Wallis
95d7a3d761 Fixed cargo test-server. Removed -Z package-features from .cargo/config as it is no longer required 2021-04-15 19:07:46 +01:00
Avi Weinstock
bf6ac56eb0 Add teleport/speedhack mitigation. 2021-04-15 08:50:17 -04:00
Avi Weinstock
50d0314a75 Add a toggle to negotiate the use of server-authoritative physics. 2021-04-15 08:50:17 -04:00
Avi Weinstock
d6f4537d39 Minimal implementation of server-authoritative physics. 2021-04-15 08:26:15 -04:00
Ben Wallis
b6cd1f836e Merge branch 'xvar/rework-char-deletes' into 'master'
Character deletes are now processed by CharacterUpdater and clear any pending...

See merge request veloren/veloren!2128
2021-04-15 00:39:17 +00:00
Ben Wallis
378561598e Character deletes are now processed by CharacterUpdater and clear any pending logout updates for the deleted character 2021-04-14 22:30:53 +01:00
Monty
ed233efc53 Temporarily remove death messages 2021-04-14 20:31:34 +02:00
Samuel Keiffer
435b5d5912 Merge branch 'holychowders/resolve_issue_#978_extract_skillset_into_own_component' into 'master'
Resolve Issue #978 - Extract SkillSet Into Its Own Component

Closes #1065 and #978

See merge request veloren/veloren!2116
2021-04-14 15:35:35 +00:00
holychowders
568a8d9666 Resolve Issue #978 - Extract SkillSet Into Its Own Component 2021-04-14 15:35:34 +00:00
Ben Wallis
d6b3eb3784 Fixed initial creation of saves directory. Added path of old singleplayer saves directory to information logged when it is moved to the new userdata directory 2021-04-14 07:15:51 +01:00
Ben Wallis
1de94a9979 * Replaced diesel with rusqlite and refinery
* Added "migration of migrations" to transfer the data from the __diesel_schema_migrations table to the refinery_schema_history table
* Removed all down migrations as refinery does not support down migrations
* Changed all diesel up migrations to refinery naming format
* Added --sql-log-mode parameter to veloren-server-cli to allow SQL tracing and profiling
* Added /disconnect_all_players admin command
* Added disconnectall CLI command
* Fixes for several potential persistence-related race conditions
2021-04-13 22:05:47 +00:00
Samuel Keiffer
879b3e0133 Merge branch 'UMR1352/fix#1065' into 'master'
fix issue #1065: admin bag and other admin items inside a container doesn't disappear when dropped

Closes #1065

See merge request veloren/veloren!2114
2021-04-13 05:55:36 +00:00
Marcel
5b8842fac3 Merge branch 'deny-trade-on-exit' into 'master'
Denies any active trades on exit to char select.

See merge request veloren/veloren!2111
2021-04-12 23:00:38 +00:00
Rickey Chamblee
883977a42f Denies any active trades on exit to char select. 2021-04-12 23:00:38 +00:00
Vincent Foulon
a4bd47f340 Support quantity + use Enum for autocompletion + Address comments 2021-04-12 20:07:34 +02:00
Vincent Foulon
0692562533 New Command: "kit" + Removed Command: "debug"
Update CHANGELOG.md

Update CHANGELOG.md
2021-04-12 18:53:36 +02:00
Enrico Marconi
bfd23a9828 fix issue #1065: admin bag and other admin items inside a container doesn't disappear when dropped 2021-04-12 16:21:10 +02:00
Joshua Yanovski
dd1e06115e Inverted admin check. 2021-04-12 12:44:19 +02:00
Avi Weinstock
ddf6a26577 Give NPCs the ability to use potions. 2021-04-11 23:47:29 +00:00
Joshua Yanovski
90c3923119 Fix players being able to pick up other players. 2021-04-11 15:52:55 +02:00
Marcel
db8c167797 Merge branch 'UMR1352/fix#1059' into 'master'
fix issue #1059: Debug items should disappear when dropped

Closes #1059

See merge request veloren/veloren!2088
2021-04-10 17:41:43 +00:00
Joshua Yanovski
af94753ad9 Remove panics and unwraps, part 1.
Also fixes various other miscellaneous bugs.
2021-04-10 10:03:21 +02:00
Enrico Marconi
4c5de60d0d fix issue #1059: Debug items should disappear when dropped 2021-04-09 13:46:43 +02:00
Marcel Märtens
1a9425526b remove spamming of the logs 2021-04-08 23:55:13 +02:00
Imbris
0eecc61ddf Merge branch 'vfoulon80/behavior-component' into 'master'
New Component: Behavior

See merge request veloren/veloren!2033
2021-04-08 19:16:28 +00:00
Vincent Foulon
d80db38bc9 Remove TRADE capability, use trade_site attribute instead 2021-04-08 19:06:57 +02:00
Vincent Foulon
bc1797a240 Address comments 2021-04-08 18:33:00 +02:00
Louis Pearson
4c9eede9fd Document Travel enum 2021-04-08 05:40:56 -06:00
Louis Pearson
85de7d130c Use distance_squared to speed up calculations 2021-04-08 05:10:22 -06:00
Louis Pearson
5cbdf1850c Fix travellers stuck in town
There was an off by one error in the code that negates the progress
along paths that are reversed.
2021-04-08 05:10:04 -06:00
Louis Pearson
126b7efa92 Tries to implement npcs only travelling by paths
Unfortunately, there's a degenerate case where npcs can get stuck in a
town. Not sure why
2021-04-08 04:19:02 -06:00
Louis Pearson
29a3fda7ef Refine airship pathing 2021-04-08 04:19:02 -06:00
Louis Pearson
be67ba1e63 Add CustomPath to Travel enum
Defines a custom path to follow, instead of using one from the World.
Airships use this to slightly adjust their course to reduce collisions.
2021-04-08 04:19:02 -06:00
Louis Pearson
7f9ec9e19b Convert rtsim pathfinding logic to a FSM 2021-04-08 04:19:02 -06:00
Louis Pearson
99c6e57c1f Resolve comments 2021-04-08 04:19:02 -06:00
Louis Pearson
3c7898fe8e Expect instead of unwrap 2021-04-08 04:19:02 -06:00
Louis Pearson
58274db3e3 Make rtsim entities ensure sanity of track 2021-04-08 04:19:02 -06:00
Louis Pearson
c281fb32cc First pass at rtsim following paths 2021-04-08 04:19:02 -06:00
Vincent Foulon
dbee13f9be Finally Behavior isn't good enough as a component, Remove it from ECS and include it onto Agent directly 2021-04-07 22:02:57 +02:00
Vincent Foulon
45fb9f3211 Address comments
- make Behavior's capabilities and state private
 - Typo in a comment
 - add basic tests

Apply 1 suggestion(s) to 1 file(s)

Remove comments in agent.rs
2021-04-07 22:02:42 +02:00
Vincent Foulon
993ae8fff7 address mutability comment 2021-04-07 17:39:12 +02:00
Vincent Foulon
a0157ac5f5 use bitflags instead of HashSet 2021-04-07 17:37:21 +02:00
Vincent Foulon
211ab02897 Use Behavior::CanTrade instead of Agent::trade_for_site + addressed comments 2021-04-07 17:26:42 +02:00
Vincent Foulon
51ef3547a1 cleanup old code 2021-04-07 17:26:27 +02:00
Vincent Foulon
a483817fc2 Change check for trading NPC 2021-04-07 17:26:19 +02:00
Vincent Foulon
18694b30ad Use Behavior into Agent 2021-04-07 17:26:12 +02:00
Vincent Foulon
41314e9098 Create Behavior component 2021-04-07 17:21:53 +02:00
Vincent Foulon
5e23c164e6 Add missing translations + Add "enemy_killed" text for villagers 2021-04-07 13:26:15 +02:00
Tormod G. Hellen
083a1b054f Make randoms use green lantern. 2021-04-06 21:16:56 +02:00
Tormod G. Hellen
188096a20f Remove dead code. 2021-04-06 21:15:49 +02:00
Louis Pearson
f5bc6b43c9 Add default world build AABB 2021-04-05 07:39:09 -06:00
Marcel
69891f0b70 Merge branch 'login-trim-username' into 'master'
login trim username, improve validation, social ordering #1040

Closes #1040

See merge request veloren/veloren!2042
2021-04-04 22:09:16 +00:00
DaforLynx
6734198104 Adds on-hit combat sfx 2021-04-04 03:04:02 +00:00
Sam
27f178286d Removed all rng matches in code to determine loot tables, and moved to loot tables specific for each sprite, creature, or dungeon. 2021-04-02 23:24:55 -04:00
Sam
9ad5b0f6b7 Changelog. Fixed a few qualities. 2021-04-02 23:04:36 -04:00
Sam
a2906168a6 Moved materials into their own loot tables. 2021-04-02 23:04:33 -04:00
Sam
cb638180f8 Moved food items into their own loot tables. 2021-04-02 23:04:32 -04:00
Sam
31e69021cb Switched loot tables from declaring each weapon individually to just referencing a different loot table. 2021-04-02 23:04:31 -04:00
Sam
833f1f3309 Converted all armor in loot tables to reference armor set loot tables. 2021-04-02 23:04:28 -04:00
Sam
96b354c178 Consolidated loot tables by switching to CreatureMaterial where possible 2021-04-02 23:04:27 -04:00
Sam
ab2fca21cf Fixed trading 2021-04-02 23:04:26 -04:00
Sam
cbca2a66b6 Support for creature specific materails and materials having a quantity. 2021-04-02 23:04:25 -04:00
Sam
247004d180 Loot tables can now recursively specify loot tables. Mercahnts broken. 2021-04-02 23:04:25 -04:00
Marcel
3b7e3f8e74 Merge branch 'vfoulon80/trading-dialogues' into 'master'
Add dialogue when the Merchant is busy and randomize some trading dialogues

See merge request veloren/veloren!2038
2021-04-01 18:08:44 +00:00
Vincent Foulon
dcde8df365 address review comments 2021-04-01 19:13:08 +02:00
aljazerzen
08146f6a3a login trim username, improve validation, social ordering 2021-04-01 16:43:27 +02:00
aljazerzen
8ac879e4c1 after leaving group, issue warning instead of changing chat mode 2021-04-01 15:43:50 +02:00
aljazerzen
dae8515590 after leaving a group, set chat mode to world 2021-04-01 15:43:05 +02:00
Vincent Foulon
c2a8feada5 Add dialogue when the Merchant is busy and randomize some trading dialogues 2021-03-31 19:06:41 +02:00
Avi Weinstock
0122dca3c3 Allow fast stacking into and out of a trade with {ctrl,shift} click.
Shift click goes 1 at a time, Ctrl click automatically balances the trade w.r.t. that quantity.
2021-03-30 18:39:10 -04:00
Marcel
895de16dd6 Merge branch 'james/fix-merchant-wander' into 'master'
Fix merchant wandering

See merge request veloren/veloren!2035
2021-03-30 10:52:42 +00:00
Marcel
5ccbfba8fe Merge branch 'xMAC94x/terrainoptimisation' into 'master'
if more than 1 player is in the area of a newly created chunk, skip additional copies

See merge request veloren/veloren!2030
2021-03-30 08:27:13 +00:00
James Melkonian
8e522596a5 Fixed merchant wandering 2021-03-29 17:27:56 -07:00
Samuel Keiffer
12ec46c572 Merge branch 'sam/mindflayer-balancing' into 'master'
Mindflayer balance tweaks.

See merge request veloren/veloren!2031
2021-03-29 21:05:49 +00:00
Vincent Foulon
a35fa19409 Implement a basic dialogue system 2021-03-29 14:47:42 +00:00
Sam
71ba9b6a54 Mindflayer balance tweaks. 2021-03-29 10:44:46 -04:00
Marcel Märtens
fdd1eac6ed if more than 1 player is in the area of a newly created chunk, skip additional copies 2021-03-29 12:21:07 +02:00
Snowram
c8e191e138 Merge branch 'snowram/new-scepters-starves' into 'master'
Add new batch of starves and scepter (by Gemu)

See merge request veloren/veloren!2022
2021-03-29 00:08:19 +00:00
Snowram
5295894105 Add new batch of starves and scepter (by Gemu) 2021-03-29 01:27:55 +02:00
Marcel Märtens
6e77028605 make msg::terrain parallel via rayon, we parallelize over the number of clients, so this is a change servers with more than 1 player profit from. 2021-03-28 21:08:40 +02:00
Treeco
8c2a5559d3 Move common code out into function 2021-03-28 18:22:47 +01:00
Treeco
ab596d2ae8 New default world map, default continent scale doubled 2021-03-28 17:07:38 +01:00
Treeco
12cf8847c8 Added command to teleport to sites by name 2021-03-28 17:02:17 +01:00
Treeco
24763972ea Added spawn_town server setting 2021-03-28 17:02:17 +01:00
Joshua Barretto
d8117b3b3d Make caves and rtsim entities scale with map size, more cloud detail 2021-03-28 17:02:16 +01:00
Treeco
8f13750027 Temporarily disable humanoid rtsim entities until their pathfinding is fixed 2021-03-28 14:49:40 +01:00
Sam
f117a57083 Switched to using ForceUpdate to forcefully update the client position after a blink 2021-03-27 21:33:45 -04:00
Sam
b0b114a7f8 Balance tweaks 2021-03-27 21:05:15 -04:00
Sam
6c611d632a Mindflayer now only summons minions at set thresholds of health. 2021-03-27 21:05:11 -04:00
Sam
f9835e78da Pets no longer drop loot on death. Code to determine targeting of pets is less hacky and now takes into account alignment of their owner. 2021-03-27 21:05:07 -04:00
Sam
8e4aeff705 Improved mindflayer AI. Tweake some abilities. 2021-03-27 21:05:07 -04:00
Sam
720482d994 Gave mindflayer AI.
Fixed particles and made them sync across network.
2021-03-27 21:05:06 -04:00
Sam
a5b7477e96 Added summon minions ability to mindflayer 2021-03-27 21:05:05 -04:00
Sam
30da614e89 Added dimensional door ability for mindflayer 2021-03-27 21:05:05 -04:00
Marcel Märtens
c77446a014 fix some tracy only and no default features 2021-03-27 18:24:10 +01:00
Marcel Märtens
88b191dbbb track state tick in a historgram too 2021-03-27 18:24:10 +01:00
Louis Pearson
ad0396d9f4 Use made_valid instead of min/max 2021-03-27 08:17:26 -06:00
Louis Pearson
165065725e Add build_area_list command
* Reworks CanBuild to use HashSet
* Removes player argument from build permission, use sudo instead
2021-03-27 07:54:02 -06:00
Louis Pearson
21f794f84c Use Depot instead of Store for BuildArea 2021-03-27 07:54:02 -06:00
Louis Pearson
f08c4e6585 Add commands to manage build areas 2021-03-27 07:54:02 -06:00
Louis Pearson
77d48657c6 Store build areas outside of CanBuild component 2021-03-27 07:54:02 -06:00
Louis Pearson
120a0cd9a7 Limit build mode to bounding box 2021-03-27 07:54:02 -06:00
Louis Pearson
eade0540b2 Add permit_build command
This commit separates permission to build from building mode, allowing
build to become a NoAdmin command (since players will first need
permission from an Admin to enter build mode)
2021-03-27 07:54:02 -06:00
Marcel
da5c73c84b Merge branch 'refactor-login' into 'master'
refactor handling of duplicate login #1015

Closes #1015

See merge request veloren/veloren!1992
2021-03-27 13:49:09 +00:00
aljazerzen
0e71af92f1 cleanup login provider 2021-03-27 13:29:17 +01:00
aljazerzen
0c8448517e move already-logged-in check to register 2021-03-26 11:41:03 +01:00
Marcel Märtens
01c82b70ab network scheduler and rawmsg cleanup 2021-03-26 08:57:42 +01:00
aljazerzen
0ea102dc9c refactor handling of duplicate login 2021-03-25 12:33:56 +01:00
Avi Weinstock
8d90548331 Get SitePricing information to clients, and use it to display coin-denominated prices in voxygen on tooltips during a trade. Also boost merchant spawn rate slightly. 2021-03-25 02:11:58 -04:00
Marcel
28952f6d7b Merge branch 'aweinstock/agent-retargetting' into 'master'
In `agent::Sys`, perform target selection periodically to avoid agents going...

See merge request veloren/veloren!1985
2021-03-24 22:22:04 +00:00
Avi Weinstock
650d1709d0 Address MR 1987 review comments. 2021-03-24 16:09:12 -04:00
Avi Weinstock
c4a6875133 Fix airships getting stuck in trees and campfires spawning too close to new-style dungeon stairs. 2021-03-24 15:42:37 -04:00
Avi Weinstock
ebc8e945d4 In agent::Sys, perform target selection periodically to avoid agents going after their target too singlemindedly. 2021-03-23 23:00:05 -04:00
Avi Weinstock
19ea0c3f21 Fix expect-panic on failed UID lookups in inventory_manip. 2021-03-23 19:04:21 -04:00
Avi Weinstock
75f1b0f5e0 Remove level from create_ship and CreateShip. 2021-03-23 10:44:42 +01:00
Avi Weinstock
deb9358c3a Add ServerEvent::CreateShip, and use it instead of CreateNpc for RtSim airships. 2021-03-23 10:44:37 +01:00
Avi Weinstock
49f39fb752 Make more systems work with an optional health component, to allow disabling health on rtsim airships (so that players can't hammer them out of the sky). 2021-03-23 10:44:32 +01:00
Avi Weinstock
e2a74c5e5c Enable RtSim airships. 2021-03-23 10:44:22 +01:00
Marcel
f895b95bbe Merge branch 'aweinstock/fix-agenttrade-acceptspam' into 'master'
Make merchants not virtually spamclick accept.

See merge request veloren/veloren!1976
2021-03-23 09:39:40 +00:00
Avi Weinstock
833ab7f1a8 Make merchants not virtually spamclick accept. 2021-03-22 22:53:53 -04:00
heydabop
0e3f7625a9 Fix #962 - kick old client and add new client on duplicate login 2021-03-22 19:15:24 -05:00
Marcel Märtens
6b23101fac update toolchain to nightly-2021-03-22 2021-03-22 16:41:04 +01:00
Marcel
dc4570def5 Merge branch 'sharp/texture-atlases' into 'master'
Enable allocation of new textures on atlas allocation failure.

See merge request veloren/veloren!1949
2021-03-22 04:35:41 +00:00
Samuel Keiffer
1374900928 Merge branch 'sam/combat-fixes' into 'master'
Fixes gaining combo by shooting loot bag

See merge request veloren/veloren!1953
2021-03-22 02:01:22 +00:00
Joshua Barretto
7ae4230dc8 Merge branch 'zesterer/pick' into 'master'
Pickaxe

See merge request veloren/veloren!1959
2021-03-22 00:19:42 +00:00
Joshua Barretto
6ea5aa796b Faster pick, less vibrant block selection 2021-03-21 20:38:08 +00:00
Joshua Barretto
fb3980e273 Outcome for block destruction, take select_pos from ControllerInputs 2021-03-21 20:10:05 +00:00
Marcel
983523c463 Merge branch 'vfoulon80/climbing-skill' into 'master'
Add climbing speed and cost

See merge request veloren/veloren!1950
2021-03-21 18:35:44 +00:00
Joshua Barretto
b45df7fe10 Switched to BasicMelee 2021-03-21 17:45:01 +00:00
Joshua Barretto
347e1022a0 Initial implementation of pickaxe 2021-03-21 16:09:16 +00:00
Vincent Foulon
e06870702f Add skill for swimming speed 2021-03-21 15:58:38 +01:00
Avi Weinstock
1351b9515c Update fall damage calculations. 2021-03-20 18:46:34 -04:00
Vincent Foulon
8b01abde67 address comments 2021-03-20 22:56:54 +01:00
Sam
92c9e8c477 Fixed gaining combo by shooting loot bags 2021-03-20 16:26:10 -04:00
Vincent Foulon
d0aa68a9d2 Add climbing speed and cost 2021-03-20 17:17:28 +01:00
Joshua Yanovski
866cc79d2e Enable allocation of new textures on atlas allocation failure.
This solves the problem of not being able to set the view distance too
high, especially in pathological cases like giant trees.  For
simplicity, we just freeze any atlas where allocation failed and start
allocating to a new texture and atlas, letting reference counting
destroy the old one when there are no more references to it.  Because of
the spatial locality of chunk allocations, chunks allocated together
will virtually always have similar lifetimes, so the odds of this
causing significant fragmentation are very low, meaning this simple
solution should not do much worse than a much fancier one.
2021-03-20 16:21:41 +01:00
Marcel
eabddd7263 Merge branch 'christof/trading_fix2' into 'master'
fix merchant getting stuck in non-existant trade when declining after accepting

See merge request veloren/veloren!1941
2021-03-19 09:29:45 +00:00
Christof Petig
fb40cd93a9 fix merchant getting stuck in non-existant trade when declining after accepting 2021-03-19 00:43:23 +01:00
Avi Weinstock
a770ef0f4a Fix agent flight by enabling flight mode at the start of each tick of the agent system. 2021-03-18 18:54:23 -04:00
Joshua Barretto
e8b053a09f Reduced rubber-banding and interpolation jerk without significantly impacting upon network usage 2021-03-17 21:31:07 +00:00
Marcel
afa11d03e5 Merge branch 'james/fix-npc-chat-spam' into 'master'
Correct npc chat spam

See merge request veloren/veloren!1921
2021-03-16 23:22:48 +00:00
James Melkonian
ba196c4345 merchants no longer run away while trading
(this time without refactoring)
2021-03-16 23:22:48 +00:00
Sam
18173caefe NPCs no longer target players inside safezones (and consider them to be defeated)
Warding aura no longer sometimes bypasses safezone invulnerability
2021-03-16 15:17:08 -04:00
Marcel
f4fa1e9cd3 Merge branch 'xMAC94x/slowjob' into 'master'
instead of using tokio::Threadpool for CPU bound long running tasks, use rayon, but drip feed and limit the tasks

See merge request veloren/veloren!1912
2021-03-16 15:28:28 +00:00
Joshua Barretto
ac20e57647 Prevent component inserts being immediately invalidated 2021-03-16 14:24:23 +00:00
Marcel Märtens
a286eb084a create a wrapper around rayon, slowjobpool, that spawns on rayon but drop feed it 2021-03-16 13:31:04 +01:00
Joshua Barretto
2d23a89509 Fixed missed component insert bug 2021-03-16 12:19:42 +00:00
Joshua Barretto
6f10a56589 Optimised entity sync code, increased animation throttling distance 2021-03-16 02:49:33 +00:00
Joshua Barretto
bf66886e7c Increased network throttling for reduced network bandwidth 2021-03-16 02:40:56 +00:00
James Melkonian
6ea43cfd75 Various RtSim and Agent Interaction Fixes 2021-03-16 01:30:35 +00:00
Marcel
ad49318a63 Merge branch 'sam/explosion-fix' into 'master'
Explosions now take into account hitbox of entity.

See merge request veloren/veloren!1905
2021-03-15 22:26:28 +00:00
Sam
461ad6e339 Rebalanced explosion strengths 2021-03-15 00:36:07 -04:00
Sam
26f5d40bff Explosions now take into account hitbox of entity. 2021-03-14 23:45:55 -04:00
Avi Weinstock
9304ecab3d Address Imbris's MR 1888 comments, and add changelog entry.
- Use Ori::{new,to_quat} and make the field private.
- Update/capitalize/add various comments.
- Implicitly drop scope guards where applicable.
- Take !Copy colliders by reference instead of cloning.
- s/cylinder_voxel_collision/box_voxel_collision/
- Unindent some physics code with a continue.
2021-03-14 23:21:46 -04:00
Avi Weinstock
bbb11882e2 Add lerping of physics to extrapolated position, and enable sending updates for stopped entities. 2021-03-14 23:20:48 -04:00
Avi Weinstock
a32be4ac5a Address MR 1888 review comments.
- Delete obsolete symbolic links.
- Add suggested comments.
- Remove dead code.
2021-03-14 23:17:28 -04:00
Avi Weinstock
aa56166c80 Fix fmt and clippy, and rename {psdr,psdw} to {read,write} in physics. 2021-03-14 23:17:26 -04:00
Joshua Barretto
3496c356e2 More relative motion changes 2021-03-14 23:14:26 -04:00
Avi Weinstock
5ff72a4a2e /airship angle command and RtSim airships. 2021-03-14 23:14:26 -04:00
Joshua Barretto
e59b68c262 Mountable airships 2021-03-14 23:14:25 -04:00
Joshua Barretto
f4b3d8145b Smooth airship movement 2021-03-14 23:14:21 -04:00
James Melkonian
6ff054099f Allow spawned airships to move 2021-03-14 23:09:52 -04:00
Avi Weinstock
bcd3799395 Airship fixes: figure culling, player hitbox bounds w.r.t. airships, physics state unioning. 2021-03-14 23:09:51 -04:00
Avi Weinstock
5d85775dcf Airship progress: now possessable, and physics kind of works (desyncs from the visuals by a shift + scale, and rotation isn't done at all yet, but the contours are correct). 2021-03-14 23:09:51 -04:00
Avi Weinstock
8b9e84972a Draft of airships (spawn command, visuals, some physics refactoring, no collision yet). 2021-03-14 23:09:49 -04:00
Marcel
5570b57282 Merge branch 'sam/yeet-inputs' into 'master'
Reworked Controller Inputs to use Control Actions

See merge request veloren/veloren!1900
2021-03-15 01:32:02 +00:00
Forest Anderson
8cec35a9af Merge branch 'synis/fix-safezone-mass' into 'master'
Fix safezone entity mass

See merge request veloren/veloren!1902
2021-03-15 00:52:03 +00:00
Sam
ecff675cc4 Wielding now works again
Rolling now resumes combo states correctly again
Cleanup
2021-03-14 17:26:55 -04:00
Sam
ac6e192db4 Completely purged old method of inputs 2021-03-14 17:26:55 -04:00
Sam
b5d501199d Secondary input now fully functional 2021-03-14 17:26:53 -04:00
Sam
21e6f4797c Primary ability fully functional. 2021-03-14 17:26:53 -04:00
Sam
19c81f1528 Support for canceling an input. Boost state hooked up to system. 2021-03-14 17:26:52 -04:00
Sam
c6d8daaae3 Primary input now activated from control actions.
Moved a lot of key_state to a HashSet so that it is handled automatically.
2021-03-14 17:26:51 -04:00
Synis
29d1dca067 Added mass to safezone entity 2021-03-14 22:04:56 +01:00
Snowram
60dd47cdea Theropod charge attack 2021-03-14 18:10:40 +01:00
Christof Petig
15b11d9154 Implement /price_list (work in progress), stub for /buy and /sell
remove outdated economic simulation code

remove old values, document

add natural resources to economy

Remove NaturalResources from Place (now in Economy)

find closest site to each chunk

implement natural resources (the distance scale is wrong)

cargo fmt

working distance calculation

this collection of natural resources seem to make sense, too much Wheat though

use natural resources and controlled area to replenish goods

increase the amount of chunks controlled by one guard to 50

add new professions and goods to the list

implement multiple products per worker

remove the old code and rename the new code to the previous name

correctly determine which goods guards will give you access to

correctly estimate the amount of natural resources controlled

adapt to new server API

instrument tooltips

Now I just need to figure out how to store a (reference to) a closure

closures for tooltip content generation

pass site/cave id to the client

Add economic information to the client structure
(not yet exchanged with the server)

Send SiteId to the client, prepare messages for economy request
Make client::sites a HashMap

Specialize the Crafter into Brewer,Bladesmith and Blacksmith

working server request for economic info from within tooltip

fully operational economic tooltips
I need to fix the id clash between caves and towns though

fix overlapping ids between caves and sites

display stock amount

correctly handle invalid (cave) ids in the request

some initial balancing, turn off most info logging

less intrusive way of implementing the dynamic tool tips in map

further tooltip cleanup

further cleanup, dynamic tooltip not fully working as intended

correctly working tooltip visibility logic

cleanup, display labor value

separate economy info request in a separate translation unit

display values as well

nicer display format for economy

add last_exports and coin to the new economy

do not allocate natural resources to Dungeons (making town so much larger)

balancing attempt

print town size statistics

cargo fmt (dead code)

resource tweaks, csv debugging

output a more interesting town (and then all sites)

fix the labor value logic (now we have meaningful prices)

load professions from ron (WIP)

use assets manager in economy

loading professions works

use professions from ron file

fix Labor debug logic

count chunks per type separately
(preparing for better resource control)

better structured resource data

traders, more professions (WIP)

fix exception when starting the simulation

fix replenish function
TODO:
- use area_ratio for resource usage (chunks should be added to stock, ratio on usage?)
- fix trading

documentation clean up

fix merge artifact

Revise trader mechanic

start Coin with a reasonable default

remove the outdated economy code

preserve documentation from removed old structure

output neighboring sites (preparation)

pass list of neighbors to economy

add trade structures

trading stub

Description of purpose by zesterer on Discord

remember prices (needed for planning)

avoid growing the order vector unboundedly

into_iter doesn't clear the Vec, so clear it manually

use drain to process Vecs, avoid clone

fix the test server

implement a test stub (I need to get it faster than 30 seconds to be more useful)

enable info output in test

debug missing and extra goods

use the same logging extension as water, activate feature

update dependencies

determine good prices, good exchange goods

a working set of revisions

a cozy world which economy tests in 2s

first order planning version

fun with package version

buy according to value/priority, not missing amount

introduce min price constant, fix order priority

in depth debugging

with a correct sign the trading plans start to make sense

move the trade planning to a separate function

rename new function

reorganize code into subroutines (much cleaner)

each trading step now has its own function

cut down the number of debugging output

introduce RoadSecurity and Transportation

transport capacity bookkeeping

only plan to pay with valuable goods, you can no longer stockpile unused options
(which interestingly shows a huge impact, to be investigated)

Coin is now listed as a payment (although not used)

proper transportation estimation (although 0)

remove more left overs uncovered by viewing the code in a merge request

use the old default values, handle non-pileable stocks directly before increasing it
(as economy is based on last year's products)

don't order the missing good multiple times
also it uses coin to buy things!

fix warnings and use the transportation from stock again

cargo fmt

prepare evaluation of trade

don't count transportation multiple times

fix merge artifact

operational trade planning
trade itself is still misleading

make clippy happy

clean up

correct labor ratio of merchants (no need to multiply with amount produced)

incomplete merchant labor_value computation

correct last commit

make economy of scale more explicit

make clippy happy (and code cleaner)

more merchant tweaks (more pop=better)

beginning of real trading code

revert the update of dependencies

remove stale comments/unused code

trading implementation complete (but untested)

something is still strange ...

fix sign in trading

another sign fix

some bugfixes and plenty of debugging code

another bug fixed, more to go

fix another invariant (rounding will lead to very small negative value)

introduce Terrain and Territory

fix merge mistakes
2021-03-14 03:18:32 +00:00
Imbris
fcdd7f1c8b Merge branch 'imbris/tracy-tweaks' into 'master'
Improvements for tracy server analysis and other misc tweaks

See merge request veloren/veloren!1891
2021-03-13 22:26:26 +00:00
Imbris
0127832172 Fix tracy not working in certain areas, add span to chunk gen, missing fmt, remove extra span, make voxygen use INFO level instead of TRACE in tracy mode 2021-03-13 13:30:20 -05:00
Imbris
3c4829bc4a Fix server panic 2021-03-13 03:57:06 -05:00
Imbris
2511b8959c Add tracy entity count plot, span tweaks 2021-03-13 02:59:58 -05:00
Imbris
8d0b776f18 Move server-cli commands to separate file, tracy profiling par_join improvements, misc improvements
- remove overwritten logging setting in server-cli
- add server-cli command to load a random area for testing without a client
- make admin add/remove commands modify ingame players instead of needing to reconnect
- add spans to par_join jobs
- added test command that loads up an area of the world
- add tracy-world-server alias
- set debug directives to info for logging
2021-03-13 02:28:59 -05:00
Marcel Märtens
1cb6101326 lock on streams to allow parallel send 2021-03-12 09:25:12 +01:00
Marcel
5d32690fbf Merge branch 'xMAC94x/server_parallize' into 'master'
handle msg as part of the servers state for best parallelisation. also include agent there

See merge request veloren/veloren!1878
2021-03-11 21:52:18 +00:00
Marcel
93cab075f8 Merge branch 'xMAC94x/non_blocking_register' into 'master'
Auth requests are now done async, the register system is fetching it, via a PendingLogin component

See merge request veloren/veloren!1875
2021-03-11 21:51:55 +00:00
Joshua Barretto
235d657c97 Made /time relative to the current day for day-relative times 2021-03-11 19:13:19 +00:00
Marcel Märtens
a3e6cf3815 handle msg as part of the servers state for best parallelisation. also include agent there 2021-03-11 19:09:21 +01:00
Samuel Keiffer
9b198b5cda Merge branch 'sam/sceptre-overhaul' into 'master'
Overhaul sceptre

Closes #768

See merge request veloren/veloren!1845
2021-03-11 16:47:50 +00:00
Marcel Märtens
728bff610b Allow HTTP auth servers again.
only `localhost` are allowed in a release build.
 when debug assertions are on, others are also allowed.

This change undoes the changes to the settings, so compared to master, there is no effect
2021-03-11 17:24:52 +01:00
Marcel Märtens
381bb5eef0 fix tracy 2021-03-11 17:05:17 +01:00
Marcel Märtens
a98e72c391 Auth requests are now done async, the register system is fetching it, via a PendingLogin component
The auth server no longer allows the protocol to be specified. we enforce `https` for the auth server, so DO NOT provide a auth url with `https://` but without.
correct is now `auth.veloren.net`
incorrect is: `https://auth.veloren.net`
2021-03-11 17:05:02 +01:00
Marcel Märtens
f8b7d96066 git push -fTransport ChunkRequests and Chunkupdates in a own stream. ChunkUpdates are very big and having them in a own stream, helps slow clients to keep up with entity syncs and
lagging a bit behind on terrain. Which is fine. Block Places and Block Pickup are not handled in this stream, as they go through the standart route of event handling.
2021-03-11 14:50:46 +01:00
ccgauche
2cbbff7fb9 Fixed clippy 2021-03-10 21:10:08 +01:00
ccgauche
67b24294d6 Change Ecs access system to allow write accesses to be used + reintroduced get_player_name 2021-03-10 19:36:53 +01:00
Marcel
524ded586d Merge branch 'aweinstock/validate-char-create' into 'master'
Validate starting item and body type server-side.

See merge request veloren/veloren!1869
2021-03-10 01:42:42 +00:00
Avi Weinstock
f64c29f09d Validate starting item and body type server-side. 2021-03-09 18:28:25 -05:00
Sam
d4bdacb2e7 Made migration more explicit in what skills it targeted, instead of using a LIKE query. 2021-03-09 18:03:12 -05:00
Sam
16222948a3 Sceptre skill tree and migration. 2021-03-09 18:02:07 -05:00
Sam
940b4b5de7 Combo counter now uses outcomes. 2021-03-09 17:59:42 -05:00
Sam
c6a222340e Particles for lifesteal beam. Changed how frontend recognized beams. 2021-03-09 17:59:39 -05:00
Sam
18edc1092b Basic beam now generates combo. Healing beam now consumes combo, and requires combo to heal. 2021-03-09 17:59:33 -05:00
Sam
a1bbc136fc New abilities for sceptre are done 2021-03-09 17:56:38 -05:00
ccgauche
10e5620642 Moved back register to a system 2021-03-09 21:16:23 +01:00
Marcel Märtens
77dea4980c get rid of a lazy_static and update agent multithreaded metrics 2021-03-09 11:52:57 +01:00
Marcel Märtens
4ebfbdde0f Move Specs code to own common_ecs create, put tracy and macros into common_base 2021-03-09 00:54:01 +01:00
Marcel Märtens
f353f14703 change Name from VSystem to System 2021-03-08 13:15:00 +01:00
Marcel Märtens
989d130692 update state to system name. This will break grafana boards and thus needs an adjustment 2021-03-08 11:51:18 +01:00
Marcel Märtens
ea94ca6656 switch server to the new Registry struct, this gets rid of RegistryFn pattern and simplyfies stuff, its a result of the Prometheus-tracy crate 2021-03-08 11:51:16 +01:00
Marcel Märtens
6b88545481 restructure server metrics
- get rid of old SysTimers for each system in favour of VSystem tracking
 - move metrics generation from lib.rs to own system
 - code cleanup
 - remove time tracking in common::sys
2021-03-08 11:51:13 +01:00
Marcel Märtens
c515fece28 Implement a VSystem trait that can be implemented by Systems.
It will autodo some things, like track start and time and export those in system metrics
Add a origin and implement it for all Systems in Veloren
2021-03-08 11:51:04 +01:00
ccgauche
89774980b4 First commit 2021-03-07 22:32:52 +01:00
Avi Weinstock
c4f7c9b951 Make the probabilities data to assert that the expected value is less than 1. 2021-03-06 15:11:19 -05:00
Avi Weinstock
22fcc6417c Make fireworks recursively shoot more fireworks (95% average replication). 2021-03-06 14:05:51 -05:00
Avi Weinstock
ae37b71ab6 Increase MAX_CHASE_DIST from 20 to 250, so enemies don't ignore you if you're fireballing them from a hallway. 2021-03-06 10:50:04 -05:00
ccgauche
077659be9d Fixed tracy 2021-03-05 19:02:33 +01:00
Sam
ae856edb31 Fixed debug back armor. Removed leather_3 item. 2021-03-03 15:05:51 -05:00
Marcel
ef1ee4c4fa Merge branch 'xMAC94x/mpsc' into 'master'
Change the way Network is dropped.

Closes #46

See merge request veloren/veloren!1846
2021-03-03 15:19:44 +00:00
Marcel Märtens
a55ec20c74 fix #46 🥳 2021-03-03 12:37:09 +01:00
Marcel Märtens
9028578bc8 Change the way Network is dropped.
Instead of keeping Runtime and manually spawn a task on `drop` this task is spawned at start and will wait to be triggered.
The `drop` methods then wait for completion, UNLESS they are in a async context, then they MUST NOT BLOCK (deadlock potential), so they defer it to the Runtime and HOPE for the runtime to exist long enough.
This get rid of the weird `block_in_place` which is only accessable with `rt-multi-threaded` and has some disadvantages.
We also wont requiere the runtime to be active all the time. Though its needed for a clean shutdown
2021-03-03 11:28:40 +01:00
James Melkonian
f9fc015680 Address comments 2021-03-02 19:55:28 -08:00
James Melkonian
8bdadc47b5 Initial behavior tree refactoring 2021-03-02 15:49:58 -08:00
Snowram
2b7b9f887b Fixes leather sets 2021-03-02 19:28:29 +01:00
ccgauche
7f4411ba1f Merge branch 'master' into 'ccgauche/plugin-player-join-event'
# Conflicts:
#   CHANGELOG.md
2021-03-02 09:45:15 +00:00
Sam
55b980a57c Migration for missed backpacks 2021-03-01 23:27:20 -05:00
Samuel Keiffer
f16c137635 Merge branch 'sam/item-use-as-action' into 'master'
Item use is now goes through a control action rather than a control event.

Closes #979

See merge request veloren/veloren!1839
2021-03-02 03:25:55 +00:00
Sam
3a88ab5bb3 Migration to fix sturdy red backpack 2021-03-01 21:37:14 -05:00
Sam
d02c61ad8a Item use is now goes through a control action rather than a control event. 2021-03-01 20:51:08 -05:00
Justin Shipsey
9ad8804b60 Merge branch 'armor-org' into 'master'
armor org

See merge request veloren/veloren!1835
2021-03-02 01:29:46 +00:00
Jesus Bracho
c0573cca44 Implement stacking and splitting 2021-03-02 00:08:46 +00:00
jshipsey
308045cfc9 final asset corrections, fix glider anim 2021-03-01 17:37:47 -05:00
ccgauche
e327b18c4a Fixed clippy warning 2021-03-01 22:44:18 +01:00
ccgauche
c28ac78e03 Separated the registration system into two files 2021-03-01 22:35:22 +01:00
ccgauche
db9991ce6d Adressed all comments 2021-03-01 22:24:02 +01:00
ccgauche
9628dfaf99 Fixed comments 2021-03-01 21:29:18 +01:00
ccgauche
4cffd2cadd Updated CI + Changelog 2021-03-01 19:28:27 +01:00
ccgauche
dbd4d70b79 Lots of improvement in pointer management (switched from i32 to u64) + New event implemented 2021-03-01 19:00:44 +01:00
Samuel Keiffer
0497a437a4 Merge branch 'sam/invulnerability-buff' into 'master'
Invulnerability Buff

Closes #965

See merge request veloren/veloren!1834
2021-03-01 05:46:46 +00:00
Sam
7e34f1225f Migration for armor re-organization. 2021-03-01 00:42:35 -05:00
jshipsey
8944115f8e more asset organization 2021-02-28 22:18:43 -05:00
Samuel Keiffer
537efdd47e Merge branch 'aweinstock/trade-requestitem' into 'master'
During a trade, allow requesting items from the counterparty's inventory...

See merge request veloren/veloren!1829
2021-03-01 02:39:36 +00:00
Sam
d09baadab2 Added command: '/safezone' 2021-02-28 18:14:59 -05:00
Sam
a88ad7b971 Added invulnerability debuff. Currently tied to campfire spawned with '/campfire' command. 2021-02-28 15:02:03 -05:00
Avi Weinstock
7e458ecd40 During a trade, allow requesting items from the counterparty's inventory (prequisite for NPC trading). 2021-02-28 10:13:49 -05:00
Sam
50c47ce84d Made changes to fix torvus 2021-02-27 22:42:11 -05:00
Sam
404c7f0905 Combo melee now checks combo 2021-02-27 18:24:28 -05:00
Sam
f24433c8cf Added combo component 2021-02-27 14:55:06 -05:00
jshipsey
8d316aac8c feedback adjustments 2021-02-27 01:42:47 -05:00
jshipsey
16a44cd532 minotaur moves, added claygolem 2021-02-27 01:42:47 -05:00
jshipsey
417f4638ed balance pass 2 2021-02-27 01:42:47 -05:00
jshipsey
e06ebf3507 initial balance 2021-02-27 01:42:47 -05:00
Snowram
1b9815dc34 Adds 3 new npcs, tusk ram new design 2021-02-27 01:42:46 -05:00
Sam
53b0ba286a Ice particles for Wendigo 2021-02-27 01:42:46 -05:00
jshipsey
aa4237b019 BL improvements, various fixes 2021-02-27 01:42:45 -05:00
jshipsey
ac16a8900d bow 2021-02-27 01:42:45 -05:00
Sam
45dd36be07 Auras now apply a buff only once, instead of applying a buff every second.
Also supports for buffs persisting a period of time after leaving the aura.
Campfire regen slightly buffed.
2021-02-26 17:57:01 -05:00
Samuel Keiffer
8e07174c1d Merge branch 'aweinstock/coin-item' into 'master'
Add a coin item and make amounts visible on dropped items.

See merge request veloren/veloren!1821
2021-02-26 04:17:12 +00:00
Samuel Keiffer
6af9e58965 Merge branch 'add-gemu-models' into 'master'
Add sword and bow models from backlog

See merge request veloren/veloren!1818
2021-02-26 02:59:51 +00:00
Avi Weinstock
7d2e8f72eb Add a coin item and make amounts visible on dropped items. 2021-02-25 21:31:30 -05:00
Sam
b0b4a07b9e Bows 2021-02-24 20:37:43 -05:00
Sam
ee5c9d78ca Swords 2021-02-24 18:54:06 -05:00
Avi Weinstock
78014d7d3b Put material stats in their own manifest, and multiply a form's stats by the weighted average of the material multipliers. 2021-02-23 15:49:34 -05:00
Snowram
14c252d8b2 Merge branch 'snowram/turret' into 'master'
Object animation, beam fixes, turret implementation

See merge request veloren/veloren!1805
2021-02-23 20:16:56 +00:00
ccgauche
06aa7ab70c Retrieves added + New ECS memory layout for plugins 2021-02-22 23:59:32 +01:00
ccgauche
1597fcc79e Fixed the plugin compilation and added comments
TODO: Remove compilation errors on WASM side (while using common).
2021-02-22 23:59:25 +01:00
ccgauche
a067a20b69 added basic retreive 2021-02-22 23:59:11 +01:00
Marcel Märtens
3f5c64bec0 Client::new can now resolve DNS requests, better networking error messages 2021-02-22 17:35:19 +01:00
Marcel Märtens
1a7c179bbb share tokio Runtime between Client and Server, name rayon Threadpool 2021-02-22 17:35:06 +01:00
Marcel Märtens
514d5db038 Update Network Protocol
- now last digit version is compatible 0.6.0 will connect to 0.6.1
 - the TCP DATA Frames no longer contain START field, as it's not needed
 - the TCP OPENSTREAM Frames will now contain the BANDWIDTH field
 - MID is not Protocol internal

Update network
 - update API with Bandwidth

Update veloren
 - introduce better runtime and `async` things that are IO bound.
 - Remove `uvth` and instead use `tokio::runtime::Runtime::spawn_blocking`
 - remove futures_execute from client and server use tokio::runtime::Runtime instead
 - give threads a Name
2021-02-22 17:34:55 +01:00
Joshua Barretto
e2290783fc Merge branch 'humanoid_ai_glide_when_falling' into 'master'
FIX #956: Humanoid ai glide when falling

See merge request veloren/veloren!1772
2021-02-22 00:57:25 +00:00
Overblob
370259fe54 CI - Fix clippy errors
Fix trailing whitspace
2021-02-22 00:57:25 +00:00
Snowram
4078eeb877 Various fixes to object animation, cleanup 2021-02-21 19:56:46 +01:00
Sam
f5a74b4f33 Removed duplicate possess stick 2021-02-20 17:12:27 -05:00
Avi Weinstock
c489d095df Implement persistence for modular weapons.
This stores the components as children of the item that contains them via the DB's `parent_container_item_id` feature, and ensures that things are loaded in a good order with breadth-first search.

Squahed fixes:

- Fix some constraint violations that occurred when swapping inventory items.
- Comment out recipes for modular weapons.
- Make update_item_at_slot_using_persistence_key and is_modular more idiomatic.
- Add changelog entry.
- Document `defer_foreign_keys` usage.
2021-02-20 14:31:46 -05:00
Snowram
f78170704a Allows some species to be immune to specific buffs 2021-02-20 14:03:15 +00:00
Sam
d5ccc33abc Factored out duplicate code into closures, consolidated ability handling logic to a single function. 2021-02-19 18:45:48 -05:00
Sam
341affdae2 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
Marcel Märtens
03af9937cf 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
ea8ab1ce7a 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
5aa1940ef8 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
1b77b6dc41 Initial switch to tokio for network, minimum working example. 2021-02-17 12:37:59 +01:00
TheThirdSpartan
f10f88081d Small chat message formatting changes and fixed missing player alias during admin entity possession 2021-02-17 02:15:45 +00:00
Joshua Barretto
4d19308612 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
Quellus
8b4230db61 Limit character name length 2021-02-16 21:29:45 +00:00
Avi Weinstock
c984035976 MR 1775 review fixes.
- Separate `invite` machinery from `group_manip` into it's own thing (includes renaming `group_invite` to `invite` where applicable).
- Move some invite/trade machinery to `ControlEvent`.
- Make `TradePhase` a proper enum instead of a bunch of bools.
- Make `TradeId` a proper newtype.
- Remove trades from `Trades` on accept (previously was only on decline).
- Typo fixes/misc cleanup.
- Add bullet point for trading to the changelog.
2021-02-14 11:13:56 -05:00
Avi Weinstock
232ddb0860 Polish trading implementation and address review comments.
- Fix item swapping edge case
- Document more assumptions/edge cases
- fmt and clippy
- s/ServerGeneral::GroupInvite/ServerGeneral::Invite/
- Use `Client::current` in `Client::is_dead`
2021-02-14 11:11:35 -05:00
Avi Weinstock
f6db8bb7c4 Implement actual inventory-manipulation part of trading server side. 2021-02-12 18:43:10 -05:00
Avi Weinstock
abb5684883 Trade implementation progress.
- Accept/decline buttons that submit the proper messages
- A phase2 screen that renders the (item, quantity) pairs as text
- More checks in the trade state machine server-side.
2021-02-12 18:43:10 -05:00
Avi Weinstock
e2b55e0706 Implement enough of a trade UI that dragging & dropping items into it round-trips between clients. 2021-02-12 18:43:09 -05:00
Avi Weinstock
aeb2398fc6 Trade implementation progress.
- Server messages now bring up the trade window.
- When a trade is declined, it closes the window on both clients.
2021-02-12 18:43:09 -05:00
Avi Weinstock
ae528124fc Trade implementation progress.
- State machine for modifying trades.
- ServerGeneral/ClientGeneral messages.
2021-02-12 18:43:09 -05:00
Avi Weinstock
e9b811b62b Plumb trade requests through the group invite UI, such that they can be accepted/declined without impacting the counterparty's movement. 2021-02-12 18:43:09 -05:00
Quellus
63952875d9 Rebase !1447 Chat input color and icon reflect channel message is sent to. 2021-02-10 19:42:59 +00:00
Sam
e033fe6bee Inventory manipulations are now only for input from the client, and are no longer directly sent as a server event. Slot manipulations do that instead. 2021-02-08 13:55:50 -05:00
James Melkonian
1d8496ea21 Move agent system to server 2021-02-06 06:15:25 +00:00
Ludvig Böklin
a1ff9ab83f Redefine Ori as a quaternion 2021-02-05 09:33:14 +01:00
Imbris
b9f404c6f5 fix test server 2021-02-04 00:18:46 -05:00
Sam
d13302f256 Fixed bombs panicing the server. 2021-02-03 00:41:19 -05:00
Sam
be8df9aef6 Addressed comments. 2021-02-02 16:08:09 -05:00
Sam
80954f3ba4 Made attacker entity and uid optional to remove potential for attacks to not be applied and some unwraps. 2021-02-02 13:07:07 -05:00
Sam
17d1432be0 Outcomes now correctly read if an attack had any healing components. 2021-02-02 13:07:06 -05:00
Sam
5eec915c2e Added support for damage falloff with explosions. 2021-02-02 13:07:06 -05:00
Sam
5c16b0b532 Explosions now use attacks. 2021-02-02 13:07:06 -05:00
Sam
2b11ae6569 Attacks can now heal. 2021-02-02 13:07:04 -05:00
Sam
fdef168e82 Beams now use Attack, with limited functionality in some cases. 2021-02-02 13:07:03 -05:00
Sam
c3408c084c Critical hits are now functional. 2021-02-02 13:06:32 -05:00
James Melkonian
23b1df3cdd Add basic NPC interaction and fix NPC chat spamming 2021-01-31 20:29:50 +00:00
jiminycrick
a02444825d Address some comments
Eliminated extra stagger state

Responding to more comments

Move poise character state changes to character behavior system

Move poise out of JoinTuple/Data

Finish up comments (various fixes)
2021-01-28 17:31:05 -08:00
jiminycrick
46c8c744fa Add migration for starter gear 2021-01-28 17:22:39 -08:00
jiminycrick
152156d065 Fix rebase and scrub poise from UI 2021-01-28 17:22:39 -08:00
jiminycrick
661764f4aa Some preliminary balancing
Fix rebase
2021-01-28 17:22:39 -08:00
jshipsey
29732bb763 starting stun anim
stagger anim, mirroring, bettern walk anim

wielding with stuns/stagger

Knockback fix

Added Poise documentation/comments
2021-01-28 17:22:37 -08:00
jiminycrick
0f244bf84b Made stunned state invulnerable to poise damage
Fixing silly error for comp creation
2021-01-28 17:22:35 -08:00
jiminycrick
dd69b5f2bc Poise stats 2021-01-28 17:22:35 -08:00
jiminycrick
af076aa87f Add knockback to poise 2021-01-28 17:22:35 -08:00
jiminycrick
e3965ae0ab Very basic functioning stun 2021-01-28 17:22:35 -08:00
jiminycrick
c83296a4ec Initial broken implementation of poise
Character movement no longer broken.
2021-01-28 17:22:33 -08:00
jiminycrick
8b97199245 Update rand dependency 2021-01-26 20:35:08 -08:00
Scott Williams
e50bd4dc6f Changed some recipes to use other gems. Removed DELETE statements from migration. 2021-01-24 19:45:44 +00:00
Scott Williams
157e56d8ca Removed Shiny Gem, Added migration to change shiny gems to diamonds. Changed shiny gem recipes to diamonds 2021-01-24 16:40:22 +00:00
Sam
77312ccdd4 Move outcome vec from being defined in frontend and server to common. 2021-01-23 15:17:36 -05:00
Sam
4014b28d19 Removed body from stats component as there is already a body component. 2021-01-22 16:50:22 -05:00
Monty Marz
1eb7f78189 Revert "Added TR translations for deaths by debuffs."
This reverts commit 0817e45e13.
2021-01-20 11:20:06 +00:00
Sam
221dfc0ffa Players should no longer reward exp on being killed. 2021-01-19 15:27:56 -05:00
Sarra Kitty
e7d852835c Sarrakitty/rotsys item sprites 2021-01-19 18:23:44 +00:00
Samuel Keiffer
b04158c5f9 Merge branch 'sam/combat-skill-trees' into 'master'
Sam/combat skill trees

See merge request veloren/veloren!1680
2021-01-19 14:18:07 +00:00
Monty Marz
ac60bf5794 Better visuals for skill button labels, don't show "0 EXP" in the SCT
Made functions that were called every frame significantly cheaper.

Final UI fixes.
2021-01-19 08:08:29 -05:00
Sam
eaa41c7dea Skills are now factored into combat rating. New formula for exp scaling per SP.
Adjust lvl up msg fade

Add female humanoid names WIP

Changed text formatting when skill is max level. Added message to show you have 0 skill points available.

Addressed a lot of comments.

various changes to UI

- fix skillbar offset
- remove CR indicators for group members
- add CR indicators to group member frames
- use unified CR indicator icon

Exp reward tweaks.

Fixed flamethrower range skill description.
2021-01-19 08:08:26 -05:00
jshipsey
5d1993009f keyframed axe spin
Fixed error in converting FK to entity_id from character_id.

Giant match statements in persistence.

Tweaked roll.

Changed how skills and skill groups were assigned in the skillset builder so it's format more closely followed loadout builder.
2021-01-19 08:08:18 -05:00
Monty
5362000de4 adjusted potions, refined level up message animation
fixed incorrect translation used on axe double strike regen skill

Changed migration so that skills and skill groups foreign key to entity_id instead of character_id
2021-01-19 08:08:14 -05:00
jiminycrick
3d44ac2c35 Humanoid skill config and AI skill check
updated axe skill with correct icons
2021-01-19 08:08:05 -05:00
Sam
6ce422748c Added SkillSetConfig to specify skill sets for npcs. 2021-01-19 08:07:55 -05:00
Sam
83fdc8806d Added function to automatically generate a combat rating. Currently, it is used to calculate exp. 2021-01-19 08:07:54 -05:00
Sam
4f552a736e Added skill point costs to tooltips. 2021-01-19 08:07:53 -05:00
Sam
ae8c8b47f1 Added tooltips with numbers. Balancing on some skills.
Added experience scaling for tougher enemies.
2021-01-19 08:07:51 -05:00
Sam
89766b2b34 Added command to give yourself skill points.
adjusted social window

Changelog
2021-01-19 08:07:49 -05:00
Sam
cb3e44a811 Health can now be scaled for npcs again. 2021-01-19 08:07:40 -05:00
Sam
b6d2d48ead Exp floaters.
You load in with correct energy and health values now.
2021-01-19 08:07:36 -05:00
Monty Marz
30df603115 flashing buttons for available points, WIP lock/unlock indicator
Condensed UI code. Removed some hardcoding.

icons

squash later, WIP colouring for unavailable skills
2021-01-19 08:07:33 -05:00
Sam
51c0bd765f Database support for refunding skills.
Nonfunctional xp floaters, squash when working.

more icons, lock visuals
2021-01-19 08:07:29 -05:00
Monty Marz
48bd921d0a EXP bar and available points UI
fix overhead UI

Add WIP overhead difficulty indicator

readd commented out exp counter for later use

Wired skill information into UI.
2021-01-19 08:07:25 -05:00
Sam
c0c45a1996 Purged stats, including level and experience 2021-01-19 08:07:23 -05:00
Sam
48c98b11cf General combat skill tree.
UI for general skill tree
2021-01-19 08:07:20 -05:00
Sam
495a8eba1c Added migrations for skill trees. 2021-01-19 08:07:00 -05:00
Sam
69be3a3d93 Added persistence for skill trees. 2021-01-19 08:07:00 -05:00
Sam
cbfe064e4f You now gain skill points after a threshold of xp within a particular skill group.
Skills can now unlock skill groups. Temp method of using chat to unlock skills.
2021-01-19 08:06:52 -05:00
Jesus Bracho
42679201b0 Set up aura filtering 2021-01-18 22:58:56 +00:00
Sam
63eb71ed5b Exp is now awarded to specific skill groups. It's automatically split between a general pool and weapon pools based on if you have the weapon in your loadout and if you've unlocked the weapon pools. 2021-01-18 17:54:03 -05:00
Jesus Bracho
ec79890335 Provide buff information on killed entities 2021-01-18 05:46:53 +00:00
ubruntu
74d17ff4c8 Slightly better bird pathing 2021-01-15 00:42:57 +00:00
Ben Wallis
c785e75e60 Follow-up fixes from review of inventory MR 2021-01-10 11:27:09 +00:00
Monty Marz
06e7ac25c1 fix loot tables, enemy bar color change 2021-01-09 15:26:24 +01:00
Ben Wallis
aef2637288 Refactored loadout to have public functions for each slot instead of requiring callers to use the _INDEX consts 2021-01-08 19:12:09 +00:00
Joshua Barretto
1604616768 Merge branch 'ccgauche/new-wasmer-backend' into 'master'
ccgauche/new wasmer backend

See merge request veloren/veloren!1644
2021-01-08 08:48:31 +00:00
ccgauche
06ffe61219 Added feature flag
changed field name to size
2021-01-08 08:48:30 +00:00
Joshua Barretto
a4b9230f03 fixed Cargo.lock conflict
Fixed `crossbeam-queue` being referenced  twice in the lockfile
2021-01-07 20:25:12 +00:00
ubruntu
ae366e03c5 Reduced downward fall of birds, Humanoid travelers no longer visit dungeons, birds only travel between dungeons 2021-01-05 01:04:01 +00:00
Ben Wallis
5636083e27 * Fixed character load errors not being handled in Voxygen.
* Improved server error message for character load errors.
* Added server logging for item asset load errors during character load.
* Fixed character select error message dialog not supporting long messages.
2020-12-30 19:29:22 +00:00
Ben Wallis
c07844ba52 Fixed diesel schema namespace conflicts in persistence 2020-12-28 23:56:23 +00:00
Acrimon
e76474463a
update authc 2020-12-28 16:42:40 +01:00
Sarra Kitty
e8eb2b3a6c new gliders
added sandraptor glider

added sandraptor glider

stuff

working on other raptor gliders

adding file and placeholder model (copy of morpho) for monarch butterfly gliders

adding models for snow and wood raptor gliders

added a proper model for the monarch glider

adding crafting recipies for raptor gliders, and raptor feather item for the recipe. Made monarch and morpho rare drops in cave loot table

made raptors drop their feathers

fmt
2020-12-24 02:54:18 +00:00
Marcel
d2da8d671f Merge branch 'a1phyr/use_assets_manager' into 'master'
Use `assets_manager` to load assets

See merge request veloren/veloren!1624
2020-12-17 12:25:29 +00:00
Marcel
37d6fbc3ce Merge branch 'entropicdrifter/refactor-attacker-name' into 'master'
Create and use get_attacker_name method

See merge request veloren/veloren!1529
2020-12-17 11:53:36 +00:00
Benoît du Garreau
0cf164f33a Use assets_manager to load assets 2020-12-17 12:06:07 +01:00
Marcel Märtens
26918d10c9 update chrossbeam, tracy, prometheus (and reduce server deps to crossbeam-channel) 2020-12-16 00:51:07 +01:00
Joshua Barretto
494436be01 Hid plugins behind a feature flag to resolve Windows CI issue 2020-12-15 11:14:26 +00:00
Joshua Barretto
023888f560 Updated changelog, fmt and clippy fixes 2020-12-13 17:40:15 +00:00
Joshua Barretto
f8c8e342e6 Moved common networking code to common/net, clippy fixes 2020-12-13 17:23:45 +00:00
Joshua Barretto
027842f832 Resolved plugin dependency cycle, allowing more interesting plugin API 2020-12-13 17:15:33 +00:00
Joshua Barretto
8e937a50ca Better plugin API 2020-12-13 17:15:33 +00:00
ccgauche
cae81e625e Added plugin command support 2020-12-13 17:15:33 +00:00
Marcel Märtens
ccb01e1898 adjust fmt and clippy after toolchain upgrade 2020-12-10 14:53:01 +01:00
Joshua Barretto
fe7f73bf62 Removed panic sources from server event handling 2020-12-07 12:28:29 +00:00
James Melkonian
71303fecfd Aura System and Campfire Health Regen 2020-12-04 22:24:56 +00:00
ubruntu
c975f811e7 Chat commands for group manipulation 2020-12-04 02:18:42 +00:00
Marcel Märtens
e398cca53c move common_state into common_sys 2020-12-01 13:46:28 +01:00
Marcel Märtens
add7922653 Move Systems out of common into common_sys
This requires to move `State` into a own crate called `common_state` which depends on `common` and `common_sys`
2020-12-01 13:44:07 +01:00
ubruntu
1b27adaffd Stop /home from causing fall damage 2020-11-30 21:13:06 +00:00
Sam
6a6260daa1 Weapon combat fixes:
- Modified energy and speed scaling of sword, axe, and hammer combo melees.
 - Nerfed bow basic attack knockback. Buffed bow damage and energy regen.
 - Corrected xp values for theropods. Removed unnecessary function for xp increase per level.
 - Guards no longer flee at low health.
 - Buffed sword spin.
 - Nerfed axe spin and sword dash moderately.
 - Dash now takes a little time to reach full speed. Sword M2 and hammer M1 damage values tweaked.
2020-11-26 09:15:45 +01:00
Imbris
c0a8422a43 Fix turning off worldgen feature 2020-11-24 23:55:44 -05:00
Sam
33e4448542 Replaced every unnecssary powf in the entire codebase with either powi or sqrt. 2020-11-24 18:28:24 -06:00
Sam
0abe02ca13 Restructures loadout builder function to better support weapons being passed in. 2020-11-23 18:22:24 -06:00
Joshua Barretto
d52b595240 Merge branch 'zesterer/worldsim' into 'master'
Rtsim, HDR rendering, various worldgen improvements, map improvements

See merge request veloren/veloren!1533
2020-11-23 16:59:31 +00:00
Joshua Barretto
26fd40c0e3 Fmt, make clippy happy 2020-11-23 15:39:03 +00:00
Joshua Barretto
d023265212 Allow entities to despawn without a home chunk 2020-11-23 15:16:07 +00:00
Joshua Barretto
765a1ca17b Switched light map iteration order, fire bowls in dungeons 2020-11-23 10:58:21 +00:00
Joshua Barretto
8fd2e4537d Addressed review comments 2020-11-23 10:57:57 +00:00
Snowram
3bcffe1bf7 Assigns spawned npcs loadout with new method 2020-11-23 10:57:56 +00:00
Monty Marz
b950447bed added enum for different dungeon enemies 2020-11-23 10:57:56 +00:00
Sam
0b86943e66 Added LoadoutConfig to better specify loadouts. 2020-11-23 10:57:56 +00:00
Joshua Barretto
7850b0bcaf Added site names, dungeon difficulty, better explosions 2020-11-23 10:57:55 +00:00
Joshua Barretto
42c6142ec6 Added occasional sky emission at night 2020-11-23 10:57:15 +00:00
Joshua Barretto
28b0a00b44 Removed per-level dungeon waypoints 2020-11-23 10:57:14 +00:00
Joshua Barretto
29a8e8c359 Fixed rebase 2020-11-23 10:45:02 +00:00
Monty Marz
1864f4626c map icons 2020-11-23 10:45:01 +00:00
Joshua Barretto
de685b00b2 Improved water pathfinding 2020-11-23 10:45:01 +00:00
Joshua Barretto
d4d4f17d3c Added world map size icons 2020-11-23 10:45:01 +00:00
Joshua Barretto
c906764889 Better LoD 2020-11-23 10:45:01 +00:00
Joshua Barretto
450bc6c4ae Prevented rtsim entities always climbing 2020-11-23 10:45:01 +00:00
Monty Marz
225756b011 npc armour 2020-11-23 10:45:01 +00:00
Joshua Barretto
7359dc6e1f Removed giants, gave lanterns to rtsim NPCs 2020-11-23 10:45:01 +00:00
Joshua Barretto
22fb71905b Added rtsim entities moving when unloaded, better generation 2020-11-23 10:45:01 +00:00
Joshua Barretto
59bb0c433e Added simulation entity updating 2020-11-23 10:45:00 +00:00
Joshua Barretto
99a881f349 Added entity simulation to rtsim, reification, assimilation 2020-11-23 10:44:59 +00:00
Joshua Barretto
808d1873bd Began implementing rtsim 2020-11-23 10:37:59 +00:00
Joshua Barretto
3ee4245652 Added test poles, minor improvements 2020-11-23 10:37:59 +00:00
Joshua Barretto
da9b23d4f6 Merge branch 'knarkzel/fix-npc-spawn' into 'master'
Fix bug that caused campfires and other stuff to duplicate

See merge request veloren/veloren!1543
2020-11-22 21:03:06 +00:00
Odd-Harald Lillestø Myhren
56e37a4846 Fix bug that caused campfires and other stuff to duplicate 2020-11-22 21:03:06 +00:00
Imbris
4e60d19762 Remove accidental leftover dbg 2020-11-22 02:58:44 -05:00
Monty Marz
8235e94aa4 Conversion to struct to please clippy 2020-11-21 15:42:43 +01:00
Snowram
a939eac30d Refines spawn values, add gradients to debug_column 2020-11-21 14:33:35 +01:00
Snowram
2b08e8b931 Make /debug_column pick current location as default 2020-11-21 14:33:34 +01:00
Snowram
febe79e602 Added remaining creature spawns 2020-11-21 14:33:33 +01:00
Joshua Barretto
2ae51de7f0 Added more creature spawns 2020-11-21 14:33:32 +01:00
Joshua Barretto
bb6ca9fcba Don't despawn entities so eagerly 2020-11-21 14:33:31 +01:00
Joshua Barretto
87edbf02ab Random orientation for spawned NPCs 2020-11-21 14:33:31 +01:00
Imbris
2e94a63246 Merge branch 'ubruntu/system-independent-itempaths' into 'master'
Ubruntu/system independent itempaths

See merge request veloren/veloren!1538
2020-11-21 04:08:12 +00:00
ubruntu
198c59d2df Ubruntu/system independent itempaths 2020-11-21 04:08:11 +00:00
Imbris
e72c69ca41 Merge branch 'imbris/fix-apple-bug' into 'master'
Fix issues with not being able to grab highlighted apples by unifying distance checking

Closes #820

See merge request veloren/veloren!1532
2020-11-21 02:55:09 +00:00
Imbris
ea275e320f Rename pos fields of Cube and Cylinder for enhanced clarity and added a few tests to the find_dist module 2020-11-20 20:51:44 -05:00
jiminycrick
b3aa454f8e Initial work to move combat sfx to outcomes 2020-11-18 13:31:12 -08:00
jiminycrick
77d624f640 Made level up sounds use outcomes instead of emitting an event 2020-11-18 13:31:12 -08:00
Imbris
7427367d96 Fix issues with not being able to grab highlighted apples by unifying distance checking 2020-11-17 23:06:02 -05:00
Snowram
950eb1976d Addressed more comments 2020-11-17 23:54:01 +01:00
Snowram
7af561263d Addressed comments 2020-11-17 23:27:13 +01:00
Snowram
93642428f2 Move eye sight and scale in body.rs, mounts tweaks 2020-11-17 23:27:13 +01:00
Ben Wallis
143ecd6e34 Moved waypoint persistence to new waypoint column on stats table 2020-11-17 07:51:50 +00:00
entropicdrifter
fae3cf2521 create and use get_attacker_name method 2020-11-15 21:49:54 -05:00
Imbris
cbb701f30d Temp fix for the home command 2020-11-15 20:40:12 -05:00
Sam
69bb54b4a2 Campfires can no longer be yeeted by arrows. 2020-11-15 11:13:03 -06:00
Joshua Barretto
d72c981808 Merge branch 'treeco/home-removes-waypoint' into 'master'
Made home command reset waypoint to world spawn

See merge request veloren/veloren!1520
2020-11-15 02:12:12 +00:00
Imbris
891e81cf58 Merge branch 'imbris/save-selected-char' into 'master'
Save the selected character, deselect character when deleting, auto select newly created character

See merge request veloren/veloren!1516
2020-11-15 01:40:44 +00:00
Treeco
48c9e9fb27 Made home command reset waypoint to world spawn 2020-11-15 01:06:27 +00:00
Imbris
4f2512f126 Save the selected character, deselect character when deleting, auto select newly created character 2020-11-14 19:17:42 -05:00
Imbris
2072929a5a Send ability map from the server to the client on connection instead of loading from the assets 2020-11-14 16:07:07 -05:00
Ben Wallis
40e9c4a3e2 Fixed character data not being persisted on character switch 2020-11-14 13:36:54 +00:00
Sam
b5f59f9cf3 Fixed tests. Addressed comments. 2020-11-13 10:41:34 -06:00
Sam
e2fe2fd532 Speed and power on weapons are now able to modify abilities after they are loaded from ron files. 2020-11-12 21:24:36 -06:00
Imbris
37e4ea4669 Remove ability map from top level functions 2020-11-12 21:24:35 -06:00
Sam
9b4fa4e961 Started moving loading of ability manifest to an ecs variable. 2020-11-12 21:24:34 -06:00
Joshua Barretto
9b233708e2 Turned tree generation into a post-processing layer, ripped out old tree generator for performance wins 2020-11-09 10:20:22 +00:00
Christof Petig
b56919b123 Make waypoints persistent
Closes #549
2020-11-08 22:15:47 +01:00
Christof Petig
b11da85ff9 Patch for the position de-synchronization by imbris
See https://discordapp.com/channels/449602562165833758/449650240350453760/774724295452393522
2020-11-08 18:56:55 +01:00
AlKabir
4803ee5c81 changed to an or operand 2020-11-07 23:37:15 -06:00
AlKabir
6535deae9c added two meat assets for mobs to drop 2020-11-07 23:34:20 -06:00
AlKabir
289126d9c8 Make different mobs drop different assetts on death (not just lootbags) cargo fmt 2020-11-07 22:50:38 -06:00
AlKabir
134c481408 Make different mobs drop different assetts on death (not just lootbags) 2020-11-07 22:50:38 -06:00
Imbris
133ba82a9b Use item_definition_id for weapon asset mapping 2020-11-07 16:44:11 -06:00
Sam
ca65cdace1 Yeeted from manifest files. 2020-11-07 15:53:14 -06:00
AlKabir
77f3c7e3c5 Minor combat fixes (see issue 785) 2020-11-07 18:00:07 +00:00
Marcel Märtens
40f5afc2b0 ci cleanup, dependency update 2020-11-06 14:34:42 +01:00
Samuel Keiffer
44f676d90c Merge branch 'sam/make-roll-great-again' into 'master'
Roll overhaul

See merge request veloren/veloren!1484
2020-11-06 03:25:18 +00:00
Sam
37ecb165ef Addressed comments. Roll now only provides i-frames to melee attacks. It also reduces height of hitbox. 2020-11-05 20:40:20 -06:00
Snowram
0d92f02deb Buff stonegolem, nerf giants, add missing sfxs 2020-11-06 01:08:33 +01:00
Snowram
ce96af4363 Allow for an arbitrary array of effects and buffs for consumables 2020-11-06 01:08:30 +01:00
Sam
4a1a3f3ecc Roll now gives i-frames. 2020-11-05 16:48:04 -06:00
Sam
55e75adec0 Created new fields in roll. Centralized generation of abilities. Added builder function for rolls since they are not yet tied to equipment. 2020-11-05 12:28:18 -06:00
Marcel
121364821a Merge branch 'xMAC94x/FeuerzeugBierflasche' into 'master'
xMAC94x/feuerzeugBierflasche

See merge request veloren/veloren!1478
2020-11-05 09:22:50 +00:00
Sam
f69f494524 Fixed crash from changes in explosion code. 2020-11-04 22:21:02 -06:00
Sam
a0af315930 Addressed comments. 2020-11-04 19:22:08 -06:00
Sam
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
Sam
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
Sam
87bff41a66 Addressed comments. 2020-11-04 19:22:05 -06:00
Sam
c48c022f7e Separated out health from stats component. 2020-11-04 19:22:04 -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
Marcel Märtens
094bb7c45a keep Presence when possesing 2020-11-04 11:49:05 +01:00
Christof Petig
ac92c8a6af implement /home to return to home town 2020-11-04 00:55:15 +01:00
Marcel Märtens
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
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
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
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
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
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
Marcel Märtens
2290efd219 remove clippy warnings no longer needed 2020-11-03 08:55:44 +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
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
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
Imbris
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
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
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
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
jiminycrick
50aac17d94 Added secondary skills to agent code (except bow) 2020-10-19 16:20:58 +02:00
Enrico Marconi
80b863da3b Fix #793 2020-10-18 11:03:02 +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
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
55b59fbe07 various small fixes according to the MR 2020-10-12 11:25:20 +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
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
Imbris
fa45edb541 Fix clippy, minor fmt, add TODO comments 2020-10-10 03:01:30 -04:00
Imbris
39f78e9116 Remove saves dir env var and setting from server settings and just always use saves as the dir name 2020-10-10 02:15:54 -04: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
ca2bf937e6 Apply saves dir override when loading settings, change whitelist to a HashSet, let admins login even if they are not on the whitelist to reflect the comments in login code 2020-10-10 02:10:32 -04:00
Imbris
83fb26c4f9 Group editable server settings into one struct that is stored in the ecs, don't expose DataDir, use Uuid in the whitelist instead of usernames, replace Banlist record tuple with new type with named fields, remove commented code 2020-10-10 02:10:32 -04:00
Imbris
fb2cf1a292 Fix clippy warnings 2020-10-10 02:10:32 -04:00
Imbris
308cca0dc9 Put server-cli specific settings in their own structure, serde_derive -> serde 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
26d59a62fc Downgrade debug -> trace in persistence code 2020-10-10 02:10:32 -04:00
Monty Marz
2b800a2b63 make clippy happy
Delete glider.ron
2020-10-07 02:23:20 +00:00
Ben Wallis
51459c0733 Implemented graceful shutdown on SIGUSR1 signal. Added shutdown <seconds> TUI command. Added abortshutdown TUI command. Fixed a bug in TUI that caused a panic on quit in basic mode on windows. 2020-10-04 21:24:45 +01: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
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
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
Imbris
c8d7bf3aad Merge branch 'xvar/remove-option-from-characterloader-channels' into 'master'
Removed unnecessary Option around send and receive channels in character_loader.rs

See merge request veloren/veloren!1412
2020-09-27 22:30:25 +00:00
Ben Wallis
9178327e09 Removed unnecessary Option around send and receive channels in character_loader.rs 2020-09-27 22:12:41 +01:00
Ben Wallis
1205820e8b Preserve admin component if present on return to character select screen 2020-09-27 20:25:00 +01: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
Ben Wallis
099dfaae9c Added several missing items that didn't exist in any inventories/loadoads on the production server to the item_persistence migration 2020-09-27 14:51:57 +01: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
Joshua Yanovski
103bda2230 Removed redundant code missed in auth merge. 2020-09-22 18:21:31 +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
Sam
b4018e7d42 Made 3rd ability interruptible. Final balance tweaks. 2020-09-21 17:40:16 -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
Joshua Barretto
0ca42857fa Addressed review issues 2020-09-21 21:10:32 +01:00
Joshua Barretto
388a899a7f Added make_sprite command 2020-09-21 16:39:20 +01:00
Joshua Barretto
49d1b3df6d Improved docs 2020-09-20 11:46:12 +01:00
Joshua Barretto
ece4a01867 Improved representation of Block for better performance, more features, and better backwards-compatibility 2020-09-20 11:46:12 +01:00
Sam
45fef87f32 Addressed comments 2020-09-19 14:40:21 -05:00
Sam
e39770d1d9 Golem now spawns in dungeon. 2020-09-19 14:40:20 -05:00
Sam
d0f068ba63 Fixed shockwave and melee crit damage bypassing infinite armor. Made knockback not be applied if infinite armor. 2020-09-19 14:40:18 -05:00
Sam
6327dd18b6 Moved knockback to a server event so that it would actually be applied to the player. 2020-09-19 14:40:17 -05:00
Sam
3e4615daea Loadouts are now generated with loadout_builder.rs. Creatures spawned naturally and via command are now spawned with the same mechanics. 2020-09-19 14:40:14 -05:00
Imbris
829d8a20d1 Add shockwave system to handle shockwaves colliding with other entities 2020-09-19 14:40:10 -05:00
Sam
717142d5ea Started to implement shockwave system. 2020-09-19 14:29:06 -05:00
Sam
68ecfba291 Projectile speed is no longer hard-coded. 2020-09-19 14:29:05 -05:00
Sam
66b0fee3c7 Separated knockback out from basicmelee. Added weapon for cyclops boss to use, and added 1 ability to it. 2020-09-19 14:29:04 -05:00
scott-c
2686598f1f Improve first-person projectile aiming 2020-09-19 19:14:23 +08:00
Snowram
f9fada87cf Addresses comments 2020-09-18 18:45:03 +02:00
jshipsey
5bb45a4861 spawn tweaks, improved odonto 2020-09-17 22:32:11 -04:00
jshipsey
cd6e1ad45f haul out the critter skele, add theropod 2020-09-17 22:32:10 -04:00
jshipsey
ecae71c016 gliders as items. anim improvements 2020-09-17 22:32:09 -04:00
Ben Wallis
712f2e9c97 * Moved migrations to beginning of server initialisation
* Added migrations for entity ID changes to existing tables
2020-09-17 23:02:14 +00:00
Marcel Märtens
cb6fa52eae fix client stats, difference client/player 2020-09-17 00:19:48 +02:00
Marcel Märtens
3c58b64689 add detailed information on state tick timings 2020-09-16 18:24:18 +02:00
Marcel Märtens
184d405f10 Better Metrics for Server
- Player online is now seperated into players connected and disconnected and is event driven
 - Metrics for ChunkGeneration: this is the server side for tracking actuall generation
 - Metrics for Chunk Network Requests
2020-09-16 18:14:04 +02:00
Joshua Yanovski
19485b6a00 Add a DisconnectReason enum. 2020-09-14 08:16:09 +02:00
tylerlowrey
bdff4bc04c Prevent client from ignoring Kicked event 2020-09-14 07:54:05 +02:00
tylerlowrey
9e7ec63800 Converted banlist to use Uuids as the key instead of the username 2020-09-14 07:54:05 +02:00
tylerlowrey
2c55afcfa9 Added username_to_uuid convenience function to LoginProvider 2020-09-14 07:54:05 +02:00
tylerlowrey
2b0c1e89f3 Refactored kicking the player into its own function + ran fmt on project 2020-09-14 07:54:05 +02:00
tylerlowrey
d57adc518e Removed unnecessary clone in ban handling function 2020-09-14 07:54:05 +02:00
tylerlowrey
4653eb63c4 Converted banlist from vector of tuples to HashMap 2020-09-14 07:54:05 +02:00
tylerlowrey
30c3146682 Added main menu kick message with kick reason after player is kicked 2020-09-14 07:52:31 +02:00
tylerlowrey
fee79720ee Added ban message with reason when banned user attempts to login to server 2020-09-14 07:52:31 +02:00
tylerlowrey
f171e4e870 Removed usage of AuthProvider as AuthProvider no longer exists 2020-09-14 07:52:31 +02:00
tylerlowrey
c3c4b88fe7 Added banlist check to try_login method 2020-09-14 07:52:31 +02:00
tylerlowrey
f402df2c56 Altered ban so that it kicks the player as well 2020-09-14 07:52:31 +02:00
tylerlowrey
e9348f2fb5 Fixed requiring a restart in order for banlist to take effect 2020-09-14 07:52:31 +02:00
tylerlowrey
ea4f9b9a36 Added unban command functionality 2020-09-14 07:52:31 +02:00
tylerlowrey
c2a7fc1586 Prevent multiple bans of same player 2020-09-14 07:52:31 +02:00
tylerlowrey
def21af02b Added ban command functionality 2020-09-14 07:52:31 +02:00
tylerlowrey
dadb1fbe12 Added kick command functionality 2020-09-14 07:52:31 +02:00
tylerlowrey
3bc57b4087 Added banlist to server settings and added default value 2020-09-14 07:52:31 +02:00
Imbris
c3ae641fbb Merge branch 'imbris/tracy' into 'master'
Add more tracing instrumentation and tracy support

See merge request veloren/veloren!1359
2020-09-10 05:07:51 +00:00
Matthew Martin
57c6160b72 * Set the KillType to Other for HealthSource::Healing
* Extend logic to projectiles and explosions
2020-09-09 23:34:10 +02:00
Matthew Martin
a9086b27a0 Do not make healing items deal damage 2020-09-09 23:22:49 +02:00
TheThirdSpartan
7fd673ecb2 Added localization config options for new death messages 2020-09-09 20:26:20 +00:00
Imbris
f39d1e9bb5 Use less verbose span names when the tracy feature is off 2020-09-07 00:59:16 -04:00
Imbris
0683a40741 Use finish_continuous_frame directly 2020-09-06 22:28:14 -04:00
Imbris
63d60c212c Add spans to server systems 2020-09-06 22:28:14 -04:00
Marcel Märtens
961b8a4d7c Implement the Player Timeout as config 2020-09-06 23:34:57 +02:00
TheThirdSpartan
6dbd1bc132 adding feature requested in issue #153 - displaying your alias in game as 'you' 2020-09-06 19:42:32 +00:00
Joshua Barretto
b87bbaff0b Merge branch 'xMAC94x/hotfix_increase_timeout' into 'master'
tmp increase TIMEOUT from 20s to 40s.

See merge request veloren/veloren!1352
2020-09-06 17:54:59 +00:00
Imbris
dc2fc11956 Merge branch 'bag' into 'master'
Dropping a bag instead of turning entity into one

Closes #747

See merge request veloren/veloren!1362
2020-09-05 20:33:13 +00:00
Joshua Barretto
49c713a071 Merge branch 'zesterer/rtsim' into 'master'
Beehives, Fireflies, and minor worldsim/lighting adjustments

See merge request veloren/veloren!1357
2020-09-05 17:16:08 +00:00
notoria
264b5ec1c5 Avoid destroying a deleted entity
Suggested by @Imbris.
2020-09-05 18:59:14 +02:00
notoria
23021f955f Dropping a bag instead of turning entity into one 2020-09-05 11:11:19 +02:00
Imbris
fb33a5e519 Merge branch 'termac/inventory_collect_when_full_fix' into 'master'
Fix bug collecting items into full inventory

See merge request veloren/veloren!1333
2020-09-05 06:51:22 +00:00
Joshua Barretto
0c0f150140 fmt 2020-09-04 11:48:57 +01:00
Joshua Barretto
57ccf4863e Moved scatter to dedicated file 2020-09-04 11:48:57 +01:00
Joshua Barretto
032ec9ef41 Added bee hives 2020-09-04 11:48:56 +01:00
Joshua Barretto
4405227ffb Made light attenuation nicer, fixed campfire light offset 2020-09-04 11:48:54 +01:00
Joshua Barretto
2a64a75a0f Made boulders avoid rivers 2020-09-04 11:41:56 +01:00
termac
f05c120fab Fix bug collecting items into full inventory
When the inventory is full and a player tries to reclaim an item from a
block, collecting always failed. If the item is stackable and already
present inside the inventory it should be collected though.
The collect case now behaves more like the pickup case, using
inventory's 'push' method to add the item and implicitly check for
available space.
2020-09-02 12:47:56 +02:00
Marcel Märtens
3ee7bb5a98 tmp increase TIMEOUT from 20s to 40s.
This will not solve the StreamClose, but make it less annoying for some.
2020-09-01 23:16:11 +02:00
Capucho
6a83da0dfd Force migration text trough tracing 2020-09-01 23:03:33 +02:00
Joshua Yanovski
3a96b73b2c Move figure meshing to a background thread. 2020-08-28 05:25:31 +02:00
Imbris
4790373ab3 Add State::read_component_copied 2020-08-26 20:47:41 -04:00
Imbris
dcce5641f7 Fix broken features and avoid panic if the client leaves before character data loads 2020-08-26 20:47:39 -04:00
Joshua Barretto
bf7afcf5c9 Merge branch 'zesterer/small-fixes' into 'master'
Better world colours, better projectiles, better aiming, many other small improvements

See merge request veloren/veloren!1332
2020-08-25 15:59:05 +00:00
notoria
2be4202d01 Corrected some spelling errors 2020-08-25 12:21:25 +00:00
Joshua Barretto
6a4c5a05d0 Fixed projectile collisions, hitboxes, better aiming 2020-08-24 18:24:44 +01:00
Monty Marz
ce929d2924 Address comments, clippy and minor adjustments
first bunch of comments addressed

change order or scatter, paths and caves being applied in worldgen to avoid floating scatter objects

campfire adjustments, reduced grass density due to FPS issues

readded item descriptions to the crafting window, item desc for craftable armour

address comments
happy clippy, happy life
clippy

clippy

more clippy
fmt

revert cargo.toml formatting
remove "allow unreachable pattern"
fmt
2020-08-21 22:37:08 +02:00
Monty Marz
e3eb34085f craftable starting set
velorite staff update

ore_nature_longbow

model fix
humanoid colours

Update agent.rs

improve rng (according to zesterer)

slower fleeing

More adjustments

fix cult leader name

more loot tables

all kinds of adjustments

smöl adjustments
2020-08-21 19:36:21 +02:00
Monty Marz
55d126861f fix tooltips in char selection, more balancing
fix talking animals

fix critter exp, stronger villagers

biped large balancing

more villager balancing, mushroom spawning rate

more balancing

fix rebase

multiple loottables

Add tarasque and bonerattler armour

Added loot tables for different groups of weapons and armor based off relative strength. Added loot table for cultist boss.

Added loot tables for consumables and food. Trimmed down default loot table.

remove male and female sign from char creation

chest loot tables

fix loot tables

lootable crates

lantern keybinding display

more loot tables

loot table changes

fixed loot tables

fix typo
more grass

rebase fix, better lantern

re-add sprite rotation for grass

crafting window alignment fix, new streetlamps, new shopsigns, new healing staff

height change
2020-08-21 19:36:19 +02:00
Sam
924d09e46c balancing
more specific stats

Update body.rs

more balancing

non hostile catoblepas and mouflons

quad low
more adjustments
Animals with enemy alignment now deal correct damage. Made health scaling species-specific.
2020-08-21 19:36:17 +02:00
Monty Marz
b930c34d89 agent changes, sprite spawning changes, alignment changes 2020-08-21 19:36:16 +02:00
Marcel Märtens
daffe8bee3 enable veloren_network metrics 2020-08-21 18:00:21 +02:00
Marcel Märtens
42141b3aa3 remove some trace! in network which a) was only spam and b) could be replaced by a metric way better.
added a span for disconnecting on the gameserver side. also added more debug! tracing there
Just keeping a trace! all 10000ms active to have a keep alive feeling.
2020-08-21 18:00:14 +02:00
Marcel Märtens
b59fc2ff0c improve tracing and spans in network crate 2020-08-21 18:00:00 +02:00
Forest Anderson
9315ac758a Merge branch 'spyros/empty-default-admins' into 'master'
Make the default admin list an empty vec

Closes #721

See merge request veloren/veloren!1316
2020-08-20 23:41:47 +00:00