Commit Graph

2886 Commits

Author SHA1 Message Date
juliancoffee
171c66d53d docs 2021-06-09 15:37:04 +03:00
juliancoffee
f5bf991eb0 Start to load EntityInfo from assets in dungeons
* All enemies in dungeons are now specify loadout_config, name and
main_tool in assets
* Add more variance to the enemies names
2021-06-09 15:37:04 +03:00
juliancoffee
5f3eaddb70 Split LodoutBuilder::build_loadout
LoadoutBuilder::build_loadout is a function which has four parameters
and 3 of them are Option<>, and although fourth (body) isn't Option<>,
it's optional too because it is used only in some combinations of
another arguments.

Because these combinations produces quirky code flow, it will be better
to split it to different methods.

So we did following changes to remove it and rewrite code that was using it
to use better methods.

* Introduce LoadoutPreset as new LoadoutConfig, currently it's only used
in Summon ability, because SummonInfo uses Copy and we can't specify
String for specifying asset path for loadout.
Everything else is rewritten to use asset path to create loadouts.

* More builder methods for LoadoutBuilder.
Namely:
    - from_default which is used in server/src/cmd.rs in "/spawn" command.
    - with_default_equipment, with_default_maintool to use default
    loadout for specific body
    - with_preset to use LoadoutPreset

* Add new make_loadout field with `fn (loadout_builder, trading_info) -> loadout_builder`
to EntityInfo which allows to lazily construct loadout without
modifying LoadoutBuilder code

* Fix Merchants not having trade site
We had heuristic that if something has Merchant LoadoutConfig - it's
merchant, which can be false, especially if we create Merchant loadout
lazily
As side note, we do same check for Guards and it fails too.

Too fix it, we introduce new agent::Mark, which explicitly specifies
kind of agent for entity

* `LoadoutBuilder::build_loadout` was written in a such way that depending
on main_tool you will have different loadout. Turns out it was this
way only for Adlets though and this behaviour is reproduced by specifying
different loadouts directly in world code.
2021-06-09 15:37:04 +03:00
juliancoffee
aad65c6159 Move traveler loadout declaration to asset
* New loadout/world/traveler.ron file to specify traveler loadout
* LoadoutBuilder::with_asset_expect now can use passed rng to choose
items
2021-06-09 15:37:03 +03:00
juliancoffee
e153cbe20e Rename LoadoutBuilder::apply_asset_expect
to LoadoutBuilder::with_asset_expect
2021-06-09 15:37:03 +03:00
juliancoffee
102f6d3338 EntityInfo assetization
* Rename skillset_config to skillset_preset
* Rename loadout_config to loadout_preset
* Add skillset_config for asset_specifier of skillset
* Add loadout_config for asset_specifier of loadout
2021-06-09 15:37:03 +03:00
juliancoffee
e832fa86f1 Add entity template and make 'loadouts' singular 2021-06-09 15:37:03 +03:00
Marcel
875b26a93a Merge branch 'aweinstock/recipe-graphviz' into 'master'
Add graphviz diagram generator for crafting recipes.

See merge request veloren/veloren!2401
2021-06-09 09:14:13 +00:00
Marcel
ee5d55f773 Merge branch 'swilliams/collision-balance' into 'master'
NPC Hitbox Adjustments

See merge request veloren/veloren!2403
2021-06-09 08:08:44 +00:00
Scott Williams
2a161abd0a NPC Hitbox Adjustments 2021-06-09 08:08:41 +00:00
juliancoffee
1dd621a56f serialize AssetTweakWrapper<T>, not just T
asset_tweak::tweak_expect_or_create works by writing default data to
file and then read it as asset.
the problem is that it was writing T, and read AssetTweakWrapper<T>
which are different types.

Tests didn't handle case when you will load data back so bug was hidden.
2021-06-08 22:39:51 +03:00
Avi Weinstock
b5ae6227c0 Run clippy for graphviz target in CI and add instructions on how to consume the output. 2021-06-08 15:08:14 -04:00
Avi Weinstock
b5b7de9532 Add graphviz diagram generator for crafting recipes. 2021-06-08 14:42:51 -04:00
Marcel Märtens
37c508d05d add todo for clippy exception 2021-06-08 15:45:46 +02:00
juliancoffee
cb7a41c72d put serde behind feature gate 2021-06-08 14:03:15 +03:00
juliancoffee
df2c3a4950 Fix find_root() search in case if .git isn't dir 2021-06-08 13:34:46 +03:00
juliancoffee
8f86f474e8 place asset_tweak behind a feature 2021-06-08 13:34:41 +03:00
juliancoffee
3c34301947 More tests, support only assets/tweak directory
- Use `serial_test` because tests can't run in parallel as both of them
are accessing fs.
- Take only filename, use hardcoded `assets/tweak` to keep it simple and
support .gitignore
2021-06-08 13:31:27 +03:00
juliancoffee
7533f4d17b add asset_tweak_or_create that will create file 2021-06-08 13:31:27 +03:00
juliancoffee
8a157b8410 New tweak_expect fn to tweak values from .ron
- Function to tweak values via temporary hot-reloaded .ron files
2021-06-08 13:31:27 +03:00
Marcel
39ea9d3aa3 Merge branch 'xMAC94x/ci_bin_features' into 'master'
Add bot tests to CI

See merge request veloren/veloren!2326
2021-06-08 10:04:17 +00:00
Marcel
eecb561838 Merge branch 'slipped/meatfollowup' into 'master'
various fixes to items

See merge request veloren/veloren!2399
2021-06-08 09:57:31 +00:00
Christof Petig
b3956517fc suppress recipes with no cost 2021-06-08 09:17:04 +02:00
jshipsey
fe1cbec37c various fixes to items 2021-06-07 21:21:12 -04:00
Avi Weinstock
3cbf84ddb1 Restore collision data for airships, and add the test that would have caught this. 2021-06-07 18:09:09 -04:00
Marcel Märtens
7185dcee68 switch to hashbrown 0.11 and specs 0.16.2 2021-06-07 13:01:01 +02:00
Marcel Märtens
846df3a18a --all-targets does not run targets that needs some features which are not provided. --all-features is NOT possible as we have some features which are conflicting.
The only possibility is to manually add the features we need to check in CI to the clippy query
2021-06-07 12:29:08 +02:00
Marcel
f2eedf81f4 Merge branch 'imbris/648-cleanup' into 'master'
Make handling of shortcut keywords for commands clearer and revise a TODO...

Closes #648

See merge request veloren/veloren!2387
2021-06-07 10:27:54 +00:00
Marcel Märtens
b1c2a1bde0 put ron behind a cargo feature as its only used in a bin and fix a logical merge conflict, overwriting with edfe713076 2021-06-07 11:13:55 +02:00
Sam
0488b2fcd0 Adressed comments on energy and armor functions. 2021-06-07 11:06:25 +02:00
Snowram
76ca99ece4 Derive str from Material, better deserialization 2021-06-07 11:03:50 +02:00
jshipsey
4deeb42155 cave adjustments 2021-06-07 11:02:34 +02:00
jshipsey
9034d0f25d comment addressing, cave tweaks 2021-06-07 11:01:46 +02:00
jshipsey
0e269b59d7 tooltip work 2021-06-07 11:01:32 +02:00
Snowram
29a38e6d4f Split tags into material class and material 2021-06-07 11:00:57 +02:00
Snowram
3fa7d0b6d4 Add material and armor class tags 2021-06-07 11:00:31 +02:00
jshipsey
7a573efab7 proper recipes, tanning racks, various fixes 2021-06-07 11:00:14 +02:00
jshipsey
05de96c94b ore deposits, flower drops 2021-06-07 10:59:50 +02:00
jshipsey
1c17d8fe5e cave changes 2021-06-07 10:59:44 +02:00
jshipsey
754b60d810 crafting stations 2021-06-07 10:59:35 +02:00
Sam
2a07fad802 Removed armor stat hackery.
Added new armor stats to remaining armor items.
Fixed broken tests.
2021-06-07 10:59:26 +02:00
Sam
fa0fe38699 Fixed csv tools 2021-06-07 10:58:47 +02:00
Sam
855384fbeb Crit power stat now functional, added comments on each stat field to better describe what the stat does and what values should be used. 2021-06-07 10:58:42 +02:00
Sam
c3b834ec15 Max energy stat functional. 2021-06-07 10:58:37 +02:00
Sam
6790b71d53 Energy recovery stat functional. 2021-06-07 10:58:32 +02:00
jshipsey
1b575a5a04 crafting item partial re-organization, armor recipes, some specific animal drops 2021-06-07 10:56:35 +02:00
Marcel
27e505e79d Merge branch 'xMAC94x/log_spam' into 'master'
XMAC94x/log spam

See merge request veloren/veloren!2385
2021-06-07 07:55:27 +00:00
Imbris
0b92c72096 Make handling of shortcut keywords for commands clearer and revise a TODO related to how chat messages are stored and renamed with alias changes 2021-06-06 23:45:51 -04:00
Marcel Märtens
26160df8e5 adjust tracing 2021-06-06 19:31:25 +02:00
Marcel
521e1eacf3 Merge branch 'aweinstock/add-models-20210603' into 'master'
Add Basilisk and Cyclops models by Gemu, and AirBalloon model by SarraKitty.

See merge request veloren/veloren!2371
2021-06-06 16:56:21 +00:00
Snowram
edfe713076 Cyclops, basilisk, air balloon offsets 2021-06-06 14:12:08 +02:00
Sam
acf7ad27f1 Balance tweaks. 2021-06-05 17:15:04 -05:00
Sam
74b7039219 Yeti AI 2021-06-05 13:25:47 -05:00
Sam
93f90d514c Particles for ice spikes 2021-06-04 18:17:15 -05:00
Sam
81f7e690fd Snowball attack. 2021-06-04 18:17:15 -05:00
Sam
a82984b925 Added base ability set 2021-06-04 18:17:14 -05:00
Sam
eaf87a53bb Final tweaks. 2021-06-03 21:39:47 -05:00
Sam
5bf99eac11 Added totem ability, totem ai, totem ability set, particles for totem abilities, and totem voxel model. 2021-06-03 21:39:15 -05:00
Sam
ac2f097d80 Tidal warrior AI. 2021-06-03 21:39:14 -05:00
Sam
c81e1534f7 First 3 abilities for tidal warrior functional. Added bubble particles. 2021-06-03 21:39:13 -05:00
Avi Weinstock
05c699878f Add Basilisk and Cyclops models by Gemu, and AirBalloon model by SarraKitty. 2021-06-03 19:24:34 -04:00
Marcel Märtens
affb9730a8 use criterion groups and fix tracing to much on wgpu 2021-06-03 22:37:17 +02:00
Imbris
7da6b5e59d Fix ProfSpan constructor being private 2021-06-03 00:10:06 -04:00
Imbris
c2da81cf18 Move pipeline creation into the background, still needs Drawer modications and UI to display status 2021-06-02 23:59:51 -04:00
Imbris
a1fac487e4 Suppress wgpu_core::device info logging 2021-06-02 23:59:48 -04:00
Samuel Keiffer
4b359b8ca4 Merge branch 'aweinstock/price-equality' into 'master'
Add a manifest for making different items count as the same item for the purpose of pricing.

See merge request veloren/veloren!2360
2021-06-02 23:48:45 +00:00
Samuel Keiffer
9a31d77f0a Merge branch 'tygyh/default-loadout' into 'master'
LoadoutBuilder refactoring

See merge request veloren/veloren!2361
2021-06-02 23:42:39 +00:00
Samuel Keiffer
d235e98efe Merge branch 'aweinstock/agent-pid' into 'master'
Implement PID controllers and use them to stabilize Agent airship flight.

See merge request veloren/veloren!2356
2021-06-02 23:15:08 +00:00
Avi Weinstock
054fb1d763 Add a manifest for making different items count as the same item for the purpose of pricing. 2021-06-02 19:12:51 -04:00
juliancoffee
1fc3fce970 Move warning-supressing from global onto function 2021-06-03 01:58:34 +03:00
juliancoffee
00714db492 Implement Choice of Choice in loadout files 2021-06-02 18:35:22 +03:00
juliancoffee
674a7f41bd Using clippy::pedantic and improve asset tests
- Turned clippy::pedantic on for loadout_builder.rs and applied some
proposition
- Check for invalid weights in loadout files
2021-06-02 17:54:14 +03:00
Marcel
f988584337 Merge branch 'revert-c6e200a3' into 'master'
Add a configuration Option to opt-in Quic backend

See merge request veloren/veloren!2318
2021-06-02 14:27:13 +00:00
juliancoffee
952156ad99 Add ability to override weapon in loadout assets 2021-06-02 17:17:19 +03:00
juliancoffee
3c66e62fe0 Decompose LoadoutBuilder::from_asset_expect
- Introduce apply_asset_expect() to mutate passed builder and complete it
from asset
- Remove runtime panic from choosing item
- Rewrite defaults() to load from asset
2021-06-02 17:17:19 +03:00
Dr. Dystopia
641ccd5282 Replace object initialization with read from file 2021-06-02 17:17:19 +03:00
Imbris
3a1a65b134 Remove stabilized or_patterns feature 2021-06-01 13:19:20 -04:00
Imbris
23eca4c3f6 Re-disable incremental just for common-systems, small fix in plugin
crate, more new clippy fixes
2021-05-31 20:44:57 -04:00
Imbris
48ebb10d50 Update toolchain 2021-05-31 20:44:57 -04:00
Samuel Keiffer
9637d874ab Merge branch 'adam/frozen-debuff' into 'master'
Frozen Debuff

See merge request veloren/veloren!2357
2021-05-30 22:39:11 +00:00
Adam Whitehurst
daa18dd92a fix: remove limit 2021-05-30 13:42:47 -07:00
Adam Whitehurst
2e74348813 refactor: variable names 2021-05-30 13:40:25 -07:00
Adam Whitehurst
9e7937d98f refactor: BuffKind::Frozen comment 2021-05-30 13:39:18 -07:00
Adam Whitehurst
98fdf5c3e1 fix: more succinct checked_tick_attack 2021-05-30 13:36:18 -07:00
Adam Whitehurst
6dc1c05089 fix: better scaling 2021-05-30 13:06:01 -07:00
Adam Whitehurst
66cf4ab74c fix: name 2021-05-30 12:56:26 -07:00
Ygor Souza
d890a58b93 Reset on_ceiling state
Previously, the on_ceiling state would remain true for the entire
lifetime of the entity after it touched the ceiling once.
2021-05-30 21:49:11 +02:00
Adam Whitehurst
6b1351bdc3 feat: impl attack speed modifier 2021-05-30 12:39:30 -07:00
Adam Whitehurst
0b92cc5732 feat: tick_attack utils 2021-05-30 12:39:00 -07:00
Avi Weinstock
e09ae8ad83 Address MR 2356 comments. 2021-05-30 13:36:25 -04:00
Avi Weinstock
5164b1a539 Add comments to the PID controller code. 2021-05-30 13:36:25 -04:00
Avi Weinstock
8b20175b6e Implement PID controllers and use them to stabilize Agent airship flight. 2021-05-30 13:36:25 -04:00
Adam Whitehurst
eea7eead2e wip: impl Stats::attack_speed_modifier 2021-05-30 09:40:11 -07:00
Adam Whitehurst
e06bd0eaa3 feat: BuffKind::Frozen 2021-05-30 08:51:47 -07:00
Avi Weinstock
d38db15411 Fixed entities with voxel colliders being off by one physics tick for collision. 2021-05-28 20:25:57 -04:00
Avi Weinstock
3684cf0454 Fix economy data not properly being used to price trades, resulting in default prices being applied at most towns.
Also add an exporter from econsim results to sqlite to aid in debugging the economy (which revealed this bug).
2021-05-28 15:09:29 -04:00
Avi Weinstock
7a97fbb5cf Add zoom scaling as well as FOV scaling to ChargedRanged, and restore the old zoom afterwards. 2021-05-26 09:34:08 -04:00
Avi Weinstock
4d7828ec94 Make the camera zoom as the bow (or any ChargedRanged attack) is charging. 2021-05-26 09:34:07 -04:00
Justin Shipsey
d7c7f6bf5d Merge branch 'sam/rework-bow' into 'master'
Bow Rework

See merge request veloren/veloren!2310
2021-05-26 04:44:09 +00:00
Justin Shipsey
1074352ca4 Merge branch 'juliancoffee/dungeon_chests' into 'master'
dungeon chests

See merge request veloren/veloren!2342
2021-05-24 23:05:20 +00:00
juliancoffee
c618ec7222 fmt 2021-05-25 01:23:32 +03:00
juliancoffee
940655dcb6 Adding different chests for each dungeon 2021-05-24 23:00:44 +03:00
Marcel
80b8561317 Merge branch 'lboklin/wing-clip' into 'master'
Fix higher than intended drag for winged entities

See merge request veloren/veloren!2336
2021-05-24 11:42:12 +00:00
juliancoffee
e248e795a1 fixing tests 2021-05-24 00:06:03 +03:00
juliancoffee
d80a45a066 Fix species tests for random body_type and fmt 2021-05-23 22:59:48 +03:00
juliancoffee
457e5b14d8 Add tests for validation assets 2021-05-23 22:27:33 +03:00
juliancoffee
8c1643cad9 Switch to using EquipSlot key instead of String 2021-05-23 21:37:41 +03:00
juliancoffee
22b1880ae5 LoadoutBuilder efactoring 2021-05-23 20:29:19 +03:00
Sam
0961f00c7c Updated comments in states code. 2021-05-23 11:41:09 -05:00
juliancoffee
00b182c183 Remove unused LoadoutConfig-s 2021-05-23 19:19:20 +03:00
juliancoffee
6656cfe010 Add directory hierarchy 2021-05-23 19:19:20 +03:00
juliancoffee
cbdb7dc1c1 add TODO about tests 2021-05-23 19:19:20 +03:00
juliancoffee
0722861364 Move loadout config handling to .ron files 2021-05-23 19:19:20 +03:00
juliancoffee
f0692c491b Implement random choosing of item from loadout 2021-05-23 19:19:20 +03:00
juliancoffee
a8699cfa15 Add support for .ron loadouts 2021-05-23 19:19:20 +03:00
James Melkonian
419cd2a5e4 Don't modify position in glide character state 2021-05-23 07:26:11 +00:00
Ludvig Böklin
a2afb75c83 Birds don't have wings 2021-05-23 08:17:49 +02:00
hqurve
854930bc1a Item pickups are shown in separate window and "inventory-full" messages are shown above the item attempted to be picked up 2021-05-22 20:47:08 +00:00
Sam
7828112486 Balance tweaks. 2021-05-22 15:00:05 -05:00
Sam
0592d14d04 Fix 2021-05-22 13:29:03 -05:00
Samuel Keiffer
9f1bb37b70 Merge branch 'lboklin/bird-drag' into 'master'
Adjusted masses; less excessive knockbacks; prevent loot shooting off

See merge request veloren/veloren!2307
2021-05-22 17:56:14 +00:00
Ludvig Böklin
46d1bb5f18 Adjusted masses; less excessive knockbacks; prevent loot shooting off 2021-05-22 17:56:13 +00:00
Samuel Keiffer
e543941073 Merge branch 'juliancoffee/boss_armour' into 'master'
Boss armor

See merge request veloren/veloren!2327
2021-05-22 17:42:27 +00:00
Sam
f993f28eff Various tweaks. 2021-05-22 12:41:47 -05:00
juliancoffee
ca6266e780 Fix skill presets, add tests 2021-05-22 12:33:22 -05:00
Sam
1014ac45bf Made new skills for reworked bow.
Created migration to reset bow skills.
2021-05-22 12:33:21 -05:00
Sam
3f16d15bbb Reworked bow 2021-05-22 12:33:20 -05:00
Monty Marz
30bcc6aaa3 Ferocious armour for t5-dungeon minibosses 2021-05-22 10:55:36 +00:00
juliancoffee
7dc50891d2 Add placeholders for bosses armour 2021-05-22 00:20:56 +03:00
juliancoffee
312a01122a Add tests to loadout builder 2021-05-21 23:36:09 +03:00
Samuel Keiffer
a0599ac046 Merge branch 'sam/extra-equip-slots' into 'master'
Added Extra Loadout Slots

See merge request veloren/veloren!2295
2021-05-21 20:28:53 +00:00
Marcel
99304ffddd Revert "Merge branch 'sharp/revert-quinn' into 'master'"
This reverts merge request !2315
2021-05-21 10:41:16 +02:00
Ludvig Böklin
270f89db6b Disable glider input until keys are pressed again after deploy 2021-05-20 12:13:59 +02:00
Sam
3a004d9d4c Removed commented code 2021-05-17 16:48:56 -05:00
Joshua Yanovski
3679cb75bc Revert "Merge branch 'xMAC94x/quic_enablement' into 'master'"
This reverts commit 04d8ddf25e, reversing
changes made to 9dcf7a9d26.
2021-05-17 08:32:12 -07:00
Marcel
04d8ddf25e Merge branch 'xMAC94x/quic_enablement' into 'master'
Add a configuration Option to opt-in Quic backend

See merge request veloren/veloren!2268
2021-05-17 12:02:55 +00:00
Sam
93b5e674f6 Fixed comments and some functionality. 2021-05-16 21:35:17 -05:00
Ben Wallis
fcf4ab7619 main/offhand weapon swap check refactor 2021-05-16 21:07:36 -05:00
Sam
ad0c247838 Removed special case for equipping a weapon that is no longer needed. 2021-05-15 15:16:39 -05:00
Sam
5cc6168553 Unequipping a mainhand weapon now moves offhand weapon into mainhand. 2021-05-15 15:16:39 -05:00
Sam
19926a2322 Swapping weapon sets is now functional. (Though very hacky?) 2021-05-15 15:16:39 -05:00
Sam
23cc3d671b Now allows weapons to be swapped between the mainhand and offhand slot. (Probably hacky?) 2021-05-15 15:16:38 -05:00
Sam
6b153bcf47 Enforced certain invariants in how an item was equipped into the loadout:
- a 2h weapon can only be equipped in a mainhand slot if the offhand slot is empty
 - a 1h weapon can only be equipped in an offhand slot if the mainhand slot has a 1h weapon
 - 2h weapons can never be equipped in an offhand slot

Fixed some tests
2021-05-15 15:16:38 -05:00
Sam
9173dca03f Added equip slots for other weapons. 2021-05-15 15:16:37 -05:00
holychowders
d5f3ba77d4 Make NPCs Aware of Sound - See Issue #913 2021-05-15 19:36:27 +00:00
Marcel
7d5ca0e7bf Revert "Merge branch 'snowram/hacky-mount' into 'master'"
This reverts merge request !2219
2021-05-14 13:43:20 +00:00
Snowram
8745fb803a Use Body to determine mountee offsets 2021-05-14 00:11:54 +02:00
Snowram
b063ec5a8f Clean unused mount offset 2021-05-14 00:11:46 +02:00
Snowram
486fbf940e Anims export a transform for mounts 2021-05-14 00:11:37 +02:00
Snowram
026ba616ff Expose the mounting bone to the mounter anims 2021-05-14 00:11:28 +02:00