Commit Graph

1681 Commits

Author SHA1 Message Date
juliancoffee
4766450258 Avoid negative bounds in harm checks
* disallow_harm -> allow_harm to avoid negative reasoning since it mostly
requires double negation in code
* allow_harm -> may_harm to specify side-effect free
2021-08-03 18:57:53 +03:00
juliancoffee
5e6007db03 Return self-harm 2021-08-03 16:43:56 +03:00
juliancoffee
497a94cd7a Post review refactoring
* inline `target_dodging` into struct declaration as they are named
anyway
* move `avoid_harm` check out of `Attack::apply_attack` so we don't need
to pass whole Player component.
* another cosmetic things
2021-08-03 16:43:55 +03:00
juliancoffee
61416faec3 Refactor Aura system, add avoid_harm flag
+ fix bug where you cast OutOfGroup on yourself and your group
2021-08-03 16:42:58 +03:00
juliancoffee
c7fdb640ac Cleaning 2021-08-03 16:42:58 +03:00
juliancoffee
7d4a8cbfa4 Add battle_mode server setting and player flag 2021-08-03 16:42:58 +03:00
Ygor Souza
1b5c3883a4 Allow axe combo to reward energy without skillpoint
When the character does not have the Double Strike Combo skill, the
ability's stage_data only contains one element, and thus the
stage_data.len() - 1 expression would set the max_energy_regen to 0.
This change forces the multiplier to 1 in this specific case, so the axe
can still reward energy without the combo skill point, to match the
other weapons.
2021-08-03 07:10:03 +02:00
Joshua Barretto
45f94b0bce Better Agent API 2021-08-02 13:08:39 +01:00
Ludvig Böklin
400734cc0a Fix gliderwield downhill run jitter 2021-08-01 11:20:46 +00:00
Joshua Barretto
f51c4ed860 Merge branch 'zesterer/menacing' into 'master'
Added menacing, made agent code less hacky

See merge request veloren/veloren!2707
2021-08-01 00:27:02 +00:00
Joshua Barretto
422e1c30f4 Added menacing, made agent code less hacky 2021-07-31 20:33:28 +01:00
Imbris
89eee332c9 Replace stamina -> energy in code, i18n keys, and asset names 2021-07-31 01:34:40 -04:00
Imbris
3ddbb0a5fb Merge branch 'mohs/refactoring_character_behavior' into 'master'
reducing complexity of character_behavior's run method by extracting logical pieces.

See merge request veloren/veloren!2697
2021-07-31 02:47:55 +00:00
Thomas Kosel
2bf8a8c55c
improving code quality by removing superfluous & 2021-07-30 10:12:20 +02:00
Thomas Kosel
005c33bb28
renaming methods to match the names of the methods called within 2021-07-29 22:55:58 +02:00
Thomas Kosel
0b07b14093
moving CharacterState interpreting methods to character_state.rs 2021-07-29 22:38:20 +02:00
Imbris
9fb6b84670 Merge branch 'juliancoffee/hud_refactor' into 'master'
Skillbar hud refactoring (+ shortened key names)

See merge request veloren/veloren!2663
2021-07-29 16:08:56 +00:00
Marcel
680492cea6 Merge branch 'juliancoffee/entity_refactor' into 'master'
Improve terms of EntityConfig and LoadoutBuilder

See merge request veloren/veloren!2688
2021-07-28 23:19:04 +00:00
Ben Wallis
01ca6911a9 * Pets are now saved on logout and spawned with the player on login
* Pets now teleport to their owner when they are too far away from them
* Limited the animals that can be tamed to `QuadrupedLow` and `QuadrupedSmall` to prevent players taming overly powerful creatures before the pet feature is further developed
* Added `Pet` component used to store pet information about an entity - currently only used to store the pet's database ID
* Added `pet` database table which stores a pet's `body_id` and `name`, alongside the `character_id` that it belongs to
* Replaced `HomeChunk` component with more flexible `Anchor` component which supports anchoring entities to other entities as well as chunks.
2021-07-28 22:36:41 +00:00
juliancoffee
4adc045627 Added comments on PositionSpecifier usage 2021-07-28 20:03:23 +03:00
juliancoffee
14ac9a8b4e Improve terms of EntityConfig and LoadoutBuilder
* rename LoadoutBuilder::new to LoadoutBuilder::empty
* remove LoadoutBuilder::default as Default makes no sense here
* move comments from template.ron to EntityConfig struct
* add FIXME comments to split EntityConfig into EntityBase and
EntityExtension
2021-07-28 19:19:10 +03:00
juliancoffee
1bdab02aad Deduplicate bar text 2021-07-28 10:33:51 +03:00
Sam
f164d6036e Made swapping equipped weapons a server event instead of being called in common to prevent server-client desyncs. 2021-07-25 18:30:17 -05:00
Samuel Keiffer
85b9f70469 Merge branch 'knightresspaladin/fix-circle-charge' into 'master'
Fixed CircleCharge and buffed Rugged Hide droppers

See merge request veloren/veloren!2613
2021-07-23 14:56:36 +00:00
Knightress Paladin
7ce9a3e284 Removed exhausted check from BasicAura and reformat max call 2021-07-21 20:20:27 -07:00
Knightress Paladin
c48a7c0072 Used integer types to store combo values 2021-07-21 16:46:26 -07:00
Knightress Paladin
578cacc194 Relocated BasicAura's combo reading to its static data 2021-07-21 16:46:26 -07:00
Knightress Paladin
ce31ac9fd1 Added exhaustion check to BasicAura to try to prevent repeated casts 2021-07-21 16:46:26 -07:00
Knightress Paladin
081c6e5362 Fixed CircleCharge and buffed Rugged Hide droppers 2021-07-18 23:12:55 -07:00
Imbris
3e6fd0ee1d Setup animation mount points for quadruped medium, update offsets in
common for new quadruped mediums, properly transform the offset in the
mount system using ori, fix issue with composing in the base ori with
the mounting bone ori in voxygen.
2021-07-18 15:09:36 -04:00
Imbris
b2bf83e200 Rework mounting animation so that full hierarchies of animation transforms can be applied to the mounter, factor out some common code in figure/mod.rs 2021-07-18 15:04:02 -04:00
Snowram
09cbb90f61 Make the mounter animations dependant of the mountee animation 2021-07-18 15:03:57 -04:00
Samuel Keiffer
37147e2a83 Merge branch 'juliancoffee/overworld_assetization' into 'master'
Wildlife assetization

See merge request veloren/veloren!2591
2021-07-18 13:43:32 +00:00
Joshua Barretto
1501f0467e Merge branch 'zesterer/small-fixes' into 'master'
Fixed handling of orientation changes for airships

See merge request veloren/veloren!2640
2021-07-18 08:29:50 +00:00
Joshua Barretto
eade248e1f Fixed handling of orientation changes for airships 2021-07-18 01:13:36 +01:00
Imbris
9c72333741 Revert "Merge branch..."
This reverts merge request !2608
2021-07-17 22:04:59 +00:00
juliancoffee
d04364b1f1 Replace EntityConfig main/second_tool with hands
+ Check equip_slot can hold item in LoadoutBuilder
2021-07-17 15:37:31 +03:00
juliancoffee
d920f911a2 Add Exact body field for EntityConfig
Add Alignment field to EntityConfig

+ Migrate to specifying alignment and body in entity assets
+ Make Body required field (with Uninit if you want to specify it later)
2021-07-17 15:37:30 +03:00
Samuel Keiffer
f38cde9d40 Merge branch 'knightresspaladin/healing-aura' into 'master'
Knightresspaladin/healing aura

See merge request veloren/veloren!2587
2021-07-16 21:32:03 +00:00
Avi Weinstock
9e9cbd290b cargo fmt 2021-07-15 15:52:10 -04:00
Savalige
171113ea74 Added a spacing_radius method to body to make it possible to sett different spacing for different entities 2021-07-15 13:33:51 -04:00
Jonathan Berglin
c1c331d59e Resolve all '#[allow(clippy::approx_constant)]' error supressions 2021-07-15 16:56:55 +00:00
juliancoffee
d42c7be141 Teach AI how to interact in this evil world 2021-07-14 19:26:12 +03:00
juliancoffee
59e9fc6530 Agent code refactoring
0) extracting code branches to closures
1) make RTSim remember target, even if they can't speak about it
2) make only RTSim Ships constantly flying (and not every flying RTSim)

You can tame RTSim Phoenix, yay
2021-07-14 14:55:50 +03:00
holychowders
f316f1da60 Make Guards Defend Villagers 2021-07-14 07:40:43 +00:00
Marcel Märtens
468cfe84e7 clippy fixes in tests 2021-07-12 13:35:26 +02:00
Marcel Märtens
db8aedd363 fmt after applying clippy fixes after toolchain update 2021-07-12 12:09:27 +02:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
Sam
be8b12845a Added buff strength stat to weapons. 2021-07-11 12:50:38 -05:00
Knightress Paladin
146f86be2c Removed references to Healing Beam, which Healing Aura is replacing 2021-07-10 21:39:11 -07:00
Sam
fbcc774911 Renamed poise_strength to effect_power to allow it to be used more generally with other weapons in the future. 2021-07-10 23:22:00 -05:00
Knightress Paladin
b96bb6fc5d Added combo scaling to healing aura and allowed cultists to use it 2021-07-10 20:02:36 -07:00
Knightress Paladin
b4ec433509 Add healing aura for sceptre M2 2021-07-10 20:02:35 -07:00
Samuel Keiffer
351a68944b Merge branch 'juliancoffee/skill_truth' into 'master'
Move skill boost modifiers to skills module

See merge request veloren/veloren!2540
2021-07-09 23:05:48 +00:00
Dominik Broński
e6af005ed1 Merge branch 'pfau/stuff' into 'master'
Minimap modes, Danari customizations update & bald hairstyles

See merge request veloren/veloren!2576
2021-07-08 00:01:09 +00:00
Monty Marz
7c8d73a0c6 Minimap modes, Danari customizations update & bald hairstyles 2021-07-08 00:01:08 +00:00
juliancoffee
066e0a0323 Revert non-ui code changes 2021-07-07 17:53:17 +03:00
juliancoffee
034b032954 Add tests 2021-07-07 17:51:30 +03:00
juliancoffee
274acae939 Move skill boost modifiers to skills module 2021-07-07 17:51:30 +03:00
Sam
509461763b Added energy efficiency stat to weapons. Made ability modification by tool stats exhaustive. 2021-07-06 22:54:23 -05:00
Samuel Keiffer
01a8f53ba3 Merge branch 'aweinstock/improve-airship-pid' into 'master'
Fix integral error calculations in PID controller, and change coefficients for...

See merge request veloren/veloren!2568
2021-07-06 21:38:07 +00:00
Samuel Keiffer
e5a5d28246 Merge branch 'sam/range-stat' into 'master'
Added range stat to weapons.

See merge request veloren/veloren!2563
2021-07-06 21:18:47 +00:00
Avi Weinstock
1a60ebd5db Fix integral error calculations in PID controller, and change coefficients for airship and hot air balloon. 2021-07-06 16:52:12 -04:00
Sam
1c3bd13afa Addressed review comments. Removed individual stat assignments. 2021-07-06 15:27:49 -05:00
Sam
e8e953ffab Added range stat to weapons. 2021-07-05 20:32:12 -05:00
Marcel
572a41b029 Merge branch 'juliancoffee/trade_rebalancing' into 'master'
Make trade_pricing great again

See merge request veloren/veloren!2546
2021-07-05 21:40:58 +00:00
juliancoffee
15d83e65cc Remove load_expect_dir as it's misused
- load_expect_dir while expected to fail on erros, fails only on
filesystem errors and only on root directory.
This commit replaces this function with `read_expect_dir` which returns iterator
which loads all files and panics if can't load them.
2021-07-05 20:14:26 +03:00
juliancoffee
1e358e6f0c Make ItemEquality work
+ Create own directory for trade_pricing `assets/common/trading`
+ Move fictive loot tables there
+ Mark sellable/non-sellable items in trade_pricing tests
2021-07-05 19:55:08 +03:00
juliancoffee
f213ba138a Fill trade_pricing with craftable items 2021-07-05 15:43:03 +03:00
AldanTanneo
3804c3d032 Implemented trading stackable items with a full inventory 2021-07-05 10:34:03 +00:00
juliancoffee
d4c61ae2f3 (voxygen) Better support for multibuff items
+ change `effect` field in ItemKind::Consumable to `effects`, as it's
set of effects and not single effect.
2021-07-05 10:56:29 +03:00
juliancoffee
c538a9696c Use Food after Buildup
+ Remove Saturation effect by rolling
+ Remove Saturation effect if interrupted with poise
+ Rename Potion to Drink, add ComplexFood
2021-07-05 10:56:29 +03:00
Sam
4ac9d9e0a5 Fix interaction of max health and max health over time buffs causing infinite health scaling. 2021-07-04 21:43:29 -05:00
Marcel
5da8c70f48 Merge branch 'aweinstock/sprite-collectible-refactoring' into 'master'
Deduplicate data involved in sprite harvesting, making it harder to make mistakes with.

See merge request veloren/veloren!2542
2021-07-04 17:23:53 +00:00
Ben Wallis
b499cf2c58 Added egui debug UI - a 100% rust UI framework (similar to imgui) allowing for rapid development of debug interfaces to aid development. This is feature-gated behind the egui-ui feature which is enabled by default but removed for airshipper builds.
Included in the initial implementation is an entity browser which lists all entities in the client ECS, an entity component viewer which shows select components belonging to the selected entity including character state information, and a simple frame time graph.

This MR also includes an extraction of the animation hot reloading code which has been reused for egui to allow for hot-reloading of the egui interface to allow rapid development of the UI with realtime feedback upon save as is the case with aninmations. This is feature-gated behind the `hot-egui` feature which is not enabled by default due to the extra startup time that it adds.
2021-07-04 09:47:18 +00:00
Avi Weinstock
836f10ae63 Remove allocation in SpriteKind::collectible_id. 2021-07-03 15:32:36 -04:00
Avi Weinstock
b4c2bc14df Deduplicate data involved in sprite harvesting, making it harder to make mistakes with. 2021-07-02 15:23:19 -04:00
Samuel Keiffer
099ddea165 Merge branch 'juliancoffee/dungeon_rebalance' into 'master'
Make cultist great again

See merge request veloren/veloren!2513
2021-07-01 02:37:39 +00:00
Ben Wallis
398b658524 Merge branch 'juliancoffee/better_item_tests' into 'master'
More informative item tests

See merge request veloren/veloren!2534
2021-06-30 20:12:21 +00:00
juliancoffee
a3bf073875 Use assets::load_dir to test item assets 2021-06-30 18:48:28 +03:00
DaforLynx
a757bf3dbd Sfx fixes and new test 2021-06-30 11:43:00 +00:00
juliancoffee
c5da56e900 Nerf Husk Brute
- Remove HuskBrute health level buff
- Make their attack slower
2021-06-30 03:52:50 +03:00
juliancoffee
b9134a3f61 Make QuadMed great again
- Make Bonerattler, Darkhound, Lion, Snowleopard use QuadMedJump (Saber
attack)
2021-06-30 03:52:50 +03:00
juliancoffee
ef6a12edc2 bumb Biped Cultist armour 2021-06-30 02:10:39 +03:00
Sam
8a9de26132 Food now applies buff at end of state.
Rolling and poise states now cancel the potion buff.
UseItem character state now checks that the item in the slot has the same item_definition_id as when the entity enters the state.
Rolling can no cancel item use.
Rolling now checks for move_dir instead of velocity.
2021-06-29 05:59:02 -05:00
jshipsey
37c6fe9ee8 anims 2021-06-29 05:59:02 -05:00
Sam
3559ce5803 Added UseItem character state. 2021-06-29 05:59:02 -05:00
Sam
1978b590aa Destringified consumables 2021-06-29 05:59:02 -05:00
Dr. Dystopia
11d2017bb3 Extract 'swap_equipment' and 'swap_armor' functions 2021-06-28 16:17:18 +02:00
Marcel
f063dcd939 Merge branch 'alphyr/assets_manager0_5' into 'master'
Update `assets_manager` to 0.5

See merge request veloren/veloren!2501
2021-06-27 15:50:16 +00:00
juliancoffee
12243bd0c0 Add is_recycling field to recipe book 2021-06-26 21:37:13 +03:00
Benoît du Garreau
1cba7db9b6 Update assets_manager to 0.5 2021-06-26 12:05:40 +02:00
Justin Shipsey
f983295318 Merge branch 'swilliams/jewellery' into 'master'
Gem Rings and small change to trading.

See merge request veloren/veloren!2500
2021-06-26 02:44:04 +00:00
Scott Williams
8d0a1ad7b4 Gem Rings and small change to trading. 2021-06-26 02:44:02 +00:00
Snowram
379e755006 Increases base damage of husk attack, rename some cultist weapons 2021-06-25 21:18:28 +02:00
Snowram
ef6d6563ea Ajust new npcs from feedback 2021-06-25 03:26:32 +02:00
Snowram
d7f25627ab Ajustments to new npcs 2021-06-24 19:31:21 +02:00
Snowram
8760b69345 Husk brute animations 2021-06-24 19:31:19 +02:00
Snowram
58b95d12d4 Adds alpaca and llama npcs 2021-06-24 19:30:15 +02:00
Snowram
fef0f407d3 Removes warlord and warlock armours 2021-06-24 19:30:11 +02:00
Snowram
87ca00fac0 Adds new species 2021-06-24 19:29:44 +02:00
Sam
645cc60dc0 Balance tweaks. 2021-06-23 22:38:37 -05:00
Sam
f0c5ed1397 Added sparseness field to sprite summon. 2021-06-23 22:38:16 -05:00
Sam
0a32b676c8 Vines now ensnare you by applying a buff. 2021-06-23 22:38:16 -05:00
Sam
763461ebef Ensnaring vines now ensnare you. 2021-06-23 22:38:16 -05:00
Sam
ed503236d6 Slightly functional sprite summon. 2021-06-23 22:38:16 -05:00
Snowram
15a2fbc555 3 attack anims done 2021-06-23 22:38:16 -05:00
Sam
879aafad5c 3 attacks done 2021-06-23 22:38:16 -05:00
Dominik Broński
8356e2ffca Merge branch 'aweinstock/lava' into 'master'
Lava

See merge request veloren/veloren!2482
2021-06-21 20:49:44 +00:00
Joshua Barretto
e930ff6779 Sanitise controller inputs 2021-06-21 21:13:49 +01:00
Joshua Barretto
288f2c13d4 Enable strafing in first-person mode 2021-06-21 13:27:19 +01:00
Avi Weinstock
0f9181cbcb Address MR 2482 comments.
- Change lava density to 3x water density.
- Use `ServerEvent::Buff` instead of modifying the buff component directly.
- Revert commented-out changes to fluid shaders.
2021-06-20 11:32:05 -04:00
Avi Weinstock
2226a4c6a9 Add lava to caves, which sets you on fire if you swim in it. Currently requires uncommenting #define LAVA in the shaders, and only looks good with cheap fluid mode. 2021-06-19 16:31:21 -04:00
Samuel Keiffer
e7f54d6306 Merge branch 'juliancoffee/clay_golem_tweak' into 'master'
clay golem tweak

See merge request veloren/veloren!2478
2021-06-19 14:49:11 +00:00
juliancoffee
57649a2e90 tweak clay_golem HP 2021-06-19 10:47:45 +03:00
Samuel Keiffer
0b8039c3b0 Merge branch 'juliancoffee/trade_pricing_refactor' into 'master'
Refactor trade_pricing.rs

See merge request veloren/veloren!2469
2021-06-19 01:10:16 +00:00
juliancoffee
384409a1ed Load ori_rate for BasicBeam from assets
+ make fire turret ori_rate slower
2021-06-18 22:33:00 +03:00
DaforLynx
c85238014a More npc sfx 2021-06-18 06:24:57 +00:00
juliancoffee
ff27c550d1 clippy & code cleaning & test diagnostic
- add clippy::pedantic
- move internal functions to methods/functions
- rename one-letter variables
- use tuple pattern matching instead of indexing
- make print_sorted fancier, also show prices on `.other` entries
2021-06-17 19:10:55 +03:00
DaforLynx
9a5b95bc16 Added npc hurt sfx 2021-06-17 05:49:09 +00:00
jshipsey
a42e6e20b8 basilisk tweaks 2021-06-16 23:28:25 -04:00
jshipsey
0941f03608 buffs to stretch progression 2021-06-16 20:50:46 -04:00
Joshua Barretto
e3c44ba7fe More voice kinds, more opportunities for sounds 2021-06-16 17:23:22 +01:00
Joshua Barretto
fb51fd3230 Emit sound from head 2021-06-16 17:23:22 +01:00
Joshua Barretto
0ef29a6989 VoiceKind for better sound effect specs 2021-06-16 17:23:22 +01:00
Joshua Barretto
559311e1b0 Chasing sounds 2021-06-16 17:23:22 +01:00
Snowram
f2c7836161 Makes summon range inclusive 2021-06-15 09:49:13 +02:00
Avi Weinstock
cb0566299a Make tornado (and empty models in general) work on WGPU. 2021-06-15 09:49:13 +02:00
Snowram
3ba0500b90 Tornado summoning attack 2021-06-15 09:49:13 +02:00
Snowram
97ce50e5d4 Add troll variants and roc npcs 2021-06-15 09:49:13 +02:00
Samuel Keiffer
fec328a617 Merge branch 'juliancoffee/swing_fix' into 'master'
Introduce hit_timing for combo_melee

See merge request veloren/veloren!2426
2021-06-15 02:38:23 +00:00
Marcel
1b36f6cab3 Merge branch 'aweinstock/forcemove-no-pushback' into 'master'
Don't apply e2e pushback during a forced movement character state.

See merge request veloren/veloren!2429
2021-06-14 14:42:01 +00:00
Marcel
4cafdb3bfd Merge branch 'aweinstock/mining-skill-tree' into 'master'
Mining skill tree.

See merge request veloren/veloren!2406
2021-06-14 14:19:06 +00:00
Marcel
b0702d792a Merge branch 'juliancoffee/asset_entity' into 'master'
EntityInfo assetization.

See merge request veloren/veloren!2382
2021-06-14 12:56:28 +00:00
Monty Marz
01a04a80fa icons and naming 2021-06-13 14:34:42 -04:00
Avi Weinstock
0e394029de Mining skill tree. 2021-06-13 14:34:42 -04:00
Monty
c17e3ad996 Cactus Colada
Made cacti lootable
Cactus colada recipe and item
price balance
fmt

 "make it 8 and drop it to 20 or 25? Not really sure tbh"
2021-06-13 13:52:56 +02:00
Ben Wallis
f47838ee9d Improved inventory swap 2021-06-12 19:06:39 +01:00
Avi Weinstock
d02ff2db20 Don't apply e2e pushback during a forced movement character state. 2021-06-12 11:10:06 -04:00
juliancoffee
62eaabfe88 Introduce hit_timing for combo_melee
bonus: speeding up first swing of sword from 0.15 to 0.1 and reducing
poise damage of hammer from 25 to 20
2021-06-12 14:10:19 +03:00
Joshua Barretto
1b1287f407 Repaired common such that it works for plugin targets 2021-06-11 08:33:32 +01:00
Scott Williams
f336b0e2a8 Fixed biped_small and humanoid hitboxes 2021-06-09 15:23:10 +01:00
juliancoffee
0c9f05b8d1 Load skillsets from assets
Done:
    support loading from assets in skillset_builder.rs
    entity_config field with skillset asset field
    move every SkillSet config to assets
    tests for skillset assets
    tests for assets in entity configs
2021-06-09 15:37:04 +03:00
juliancoffee
37af73b19e SkillSetBuilder pre-refactoring 2021-06-09 15:37:04 +03:00
juliancoffee
c3a120c551 Post refactoring 2021-06-09 15:37:04 +03:00
juliancoffee
45e5554ff5 Fix issue with villagers not having any item 2021-06-09 15:37:04 +03:00
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
e832fa86f1 Add entity template and make 'loadouts' singular 2021-06-09 15:37:03 +03:00
Scott Williams
2a161abd0a NPC Hitbox Adjustments 2021-06-09 08:08:41 +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
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
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
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
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
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
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
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
48ebb10d50 Update toolchain 2021-05-31 20:44:57 -04:00
Adam Whitehurst
daa18dd92a fix: remove limit 2021-05-30 13:42:47 -07:00
Adam Whitehurst
9e7937d98f refactor: BuffKind::Frozen comment 2021-05-30 13:39:18 -07:00
Adam Whitehurst
6dc1c05089 fix: better scaling 2021-05-30 13:06:01 -07:00
Adam Whitehurst
6b1351bdc3 feat: impl attack speed modifier 2021-05-30 12:39:30 -07:00
Avi Weinstock
e09ae8ad83 Address MR 2356 comments. 2021-05-30 13:36:25 -04:00