Commit Graph

1632 Commits

Author SHA1 Message Date
Shane Handley
802bce1698 Target the specific attack types, to handle TripeStrike etc...
Removed the Axe sfx until the animations show the swing
2020-06-08 10:19:41 +10:00
Shane Handley
d5cc5c8537 Add initial attack sfx code with bow shot sounds. 2020-06-08 10:19:41 +10:00
S Handley
e0633a238e Update CHANGELOG and a TODO, fix safer deserialisation for inventory
data.
2020-06-04 11:44:33 +00:00
Monty Marz
b34da9b07b More item drops 2020-06-03 17:59:09 +00:00
Joshua Barretto
475f62b57f Merge branch 'zesterer/small-fixes' into 'master'
Better physics comments, removed camera snapping

See merge request veloren/veloren!1034
2020-06-01 20:50:24 +00:00
Joshua Barretto
9a069c93dc Better physics comments, removed camera snapping 2020-06-01 21:33:20 +01:00
scott-c
7eb1b2c263 Add level up network event 2020-06-01 22:04:44 +08:00
scott-c
136bf271b8 Fix social list having incorrect player count 2020-06-01 22:04:44 +08:00
scott-c
c23183b1ca Add character name and level to social window 2020-06-01 22:04:44 +08:00
Monty Marz
f7d6f76a04 Added 36 Swords
I added 36 sword models to the code.
2020-05-29 18:23:00 +00:00
Monty Marz
6d1ec73b47 Merge branch '561-info-popup-for-saved-waypoints-only-appear-for-the-second-time-you-visit-one' into 'master'
Resolve "Info popup for saved waypoints only appear for the second time you visit one"

Closes #561

See merge request veloren/veloren!1014
2020-05-29 11:39:12 +00:00
CapsizeGlimmer
78a06550d0 Only NPCs speak when hit. Farm animal alignment changed from NPC to Tame 2020-05-27 13:49:18 +02:00
CapsizeGlimmer
3cea76b82f NPCs now call for help when you hit them. Redraw speech bubble dark mode. 2020-05-27 13:49:18 +02:00
CapsizeGlimmer
3c07d02218 Add a dark mode to speech bubbles; consistantly use 'speech bubble' instead of 'chat bubble' 2020-05-27 13:49:17 +02:00
CapsizeGlimmer
c65967ccdb Chatting now creates speech bubbles 2020-05-27 13:49:14 +02:00
Justin Shipsey
ea07d744a7 orientation animation 2020-05-27 06:41:55 +00:00
CapsizeGlimmer
2a83e91242 Waypoint notifications have a 10 second cooldown 2020-05-25 02:56:31 -04:00
Joshua Yanovski
34427373ef Make civsim and sites deterministic.
For anything in worldgen where you use a HashMap, *please* think
carefully about which hasher you are going to use!  This is
especially true if (for some reason) you are depending on hashmap
iteration order remaining stable for some aspect of worldgen.
2020-05-21 21:43:54 +02:00
Joshua Barretto
012aebbfd6 Merge branch 'zesterer/small-fixes' into 'master'
Camera tweaks

See merge request veloren/veloren!1004
2020-05-19 17:35:43 +00:00
Forest Anderson
db302b8525 Merge branch 'jbeich/veloren-freebsd' into 'master'
Enable system assets on more Unices

See merge request veloren/veloren!1005
2020-05-19 00:20:07 +00:00
Joshua Barretto
f1b166d15d Innumerable camera improvements 2020-05-18 23:40:28 +01:00
Jan Beich
886cad9103 Enable system assets on more Unices 2020-05-18 15:53:50 +00:00
Justin Shipsey
9e5c0ce601 Merge branch 'silentium/arms-and-armor' into 'master'
Added 2 sets of armour.

See merge request veloren/veloren!951
2020-05-17 19:03:00 +00:00
Silentium
1673a25e8b Added 2 sets of armour. 2020-05-17 19:02:59 +00:00
Monty Marz
ecb7963730 Pfau/0.6 bg 2020-05-16 12:48:29 +00:00
Joshua Barretto
db59a3ca3d Merge branch 'small-fixes' into 'master'
Dungeon Bosses

See merge request veloren/veloren!994
2020-05-15 19:07:11 +00:00
Joshua Barretto
aac28d04d5 Added dungeon bosses, boss loot, boss arenas 2020-05-15 16:05:50 +01:00
Songtronix
c3e1fd8664 Merge branch 'mockersf/fix-doc-generation' into 'master'
fix doc generation

See merge request veloren/veloren!993
2020-05-15 14:18:15 +00:00
Shane Handley
a41576e767 Correctly set the exp target for the next level when spawning a character.
Removed the unwrap_or from the update method for stats persistence, and
have a dedicated method for updating single rows with a new connection.
2020-05-15 13:27:26 +10:00
François Mockers
ae712f77a2 fix iterator type 2020-05-14 22:13:08 +02:00
CapsizeGlimmer
0a723614f9 Popup message when setting waypoint 2020-05-14 16:56:10 +00:00
Forest Anderson
acab072a63 Merge branch 'shandley/persistence-stats' into 'master'
Stats Persistence

See merge request veloren/veloren!970
2020-05-13 13:43:22 +00:00
Imbris
8f857e6e11 Fill in entity_count in metrics 2020-05-12 19:44:27 -04:00
Shane Handley
e852e0cfab - Update the stats of characters individually, reverting the change with
big combined updates.
- Add a timer to the stats persistence system and change the frequency
that it runs to 10s
- Seperate the loading of character data for the character list during
selection, and the full data we will grab during state creation. Ideally
additional persisted bits can get returned at the same point and added
to the ecs within the same block.
2020-05-13 09:14:09 +10:00
Shane Handley
7c6c9f4302 Stats persistence
- Update client code to use persisted stats
- Add a system for stats persistence
- Add a basic scheduler to control duration between execution of
persistence systems
2020-05-13 09:14:08 +10:00
Shane Handley
e5853dbdd4 Initial models, migration and client code for stats persistence. 2020-05-13 09:14:08 +10:00
jshipsey
ef70949d5d cyclops 2020-05-11 21:44:21 -04:00
Imbris
7233dbee3e Merge branch 'CapsizeGlimmer/tab_completion' into 'master'
Tab completion code review suggestions

Closes #553

See merge request veloren/veloren!979
2020-05-11 23:56:48 +00:00
CapsizeGlimmer
49d1225823 Tab completion code review suggestions 2020-05-11 18:02:21 -04:00
Forest Anderson
28402e2bc1 Merge branch 'CapsizeGlimmer/tab_completion' into 'master'
Capsize glimmer/tab completion

See merge request veloren/veloren!972
2020-05-11 17:49:26 +00:00
Imbris
81227b917f fix leaning 2020-05-11 00:53:37 -04:00
Imbris
48a5001392 Show component in error message when sync modification fails because it does not exist 2020-05-11 00:09:17 -04:00
Imbris
8aa88b22a5 Fix panic with dragging into the same loadout slot 2020-05-11 00:08:43 -04:00
CapsizeGlimmer
3f76d1d702 Rework tp command - "/sudo player /tp" is short for "/sudo player /tp sudoer" 2020-05-10 19:17:34 -04:00
CapsizeGlimmer
9d118b55a0 Fixed player list tab completion 2020-05-10 19:17:17 -04:00
CapsizeGlimmer
b486de28ac Implement tab completion of enums (/object /time /spawn) and numbers 2020-05-10 19:16:34 -04:00
CapsizeGlimmer
28e94afd3f Finish tab completion implementation 2020-05-10 19:16:15 -04:00
CapsizeGlimmer
b0f0d716be Tab completion returns real results 2020-05-10 19:16:15 -04:00
CapsizeGlimmer
7ecea34f85 Server server::cmd depends on common::cmd 2020-05-09 21:50:51 -04:00
CapsizeGlimmer
307e478671 Groundwork for tab completion of player names and command arguments 2020-05-09 21:24:33 -04:00
jshipsey
cf392b5a66 fmt 2020-05-09 18:11:25 -04:00
jshipsey
62bd79dba7 dragon and general animation cleanup 2020-05-09 18:10:24 -04:00
Snowram
5b77c74497 Add cockatrice 2020-05-09 18:09:27 -04:00
Robin Gilh
40360ff149 Dragon work 2020-05-09 18:07:31 -04:00
S Handley
5a13b54cbf - Load characters after login.
- Make the character screen load with an empty character list from the server, send event to the server for character creation with data, but not yet saving them to the DB.
- Working but messy character saving to DB
- Add the character_data to the client, rather than keep it in the GLobalState.
2020-05-09 15:41:25 +00:00
CapsizeGlimmer
63826d1a50 Add optional argument to /get_items 2020-05-07 18:39:48 +00:00
Monty Marz
b589c3fc71 Fix animals not attacking 2020-05-04 16:59:32 +00:00
CapsizeGlimmer
4e7f8c686a Equipped lanterns now provide an illumination effect. 2020-05-04 15:15:31 +00:00
Monty Marz
f5c2341167 Shoulder offsets, meta.ron versioning 2020-05-01 21:27:12 +00:00
Monty Marz
c792cc05a9 Villagers and Cultists 2020-04-30 20:43:24 +00:00
Joshua Barretto
d0b1c9eb6f Added dungeon entrances 2020-04-29 17:01:34 +02:00
Justin Shipsey
171e865f57 new animals 2020-04-28 03:13:23 +00:00
Joshua Barretto
bd58be9f58 fmt 2020-04-26 17:56:09 +01:00
Joshua Barretto
bd2093c819 Fixed projectile solid collisions 2020-04-26 17:56:09 +01:00
Joshua Barretto
58b30c4518 Stopped velocity when point particles hit walls 2020-04-26 17:56:09 +01:00
Joshua Barretto
b750b2b00c Fixed logic issue with sticky objects 2020-04-26 17:56:09 +01:00
Joshua Barretto
8e0f40c71e Added on_ceiling check for sticky entities 2020-04-26 17:56:09 +01:00
Joshua Barretto
eb23b0b2bd Added Colliders, made projectiles point particles 2020-04-26 17:56:09 +01:00
Justin Shipsey
6fa13bcb7e body/anim tweaks 2020-04-26 01:09:03 +00:00
Joshua Barretto
d2ab29b8bd Clean up reexport 2020-04-25 21:44:23 +01:00
Joshua Barretto
90de779559 Better LoD variable names 2020-04-25 21:44:23 +01:00
Joshua Barretto
8871cb2d29 Better scaled rounding 2020-04-25 21:44:23 +01:00
Joshua Barretto
f34175a5a8 Reduced scaling size inflation 2020-04-25 21:44:23 +01:00
Joshua Barretto
3e62f7edc3 Better LoD distance scaling 2020-04-25 21:44:23 +01:00
Joshua Barretto
1d75f4815b Massively reduced 'popping' of LoD terrain sprites 2020-04-25 21:44:23 +01:00
Joshua Barretto
e498d78b6c Fixed boundary meshing issue for scaled terrain sprites 2020-04-25 21:44:23 +01:00
Joshua Barretto
59f4161f5c Properly fixed all gaps on positive bound for scaled volumes 2020-04-25 21:44:23 +01:00
Joshua Barretto
e84c2aa1db Fixed gaps in LoD sprites 2020-04-25 21:44:23 +01:00
Joshua Barretto
b2c8dc0806 Added terrain sprite LoD 2020-04-25 21:44:23 +01:00
Joshua Barretto
2a6a19f7ef fmt 2020-04-23 18:19:42 +01:00
Joshua Barretto
444f2ecb45 Made /waypoint admin-only, MR cleanup 2020-04-23 18:19:41 +01:00
Joshua Barretto
a7b5d6b270 Fix minor bugs with NPCs 2020-04-23 18:19:41 +01:00
Joshua Barretto
60bf396e4f Added doors to houses 2020-04-23 18:19:41 +01:00
Joshua Barretto
68732bebde Fixed block snapping for bizarre block heights 2020-04-23 18:19:41 +01:00
Monty Marz
44c5002db3 Pfau/crops 2020-04-23 18:19:41 +01:00
Joshua Barretto
431b2ae07b Fixed window mask layering, fmt 2020-04-23 18:19:41 +01:00
Joshua Barretto
781a3e1377 Patched but not fixed pathfinding for variable-sized blocks 2020-04-23 18:19:41 +01:00
Joshua Barretto
77d0292e91 Added windows to buildings and scarecrows 2020-04-23 18:19:41 +01:00
Joshua Barretto
0329b355ef Made civsim paths visible in-game 2020-04-23 18:19:41 +01:00
Pfauenauge90
db5311189d scarecrow 2020-04-23 18:19:41 +01:00
Pfauenauge90
43b4ae6e47 Update block.rs 2020-04-23 18:19:41 +01:00
jshipsey
a89b28e117 adjusted run animation to allow villager walking 2020-04-23 18:19:41 +01:00
Pfauenauge90
98704a4753 turnip and window blocks 2020-04-23 18:19:41 +01:00
Joshua Barretto
708f15915a Agent adjustments, better dungeon stairwells 2020-04-23 18:19:41 +01:00
Joshua Barretto
d28f5f24fb Made agents cleverer 2020-04-23 18:19:41 +01:00
Joshua Barretto
8af3187df4 Made tomatoes taller 2020-04-23 18:19:41 +01:00
Joshua Barretto
6448c17110 Fixed sprite AO, overhauled entity spawning, better enemy spawning in dungeons, made agents more skilled at combat 2020-04-23 18:19:41 +01:00
Monty Marz
0fb3a115da Add more crops 2020-04-23 18:19:41 +01:00
Joshua Barretto
e3ebdc56b3 Fixed figure AO (still need to do sprite AO), added more control over NPC spawning, loot in dungeons 2020-04-23 18:19:41 +01:00
Joshua Barretto
866fd1992e Fixed bad AO quad flipping in dark places, bosses spawning in dungeon walls, large creatues being uncompromisingly pedantic when trying to path towards targets 2020-04-23 18:19:41 +01:00
Joshua Barretto
fd14223c33 Basic boss spawning in dungeons, better AO 2020-04-23 18:19:41 +01:00
Joshua Barretto
f999edffaa Fixed crop crash issues 2020-04-23 18:19:41 +01:00
Pfauenauge90
4b72a07e22 sprites 2020-04-23 18:19:41 +01:00
Pfauenauge90
fd3ffdf28b pizza sprite 2020-04-23 18:19:40 +01:00
Pfauenauge
67f27ef970 ember sprite 2020-04-23 18:19:40 +01:00
Joshua Barretto
dde0319293 Lighting improvements, fixed NaN issue for agents 2020-04-23 18:19:40 +01:00
Joshua Barretto
cee1b1f962 Basic trading simulation 2020-04-23 18:19:40 +01:00
Joshua Barretto
46190aa634 Began work on basic economic simulation 2020-04-23 18:19:40 +01:00
Joshua Barretto
348003fc1a Better track routing for civsim 2020-04-23 18:19:40 +01:00
Joshua Barretto
fe4418bc0d Added store 2020-04-23 18:19:40 +01:00
Joshua Barretto
41b77a9b10 Removed old settlement code, removed zcache from dependency of site generators for forward compatibility 2020-04-23 18:19:40 +01:00
Joshua Barretto
d91d66027a Fixed cloud bugs, made pets run into you less 2020-04-23 18:19:40 +01:00
Joshua Barretto
944a37b848 Initial settlement generation work 2020-04-23 18:19:40 +01:00
Songtronix
866cfa3a8f Merge branch 'ElXreno/proper-assets-path-finding' into 'master'
Find assets by using other environment variables

See merge request veloren/veloren!912
2020-04-15 10:38:00 +00:00
Imbris
9ff816f006 Clarify todo comment 2020-04-12 15:35:43 -04:00
ElXreno
4cdc1300a1
Find assets by using other environment variables
By using HOME, XDG_DATA_HOME and XDG_DATA_DIRS we can
build potentially proper paths for finding assets folder.
2020-04-12 20:25:29 +03:00
Imbris
f52d66d721 Fix selecting and remove amount text when dragging 2020-04-12 18:41:06 +02:00
Imbris
c1c09dce1b Enable unequipping as well as equipping to specific slots 2020-04-12 18:41:06 +02:00
Pfauenauge90
eb7ded989f 7 dwarf accessories 2020-04-12 18:41:03 +02:00
Pfauenauge90
2263b9be95 starter chest, removed unused key commands 2020-04-12 18:41:02 +02:00
Pfauenauge90
85f9f80024 starter equip 2020-04-12 18:41:00 +02:00
Pfauenauge90
ca667fd02b tooltips 2020-04-12 18:40:58 +02:00
Pfauenauge90
156b554023 item types 2020-04-12 18:40:57 +02:00
Pfauenauge90
f5a768dccf more armour types 2020-04-12 18:40:56 +02:00
Pfauenauge90
7f97fbac0b cape item 2020-04-12 18:40:56 +02:00
Pfauenauge90
771baaaae5 cape item 2020-04-12 18:40:55 +02:00
Imbris
0b932ae99a Use new slot widget for armor slots 2020-04-12 18:40:53 +02:00
Piotr Korgól
84b1abdfcb Prevent projectiles from hitting their owners 2020-04-06 23:08:54 +02:00
Imbris
4652ae2f03 Show errors loading individual files during glob asset loading 2020-04-01 20:37:23 -04:00
Imbris
831d7c77a6 Make Asset impls avoid panics when parsing fails 2020-04-01 20:06:15 -04:00
Imbris
97148cb6bb Merge branch 'master' into 'combat'
# Conflicts:
#   CHANGELOG.md
2020-04-01 20:42:27 +00:00
Imbris
83c7a944da fmt 2020-04-01 11:52:44 -04:00
AdamWhitehurst
1ea2abd247 better timing const name,
timing_delay 400 -> 350
2020-04-01 08:40:25 -07:00
AdamWhitehurst
2b10797db1 refactor transition logic (thx imbris) 2020-04-01 08:39:18 -07:00
Imbris
a73d010f7b Point to newly released vek, add todo to reconsider empty item, remove uneeded ori slerp, remove agent from character behavior, add todos to combat sys, check if entities still exist before possessing & if possessed entity has a loadout move the active item into the second item space 2020-04-01 11:15:14 -04:00
AdamWhitehurst
9ad9a24e22 Remove unused KnockUp LocalEvent (use ApplyForce) 2020-04-01 07:30:06 -07:00
AdamWhitehurst
0c4d428298 remove unnecessary line 2020-04-01 07:10:35 -07:00
AdamWhitehurst
e04fdd715e expose and use blocking consts 2020-04-01 07:07:10 -07:00
AdamWhitehurst
237393993f triple_strike combo timing window 600 -> 400 2020-04-01 06:43:28 -07:00
AdamWhitehurst
95bc486f7c Roll move_dir handling 1.5 -> 0.25 2020-04-01 06:42:56 -07:00
AdamWhitehurst
56fab6db09 Roll duration 500 -> 700ms 2020-04-01 06:24:02 -07:00
AdamWhitehurst
89f441ae2c Roll speed 15.0 -> 25.0 2020-04-01 06:23:26 -07:00
AdamWhitehurst
dcc9d44b1c remove unused timed_combo 2020-03-29 13:40:03 -07:00
AdamWhitehurst
86b0b8f644 triple_strike orientation 2020-03-28 13:50:42 -07:00
Imbris
d3b5b1e637 Remove None variant fromm armor types 2020-03-28 03:51:24 -04:00
Imbris
f551c4a2c5 Move armor types to a new location, use a const for the moving cutoff in voxygen anims 2020-03-28 01:52:12 -04:00
Imbris
ce0f54e9d6 Combine dir and force in KnockUp and ApplyForce events 2020-03-27 22:19:23 -04:00
Imbris
ba3fa16c33 Create Dir type for better enforcement of non NaN, normalized representations of directions 2020-03-27 22:02:07 -04:00
Imbris
df5a7ef0e3 split toggle events 2020-03-27 21:32:30 -04:00
AdamWhitehurst
1d51f8fc0f prevent transition if pressing too early & timed 2020-03-27 11:17:34 -07:00
AdamWhitehurst
e4f2bf7ebf prevent holding to time combo 2020-03-27 11:08:10 -07:00
AdamWhitehurst
02b29efbfc Undo mistake, axe ability corrected.
Axe m2 cost 0 -> 100
Axe m2 dmg 8 -> 12
2020-03-27 11:07:21 -07:00
AdamWhitehurst
233595737e Axe m2 dmg 10 -> 15
Axe m2 cost 0 -> 50
2020-03-27 11:03:07 -07:00
AdamWhitehurst
d774091fa4 Add triple_strike anims for axe and hammer 2020-03-27 11:00:58 -07:00
AdamWhitehurst
8eb233bdbc Add timing window duration to triple strike 2020-03-27 10:43:18 -07:00
AdamWhitehurst
01264ce167 Merge branch 'combat' of https://gitlab.com/veloren/veloren into combat 2020-03-27 10:40:19 -07:00
AdamWhitehurst
2ffac59aa3 add triple strike timing 2020-03-27 10:40:15 -07:00
timokoesters
c6e635c511 Increase movement speed, make npcs slower than players 2020-03-27 18:39:26 +01:00
Pfauenauge90
0b3fb2dd3c fire bolt visuals 2020-03-27 18:31:45 +01:00
timokoesters
6fe5c5724c Fix char selection not showing tools 2020-03-27 18:17:41 +01:00
timokoesters
ad0314b4f5 Projectile hits regenerate energy 2020-03-27 17:07:19 +01:00
AdamWhitehurst
4bfc934772 triples strike knockback 15.0 -> 16.0 2020-03-27 08:26:53 -07:00
AdamWhitehurst
31760d220a triple_strike knockback 20.0 -> 15.0 2020-03-27 08:17:17 -07:00
AdamWhitehurst
c1647e93f1 make triple strike continue without hits again 2020-03-27 07:03:26 -07:00
Marli Frost
3c36862f42
fix: connect to LOCALHOST address in tests
Windows doesn't allow us to connect to the Any (0.0.0.0) address,
instead returning the WSAEADDRNOTAVAIL error code.

https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2
2020-03-27 10:50:45 +00:00
Shane Handley
362771be4b SFX and unit test fixes. 2020-03-27 12:06:25 +11:00
timokoesters
7a9c7628db Fix triplestrike bug 2020-03-26 23:29:12 +01:00
timokoesters
2b68adff51 Balancing, make fireball not holdable, arrow knockback 2020-03-26 22:56:33 +01:00
timokoesters
8010e5afb4 Better equip durations, fix roll bug, slow down while attacking, smoother gliding, stronger npcs, giants 2020-03-26 22:56:33 +01:00
timokoesters
e573fbbce5 Better glider physics 2020-03-26 22:56:33 +01:00
timokoesters
b9c85b9beb Balancing 2020-03-26 22:56:33 +01:00
AdamWhitehurst
8d1f93a2d1 ore responsive oreintating 2020-03-26 14:48:51 -07:00
AdamWhitehurst
7f1a90ae27 Prevent transition if failed hit 2020-03-26 14:44:39 -07:00
Shane Handley
0446a56f00 Regen energy when sitting. 2020-03-26 18:23:57 +11:00
Imbris
e6f50b4032 Replace uses of normalized() to avoid setting ori to NaN values, tweak triple strike code 2020-03-25 18:49:15 -04:00
timokoesters
ae0a3076e3 Allow holding ability keys again 2020-03-25 23:10:50 +01:00
timokoesters
74eacbe27c fix "Npcs can't be healed anymore" 2020-03-25 22:57:14 +01:00
Pfauenauge90
8b05dda1d9 assset cleanup, transparency, new icons 2020-03-25 16:47:48 +01:00
AdamWhitehurst
964256541e batter loadout swap logic 2020-03-25 07:58:26 -07:00
AdamWhitehurst
857652ee23 Update triple_strike:
* add knockback
* prevent infinite repeat
* more dashes
2020-03-25 07:24:55 -07:00
Imbris
3889ec7292 climbing tweaks, fix triple strike overflow, fix Last<CharacterState>
not registered
2020-03-25 02:05:28 -04:00
Imbris
6ba158b7e1 Input handling changes 2020-03-25 01:38:37 -04:00
Adam Whitehurst
37ec191021 update controller tick fn 2020-03-25 01:38:25 -04:00
Imbris
2897e898c2 move character state component to section reflecting its current sync strategy 2020-03-25 01:37:56 -04:00
timokoesters
7f02f5e7d2 Npcs can't be healed anymore 2020-03-24 23:03:57 +01:00
timokoesters
2117bb05d0 Healing staff 2020-03-24 22:03:11 +01:00
timokoesters
f0ce088810 Add lights and gravity again 2020-03-24 20:31:54 +01:00
timokoesters
58585e0810 Better climbing, fireball impl 2020-03-24 20:09:23 +01:00
timokoesters
ea2500e7ab Add minimum prepare duration to fireball and bow 2020-03-24 14:42:31 +01:00
timokoesters
99e7e1f785 Split staff into 3 abilities 2020-03-24 14:00:22 +01:00
Pfauenauge90
060ebbc861 healing sceptre 2020-03-24 01:11:14 +01:00
timokoesters
43d4e8aad2 Better inventory counter 2020-03-24 00:38:00 +01:00
timokoesters
1c145e8d3a Add inventory counter 2020-03-24 00:23:21 +01:00
timokoesters
fbb24e7c8a Even better fireballs 2020-03-23 22:52:35 +01:00
timokoesters
0eebf945fe Glowing fireballs, no gravity 2020-03-23 13:55:52 +01:00
timokoesters
5194cef03a Easier swimming, better damage calculation for explosions 2020-03-23 12:50:08 +01:00
timokoesters
fb16106960 Merge remote-tracking branch 'origin/master' into combat 2020-03-23 11:30:47 +01:00
Adam Whitehurst
68e3e36c6a Merge branch 'combat' of https://gitlab.com/veloren/veloren into combat 2020-03-22 12:50:55 -07:00
Adam Whitehurst
a510283277 update triple_strike 2020-03-22 12:50:52 -07:00
timokoesters
f3ca06aa71 feat: fireball explosions 2020-03-22 20:40:16 +01:00
timokoesters
0456d3cbed Better staff M1, random +1 damage, better attackrange,angle impl 2020-03-22 16:26:32 +01:00
Pfauenauge90
387ab4a57e added new stuff to chests 2020-03-22 16:19:30 +01:00
Pfauenauge90
662f5b1037 removed warnings and item test values 2020-03-22 14:55:08 +01:00
Pfauenauge90
61e2a986f2 item images 2020-03-22 14:38:21 +01:00
Adam Whitehurst
5016b8da3a consistent naming 2020-03-22 05:49:48 -07:00
Adam Whitehurst
db8d89a4d9 * rename CharacterState equals() -> same_variant() 2020-03-22 05:46:09 -07:00
Adam Whitehurst
afa6e43dd5 * remove Component Trait from CharacterAbility 2020-03-22 05:45:39 -07:00
Imbris
41c424ac13 Optimized uses of emitters, cleanup 2020-03-22 00:49:46 -04:00
Pfauenauge
f6731dc770 cloth armor 2020-03-22 00:21:11 +01:00
Adam Whitehurst
366978f16e remove CharacterAbility ecs component sync 2020-03-21 16:04:45 -07:00
Adam Whitehurst
68ae715a9e Merge branch 'combat' of https://gitlab.com/veloren/veloren into combat 2020-03-21 15:55:23 -07:00
Adam Whitehurst
862efb147c clean up based on pr review comment 2020-03-21 15:55:20 -07:00
Imbris
f399085974 Flip models for hands, shoulders, and feet of humanoids 2020-03-21 18:48:21 -04:00
Adam Whitehurst
b96d71a8c7 Reset vel on triple_strike 2020-03-21 15:06:42 -07:00
Adam Whitehurst
c5378b7065 Better triple_strike handling 2020-03-21 14:55:04 -07:00
Adam Whitehurst
819c2767bc * move swap loadout to handle_swap_loadout util fn
* impl From<JoinData> for StateUpdate
2020-03-21 14:16:26 -07:00
timokoesters
5361705ca7 fix sfx 2020-03-21 21:01:50 +01:00
Adam Whitehurst
3ae2b8de2e Remove excess code 2020-03-21 10:32:32 -07:00
Adam Whitehurst
180ec89060 add SwapLoadout 2020-03-21 10:26:38 -07:00
Adam Whitehurst
7eaf6f664b Fix water swimming jump velocity 2020-03-21 09:45:26 -07:00
Adam Whitehurst
79de60d791 Merge branch 'combat' of https://gitlab.com/veloren/veloren into combat 2020-03-21 07:08:14 -07:00
Adam Whitehurst
cb04df7736 swim now uses handle_orientation fn 2020-03-21 07:06:35 -07:00
Imbris
08db424169 Add safe_slerp function that ensures that slerping returns non-NaN normalized values 2020-03-21 00:53:41 -04:00
Adam Whitehurst
ae175e57f3 Tweaking consts 2020-03-20 15:20:14 -07:00
Adam Whitehurst
0cdb80427d better triple_strike 2020-03-20 15:03:29 -07:00
timokoesters
44ec09a8e7 Go to idle state when picking items up 2020-03-20 20:23:04 +01:00
timokoesters
df858cb370 Remove all warnings 2020-03-20 15:45:36 +01:00
timokoesters
3ec2cc08b3 Experimental tweeks to triplestrike 2020-03-20 15:06:33 +01:00
timokoesters
c630df7f9a Ranged weapons now give xp on kill and also make enemies angry 2020-03-20 14:26:18 +01:00
timokoesters
835f3f5fe3 Arrows shouldn't turn into loot, staff shoots fireballs again 2020-03-20 11:25:53 +01:00
Pfauenauge90
6094e4b017 added chest drops 2020-03-20 01:11:02 +01:00
Adam Whitehurst
bb76cc37bd Oops 2020-03-19 16:14:04 -07:00
Adam Whitehurst
0b7a572178 update triple_strike 2020-03-19 15:40:03 -07:00
Pfauenauge90
3a55ae5848 Merge branch 'combat' of https://gitlab.com/veloren/veloren into combat 2020-03-19 22:36:45 +01:00
Pfauenauge90
3145b26cd6 item images 2020-03-19 22:36:40 +01:00
timokoesters
208245e82e Make orientation not dependend on camera dir while wielded 2020-03-19 22:03:17 +01:00
Pfauenauge90
ce5eb2e2ab Merge branch 'combat' of https://gitlab.com/veloren/veloren into combat 2020-03-19 19:34:05 +01:00
Pfauenauge90
3c0e070ed0 stack numbers 2020-03-19 19:33:59 +01:00
timokoesters
83be1226ef Set dash direction based on look_dir 2020-03-19 18:33:10 +01:00
timokoesters
bb1b3ceabc Fix syncing amount 2020-03-19 17:44:32 +01:00
timokoesters
22652cfa37 Restore old boost stick behavior 2020-03-19 17:01:58 +01:00
timokoesters
449ae22730 Add inventory stacking 2020-03-19 14:32:17 +01:00
Pfauenauge90
d863e12235 swift leather armour parts 2020-03-19 14:17:53 +01:00
Pfauenauge90
509615c15b npc armour 2020-03-18 23:09:58 +01:00
Imbris
1a484410ca Delete Vel and Ori on the client when they are removed on the server 2020-03-18 17:01:51 -04:00
Pfauenauge90
4d9327cef5 2 weapons 2020-03-18 21:05:20 +01:00
timokoesters
4741e41230 Add support for different models per weapon type 2020-03-17 18:28:07 +01:00
Joshua Barretto
95eeb7e145 Omitted unnecessary test 2020-03-17 16:37:39 +00:00
Pfauenauge90
40910b28e4 unclothed parts 2020-03-17 15:39:29 +01:00
Joshua Barretto
4580752e78 Fixed remaining pathfinding issues 2020-03-17 14:14:20 +00:00
timokoesters
19a09782a0 Add ability requirements system 2020-03-17 15:01:41 +01:00
timokoesters
f32eb1db75 fix dash attack angles, arrow damage and readd possession stick impl 2020-03-17 14:15:39 +01:00
timokoesters
b040e18246 Fix body parts not changing 2020-03-16 22:06:23 +01:00
timokoesters
b3057add42 Smaller damage and health numbers 2020-03-16 19:55:12 +01:00
timokoesters
d5db1f6ca0 Add dash ability to sword M2 2020-03-16 16:34:53 +01:00
timokoesters
81591fcaf7 Make npcs attack again 2020-03-16 14:27:52 +01:00
timokoesters
1279f70184 Add shield item 2020-03-16 13:40:14 +01:00
timokoesters
4195273cf9 Adjust first person camera and underwater wield orientation 2020-03-16 13:19:51 +01:00
timokoesters
87acc01d48 Readd ranged and debug boost. Add bouncing while running in first person 2020-03-16 12:32:57 +01:00
timokoesters
1f78344d6f Move equipment from loadout into body 2020-03-15 19:44:47 +01:00
Pfauenauge90
bf1c46d596 item images 2020-03-15 16:42:09 +01:00
Pfauenauge90
913393963a plate armour 2020-03-15 16:42:09 +01:00
Joshua Barretto
e20feeeb0c Added armour items and equipping of armour 2020-03-15 16:42:09 +01:00
Pfauenauge90
e80750bc53 plate chest armour 2020-03-15 15:53:51 +01:00
Pfauenauge90
5a962771d9 assassin armour 2020-03-15 15:53:51 +01:00
timokoesters
4e281e22b7 Merge branch 'clientstates' of gitlab.com:veloren/veloren into clientstates 2020-03-15 15:43:52 +01:00
timokoesters
aa963b7686 Merge remote-tracking branch 'origin/master' into clientstates 2020-03-15 15:27:06 +01:00
AdamWhitehurst
6078b9a468 Merge branch 'clientstates' of https://gitlab.com/veloren/veloren into clientstates 2020-03-15 08:24:40 -06:00
timokoesters
447617dc69 Make durations and damage depend on weapon type 2020-03-15 14:34:17 +01:00
AdamWhitehurst
7520798567 Damage increase, remove lines 2020-03-15 07:26:42 -06:00
AdamWhitehurst
52059d83d3 add knockback localevent 2020-03-15 07:20:42 -06:00
Songtronix
e72f0c6d12 fix: do not depend on hash file during runtime 2020-03-15 09:02:56 +01:00
timokoesters
598a4c6cbb Add loadout struct for info on weapon configurations 2020-03-14 22:33:20 +01:00
AdamWhitehurst
7dfe00b674 Finish state struct data refactor 2020-03-14 15:17:27 -06:00
AdamWhitehurst
ee706fa32a Tweaking timed_combo 2020-03-14 13:04:04 -06:00
AdamWhitehurst
6fc94c22ba Update timed combo, add CharacerBehavior trait 2020-03-14 12:50:07 -06:00
timokoesters
fe19698d52 Make abilities depend on weapon 2020-03-14 16:40:29 +01:00
Adam Whitehurst
ac1c279a9b Begin TripleStrike Logic 2020-03-12 08:22:42 -07:00
Adam Whitehurst
00e4ad61f7 add ToolData::get_primary_abilities() 2020-03-12 07:47:27 -07:00
Adam Whitehurst
68dd8c578f Add some ability costs 2020-03-12 07:36:02 -07:00
Adam Whitehurst
990ea5c5a2 Add triple_strike behavior to cs behavior sys 2020-03-12 07:34:24 -07:00
Adam Whitehurst
772f7ff92d Remove can_transition and begin triple_strike 2020-03-12 07:33:19 -07:00
Adam Whitehurst
3cb288bc8c Add TripleStrike 2020-03-12 07:25:06 -07:00
Adam Whitehurst
a64bf1ac60 TripleAttack -> TimedCombo
(it wasnt the right logic for the tiple attack)
2020-03-12 05:16:40 -07:00
S Handley
bc692c0101 Add audio and chat message feedback when the player attempts to collect something while thier inventory is full. 2020-03-11 10:30:59 +00:00
Imbris
a4eaeb1da6 Merge branch 'imbris/se-latency' into 'master'
Rearrange some operations in the server tick to reduce clientside latency of ServerEvent mediated effects

See merge request veloren/veloren!840
2020-03-10 23:21:57 +00:00
Acrimon
406767ae31 Merge branch 'capucho/voxygen-logout-timeout' into 'master'
FIX #513 logout timeout

See merge request veloren/veloren!837
2020-03-10 22:12:29 +00:00
S Handley
b2312a0487 Check that a targeted collectible is within a certain pickup range of the character before highlighting it 2020-03-10 20:50:04 +00:00
Capucho
5fe9521233 Fix the spam on disconnect 2020-03-10 20:34:50 +00:00
Capucho
9d805a745e Proper fix to the logout timeout problem using Disconnect ACK 2020-03-10 20:34:50 +00:00
Capucho
d8ba63ffdc Janky fix of the logout timeout problem 2020-03-10 20:34:50 +00:00
timokoesters
a3fc3c3122 exit basic_attack when no weapon is equipped 2020-03-10 20:40:54 +01:00
timokoesters
841a2bbd6d clean up old states, lower gravity 2020-03-10 19:12:16 +01:00
timokoesters
0ce451a8b1 fix: deny gliding/jumping/rolling under water 2020-03-10 19:00:49 +01:00
timokoesters
70027da9aa feat: hitting enemies with basic_attack gives energy 2020-03-10 18:54:59 +01:00
timokoesters
c88c4687f3 fix: stop switching quickly between climbing and idle at low energy 2020-03-10 17:33:36 +01:00
Imbris
7132ef4136 Rearrange some operations in the server tick to reduce clientside latency of ServerEvent mediated effects 2020-03-09 22:31:24 -04:00
Adam Whitehurst
344bb955a2 rename get_tool_data to unwrap_tool_data 2020-03-08 21:28:45 -07:00
Imbris
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +01:00
Imbris
6cc07270ac improve(login): more precise error handling during login 2020-03-08 22:56:59 +01:00
Imbris
8ef1251dc2 Add warning prompt for untrusted auth servers, move some auth code into 2020-03-08 22:51:37 +01:00
Acrimon
403deecc6d Server auth handling improvements. 2020-03-08 22:49:47 +01:00
Songtronix
50b845d1c3 :/ and reactivated the password field 2020-03-08 22:34:06 +01:00
jshipsey
bce9d4c24f animation corrections 2020-03-08 17:02:25 -04:00
Adam Whitehurst
5f8751e2d3 Begin implementing triple attack 2020-03-08 12:37:17 -07:00
Adam Whitehurst
fe1feebeb2 Renaming fn's 2020-03-08 10:38:40 -07:00
Adam Whitehurst
698fe9f451 More util fn's, add comments 2020-03-08 10:38:18 -07:00
Adam Whitehurst
f769c74bf4 Add charging back 2020-03-08 10:04:26 -07:00
Adam Whitehurst
adf34d4f0f User constants, faster characters 2020-03-08 08:38:53 -07:00
Adam Whitehurst
5a9a8323f2 Update utils/handle_move fn's 2020-03-07 15:45:10 -08:00
Adam Whitehurst
49c7143144 Clean up warnings 2020-03-07 13:03:10 -08:00
Adam Whitehurst
54a7112ad9 resolve conflicts merging master -> clientstates 2020-03-07 12:49:48 -08:00
Adam Whitehurst
096d3b691e Merge master 2020-03-07 12:49:15 -08:00
Adam Whitehurst
c678ca9540 Re-add blocking 2020-03-07 11:55:15 -08:00
Adam Whitehurst
cb9e3859da Rename character behavior sys 2020-03-07 11:02:54 -08:00
jshipsey
d4332c3138 eagle adjustments 2020-03-07 13:26:46 -05:00
Adam Whitehurst
b1d1299fe6 Clean up character states 2020-03-07 10:15:02 -08:00
S Handley
b0ca85069b Piggyback on the InventoryUpdate events and attach some additional event info so that we can detect why the inventory update was triggered, and emit an associated sfx event that matches it. 2020-03-04 10:09:48 +00:00
Caleb Cochran
219f9fa3be Added missed comma 2020-02-25 22:01:51 -06:00
Caleb Cochran
8479230e66 Replaced commas (fmt issue) 2020-02-25 21:59:08 -06:00
Caleb Cochran
9f7aa61fbd Fixing #504 - Enemies stop attacking after combat 2020-02-25 20:48:09 -06:00
Shane Handley
0d2b26a3b8 SFX Fixes - Reinstate run, uncomment tests and make them pass, adjust
config.
2020-02-25 22:03:29 +09:00
timokoesters
4cc998f92b fix: non-humanoid npcs can attack again 2020-02-24 22:20:50 +01:00
timokoesters
d0439fdd84 Merge remote-tracking branch 'origin/master' into clientstates 2020-02-24 21:34:17 +01:00
timokoesters
ac611f4618 fix: sync characterstates, better energy management 2020-02-24 20:57:33 +01:00
timokoesters
31f3aae75c fix: make climbing cost stamina 2020-02-24 19:18:06 +01:00
timokoesters
2fa902270e fix: block 2020-02-24 18:10:42 +01:00
timokoesters
1f4065ae32 fix: attacking 2020-02-24 14:32:12 +01:00
S Handley
d87061fe14 Add a volume option to SfxEvents, and use this to dispatch movement sfx for quadripeds at a volume proportionate to their size. 2020-02-23 01:26:51 +00:00
S Handley
9ab2833056 Add weapon wield/unwield sfx support 2020-02-21 02:56:54 +00:00
Monty Marz
2180040f70 Orc hairstyles, several tiny UI fixes, fixed beard warnings 2020-02-20 10:32:03 +00:00
Joshua Yanovski
8a9d4012fa Allow spawning individual species with /spawn.
To get the old behavior, you now need to refer to the internal keywords
(like "bird_medium" or "quadruped_small") rather than the old friendly
names (like "duck" or "pig"), as the latter generate single species now.
2020-02-14 03:12:37 +01:00
Ben Simpson
636bf7d343 Merge branch 'expandedreality/energy-regen' into 'master'
Energy now does not regen when climbing,gliding,and swimming

Closes #483

See merge request veloren/veloren!800
2020-02-14 01:15:47 +00:00
Ben Simpson
c427f2298e Energy now does not regen when climbing,gliding,and swimming 2020-02-13 18:46:01 -06:00
Ben Simpson
3343f8e5c0 Update common/src/sys/controller.rs, common/src/sys/movement.rs, common/src/comp/energy.rs files 2020-02-13 08:36:29 +00:00
Ben Simpson
bfd2f345b1 Update common/src/sys/movement.rs 2020-02-13 08:19:36 +00:00
Ben Simpson
0cd8150e98 Update common/src/sys/movement.rs 2020-02-13 08:13:36 +00:00
Ben Simpson
a49482503d Update common/src/sys/controller.rs, common/src/sys/movement.rs files
Deleted energy.rs, movement.rs files
2020-02-13 07:59:54 +00:00
Ben Simpson
1aa98dbb62 Update common/src/comp/energy.rs, energy.rs, common/src/sys/controller.rs, common/src/sys/movement.rs, movement.rs files 2020-02-13 07:30:32 +00:00
Adam Whitehurst
d383abf950 Re add combat 2020-02-11 07:42:17 -08:00
Marcel Märtens
8f5e409ac4 update toolchain to 2020-02-09 22:58:01 +01:00
Marcel Märtens
90bcd87007 Reactivate Failure is allowed for benchmark and coverity 2020-02-09 20:01:44 +01:00
Imbris
fb7edd2404 Make nametag positioning slightly better 2020-02-06 17:10:52 -05:00
timokoesters
0bc07a0835 Merge remote-tracking branch 'origin/master' into clientstates 2020-02-03 22:02:32 +01:00
timokoesters
aeb37a1f33 improvement: char speed 2020-02-03 20:43:36 +01:00
timokoesters
aa52c6fd4f fix: jumping and attacking 2020-02-03 17:03:52 +01:00
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
Marcel Märtens
dd21235ff8 Apply prefixes to veloren source, espacially comments, so that reformating wont make it unreadable,
especially enumerations and other source code in errosions file
2020-02-01 21:37:36 +01:00
Joshua Barretto
faa86226c7 Collars 2020-01-29 12:01:28 +00:00
Joshua Yanovski
3fa21b3dc7 Per-speces NPC names!
Is also able to refactor some of the uglier code and introduces a
framework that (suitably extended) could be useful in removing
boilerplate elsewhere.
2020-01-29 04:41:32 +01:00
Joshua Barretto
116bc0d0b2 Fixed logic derp 2020-01-28 01:12:17 +00:00
Joshua Barretto
d87fc37aa2 Fixed watch compilation issue 2020-01-27 23:59:59 +00:00
Joshua Barretto
344eb9d45d Added intermittent rolling to NPCs during a chase 2020-01-27 16:18:36 +00:00
Joshua Barretto
de96551f65 Resolved pet alignment issues, added ranged aggro 2020-01-27 15:51:07 +00:00
Joshua Barretto
09f0a5744f Improved NPC spawning and names, made idle NPCs stop before hitting things 2020-01-27 10:58:33 +00:00
Monty Marz
981b55837a fix typo in en.ron, fixed unfinished weapons dropping from chests 2020-01-26 22:57:06 +00:00
Joshua Barretto
631124f3fc Switched to _squared(), added comments, parallelised waypoint gen 2020-01-26 12:52:32 +00:00
Joshua Barretto
7404800999 Added neutral NPC spawning 2020-01-26 12:52:32 +00:00
Joshua Barretto
723b578378 Improved pet aggression system, made waypoints rarer 2020-01-26 12:52:32 +00:00
Joshua Barretto
c9138d913c Fixed pathfinding limit bug, improvements to idle AI 2020-01-26 12:52:32 +00:00
Joshua Barretto
7437c18b99 Various bug fixes 2020-01-26 12:52:32 +00:00
Joshua Barretto
8c7e96e313 Improved waypoint spawn locations, scaled down pathfinding cost 2020-01-26 12:52:32 +00:00
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
7167320c92 Fixed shadows, better pathfinding 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
f14037e4a3 Occasional path recalculate, stopped pathfinder thrashing 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
Monty Marz
b583f60326 35 new ground sprites, UI fixes 2020-01-25 11:14:02 +00:00
timokoesters
6515daddce fixes 2020-01-24 16:57:24 +01:00
Imbris
b6235d51cf fix: overflow in VolGrid3d 2020-01-24 00:11:22 -05:00
Joshua Yanovski
3383e991e7 Erosion cleanup, part 1.
Covers all files touched by MR that are not in world/src/sim.
2020-01-23 18:18:17 +01:00
Joshua Yanovski
ccd85e8907 Fixes to enable loading (relatively) large maps.
With these changes, we can successfully open, map, and play maps thare
are 16x the size of a standard (1024 x 1024 chunk) map, 4x larger in
each direction.
2020-01-23 18:18:16 +01:00
Joshua Yanovski
e91578ffdb Cargo fmt most things (except erosion.rs). 2020-01-23 18:18:12 +01:00
Joshua Yanovski
2b38927345 Fixes for nonstandard chunk and map sizes.
Also fixes a longstanding map rendering issue.
2020-01-23 18:18:11 +01:00
Joshua Yanovski
9520ef4f6d Implement sending world map across the network. 2020-01-23 18:18:11 +01:00
timokoesters
7b558b4542 refactor: combine actionstate and movestate 2020-01-21 23:54:59 +01:00
timokoesters
28fe73825d feat: fitness stat effects movement speed 2020-01-21 19:24:09 +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
Joshua Barretto
8f86e45a72 Enumerated Body type 2020-01-20 14:21:06 +00:00
Pfauenauge90
8a0efd3654 added TODO for energy numbers 2020-01-19 22:39:20 +01:00
Joseph Gerardot
454aa82669 Fixup energy regen math to properly account for acceleration at any
framerate.
2020-01-19 22:39:20 +01:00
timokoesters
6e651eb659 fix: make fall damage behave correctly again after changing gravity 2020-01-19 22:39:20 +01:00
timokoesters
65d0a1c4f4 refactor: use restrict_mut 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
Joseph Gerardot
c10c31043c Make charging take a discrete amount of energy and change energy
regeneration to use floats so it is smoother and tickrate-independent.
2020-01-19 22:39:17 +01:00
Joseph Gerardot
b4337e57aa Add energy comsumption on rolling and charging, and accelerating
regeneration when idle.
2020-01-19 22:39:17 +01:00
Imbris
4b01c1b082 add: capability to disable blending for particular BlockKinds 2020-01-19 16:03:27 -05:00
Adam Whitehurst
7353ab3432 Undo sfx changes 2020-01-18 05:13:25 -08:00
AdamWhitehurst
976eface66 Update from MR comments 2020-01-17 08:39:21 -08:00
Adam Whitehurst
5959d2a5c7 Fix SFX and Assets 2020-01-16 05:28:45 -08:00
Adam Whitehurst
d82e93b39f Merge master and build 2020-01-16 05:27:30 -08:00
Imbris
d36b263627 Branch on lower color values for more accurate speedy color conversion, add simple color conversion benchmarks 2020-01-13 23:39:22 -05:00
Acrimon
71bd7f15ee
Even better conversion impl. 2020-01-13 20:54:56 +01:00
Acrimon
af8468315d
Made color conversion way more accurate. 2020-01-13 16:38:10 +01:00
AdamWhitehurst
71a39c3677 Update update return statements 2020-01-12 15:14:08 -08:00
AdamWhitehurst
1816d4b805 Move states/ to common/src/ 2020-01-12 15:06:52 -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
Shane Handley
c6f64564a8 Remove emission of an audio event from stats sys
This was accidentally left in by me during some testing of server
emission of SFX events to all clients. There was no effect on gameplay since we dont
emit a sound for this event yet, but it should not be here.

The audio event is correctly handled elsewhere by each client.
2020-01-11 13:08:33 +09:00
Monty Marz
851d7858e6 Scrolling Combat Text (SCT) 2020-01-10 00:33:38 +00:00
AdamWhitehurst
563e50b67d Move utils file 2020-01-09 08:23:20 -08:00
AdamWhitehurst
de36e75264 Fix imports, update matches 2020-01-08 11:31:42 -08:00
AdamWhitehurst
5527d83a0e Update mod imports 2020-01-08 08:56:36 -08:00
Adam Whitehurst
8cdf06e3e2 Swim pulsing 2020-01-08 05:17:36 -08:00
Adam Whitehurst
8648641362 Grooming 2020-01-07 07:49:08 -08:00
Adam Whitehurst
dc33f6ad6a Ruin them again (the comments) 2020-01-05 15:28:20 -08:00
Adam Whitehurst
4e18ffe6c2 RUIN the comments 2020-01-05 15:26:04 -08:00
Adam Whitehurst
5bba0a96fc Fix refs 2020-01-05 15:21:37 -08:00
Adam Whitehurst
542f06eef4 Add new() to states 2020-01-05 15:17:22 -08:00
Adam Whitehurst
4e5cf63452 Clean Up Systems 2020-01-05 14:55:27 -08:00
Adam Whitehurst
8bf35a197b Update weapon .ron 2020-01-05 11:26:22 -08:00
Adam Whitehurst
8fe5cec947 Clean up, make state handlers options 2020-01-05 10:19:09 -08:00
Adam Whitehurst
2f3ccbc5d6 Update Comments 2020-01-03 12:46:41 -08:00
Imbris
4fa05150a2 Merge branch 'imbris/char-screen-transition' into 'master'
Fix issues regarding going back to the character selection screen

Closes #386

See merge request veloren/veloren!700
2020-01-02 19:40:21 +00:00
Joshua Barretto
423e741cb6 Merge branch 'zesterer/better-rollin' into 'master'
Made rolling less slippy, added tilt

See merge request veloren/veloren!699
2020-01-02 18:35:27 +00: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
Adam Whitehurst
2635c405fe Ability comps and sys 2020-01-01 09:16:29 -08:00
S Handley
2644e29484 Refactor and Rename for clarity
Implements a potential structure for splitting the SFX event mapping
into smaller individual files for maintainability.

- Remove inventory events for now: For a later commit.
- No longer panic when there is a failure parsing the sfx file: log the error and not play sfx.
2020-01-01 02:55:48 +00:00
Imbris
1acf08390a Fix issue where controller events aren't processed while mounted. Fix non humanoids being able to climb and glide. 2019-12-31 16:41:45 -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
AdamWhitehurst
b67a4835f4 Update disabled state flags 2019-12-31 05:19:23 -08:00
Joshua Barretto
cfbf69ae89 Made rolling less slippy, added tilt 2019-12-30 15:16:21 +00:00
AdamWhitehurst
ba7ca785f6 Successful build 2019-12-30 05:56:42 -08: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
AdamWhitehurst
9c6ce9babd Begin implementing combat actions 2019-12-29 15:47:42 -08:00
Dylan Kile
badd3113d5 hierarchical pathfinding 2019-12-29 20:58:21 +00:00
AdamWhitehurst
7a4cdfb7a4 Documentation comments 2019-12-29 08:36:59 -08:00
AdamWhitehurst
ca44497258 Add movement_utils 2019-12-28 08:10:39 -08:00
AdamWhitehurst
06053faed0 Add state disables, cleanup imports 2019-12-26 10:01:19 -08:00
AdamWhitehurst
8e0317e03d refactor states to handle update logic 2019-12-26 06:43:59 -08:00
AdamWhitehurst
c2ceabea0e finish movment states handle() fn logic 2019-12-22 08:08:48 -08:00
AdamWhitehurst
1ab09220b0 Rudimentary Stand State handle() move 2019-12-21 07:57:15 -08:00
Imbris
6524ea31d1 Fix flight turning 2019-12-20 22:51:35 -05: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
bfaa18e010 Fix NaN in agent sys, stop pushback from turning player around, account for Scale in melee attack hit detection 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
Adam Whitehurst
e40eb2ba20 Finish Stand handle() (untested) 2019-12-20 08:50:54 -08:00
Adam Whitehurst
e074c7ce1d begin impl state handle traits 2019-12-20 05:30:37 -08:00
Adam Whitehurst
4ead941c82 Fix fall->climb, tweak jump and glide 2019-12-15 17:44:19 +00:00
Monty Marz
1e1990758b Fix bow-shot frequency 2019-12-12 20:13:45 +00:00
Forest Anderson
d8fc7cb667 Add advanced path finding to new 'Traveler' enemy using A* algorithm 2019-12-11 05:28:45 +00:00
Adam Whitehurst
20575e0aab Update controller 2019-12-09 14:45:10 +00:00
S Handley
11dd6b8090 Update footsteps SFX 2019-12-08 10:03:40 +00:00
Adam Whitehurst
92d99af53c feat: weapon-type dependent wield and attack durations
also some controller.rs cleanup
2019-12-03 06:30:08 +00:00
Adam Whitehurst
4e574cb29a Inputs enhancements 2019-11-29 15:20:35 +00:00
Monty Marz
040e1a7535 Fix map being inverted and indicator positioning 2019-11-26 22:39:07 +00: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
Monty Marz
370e94b1ad Loading Screen with pulsating text, 2 new hairstyles 2019-11-23 00:51:18 +00:00
Songtronix
bdcea57201 feat(log): add date to log file 2019-11-22 19:12:58 +01:00
telastrus
10d6f3e8b3 jump while underwater 2019-11-21 23:56:07 -05: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
52020e4902
Don't use the actual multiline doc comment syntax. 2019-11-06 18:02:58 -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
fab5377eed Add interface to add stuff in bulk to inventory
Also includes inventory tests.
inventory API.
2019-11-05 15:57:08 -05:00
soruh
e3bd152d24 update toolchain to nightly-2019-11-04 2019-11-04 18:26:32 +01: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
Marcel Märtens
242a0d35bd fixing character movement to no longer fail normalization then get a zero vec and then normalize again
may this can be further simplyfied
2019-10-26 22:14:11 +02: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
jshipsey
25448ae2a1 body tweak 2019-10-25 21:34:29 -04:00
jshipsey
644939810f added dragon skeleton 2019-10-25 21:33:59 -04:00
jshipsey
54fc712076 fish_medium and bird_medium skelingtons 2019-10-25 21:33:02 -04:00
timokoesters
3ceb3a9d6d
refactor: small adjustments 2019-10-25 09:47:28 +02:00
timokoesters
a6faffca4e
feat: asset glob loading, random weapons in chests 2019-10-24 23:55:25 +02:00
timokoesters
f1b728b89b
improvement: load_cloned returns a result 2019-10-24 23:55:24 +02:00
timokoesters
0a1e12c9ad
improvement: make debug items of type ItemKind::Tool
This way all items that can be held in a hand are tools
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
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
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
10f9f10cb3 Fix some panics when removing regions 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
Imbris
24d1f6d970 Add initial region system implementation 2019-10-23 22:39:42 -04:00
Monty Marz
3e0ac48bd8 Multiple Assets and UI fixes and additions 2019-10-23 19:40:45 +00:00
Songtronix
3e1bf295b5 fix(crash): singleplayer 2019-10-18 17:39:57 +02:00
Songtronix
fffffff536 fix(crash): overflowing the stack 2019-10-18 14:19:02 +02:00
Songtronix
5b716515bb change(githash): provide date and hash 2019-10-18 15:32:55 +02:00
Imbris
39656e92be Merge branch '276-hotloading-armor' into 'master'
Resolve "Enable hotloading of different offsets for armors/weapons"

Closes #276

See merge request veloren/veloren!545
2019-10-18 00:29:09 +00: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 Barretto
013afafba8 Made rolling less violent when changing directions 2019-10-17 12:21:22 +01: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
Adam Fogle
3a4c307d38 Code cleanup, formatting changes, and fixed the cloth belt's offset. 2019-10-16 00:42:57 -04:00
Joshua Barretto
707b79f2c8 Smoother movement, Space for climbing 2019-10-14 11:22:48 +01:00
heydabop
522ab2cd98 fixes #324 - changes possible modulo range from 0-29 to 1-29 to prevent mod by 0 2019-10-13 21:39:37 -05:00
Adam Fogle
a5db28113f Redid the mainfest files to remove race/gender.
Now based on armor slot enum.
Added color to the manifest files.
Manifest files aren't yet being used, but will load.
2019-10-12 08:31:42 -04: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
Monty Marz
d82ec6715a Item icons, chests and more 2019-10-09 19:28:05 +00:00
timokoesters
45f756343d
fix: blocking now ends in wielded
This makes blocking more viable because while blocking you can wait for
the enemy to attack and then quickly exit the block and attack yourself.
2019-10-08 21:19:48 +02:00
timokoesters
095e66fc01
fix: tweek hp 2019-10-08 20:36:46 +02: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
4e87f125a2
fix: fix level and health distribution 2019-10-08 18:12:08 +02:00
Joshua Barretto
2171e77fe5 Fixed block snapping ground clip 2019-10-08 12:21:05 +01:00
Monty Marz
b3862278af Help window, UI fixes, asset fixes 2019-10-06 19:19:08 +00:00
timokoesters
182b98081b
feat(bow): arrows despawn after some time 2019-10-06 19:32:46 +02:00
Timo Koesters
f3787879d3 fix(bow): adds bow icon art 2019-10-05 21:51:08 +00:00
timokoesters
2fc4a8d9aa fix(exp): crash when gaining many levels at once 2019-10-05 17:37:10 +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
timokoesters
460a494e77
fix(bow): Don't remove vel and use sticky component instead 2019-10-04 21:30:13 +02:00
Pfauenauge90
f1c4e7040a
rebase fix 2019-10-04 21:02:45 +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
ba3db852f7
feat(bow): make arrows stick to walls 2019-10-04 21:02:44 +02:00
timokoesters
fc97c27b65
feat(bow): sticky arrows 2019-10-04 21:02:43 +02:00
timokoesters
575f7da64d
feat(bow): Client side prediction 2019-10-04 21:02:43 +02:00
timokoesters
fe17b4952c
Remove warnings 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
Nick12
e8340d88af Increase max bytes per chat message 2019-10-04 16:14:54 +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
Acrimon
03bf74f414 Updated toolchain version and a bunch of deps. 2019-10-03 17:19:22 -04:00
Justin Shipsey
27f3bebe40 Char overhaul and asset update 2019-10-02 10:05:17 +00:00
Imbris
83b5ca3335 Higher level cache abstraction 2019-10-01 02:10:28 -04:00
Imbris
89a1c45ac7 Cache most recent chunk access in terrain meshing 2019-10-01 02:10:28 -04:00
Monty Marz
11a022abb3 Better stepping sounds (and minor voxel model fixes) 2019-09-27 16:04:22 +00:00
Joshua Barretto
bdf74cf151 Fixed typo 2019-09-26 14:03:41 +01:00
Joshua Barretto
a6d5b82ef5 Prevented pickups with full inventory 2019-09-26 00:15:07 +01:00
Joshua Barretto
a2758b091c Added flower and grass 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
d745acc948 Floodfill shadows, smooth shadow lighting 2019-09-26 00:15:07 +01:00
Acrimon
9ce9251a17 Formatted code. 2019-09-24 11:56:19 +02:00
Acrimon
3db0b2946d Added some tests. 2019-09-24 11:36:35 +02:00
Acrimon
7e768b84e4 Fast powf for sgrb. 2019-09-24 11:05:01 +02:00
Monty Marz
3a0131306f Character assets Part 1 2019-09-18 16:46:12 +00: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
haslersn
51718c32a6 Bugfix: DefaultPosIterator now starts at lower_bound
Previosly the first iteration was skipped.
2019-09-11 01:48:28 +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
Joshua Barretto
933e48ac3b Merge branch 'fix-jump-height' into 'master'
Fix jump height

See merge request veloren/veloren!485
2019-09-08 15:50:08 +00:00
Timo Koesters
92c0edcb98 Merge branch 'timo-attack' into 'master'
Fix wolfs not attacking and adjust movement while attacking

See merge request veloren/veloren!484
2019-09-07 10:25:57 +00:00
timokoesters
f3593371ea
Make npcs attack in a smarter way 2019-09-07 12:16:55 +02:00
haslersn
b26043b0e6 common: Rework Chunk and Chonk implementation
Previously, voxels in sparsely populated chunks were stored in a `HashMap`.
However, during usage oftentimes block accesses are followed by subsequent
nearby voxel accesses. Therefore it's possible to provide cache friendliness,
but not with `HashMap`.

The previous merge request [!469](https://gitlab.com/veloren/veloren/merge_requests/469)
proposed to order voxels by their morton order (see https://en.wikipedia.org/wiki/Z-order_curve ).
This provided excellent cache friendliness. However, benchmarks showed that
the required indexing calculations are quite expensive. Particular results
on my _Intel(R) Core(TM) i7-7500U CPU @ 2.70 GHz_ were:

| Benchmark                                | Before this commit @ d322384bec | Morton Order @ ec8a7caf42 | This commit          |
| ---------------------------------------- | --------------------------------- | --------------------------- | -------------------- |
| `full read` (81920 voxels)               | 17.7ns per voxel                  | 8.9ns per voxel             | **3.6ns** per voxel  |
| `constrained read` (4913 voxels)         | 67.0ns per voxel                  | 40.1ns per voxel            | **14.1ns** per voxel |
| `local read` (125 voxels)                | 17.5ns per voxel                  | 14.7ns per voxel            | **3.8ns** per voxel  |
| `X-direction read` (17 voxels)           | 17.8ns per voxel                  | 25.9ns per voxel            | **4.2ns** per voxel  |
| `Y-direction read` (17 voxels)           | 18.4ns per voxel                  | 33.3ns per voxel            | **4.5ns** per voxel  |
| `Z-direction read` (17 voxels)           | 18.6ns per voxel                  | 38.2ns per voxel            | **5.4ns** per voxel  |
| `long Z-direction read` (65 voxels)      | 18.0ns per voxel                  | 37.7ns per voxel            | **5.1ns** per voxel  |
| `full write (dense)` (81920 voxels)      | 17.9ns per voxel                  | **10.3ns** per voxel        | 12.4ns per voxel     |

This commit (instead of utilizing morton order) replaces `HashMap` in the
`Chunk` implementation by the following data structure:

The volume is spatially subdivided into groups of `4*4*4` blocks. Since a
`Chunk` is of total size `32*32*16`, this implies that there are `8*8*4`
groups. (These numbers are generic in the actual code such that there are
always `256` groups. I.e. the group size is chosen depending on the desired
total size of the `Chunk`.)

There's a single vector `self.vox` which consecutively stores these groups.
Each group might or might not be contained in `self.vox`. A group that is
not contained represents that the full group consists only of `self.default`
voxels. This saves a lot of memory because oftentimes a `Chunk` consists of
either a lot of air or a lot of stone.

To track whether a group is contained in `self.vox`, there's an index buffer
`self.indices : [u8; 256]`. It contains for each group

* (a) the order in which it has been inserted into `self.vox`, if the group
    is contained in `self.vox` or
* (b) 255, otherwise. That case represents that the whole group consists
    only of `self.default` voxels.

(Note that 255 is a valid insertion order for case (a) only if `self.vox` is
full and then no other group has the index 255. Therefore there's no
ambiguity.)

Rationale:

The index buffer should be small because:

* Small size increases the probability that it will always be in cache.
* The index buffer is allocated for every `Chunk` and an almost empty `Chunk`
    shall not consume too much memory.

The number of 256 groups is particularly nice because it means that the index
buffer can consist of `u8`s. This keeps the space requirement for the index
buffer as low as 4 cache lines.
2019-09-06 18:20:15 +02:00
haslersn
d322384bec common: Add benchmark for Chonk 2019-09-06 15:44:36 +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
haslersn
886d554f52 common: prepend/append multiple SubChunks in a batch 2019-09-06 15:33:36 +02:00
haslersn
963c5a7785 common: Calculate magic number in Chonk 2019-09-06 15:33:36 +02:00
haslersn
8451a06804 common: Set TerrainChunk::SIZE.z = std::i32::MAX 2019-09-06 15:33:36 +02:00
haslersn
57354fb062 common: For trait ReadVol remove get_unchecked() 2019-09-06 15:33:36 +02:00
Joshua Barretto
66c58840ef Merge branch 'scott-c/first-person-model' into 'master'
Add first person models

See merge request veloren/veloren!443
2019-09-06 13:02:03 +00:00
scott-c
bc1ccfc99b Fix first person weapon visible while not wielding 2019-09-06 18:22:26 +08:00
Andrew Pritchard
05dff792fc Deref instead of clone vel 2019-09-06 14:22:58 +08:00
Andrew Pritchard
b4c74279b7 Vec3 is apprently *not* Copy, Set near plane to 0.1 to prevent tirangle flickering 2019-09-06 13:24:42 +08:00
Andrew Pritchard
b4d5663fed Vec3 is copy 2019-09-06 12:04:20 +08:00
Andrew Pritchard
5b82808df0 Merge branch 'master' into 'fix-jump-height'
# Conflicts:
#   common/src/sys/phys.rs
2019-09-05 13:07:46 +00:00
Andrew Pritchard
d0b2f7565a Revert "Revert "Exponential interpolation for linear damping""
This reverts commit 8b9a3ae1df.
2019-09-05 18:24:38 +08:00
Andrew Pritchard
8b9a3ae1df Revert "Exponential interpolation for linear damping"
This reverts commit 94b9f50efa.
2019-09-05 18:24:22 +08:00
Andrew Pritchard
94b9f50efa Exponential interpolation for linear damping
With an additional approximation to allow for the same size jumps given different framerates.
2019-09-05 17:07:15 +08:00
Imbris
52d84248ec Remove all warnings 2019-09-04 19:03:49 -04:00
Imbris
fc9c87878e Fix some warnings, cleanup comment 2019-09-03 23:09:29 -04:00
Imbris
8a994ada8e Remove derpy eyes :( , fix undead eye indices, fmt 2019-09-03 23:06:15 -04:00
jshipsey
ca4da22c7d fixing eyes, cleanup on offsets 2019-09-03 23:06:13 -04:00
jshipsey
178657c871 tweaked hair colors, head offsets, skin colors 2019-09-03 23:06:11 -04:00
Imbris
cc331c10b6 Remove use of empty.vox 2019-09-03 23:06:09 -04:00
Imbris
074eee06e6 Add pants coloring, chest and pants sliders 2019-09-03 23:06:06 -04:00
Imbris
0ffc534df2 Add separate eye color lists for each race 2019-09-03 23:06:02 -04:00
Pfauenauge90
bdb95be5cc hair and skin colours 2019-09-03 23:05:59 -04:00
Imbris
c4999f5e9d adjust how figure head coloring is done 2019-09-03 23:05:58 -04:00
Imbris
9d086949d1 Add basic index based coloring for figures 2019-09-03 23:05:56 -04:00
Imbris
fd251c4d3a Fix sliders, remove uneeded method, fix aspect ratio in character creation 2019-09-03 23:05:54 -04:00
Imbris
7bebffb2af Add ron file for head offsets, segment unionizer 2019-09-03 23:05:52 -04:00
Imbris
ab34377309 Add basic segment combination 2019-09-03 23:05:50 -04:00
Imbris
3ccbb0f38d Convert tooltips to use ImageFrame, add autosizing 2019-09-01 15:34:20 -04:00
Monty Marz
f53904b534 More sprites, ui fixes, lianas 2019-09-01 19:04:03 +00:00
timokoesters
ecbf7cad5b Remove old code 2019-08-31 09:00:20 +02:00
jshipsey
b81cd6a8f9 combine character.action movement blocks 2019-08-30 22:51:46 -04:00
timokoesters
9a832dd56b Move std::mem::discriminant into new method 2019-08-30 22:51:46 -04:00
jshipsey
78bf7a0997 slowed movement for block/attack, cleaned up code, made foot speed velocity dependent, tweaked blocking animation 2019-08-30 22:50:53 -04:00
timokoesters
b99bac87db Make npcs roll correctly 2019-08-30 22:50:53 -04:00
timokoesters
77a48c61a1 Fix rolling for the player 2019-08-30 22:50:53 -04:00
jshipsey
f8d0b1040a readded cidle 2019-08-30 22:50:53 -04:00
jshipsey
bec942753e some stuff fixed, other stuff still broken 2019-08-30 22:50:53 -04:00
jshipsey
e6197d4c10 separate static anims for feet (run/static) 2019-08-30 22:50:53 -04:00