Commit Graph

1387 Commits

Author SHA1 Message Date
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