Commit Graph

340 Commits

Author SHA1 Message Date
timokoesters
d876215012
feat(combat): melee combat damage depends on power of the weapon
Normal NPCs have a weapon of power 5 so they do 5 damage if the attack
is not blocked. Bosses and players have power 10.
2019-10-04 21:02:44 +02:00
timokoesters
fc97c27b65
feat(bow): sticky arrows 2019-10-04 21:02:43 +02:00
timokoesters
df4c4bbd5d
fix(bow): initial orientation wrong for 1 frame 2019-10-04 21:02:42 +02:00
timokoesters
ab634f1d21
Reuse combat code 2019-10-04 21:02:41 +02:00
timokoesters
2ba143a514
Make arrows deal damage 2019-10-04 21:02:41 +02:00
timokoesters
e3c02f8ac1
Allow projectiles to react to triggers 2019-10-04 21:02:40 +02:00
timokoesters
d46f1e1859
Initial bow & arrow implementation 2019-10-04 21:02:39 +02:00
Acrimon
b4bca0a150 Format code. 2019-10-04 16:26:22 +02:00
Acrimon
6d6c020eab Updated to work on latest master. 2019-10-04 16:25:47 +02:00
Nicolas
6e4d556073 Add max chat message length
Fixes #115
Credit to @scorpion9979 for the previous implementation (https://gitlab.com/veloren/veloren/merge_requests/215)
2019-10-04 16:14:54 +02:00
Forest
35b9040a6f Removed now stable feature 2019-10-03 17:28:17 -04:00
Joshua Barretto
a6d5b82ef5 Prevented pickups with full inventory 2019-09-26 00:15:07 +01:00
Joshua Barretto
57a2313348 Don't consume unuseable items 2019-09-26 00:15:07 +01:00
Joshua Barretto
dff67e1c41 Added block collection, improved controls for it 2019-09-26 00:15:07 +01:00
Joshua Barretto
e22fe81a2f Added velorite 2019-09-26 00:15:07 +01:00
Joshua Barretto
f57c2ec453 Made consumable items have an effect, better damage animation 2019-09-26 00:15:07 +01:00
Joshua Barretto
a961a267f1 Added apple and mushroom collection 2019-09-26 00:15:07 +01:00
Joshua Yanovski
9ba64ca57f Addressing code review. 2019-09-16 15:11:47 +02:00
Joshua Yanovski
20f57cf7f3 Continue instead of breaking. 2019-09-16 04:18:40 +02:00
Joshua Yanovski
2abf7cd016 Fixing more rustfmt errors. 2019-09-16 04:05:36 +02:00
Joshua Yanovski
95b02912b6 Fixing rustfmt. 2019-09-16 04:01:05 +02:00
Joshua Yanovski
b4ad76372b Allow canceling chunk generation.
Currently we only do this when no players are in range of the chunk.  We
also send the first client who posted the chunk a message indicating
that it's canceled, the hope being that this will be a performance win
in single player mode since you don't have to wait three seconds to
realize that the server won't generate the chunk for you.

We now check an atomic flag for every column sample in a chunk.  We
could probably do this less frequently, but since it's a relaxed load it
has essentially no performance impact on Intel architectures.
2019-09-16 03:41:33 +02:00
Marcel Märtens
02fe9adfb7 Fix panic if starting singleplayer twice without closing the game
reduce costs for metrics by checking chunks only every 100th tick
add metrics for "server start time" and ingame "time of day"
2019-09-10 15:22:34 +02:00
Joshua Barretto
3f2e22f039 Exponential interpolation for linear damping
With an additional approximation to allow for the same size jumps given different framerates.
2019-09-09 19:11:40 +00:00
Marcel Märtens
58b0b49dfe adjust metrics to rebased Chunks 2019-09-09 10:47:40 +02:00
Marcel Märtens
b05e51152f update version, revert from static prometheus back to normal because static doesnt supprot registries, and implement most of the metrics except for entity count 2019-09-09 09:54:30 +02:00
Marcel Märtens
8d3fb40419 first implementation of prometheus in veloren for git hash, tick times, chunks loaded, player online, entity count and light count 2019-09-09 09:48:44 +02:00
haslersn
1796c09ca1 common: Rework volume API
See the doc comments in `common/src/vol.rs` for more information on
the API itself.

The changes include:

* Consistent `Err`/`Error` naming.
  * Types are named `...Error`.
  * `enum` variants are named `...Err`.
* Rename `VolMap{2d, 3d}` -> `VolGrid{2d, 3d}`. This is in preparation
  to an upcoming change where a “map” in the game related sense will
  be added.
* Add volume iterators. There are two types of them:
  * _Position_ iterators obtained from the trait `IntoPosIterator`
    using the method
    `fn pos_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `Vec3<i32>`.
  * _Volume_ iterators obtained from the trait `IntoVolIterator`
    using the method
    `fn vol_iter(self, lower_bound: Vec3<i32>, upper_bound: Vec3<i32>) -> ...`
    which returns an iterator over `(Vec3<i32>, &Self::Vox)`.
  Those traits will usually be implemented by references to volume
  types (i.e. `impl IntoVolIterator<'a> for &'a T` where `T` is some
  type which usually implements several volume traits, such as `Chunk`).
  * _Position_ iterators iterate over the positions valid for that
    volume.
  * _Volume_ iterators do the same but return not only the position
    but also the voxel at that position, in each iteration.
* Introduce trait `RectSizedVol` for the use case which we have with
  `Chonk`: A `Chonk` is sized only in x and y direction.
* Introduce traits `RasterableVol`, `RectRasterableVol`
  * `RasterableVol` represents a volume that is compile-time sized and has
    its lower bound at `(0, 0, 0)`. The name `RasterableVol` was chosen
    because such a volume can be used with `VolGrid3d`.
  * `RectRasterableVol` represents a volume that is compile-time sized at
    least in x and y direction and has its lower bound at `(0, 0, z)`.
    There's no requirement on he lower bound or size in z direction.
    The name `RectRasterableVol` was chosen because such a volume can be
    used with `VolGrid2d`.
2019-09-06 15:43:31 +02:00
timokoesters
9a832dd56b Move std::mem::discriminant into new method 2019-08-30 22:51:46 -04:00
timokoesters
77a48c61a1 Fix rolling for the player 2019-08-30 22:50:53 -04:00
timokoesters
e674424974 Allow non player entites to be removed again 2019-08-30 22:47:39 -04:00
timokoesters
a95893e43b
Remove inventory::swap and improve inventory::insert 2019-08-31 00:09:25 +02:00
timokoesters
bd8e71c5aa
Rename activate_inventory_slot to use_inventory_slot 2019-08-30 22:46:45 +02:00
timokoesters
082ccd7c46
Avoid right-ward shift 2019-08-30 22:32:47 +02:00
timokoesters
6e1c78e5d5
Add debug mode item giving speed boost in look_dir on click 2019-08-29 19:44:28 +02:00
timokoesters
155605841b
Use comp::Stats to store Equipment, make char weapon selection work 2019-08-29 19:44:28 +02:00
yashaslokesh
be71aea20b Changed exp type from f64 to u32 and altered exp calculations and function signatures to adhere to the new types
Signed-off-by: Yashas Lokesh <yashas.lokesh@gmail.com>
2019-08-27 22:33:14 +00:00
timokoesters
05f2f168fd
Make falldamage local, don't use force update for local, cleanup 2019-08-26 13:12:43 +02:00
timokoesters
3258fa3a3c
Add basis for projectiles
But we have no controller action to spawn them yet
2019-08-26 13:12:41 +02:00
Songtronix
814e858720
Split Events in ServerEvent and LocalEvent 2019-08-26 13:12:41 +02:00
timokoesters
e8ccbe75fa
Clean up entity spawning code 2019-08-26 13:12:39 +02:00
timokoesters
4d6a32e00f
Allow non player entites to be removed again 2019-08-26 13:12:35 +02:00
timokoesters
5d5ccd7b99
Move from state components to single CharaterState struct
This makes split animations easy and improves overall code quality
2019-08-26 13:12:34 +02:00
Acrimon
a41cf1a83d Disabled unsafe using lint level. 2019-08-19 14:39:23 +02:00
Monty Marz
29f6186139 hotbar changes
completely switched to. vox files

easier to see design

gradient and numbers on the health/mana bar
2019-08-18 18:07:21 +00:00
Acrimon
593deb828b [Server] Switched mpsc for crossbeam::channel. 2019-08-16 00:10:46 +02:00
Piotr Korgól
0221de484e Give singleplayer its own server settings 2019-08-14 17:51:59 +02:00
Piotr Korgól
8ec0a06bbe Fix spawn command, properly search for admins 2019-08-14 17:30:36 +02:00
Piotr Korgól
6882170d6f Add Admins field to the settings file 2019-08-14 17:30:36 +02:00
Acrimon
4f3b49ef8b Switched over the last std hashset. 2019-08-11 22:39:41 +02:00
Acrimon
1c22f380b0 Adjusted default spawn height for now 2019-08-11 13:37:04 +02:00
Joshua Barretto
d5aee13c91 Merge branch 'zesterer/small-fixes' into 'master'
Added entity event system, fixed fall damage

See merge request veloren/veloren!418
2019-08-09 23:56:49 +00:00
telastrus
eadf3a7671 created basic AuthProvider which we can change to suit our needs 2019-08-08 18:24:14 -04:00
telastrus
35a3f67e19 ran cargo fmt 2019-08-08 12:05:38 -04:00
telastrus
58e8bd4af9 removed println statements 2019-08-08 12:03:12 -04:00
telastrus
f2ed2870c6 90% there 2019-08-08 11:23:58 -04:00
telastrus
6d94d43021 still compiles 2019-08-07 23:56:02 -04:00
Joshua Barretto
5b62531da3 Added /explosion command 2019-08-07 18:17:04 +01:00
Joshua Barretto
192f5d355f Switched to EventBus system 2019-08-07 16:39:16 +01:00
Joshua Barretto
ff114a83b5 Made bosses slightly more powerful 2019-08-04 10:32:50 +01:00
timokoesters
86e10c914c Adjust xp gains 2019-08-03 22:27:48 +02:00
timokoesters
74b7613cd9 Get rid of unwraps 2019-08-03 22:08:19 +02:00
timokoesters
7365dbe9e6 Give xp depending on max hp and lvl of entity killed 2019-08-03 21:30:01 +02:00
Piotr Korgól
8f86f5c483 Allow normal enemies to spawn as humanoids 2019-08-03 12:35:16 +02:00
Joshua Barretto
6ba5cf3224 More interesting enemy spawning 2019-08-02 21:31:22 +01:00
Joshua Barretto
23cfe50455 Better health accessors methods 2019-08-02 20:49:48 +01:00
Joshua Barretto
677c5781ba Added bosses, improved secret object spawn rates 2019-08-02 20:10:52 +01:00
Joshua Barretto
6ff75dcf0b Removed NPCs that are outside the VD 2019-08-02 20:10:52 +01:00
Joshua Barretto
b5d10bfb3e Added worldgen npcs 2019-08-02 20:10:52 +01:00
Dominik Broński
f644b6ab89 Revert "Merge branch 'imbris/upgrade_specs' into 'master'"
This reverts merge request !375
2019-08-01 23:32:33 +00:00
Imbris
5f56657f6c Upgrade specs to 0.15 2019-08-01 18:09:13 -04:00
Monty Marz
a5926eb40a 0.3. login bg 2019-08-01 17:53:34 +00:00
Piotr Korgól
ec550620ad Add a health bonus for level ups, fix pets 2019-08-01 18:56:08 +02:00
Joshua Barretto
2d0569c3d9 Better item throwing 2019-08-01 09:12:00 +01:00
Joshua Barretto
39fc1d6b71 Added entity pickup, changed item model 2019-08-01 09:12:00 +01:00
Joshua Barretto
331b6c8b3a Altered Item structure 2019-08-01 09:12:00 +01:00
Joshua Barretto
995090d2d4 Added item drops 2019-08-01 09:12:00 +01:00
Joshua Barretto
b3cae2f3dd Added better item manipulation 2019-08-01 09:09:26 +01:00
Joshua Barretto
31f8794c39 Started work on inventory manipulation 2019-08-01 09:09:26 +01:00
Joshua Barretto
123a78552a Fixed block-hopping on edges, added correct inventory slots 2019-08-01 09:09:26 +01:00
Joshua Barretto
5bb7998d5a Added inventory sync messages and InventoryUpdate component 2019-08-01 09:09:26 +01:00
timokoesters
040aa897c1 Fix needing all components to update physics at all 2019-07-31 20:10:52 +02:00
timokoesters
b695a63e98 Send different physics components individually 2019-07-30 13:35:16 +02:00
timokoesters
16b445c828 Fix bugs with Last<T> 2019-07-30 10:49:41 +02:00
timokoesters
c6034bf450 Use Last<C> to check if a physics component changed 2019-07-30 08:32:03 +02:00
Monty Marz
5cfc60da50 Small chat fixes 2019-07-29 14:40:46 +00:00
Piotr Korgól
88db83c92a Instantly level up after reaching the required exp amount 2019-07-29 14:30:38 +02:00
Monty Marz
33565b9480 added comment about object rotation, changed lantern spawning command, changed /tell output when you /tell yourself 2019-07-28 09:21:17 +00:00
Piotr Korgól
5c84508015 Get EXP for killing NPCs and Players, properly show EXP bar 2019-07-26 20:51:40 +02:00
tommy
95b5f4acfb Added private, broadcast, and game_state messages 2019-07-26 07:29:37 -04:00
tommy
cc6aa6f33d Adds colour to tells in chat box #194 2019-07-26 07:29:37 -04:00
Nero
53086cb3b2 Nero/light offsets 2019-07-25 20:51:20 +00:00
Joshua Barretto
5cdfb26e0d Added LightEmitter component 2019-07-21 19:22:49 +01:00
Joshua Barretto
16c8ecec66 Fixed light cap 2019-07-21 19:22:49 +01:00
Joshua Barretto
1dc654dde7 Added object entities 2019-07-21 19:22:49 +01:00
Songtronix
de2dbcef45 add global git hash constant 2019-07-21 17:45:31 +00:00
Joshua Barretto
ce327445a7 Send block diffs instead of entire chunks on block change 2019-07-20 16:41:03 +01:00
Songtronix
bfa6a2e2a2 add configurable TimeOfDay 2019-07-17 18:32:02 +02:00
Songtronix
b41508f025 generalise errors based on zests suggestion 2019-07-17 18:32:01 +02:00
Songtronix
b6c8bdc223 add configurable max player count 2019-07-17 18:32:01 +02:00
Songtronix
bbb024224d add configureable server info 2019-07-17 18:32:01 +02:00
Songtronix
1213d9844b add customizable port and worldseed 2019-07-17 18:32:00 +02:00
Acrimon
ccc7cb2976 Ran rustfmt 2019-07-12 21:29:16 +02:00
Acrimon
69537f7dd9 Switched threadpool impl for veloren/server. 2019-07-12 18:30:15 +02:00
Joshua Barretto
c2a11ed6b2 Improved worldgen performance with more precise z bound checks 2019-07-08 15:51:38 +01:00
timokoesters
0236e2e8f2
Show join message after selecting a character 2019-07-05 22:16:06 +02:00
Piotr Korgól
bf748ae742 Add CanBuild component, Block placing client messages and build mode command 2019-07-03 21:28:07 +02:00
timokoesters
f5da167ce5
Fix warnings and clippy recommendations in common 2019-07-02 15:48:25 +02:00
Songtronix
1ee65a66cf Clean server and server-cli 2019-07-01 16:38:19 +00:00
Joshua Barretto
631df59083 Merge branch 'zesterer/small-fixes' into 'master'
Fixed chonk memory usage bug, added block manipulation

See merge request veloren/veloren!278
2019-07-01 15:22:04 +00:00
Joshua Barretto
489f5f6b2a fmt 2019-07-01 14:38:45 +01:00
Joshua Barretto
c8a2e4722c Fixed chonk memory usage bug, added block manipulation 2019-07-01 14:36:45 +01:00
timokoesters
370e7db1ee
Fix death 2019-06-30 22:29:00 +02:00
timokoesters
14400f6380
Remove Actor and use Body instead 2019-06-30 18:57:24 +02:00
Joshua Barretto
f1ba97ae7a Merge branch 'timo-rolling-fix' into 'master'
Rolling bugs + NPC bugs + "Impossible" bug

See merge request veloren/veloren!265
2019-06-29 21:47:05 +00:00
timokoesters
d235374d8e
Fix npc and death bug 2019-06-29 22:43:44 +02:00
timokoesters
c80351f6ca
Fix double roll bug 2019-06-29 19:49:51 +02:00
Joshua Barretto
324de39bfe fmt 2019-06-29 16:48:43 +01:00
Joshua Barretto
0c918c835f Prevented invalid username usage 2019-06-29 16:48:43 +01:00
timokoesters
b0ea959f67
Remove animation syncing (does not fix any known bug) 2019-06-29 17:09:38 +02:00
Joshua Barretto
692fa3f28d Above-ground spawn point, better figure dt scaling 2019-06-26 11:53:43 +01:00
Imbris
16e5b6bafd circular view distance 2019-06-23 15:49:15 -04:00
timokoesters
f0e6e76423
Don't sync animations, just sync components used to construct them 2019-06-16 19:59:15 +02:00
timokoesters
7deb3da1af
Add pub use phys:: and remove most pub mods 2019-06-16 19:59:12 +02:00
timokoesters
69cb2ed84f
Revamp control system 2019-06-16 19:57:03 +02:00
Cody
14ac5babd4 Removes most unused imports; changes some unused variables to underscores or provides a leading underscore; removes some unnecessary variables and mutable declarations; and performs other miscellaneous warning fixes. 2019-06-06 14:48:41 +00:00
Joshua Barretto
76dca0b0cf Added dynamic fog growth 2019-06-05 20:52:51 +01:00
Joshua Barretto
cd630b0816 Reduced threadpool threads to keep render thread smooth 2019-06-05 20:52:51 +01:00
Timo Koesters
930bc91174 Merge branch 'fix-server-info' into 'master'
Add server info and player list to client

See merge request veloren/veloren!197
2019-06-02 14:45:41 +00:00
Cody
75ca605f5d
Changes the physics misnomer Direction to Orientation and adjusts some ECS read_storage names. 2019-05-31 16:36:24 -04:00
Imbris
942096c754 Only send physics updates for entities within vd
Former-commit-id: d3307641cd31418bf8b9831296a96d58926184e0
2019-05-28 20:47:03 -04:00
Imbris
e3e8afd99b Stop drawing entities outside the vd
Former-commit-id: 34878fb66ec22ac77a7400724b80ad7f8321f4cf
2019-05-28 20:47:01 -04:00
Imbris
045f41dae7 Use vd setting when creating client
Former-commit-id: b9a32c6b2f1a61a407991507c63ba7d708723410
2019-05-28 19:16:06 -04:00
timokoesters
c10a43f541 Add server info
Former-commit-id: 9e504c821e871d30f8ac7cd4acb7a8022bdb5710
2019-05-28 22:25:46 +02:00
Joshua Barretto
f8e18eef01 Merge branch 'fix-delay' into 'master'
Fix attack delay

See merge request veloren/veloren!194

Former-commit-id: 2846e7c2ffe0c35427a9bb7fa0c387fd6374e0c9
2019-05-28 20:23:24 +00:00
timokoesters
c96b5c45c3 Fix attack delay
Former-commit-id: 28f7a492adcc37cec15e3e3c0d46b6015b27ee04
2019-05-28 21:11:29 +02:00
Forest Anderson
2fc4e9a2f8 Merge branch 'enemies' into 'master'
Enemies

See merge request veloren/veloren!186

Former-commit-id: f920608508868119aad286cbe45599342dc1942b
2019-05-28 19:08:02 +00:00
Marcel
b5b61462ee Merge branch 'event-chat-messages' into 'master'
Event chat messages

See merge request veloren/veloren!188

Former-commit-id: 5701dd41f52f76ee5733a3580da9fab59dc539e7
2019-05-28 10:45:24 +00:00
timokoesters
2fc82dcf5e Fix singleplayer crash
Former-commit-id: afbcdfe2024befbd5a225db049ce2f9a761e6df6
2019-05-28 00:07:39 +02:00
timokoesters
d075d7874b Remove unwrap
Former-commit-id: 68d26e366450010d1455c7662dc283cc0e0d9380
2019-05-27 22:41:19 +02:00
timokoesters
2008400169 Implement killer name in chat
Former-commit-id: 5aa87529179a684d5675c33e4001806aa2040802
2019-05-27 21:47:19 +02:00
timokoesters
a6439984be Add connect, disconnect and kill messages
Former-commit-id: c25f6fb0b594e5d61a965447359536ca17173aa7
2019-05-27 19:45:43 +02:00
Joshua Barretto
baf740a289 Added enemies
Former-commit-id: 2c07c9e52a7cbfb85508e7098c528bddd9b12997
2019-05-27 12:18:14 +01:00
timokoesters
74761b7f9c Fix velocity while dead on client
Former-commit-id: e308e1b8848a38fd9fd776ddd8acb81e145429a6
2019-05-26 20:34:18 +02:00
timokoesters
2c57d898ed Fix missing gliding animation
Former-commit-id: 211f285153271cad79bfdc7aa9e33608c766345d
2019-05-26 19:24:44 +02:00
timokoesters
a7faa82aad Fix invisibility
Former-commit-id: daeed655d2af1d990eee5d03df22b8a9bcbdf011
2019-05-26 18:01:55 +02:00
timokoesters
4ebf2e13a5 Fix wolf red and dead velocity
Former-commit-id: 2d59c545d3a101e630f56cc0c96d8579508dd99d
2019-05-26 17:34:00 +02:00
timokoesters
64b00f41f4 Fix invisible chars
Former-commit-id: cbb93e0511100b9b66f9ea22451c99a69b50b19c
2019-05-26 16:04:44 +02:00
timokoesters
4696cd2c8b Add better inputs, input validation and more
Former-commit-id: 3227221b12a674f66b011ce0ba734e226f223f34
2019-05-25 23:46:56 +02:00
timokoesters
15d1a789d6 Better formatting
Former-commit-id: 22b83b6dd5ad145a39b236436a019c6b172787d7
2019-05-25 23:21:39 +02:00