Commit Graph

1004 Commits

Author SHA1 Message Date
Marcel
c751ec1381 Merge branch 'aweinstock/blockstats' into 'master'
Add block statistics generator to world/examples.

See merge request veloren/veloren!2526
2021-07-02 17:10:26 +00:00
Avi Weinstock
f9c263faf6 Add benchmark for color quantization using the rtree crate. 2021-07-01 13:41:37 -04:00
juliancoffee
f2f50c88dc Split room enemy generation to separate functions 2021-06-30 03:52:51 +03:00
juliancoffee
7ff62275bf Add RoomKind enum, address comments
- enum RoomKind {Peaceful, Fight, Boss, Miniboss} to specify type of
generated room.
2021-06-30 03:52:51 +03:00
juliancoffee
63a9ceda29 More deterministic dungeon fights
- Spawn fixed number of enemies (2-4) in a room with any size. 1-3 enemies for T5 dungeon.
2021-06-30 03:52:50 +03:00
Avi Weinstock
47b3b5e5d9 Generate palette info from block statistics, and benchmark how well it compresses. 2021-06-28 22:11:19 -04:00
Avi Weinstock
3f3f8a40c5 Use SQL transactions in world_block_statistics to try to speed it up. 2021-06-28 15:50:58 -04:00
Avi Weinstock
024b6c52ef Add block statistics generator to world/examples. 2021-06-28 15:02:57 -04:00
Avi Weinstock
957ba5d218 Use new dungeons in dungeon_voxel_export, remove old dungeon sampling function, and add more of world/examples to CI. 2021-06-27 15:35:43 -04:00
Benoît du Garreau
1cba7db9b6 Update assets_manager to 0.5 2021-06-26 12:05:40 +02:00
Joshua Barretto
768e1c0d31 Merge branch 'aweinstock/site2dungeon' into 'master'
Convert dungeons to site2.

See merge request veloren/veloren!2499
2021-06-25 23:06:24 +00:00
Avi Weinstock
0ac6305dfc Rename difficulty to dungeon_difficulty. 2021-06-25 18:18:27 -04:00
Avi Weinstock
524dd02f45 Tweaks to dungeon pillars. 2021-06-25 15:54:42 -04:00
Avi Weinstock
7328b71243 Add comments to dungeon code. Fix the radius calculation (which lead to dungeons getting truncated), and fix sprites spawning above staircases. 2021-06-25 14:08:23 -04:00
Avi Weinstock
6af988b806 Fix tests and examples to point to site2 dungeons. 2021-06-24 23:21:49 -04:00
Avi Weinstock
19979413d5 Convert dungeon lights to CSG, tweak pillars, convert the magic circle from lava to glowing rock, make enemies spawn in dungeons, and fix clippy warnings. 2021-06-24 23:03:24 -04:00
Snowram
ef6d6563ea Ajust new npcs from feedback 2021-06-25 03:26:32 +02:00
Snowram
8760b69345 Husk brute animations 2021-06-24 19:31:19 +02:00
Snowram
fef0f407d3 Removes warlord and warlock armours 2021-06-24 19:30:11 +02:00
Avi Weinstock
033dbbf02a Add pillars and wall sconces to site2 dungeons. 2021-06-23 23:22:14 -04:00
Avi Weinstock
c68d79315e Add wall contours and sprites to site2 dungeon. Also add septagon decal in boss rooms. 2021-06-23 23:22:14 -04:00
Avi Weinstock
c8383aba38 Traverse the dungeon tile structure to create the rooms, and align the stairs. 2021-06-23 23:22:14 -04:00
Avi Weinstock
c6bb61f2e6 Add Primitive::Prefab and Fill::Prefab for coloring dungeon entrances. 2021-06-23 23:22:14 -04:00
Avi Weinstock
95214649db Get structures loading via sampling primitive. 2021-06-23 23:22:14 -04:00
Avi Weinstock
df4f536523 Progress on converting dungeons to site2. Adds Sampling and Translate primitives. 2021-06-23 23:22:14 -04: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
Marcel
b0574b4ddc Merge branch 'imbris/tracy' into 'master'
Refactor Client message handling, improve use of tracy, increase coverage of profiling spans in voxygen

See merge request veloren/veloren!2479
2021-06-20 23:17:08 +00:00
Dominik Broński
b046541b69 Merge branch 'christof/trade_optimization' into 'master'
Accelerate econsim using arrays instead of hashmaps

See merge request veloren/veloren!2216
2021-06-20 16:00:37 +00:00
Christof Petig
79d7e79776 Accelerate econsim using arrays instead of hashmaps 2021-06-20 16:00:37 +00:00
juliancoffee
0ec6a4e5ff Create distribution map for dungeons
* tl;dr T0 - 27%, T1/T2 - 22%, T3/T4 - 11%, T5 - 5%.
Before every dungeon had 16% chance to be created.
2021-06-20 00:14:54 +03:00
Avi Weinstock
f1a1160b80 Make lava solid w.r.t. rendering while still being liquid w.r.t. physics. 2021-06-19 16:52:21 -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
juliancoffee
e5c63b2ca7 Add config file for dungeon distribution
- Now you can specify probability of "spawn" of dungeon with specific
difficulty
2021-06-19 23:26:13 +03:00
Imbris
659b42e813 Remove tracy features that are no longer needed now that macros have been fixed 2021-06-19 04:27:50 -04:00
juliancoffee
7bf8c67808 Don't spawn enemies in boss room 2021-06-19 10:47:45 +03: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
Avi Weinstock
cb0566299a Make tornado (and empty models in general) work on WGPU. 2021-06-15 09:49:13 +02:00
Snowram
97ce50e5d4 Add troll variants and roc npcs 2021-06-15 09:49:13 +02:00
Marcel
bc68168801 Merge branch 'dungeon_voxel_export' into 'master'
Add dungeon shape to MagicaVoxel export example

See merge request veloren/veloren!2412
2021-06-14 15:07:25 +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
Vincent Junge
a77b156cd2 Added dungeon shape to MagicaVoxel export example 2021-06-14 14:43:00 +02:00
Marcel Märtens
4167621f5d Change the version number to 0.10 2021-06-12 10:14:07 +02:00
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