Commit Graph

1011 Commits

Author SHA1 Message Date
Joshua Barretto
358f9f268d Prevent creatures spawning in the ground 2021-06-11 07:09:58 +01:00
juliancoffee
057aa7fecf Move loot tables to entityconfigs
* Moved all entities in dungeons to assets
2021-06-09 15:37:04 +03:00
juliancoffee
a4cc1e24ee Move body to EntityConfig assets
* currently works only for random and random_with, uses FromStr for
NpcKind
2021-06-09 15:37:04 +03: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
c3a120c551 Post refactoring 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
Marcel
7e8bebdfa1 Merge branch 'xMAC94x/hashbrown' into 'master'
switch to hashbrown 0.11 and specs 0.16.2

See merge request veloren/veloren!2390
2021-06-07 14:31:58 +00:00
jshipsey
acf9111141 mig fix 2021-06-07 08:32:59 -04:00
Marcel Märtens
7185dcee68 switch to hashbrown 0.11 and specs 0.16.2 2021-06-07 13:01:01 +02:00
jshipsey
4deeb42155 cave adjustments 2021-06-07 11:02:34 +02:00
jshipsey
1d23b7aebf finalize stats
t
2021-06-07 11:02:03 +02:00
jshipsey
9034d0f25d comment addressing, cave tweaks 2021-06-07 11:01:46 +02:00
jshipsey
7a573efab7 proper recipes, tanning racks, various fixes 2021-06-07 11:00:14 +02:00
jshipsey
8acd3832e3 more loot tables, overworld ores, more items 2021-06-07 11:00:00 +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
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
Avi Weinstock
5380fc4eac Clear the economy database when creating it. 2021-05-28 16:14:31 -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
juliancoffee
6f0f3d1b62 Refactor enemy creation in dungeons 2021-05-26 01:39:48 +03:00
juliancoffee
940655dcb6 Adding different chests for each dungeon 2021-05-24 23:00:44 +03:00
juliancoffee
22b1880ae5 LoadoutBuilder efactoring 2021-05-23 20:29:19 +03:00
juliancoffee
12d4afd3a5 fmt 2021-05-23 01:04:11 +03:00
juliancoffee
66709c4d17 Adjust mob numbers and add /kit tier-0 2021-05-23 01:04:11 +03:00
juliancoffee
4156f373c1 Adjust loot tables
- Add regular drop to T5 miniboss
- Fixup cultist loot table
- Give own loot table to Deadwood in T0
2021-05-23 01:04:11 +03:00
juliancoffee
a1037501e2 Edit minibosses in lower tiers
- Deadwood to T0 (instead of bonerattlers)
- Rats to T1 (instead of bonerattlers)
- Bonerattlers to T3 (instead of hakulaqs, it's still placeholder)
2021-05-23 01:04:05 +03:00
Monty Marz
30bcc6aaa3 Ferocious armour for t5-dungeon minibosses 2021-05-22 10:55:36 +00:00
juliancoffee
849d51aaa3 Add note to tests 2021-05-21 19:33:31 +03:00
juliancoffee
5d86850291 fmt 2021-05-21 11:36:48 +03:00
juliancoffee
df58fa9acf Fixing loot tables
- Use quad_low and quad_medium loot table for corresponding mobs in
dungeons
- Remove cultist loot table from T3-T4 loot tables
- Use resize instead of vec[obj; len] to create different loot and not
duplicated for miniboss_1
2021-05-21 11:31:39 +03:00
juliancoffee
e48e3e11ba Give bosses own creation function and loot table
- Make goose miniboss fallback to differentiate bosses and minibosses
2021-05-21 11:01:47 +03:00
Sam
9bbdc26089 Added haniwa sentries to level 3 dungeons. 2021-05-10 18:53:50 -05:00
Sam
c67c56d194 Dungeon placement. Tweaks to melee. 2021-05-10 18:53:47 -05:00
Illia Denysenko
cb2412148b Miniboss Loot quickfix 2021-05-09 21:29:35 +00:00
Marcel
eb3cc2fd22 Merge branch 'aweinstock/heightmap_visualization' into 'master'
Add heightmap visualization to world/examples.

See merge request veloren/veloren!2246
2021-05-08 16:02:11 +00:00
Avi Weinstock
560c58663e Add max-convolution to heightmap visualization, and specify required-features for it to make CI work. 2021-05-08 11:19:37 -04:00
juliancoffee
9ed15105c5 Transer Animal Trainers to lvl5 dungeons 2021-05-07 14:50:03 +03:00
Marcel Märtens
76319cb260 cleanup some unused functions, which were exported but never used 2021-05-04 22:13:04 +02:00
Marcel Märtens
6e3a74b476 rayon::join creates a global threadpool, which is only used in /world
instead just use the same threadpool for everything
helps with debugging problems with GDB
using threadpool.install() to also be used when `into_par_iter()` is called
2021-05-04 21:06:07 +02:00
Avi Weinstock
a8a89cd6d3 Add heightmap visualization to world/examples. 2021-05-03 16:05:05 -04:00
Avi Weinstock
be39054767 Make terrain compression a checkbox instead of a bandwidth (throughput?) heuristic. 2021-05-03 00:09:44 -04:00
Avi Weinstock
f0824af80a Move chunk_compression_benchmarks from bin to examples. 2021-05-03 00:09:24 -04:00
Avi Weinstock
b15913560b Optimize CompressedData with Vec::with_capacity, and move obsolete formats from common_net into the compression benchmark. 2021-05-03 00:09:24 -04:00
Avi Weinstock
c199d12f2d Address MR 2207 review comments.
- Add metrics for which branch of the compression heuristic was taken.
- Reduce the threshold for the heuristic.
- Deduplicate code for dealing with lazy messages.
- Make jpeg dependency only scoped to the compression benchmark.
- Remove commented code.
2021-05-03 00:09:24 -04:00
Avi Weinstock
30cae40b82 Add a bandwidth-based heuristic for chunk compression. 2021-05-03 00:09:24 -04:00
Avi Weinstock
cdc2eccda8 Improve quadpng by adding WidePacking, which makes a wider image, which is faster due to PNG compressing by row. Heuristically switch between quadpng and deflate based on chunk height to reduce variance. 2021-05-03 00:09:24 -04:00
Avi Weinstock
dffc7db8f5 Add matplotlib graph generation to the compression benchmarks. 2021-05-03 00:09:24 -04:00
Avi Weinstock
c2fd5e807d Experiment with 256-color palette "tripng" encoding, and Lanczos interpolation for "quadpng". 2021-05-03 00:09:24 -04:00
Avi Weinstock
a220cc569e Add resolution downscaling to QuadPng's color channel, and use half-resolution QuadPng ingame. 2021-05-03 00:09:24 -04:00
Avi Weinstock
f81539cb00 Get PngPngPngJpeg terrain working in the actual game. 2021-05-03 00:09:24 -04:00
Avi Weinstock
a9a943c19a Move compression helpers to common_net::msg::compression and experiment with more image formats at more site kinds. 2021-05-03 00:09:24 -04:00
Avi Weinstock
71220fd624 Add JPEG, PNG, and mixed compression for terrain. 2021-05-03 00:09:24 -04:00
James Melkonian
f553700e8c Add map markers for lakes and mountains 2021-05-03 02:00:23 +00:00
DaforLynx
2e0272ce28 Town music 2021-04-28 05:07:59 +00:00
Snowram
ab26efa970 Improves bird_large anims 2021-04-25 04:07:09 +02:00
Snowram
bd84677906 Day period dependant wildlife spawns 2021-04-25 02:14:51 +02:00
Snowram
fd177c9669 Breathe and stun anims 2021-04-25 02:14:50 +02:00
Snowram
eb98360183 Cockatrice bird_large conversion 2021-04-25 02:14:50 +02:00
Marcel
e14f8b9745 Merge branch 'aweinstock/deflate-terrain' into 'master'
Compress terrain chunks with deflate. Includes a benchmark showing that this...

See merge request veloren/veloren!2166
2021-04-22 17:12:53 +00:00
Ludvig Böklin
1708b8b4cc Space wildlife group spawns apart to prevent spawnplosions 2021-04-22 08:50:20 +00:00
Avi Weinstock
4f31f1ca38 Switch the chunk_compression_benchmarks to using a spiral around the origin instead of the top-left corner to get a more representative sample. 2021-04-20 23:24:24 -04:00
Avi Weinstock
6d9de520f3 Compress terrain chunks with deflate. Includes a benchmark showing that this makes them around 70% smaller, and is the same speed as LZ4. 2021-04-20 23:23:53 -04:00
Monty
86445af09c change cauldron spawning
cooking pot height
fmt
fmt, changelog
2021-04-20 02:48:13 +02:00
Monty
a4d56e7843 more sprite stuff and crafting UI update
fix item images
fix CR display
2021-04-20 02:46:06 +02:00
Joshua Barretto
1a0f6f03ef Prevent crafting without station 2021-04-20 02:46:05 +02:00
Monty
a1fe7c12c3 fmt, add sprites 2021-04-20 02:46:04 +02:00
Joshua Barretto
5598d07944 Added crafting stations 2021-04-20 02:45:59 +02:00
Joshua Barretto
bb9725548f Made twigs/stones slightly more common 2021-04-19 21:33:52 +01:00
Joshua Barretto
250733a123 Better price rationalisation 2021-04-18 18:11:00 +01:00
Joshua Barretto
11683084ad Use labour value for prices 2021-04-18 17:05:14 +01:00
Joshua Barretto
fcc23a4427 Normalised prices within sites 2021-04-18 15:09:21 +01:00
Joshua Barretto
b72e454148 Rebalanced economy somewhat 2021-04-18 14:08:48 +01:00
jshipsey
896d2a5b63 combat tweaks 2021-04-15 11:43:52 -04:00
Marcel
54024ce401 Merge branch 'DaforLynx/more-music' into 'master'
Adds many new songs; re-adds many old ones; revamped song distribution; reorganized music folders; better biome parameters; accurate day and night; new sounds

See merge request veloren/veloren!2102
2021-04-12 00:43:08 +00:00
DaforLynx
9db290d4ea Adds many new songs; re-adds many old ones; revamped song distribution; reorganized music folders; better biome parameters; accurate day and night; new sounds 2021-04-12 00:43:08 +00:00
Marcel Märtens
655a35d128 update deps 2021-04-10 15:53:00 +02:00
Imbris
0eecc61ddf Merge branch 'vfoulon80/behavior-component' into 'master'
New Component: Behavior

See merge request veloren/veloren!2033
2021-04-08 19:16:28 +00:00
Louis Pearson
126b7efa92 Tries to implement npcs only travelling by paths
Unfortunately, there's a degenerate case where npcs can get stuck in a
town. Not sure why
2021-04-08 04:19:02 -06:00
Louis Pearson
99c6e57c1f Resolve comments 2021-04-08 04:19:02 -06:00
Louis Pearson
c281fb32cc First pass at rtsim following paths 2021-04-08 04:19:02 -06:00
Vincent Foulon
45fb9f3211 Address comments
- make Behavior's capabilities and state private
 - Typo in a comment
 - add basic tests

Apply 1 suggestion(s) to 1 file(s)

Remove comments in agent.rs
2021-04-07 22:02:42 +02:00
Vincent Foulon
a0157ac5f5 use bitflags instead of HashSet 2021-04-07 17:37:21 +02:00
Vincent Foulon
114715908a fix tag removing 2021-04-07 17:26:54 +02:00
Vincent Foulon
211ab02897 Use Behavior::CanTrade instead of Agent::trade_for_site + addressed comments 2021-04-07 17:26:42 +02:00
James Melkonian
16871208f2 Add topographic option to map 2021-04-06 09:16:17 -07:00
James Melkonian
bacda06dba Added map layers 2021-04-06 08:42:07 -07:00
James Melkonian
70ede7f34d Topographic map 2021-04-06 08:42:06 -07:00
Marcel
b433938e0a Merge branch 'christof/economy_graph' into 'master'
create economy tree graph

See merge request veloren/veloren!2052
2021-04-04 20:21:19 +00:00
Christof Petig
18f1cb9f43 as usual clippy is right (and helpful) 2021-04-03 10:54:42 +02:00
Sam
27f178286d Removed all rng matches in code to determine loot tables, and moved to loot tables specific for each sprite, creature, or dungeon. 2021-04-02 23:24:55 -04:00
Sam
a2906168a6 Moved materials into their own loot tables. 2021-04-02 23:04:33 -04:00
Sam
31e69021cb Switched loot tables from declaring each weapon individually to just referencing a different loot table. 2021-04-02 23:04:31 -04:00
Sam
833f1f3309 Converted all armor in loot tables to reference armor set loot tables. 2021-04-02 23:04:28 -04:00
Sam
96b354c178 Consolidated loot tables by switching to CreatureMaterial where possible 2021-04-02 23:04:27 -04:00
Sam
ab2fca21cf Fixed trading 2021-04-02 23:04:26 -04:00
Sam
cbca2a66b6 Support for creature specific materails and materials having a quantity. 2021-04-02 23:04:25 -04:00
Sam
247004d180 Loot tables can now recursively specify loot tables. Mercahnts broken. 2021-04-02 23:04:25 -04:00