Commit Graph

165 Commits

Author SHA1 Message Date
timokoesters
8064b51ee2 improvement: better movement 2020-01-19 22:39:18 +01:00
AdamWhitehurst
976eface66 Update from MR comments 2020-01-17 08:39:21 -08:00
Adam Whitehurst
d82e93b39f Merge master and build 2020-01-16 05:27:30 -08:00
Gilbert Röhrbein
28060e7b6e fixing #405 - Energy as its own component 2020-01-12 22:25:04 +01:00
Adam Whitehurst
8648641362 Grooming 2020-01-07 07:49:08 -08:00
Imbris
ec3e075020 fix(player list): Show players not in range on the player list
fix(overflow): Stops including block updates that fail (since chunks
don't exist on the client) in `TerrainUpdates` (which would trigger
meshing of those nonexistent chunks). Furthermore, removes
remeshing of chunks with block updates if those chunks don't have all their
neighbours (since those wouldn't be meshed in the first place).
2019-12-29 20:51:05 -05:00
AdamWhitehurst
8e0317e03d refactor states to handle update logic 2019-12-26 06:43:59 -08:00
Imbris
b2752d2419 Cutout unnecessary Resource syncing machinery and Tracker trait 2019-12-20 22:51:35 -05:00
Imbris
d341073a44 Upgrade to specs 0.15.1 2019-12-20 22:48:14 -05:00
Imbris
c3ac251fa8 Stop syncing Projectile component to the client 2019-12-20 22:48:14 -05:00
Imbris
e49cafafbf Actually send deletion messages 2019-12-20 22:48:14 -05:00
Imbris
71cce03f29 Move sync code into common submodule 2019-12-20 22:37:12 -05:00
Imbris
609e0f23bf Stop global syncing of entity creation 2019-12-20 22:37:12 -05:00
S Handley
ea2e0d17de SFX system
This is an event based approach to SFX sounds. There is a specific
character sound event mapper which determines sfx to play based on
character or NPC state, as well as emitting sfx events for
non-character-triggers such as levelling up.
2019-11-23 08:26:39 +00:00
Imbris
2703c8afe1 Move serverside client to a component and communications into server ecs systems 2019-10-23 23:50:06 -04:00
Imbris
b09bddda79 Make clients subscribed to nearby regions and only send physics updates from those regions. 2019-10-23 22:43:02 -04:00
Monty Marz
fdfab6a807 refactor: create_projectile doesn't take a light
It returns a builder so the caller can just do it
2019-10-17 20:59:36 +00:00
timokoesters
051a964798
fix: server side fall damage
This avoids flickering health
2019-10-08 18:55:30 +02:00
timokoesters
b20cf6c62b
fix: set minimum speed for fall damage and balance it 2019-10-08 18:55:30 +02:00
timokoesters
460a494e77
fix(bow): Don't remove vel and use sticky component instead 2019-10-04 21:30:13 +02:00
timokoesters
575f7da64d
feat(bow): Client side prediction 2019-10-04 21:02:43 +02:00
timokoesters
e3c02f8ac1
Allow projectiles to react to triggers 2019-10-04 21:02:40 +02:00
Joshua Barretto
e22fe81a2f Added velorite 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 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
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
ecbf7cad5b Remove old code 2019-08-31 09:00:20 +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
05f2f168fd
Make falldamage local, don't use force update for local, cleanup 2019-08-26 13:12:43 +02:00
timokoesters
eb34e5bb27
fmt 2019-08-26 13:12:43 +02:00
Songtronix
814e858720
Split Events in ServerEvent and LocalEvent 2019-08-26 13:12:41 +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
Piotr Korgól
0221de484e Give singleplayer its own server settings 2019-08-14 17:51:59 +02:00
Piotr Korgól
98c0692260 Add AdminPerms component, make some commands require it 2019-08-14 17:30:36 +02:00
Acrimon
b4a46f3e6e Finished switch to hashbrown. 2019-08-11 22:38:28 +02: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
98a913195b Added entity event system, fixed fall damage 2019-08-07 10:50:49 +01:00
Joshua Barretto
677c5781ba Added bosses, improved secret object spawn rates 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
Joshua Barretto
995090d2d4 Added item drops 2019-08-01 09:12:00 +01:00
Joshua Barretto
5bb7998d5a Added inventory sync messages and InventoryUpdate component 2019-08-01 09:09:26 +01:00
timokoesters
c6034bf450 Use Last<C> to check if a physics component changed 2019-07-30 08:32:03 +02:00
Joshua Barretto
5cdfb26e0d Added LightEmitter component 2019-07-21 19:22:49 +01:00
Joshua Barretto
1d21359337 Removed warning on OoB block modification 2019-07-20 19:08:28 +01:00
Joshua Barretto
ce327445a7 Send block diffs instead of entire chunks on block change 2019-07-20 16:41:03 +01:00
Piotr Korgól
04d3c077d0 Remove printlns 2019-07-03 22:38:28 +02:00
Piotr Korgól
7f08377001 Sync CanBuild component, fix /build messages 2019-07-03 21:28:07 +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
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
jshipsey
2ce5c5881e combat run/jump/idle animation states 2019-06-30 18:53:44 -04:00
timokoesters
14400f6380
Remove Actor and use Body instead 2019-06-30 18:57:24 +02:00
timokoesters
c80351f6ca
Fix double roll bug 2019-06-29 19:49:51 +02:00
timokoesters
fe6f627d42
Clean up ecs actor body components 2019-06-29 01:49:33 +02:00
Joshua Barretto
6444ba1933 Made collision detection cheaper, fixed snapping bug, somewhat nerfed rolling 2019-06-27 15:21:41 +01:00
Joshua Barretto
cdb405d7b8 Made physics fps-independent 2019-06-26 22:43:47 +01:00
Joshua Barretto
9279611d6d Added longer day/night cycle, /time command 2019-06-26 19:14:12 +01:00
Joshua Barretto
af432ec510 Calculate delta time properly, fix low fps collision issues by decreasing max dt 2019-06-26 11:53:43 +01: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
955c20fa61
Remove crun and cidle components and inputs 2019-06-16 19:57:04 +02:00
jshipsey
4de5489367
groundwork for role, crun, cidle 2019-06-16 19:57:04 +02:00
timokoesters
b947d78dac
Improve organization of controls 2019-06-16 19:57:03 +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
Cody
75ca605f5d
Changes the physics misnomer Direction to Orientation and adjusts some ECS read_storage names. 2019-05-31 16:36:24 -04:00
timokoesters
a6439984be Add connect, disconnect and kill messages
Former-commit-id: c25f6fb0b594e5d61a965447359536ca17173aa7
2019-05-27 19:45:43 +02:00
timokoesters
4696cd2c8b Add better inputs, input validation and more
Former-commit-id: 3227221b12a674f66b011ce0ba734e226f223f34
2019-05-25 23:46:56 +02:00
timokoesters
f4434013db Fix clear_terrain not changing Changes
Former-commit-id: da7b02939d6d0bc7dbef7d923fb880081f6e08aa
2019-05-25 23:21:40 +02:00
timokoesters
1826a2b4f9 Implement fast respawn
Former-commit-id: 17f9aceba5c40a5d3ddc2e0fd6795479487753fd
2019-05-25 23:21:39 +02:00
timokoesters
0344f3eba8 Implement hit time delay
Former-commit-id: 6c1990645fd07e23de5eb97b6fc22f34ce09a6b7
2019-05-25 23:21:39 +02:00
timokoesters
f5751d65b1 Fix terrain not loading
Former-commit-id: f9279878ab051c6083c4a1f5125531fe79151fb8
2019-05-25 23:21:39 +02:00
timokoesters
30bf1cde10 Add knockback
Former-commit-id: a703eb937ef7094a085548ca3197a575059855a0
2019-05-25 23:21:38 +02:00
timokoesters
a0918d11b6 Fix red effect
Former-commit-id: 1fd90a40aaaccb98aeb34715ee7cad5c0b3b3de7
2019-05-25 23:21:38 +02:00
timokoesters
fc39356cde Use correct time
Former-commit-id: df33e802ee46f9ebe190be705ff8d81f856024e0
2019-05-25 23:21:38 +02:00
timokoesters
b3e4ca0a5d Implement killing
Change animation history to animation
Add attack input event
Implement killing with ecs systems for damage and death
Sync attack properly
Sync deaths


Former-commit-id: 72b5be7d65d9d3fcbef50d4836a6f06ec218d69e
2019-05-25 23:21:37 +02:00
Piotr Korgól
0e2b09a5f8 Create a skeleton for the Inventory system and Item system
Former-commit-id: 2579b70257ee9faa6d8614c33677ad0fc3c77a0d
2019-05-18 16:46:14 +00:00
Cody
6b09fd7c53 Pedantic comment and language fixes.
Former-commit-id: eb49765c911aaa97a9c8ed351216a7a6f8411213
2019-05-17 18:32:07 -04:00
Joshua Barretto
91184356e7 Added chonks
Former-commit-id: a62fb321dbfb7541feaa9de4e641db9887b061fd
2019-05-17 18:44:30 +01:00
Joshua Barretto
fa052a22b7 More lenient max deltatime to avoid physics lag
Former-commit-id: bdd4a9d634f9aa1e52ab3885e5b8a49348011760
2019-05-17 13:39:40 +01:00
Joshua Barretto
3940e73b31 Stopped syncing time
Former-commit-id: 8453a8f1c2361b1e6b5bb7f11470c33f2c0f910b
2019-05-17 00:26:18 +01:00
Joshua Barretto
db4be8e492 Updated sphynx
Former-commit-id: f81484571bda8c5e15ea2b6c0e8b9b6892b094a3
2019-05-17 00:05:46 +01:00
Joshua Barretto
1209f0393d Added figure colour to shader and health component
Former-commit-id: 222c39bd401ad0a9707eb348d5640717004dbf96
2019-05-15 13:26:14 +01:00
Joshua Barretto
edfd2290eb Massively sped up VolMap offset calculations
Former-commit-id: 8f3cdf57a77691ca60c0921bc86a79c8cfe36539
2019-05-13 11:06:58 +01:00
Joshua Barretto
761c6e9cf8 Switched to actor system
Former-commit-id: d2a482f6209aff7aaa4e747e35ce4a7c8a79cdfc
2019-05-13 11:06:58 +01:00
sxv20_
e20c2a1e00 Move VolMap to HashMap<_, Arc<Chunk>>
Former-commit-id: e209891596acbb1705876a1cb7ccce3ac2fe2d45
2019-05-13 11:03:47 +01:00
Joshua Barretto
fc0f2f0801 Added option to not stop raycasting on error
Former-commit-id: 6e094b6514bcda2fbcdfe44dbb90900b50e939c2
2019-05-12 14:03:08 +01:00
Joshua Barretto
9ebe3c3e6f Added a delta time cap to avoid missing important physics events
Former-commit-id: e9f14ddda0963537ae6593c2dacc6a877f88c824
2019-05-09 18:57:47 +01:00
Imbris
f0b0b83cc8 Store thread pool in State, Remove unnecessary dep
Former-commit-id: cbce09915267f264801c174817b97ed3528715fd
2019-05-01 14:10:43 -04:00
Forest Anderson
993388e56a Ran fmt on codebase
Former-commit-id: 7fecffa1dc66fffba4f07d45fb80960dc5178f4f
2019-04-29 20:37:19 +00:00
Joshua Barretto
5e38eee8d4 Added chunk deletion
Former-commit-id: 63c29e43c4dc28097aaf4e0ff72977c7db5cc28f
2019-04-25 20:08:26 +01:00
timokoesters
91057edfac Remove .internal and .internal_mut
Former-commit-id: 261b656ec400f6780f2be2f5a4c331cc3b2a64a2
2019-04-22 10:24:27 +02:00
timokoesters
b9607ef405 Fix #21 by checking animation history
Former-commit-id: 5272d1d7aee73fc07edeb31d9f29238d19b7d229
2019-04-17 19:39:12 +02:00
Joshua Barretto
2c650f9cff Added basic agent AI
Former-commit-id: bb17edc8f2027c0c63c6a3ef0fc80c7a68c9aa05
2019-04-17 01:39:39 +01:00
Piotr
ddb32eec30 Animation States
Former-commit-id: 769f09dc44143b5e54623ea819db2d6149429184
2019-04-16 14:29:44 +00:00
Joshua Barretto
c98d841890 Fixed physics sync
Former-commit-id: 86d3af46c69f6566f4cab8d93ecf27636a9563cf
2019-04-15 00:29:28 +01:00