Commit Graph

546 Commits

Author SHA1 Message Date
Joshua Barretto
b22ee24362 Cleanup 2020-01-26 12:52:32 +00:00
Joshua Barretto
feeccc2ff3 Improved patrol idling 2020-01-26 12:52:32 +00:00
Joshua Barretto
d04a595b3f Made waypoints work, added waypoint spawning 2020-01-26 12:52:28 +00:00
Joshua Barretto
11193a692a Better neutral AI, initial waypoint objects 2020-01-26 12:52:28 +00:00
Joshua Barretto
290cb52d0d I don't know how much I put in this commit, but it's some stuff 2020-01-26 12:52:28 +00:00
Joshua Barretto
353a0f67be Better pathfinding iteration cap 2020-01-26 12:52:28 +00:00
Joshua Barretto
f92371101c Added pauseable pathfinding, improved Chaser heuristics, etc. 2020-01-26 12:52:07 +00:00
Joshua Barretto
2d9aa21eef Added test world, friendly NPC pathfinding 2020-01-26 12:52:07 +00:00
Justin Shipsey
64690279af new mobs
alligators
2020-01-26 00:22:48 +00:00
Joshua Yanovski
02f9c9490b Addressing MR comments. 2020-01-24 03:45:29 +01:00
Joshua Yanovski
55a96bce09 Minor fix to map generation.
Also fixes some typos and makes formatting easier for changes needed to
produce large maps.
2020-01-23 18:18:17 +01:00
Joshua Yanovski
49e7e55cd6 Fix warnings in examples and benchmarks. 2020-01-23 18:18:16 +01:00
Joshua Yanovski
d54f22c9fa Add a default world map.
Also adds map versioning, proper scaling, and updates sediment
rendering.  It also tones down warp.
2020-01-23 18:18:15 +01:00
Joshua Yanovski
ebe0d14eab Send client 3D rendered map.
Also shares configurable rendering between map generator and server.
2020-01-23 18:18:14 +01:00
Joshua Yanovski
e91578ffdb Cargo fmt most things (except erosion.rs). 2020-01-23 18:18:12 +01:00
Joshua Yanovski
9520ef4f6d Implement sending world map across the network. 2020-01-23 18:18:11 +01:00
Joshua Yanovski
ee5d383c46 Map saving, soil production, speedup attempts. 2020-01-23 18:18:10 +01:00
Joshua Yanovski
e71f145b71 Sediment transport, plus many other things. 2020-01-23 18:18:09 +01:00
Joshua Yanovski
69a8d5039b Adding hillslope diffusion. 2020-01-23 18:18:07 +01:00
Gilbert Röhrbein
4f90e6325e feat: add endurance fitness willpower to stats 2020-01-21 18:49:17 +01:00
timokoesters
2e8bf9d212 improvement: enemy balance 2020-01-20 19:15:12 +01:00
Imbris
63d74eb8ba Don't panic if a region can't be found for a deleted entity 2020-01-19 18:22:11 -05:00
timokoesters
6e651eb659 fix: make fall damage behave correctly again after changing gravity 2020-01-19 22:39:20 +01:00
timokoesters
8afe5fd1dd improvement: reset character state and energy on death 2020-01-19 22:39:19 +01:00
timokoesters
8064b51ee2 improvement: better movement 2020-01-19 22:39:18 +01: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
Piotr Korgól
e1adf40856 Improvement: Replace all '..=b' with '..b + 1' 2020-01-12 15:46:53 +01:00
Monty Marz
851d7858e6 Scrolling Combat Text (SCT) 2020-01-10 00:33:38 +00:00
AdamWhitehurst
de36e75264 Fix imports, update matches 2020-01-08 11:31:42 -08:00
Imbris
f52aef224e Fix typos, don't insert Controller if it doesn't already exist in the
mount system so that Controller components are not added to entities
client side
2020-01-02 05:34:27 -05:00
Imbris
c9caf14877 Fix formatting, Update CHANGELOG, turn overflow checks on for dev
profile
2019-12-31 16:38:13 -05:00
Imbris
ede05c47b0 fix(char screen induced ghosts):
Adds removing extra components and deleting entities clientside when
going back to the character screen. Also, simplifies ClientState by
removing the Dead variant and removing ClientMsg::StateRequest in favor
of more specific ClientMsg variants.
2019-12-31 16:38:13 -05:00
Monty Marz
8aff5faa83 assets update
acacia trees
updated help.png
bigger map zone name
npc levels from 0-10
boss levels from 20-50
2019-12-30 12:16:35 +00: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
Dylan Kile
badd3113d5 hierarchical pathfinding 2019-12-29 20:58:21 +00:00
Imbris
934c5d6846 Various tweaks: moved radius determination to function on , comments, simplified server Destroy event code, debug assert modified components aren't removed in change tracking, etc 2019-12-20 22:51:35 -05:00
Imbris
b2752d2419 Cutout unnecessary Resource syncing machinery and Tracker trait 2019-12-20 22:51:35 -05:00
Imbris
5813f626d1 cleanup 2019-12-20 22:48:14 -05:00
Imbris
8f7323f41b Stop syncing health change timer updates 2019-12-20 22:48:14 -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
Songtronix
0d919a9dc6 improve(log): adjust verbosity of some logging
fix: settings do not log due to logging being initialized to late
2019-12-20 15:45:30 +01:00
Forest Anderson
d8fc7cb667 Add advanced path finding to new 'Traveler' enemy using A* algorithm 2019-12-11 05:28:45 +00:00
Forest Anderson
5a73554aa1 Merge branch 'qwertycrackers' into 'master'
Add a `debug_items` chat command that gives all debug items.

See merge request veloren/veloren!641
2019-11-11 17:36:31 +00:00
Monty Marz
c38447a264 assets update
map image
human male hairstyles
elf male hairstyle
potion item
cheese item
removed admin items from inventory
2019-11-09 13:42:42 +00:00
Joseph Gerardot
0a44e714b4
Cargo fmt 2019-11-06 20:57:05 -05:00
Joseph Gerardot
e73884a1d4
Respond to MR feedback.
Mainly clean up code with better use of iterators, and rename the debug
    command to be just `debug`.
2019-11-06 17:57:54 -05:00
Joseph Gerardot
7325757066 cargo fmt the previous changes. 2019-11-05 15:57:08 -05:00
Joseph Gerardot
eb1b42be0f Add debug_items command
This command gives the player all debug items he does not currently
have.
2019-11-05 15:57:08 -05:00
soruh
007920a238 iterate up to max_z + 1
(because max_z could still be a soild block)
2019-11-01 00:24:18 +00:00
Justin Shipsey
a6d268e8ee Merge branch 'slipped/skeletons' into 'master'
new skeletons

See merge request veloren/veloren!620
2019-10-27 14:06:54 +00:00
Imbris
6b0e346ec4 fix: bugs in new server ecs systems fixed 2019-10-25 22:00:47 -04:00
jshipsey
2b5fd372c5 streamlined body part naming scheme, swapped quadruped to quadruped_small, rewrote mesh names to reflect body type instead of npckind. finally. 2019-10-25 21:50:14 -04:00
timokoesters
5bff899522
fix: character now spawns with a weapon again 2019-10-25 13:14:36 +02:00
Timo Koesters
0ae15bb251 Merge branch 'timo-items-as-ron' into 'master'
feat: store items as RON files

See merge request veloren/veloren!618
2019-10-25 08:57:39 +00:00
Imbris
58ca150f63 fix: /object chat command no longer spawns invisible objects 2019-10-25 02:08:23 -04:00
pestilence
52dbfde510
add giveitem command 2019-10-25 00:14:08 +02:00
timokoesters
f1b728b89b
improvement: load_cloned returns a result 2019-10-24 23:55:24 +02:00
timokoesters
20248a4818
feat: store items as RON files
When a new item is created, a ron file will be used as a template
2019-10-24 23:47:26 +02:00
Imbris
a200dafd45 Fix possess bug, remove commented code, drain controller events 2019-10-24 00:00:00 -04:00
Imbris
966b2bfbff Integrate new systems with metrics 2019-10-23 23:50:06 -04:00
Imbris
8f81b69a25 Move terrain management and syncing into server side ecs systems 2019-10-23 23:50:06 -04:00
Imbris
2703c8afe1 Move serverside client to a component and communications into server ecs systems 2019-10-23 23:50:06 -04:00
Imbris
c02cd0a730 Cleanup unused code 2019-10-23 22:43:02 -04:00
Imbris
53ddbec527 Actually fix region removal panic, update fuzzy chunk location, sync entity removal when unloading chunks, region size constant tweak 2019-10-23 22:43:02 -04:00
Imbris
ab7740f378 Fix not not sending updates outside a certain range and not sending character state when it changes due to update throttling 2019-10-23 22:43:02 -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
3e0ac48bd8 Multiple Assets and UI fixes and additions 2019-10-23 19:40:45 +00:00
Acrimon
57bfb302dd Formatted code. 2019-10-23 20:23:31 +02:00
Acrimon
2215f9abd7 code-style: iter instead of into_iter. 2019-10-23 16:45:47 +02:00
Acrimon
6f532a7a37 Drastically improved error messages in client and server. 2019-10-23 18:38:09 +02:00
soruh
db69bf23b8 Don't display commands that the player cannot use. 2019-10-21 18:36:35 +02:00
Songtronix
5b716515bb change(githash): provide date and hash 2019-10-18 15:32:55 +02: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
Joshua Yanovski
8ae2692b6e 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-10-16 11:39:41 +00:00
KyoZM
5be28178bd proper message on permission check failure for commands 2019-10-12 18:24:44 -03:00
Imbris
028d010624 Make bows give experience via giving projectiles an owner field 2019-10-11 19:33:01 -04:00
Imbris
2f9d8ee2e6 Add new debug item 2019-10-11 19:32:46 -04:00
Marcel Märtens
09bb908072 Make all CoreDevelopers and Admins server admins for now till we have a working auth system 2019-10-11 15:13:02 +02:00
Marcel Märtens
30c9fcc911 Fix bug that metrics took a random port always introduced in !584
also removed the duplicate port from the server creation process, using the server settings struct now
2019-10-11 14:19:55 +02:00
Wu Yu Wei
4b80f88085 Bind random port for ServerMetrics 2019-10-11 09:06:34 +00:00
Monty Marz
d82ec6715a Item icons, chests and more 2019-10-09 19:28:05 +00:00
timokoesters
be5d79b123
fix: all enemies start with lvl 1 hp 2019-10-09 17:09:25 +02:00
timokoesters
051a964798
fix: server side fall damage
This avoids flickering health
2019-10-08 18:55:30 +02:00
timokoesters
f76f74b411
fix: spawnpoint nearer to the floor
We can change this back when we have a proper spawn location system or
random seeds.
2019-10-08 18:55:29 +02:00
timokoesters
4e87f125a2
fix: fix level and health distribution 2019-10-08 18:12:08 +02:00
Songtronix
03f0024607 fix: reduce amount of network related ghosts 2019-10-07 15:15:29 +02:00
KyoZM
9ac089ae26 consume vector without calling the iterator 2019-10-07 01:49:56 -03:00
KyoZM
5abe88ecee cargo format 2019-10-07 01:38:28 -03:00
KyoZM
064f33666a removelights no longer deletes players with lanterns 2019-10-07 01:03:53 -03:00
KyoZM
ea82115656 create /removelights command 2019-10-07 00:19:46 -03:00
timokoesters
3078591060
feat(bow): arrow spawn height 2019-10-06 21:21:33 +02:00
timokoesters
a01edbe370
fix: error message for give_exp 2019-10-06 20:52:26 +02:00
timokoesters
0d1bf16e46
fix: selecting another character no longer shows a new login message 2019-10-06 18:26:51 +02:00
timokoesters
4501fef503
fix: don't show logout message when player never was ingame 2019-10-06 17:34:51 +02:00
Piotr Korgól
09429b45d1 Make /adminify admin-only and /waypoint free 2019-10-05 17:37:10 +02:00
Piotr Korgól
9e10c8b700 Make enemies spawn with different levels 2019-10-05 17:37:09 +02:00
Forest Anderson
2f1c62d2ed Merge branch 'appcrashwin7/veloren-exp-command' into 'master'
add give_exp command

See merge request veloren/veloren!536
2019-10-04 21:02:07 +00:00
timokoesters
460a494e77
fix(bow): Don't remove vel and use sticky component instead 2019-10-04 21:30:13 +02:00
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
Monty Marz
4c1eba1f3e Assets update, aesthetics, minor fixes 2019-10-04 18:27:12 +00:00
appcrashwin7
1069173d83 add give_exp command 2019-10-04 17:48:14 +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
Justin Shipsey
27f3bebe40 Char overhaul and asset update 2019-10-02 10:05:17 +00: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 Barretto
7e6eede740 Better sun halo colours 2019-09-26 00:15:07 +01:00
Imbris
dd8500071e Stop cpu spinning in metrics server 2019-09-20 00:41:44 -04: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
49b08b55c7 switch from hyper http to rouille for http server 2019-09-09 10:07:25 +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
Christoffer Lantz
7dce9c4fb9 Added unwrap_or to obj_str_opt in handle_object in case we don't return early in the _ => match arm 2019-09-02 01:22:09 -04:00
Christoffer Lantz
c154a41c5c Changed Spawned object: to Spawned: in handle_object 2019-09-02 01:22:09 -04:00
Christoffer Lantz
8f68df2bd1 Tells the user which object was spawned 2019-09-02 01:22:08 -04:00
Monty Marz
f53904b534 More sprites, ui fixes, lianas 2019-09-01 19:04:03 +00: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
952ec35857
Remove warnings 2019-08-29 19:54:53 +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