1102 Commits

Author SHA1 Message Date
juliancoffee
def73d4425 Split room enemy generation to separate functions 2021-06-30 03:52:51 +03:00
juliancoffee
8a8a3f9318 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
d339fc4343 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
7b0dcad68f Generate palette info from block statistics, and benchmark how well it compresses. 2021-06-28 22:11:19 -04:00
Avi Weinstock
09a68510f2 Use SQL transactions in world_block_statistics to try to speed it up. 2021-06-28 15:50:58 -04:00
Avi Weinstock
b04e820bc4 Add block statistics generator to world/examples. 2021-06-28 15:02:57 -04:00
Avi Weinstock
7a5388b8bb 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
ab3c8cf764 Update assets_manager to 0.5 2021-06-26 12:05:40 +02:00
Joshua Barretto
9c746f7867 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
7b2adc0e22 Rename difficulty to dungeon_difficulty. 2021-06-25 18:18:27 -04:00
Avi Weinstock
98a1034167 Tweaks to dungeon pillars. 2021-06-25 15:54:42 -04:00
Avi Weinstock
2221825533 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
97d0be5a15 Fix tests and examples to point to site2 dungeons. 2021-06-24 23:21:49 -04:00
Avi Weinstock
f74506038d 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
3b393a9c5c Ajust new npcs from feedback 2021-06-25 03:26:32 +02:00
Snowram
38c9ff5225 Husk brute animations 2021-06-24 19:31:19 +02:00
Snowram
78afaf32a2 Removes warlord and warlock armours 2021-06-24 19:30:11 +02:00
Avi Weinstock
ce67498083 Add pillars and wall sconces to site2 dungeons. 2021-06-23 23:22:14 -04:00
Avi Weinstock
3981099f30 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
9b7181e5ab Traverse the dungeon tile structure to create the rooms, and align the stairs. 2021-06-23 23:22:14 -04:00
Avi Weinstock
fc2d0225d3 Add Primitive::Prefab and Fill::Prefab for coloring dungeon entrances. 2021-06-23 23:22:14 -04:00
Avi Weinstock
1da3f8a83b Get structures loading via sampling primitive. 2021-06-23 23:22:14 -04:00
Avi Weinstock
382a783d40 Progress on converting dungeons to site2. Adds Sampling and Translate primitives. 2021-06-23 23:22:14 -04:00
Dominik Broński
1d55cb9c15 Merge branch 'aweinstock/lava' into 'master'
Lava

See merge request veloren/veloren!2482
2021-06-21 20:49:44 +00:00
Marcel
1de3dd515c 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
eb44d4b7d8 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
11d9b93684 Accelerate econsim using arrays instead of hashmaps 2021-06-20 16:00:37 +00:00
juliancoffee
5491902a1c 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
a831a4fb69 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
e09c5adc02 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
7a03c689f6 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
156e2e86b5 Remove tracy features that are no longer needed now that macros have been fixed 2021-06-19 04:27:50 -04:00
juliancoffee
0fecde103d Don't spawn enemies in boss room 2021-06-19 10:47:45 +03:00
jshipsey
85fdf467fd basilisk tweaks 2021-06-16 23:28:25 -04:00
jshipsey
a98734d609 buffs to stretch progression 2021-06-16 20:50:46 -04:00
Avi Weinstock
a5ff4be601 Make tornado (and empty models in general) work on WGPU. 2021-06-15 09:49:13 +02:00
Snowram
3df69ba11d Add troll variants and roc npcs 2021-06-15 09:49:13 +02:00
Marcel
c0fec35f7a 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
f41bedc02c 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
f724123694 Added dungeon shape to MagicaVoxel export example 2021-06-14 14:43:00 +02:00
Marcel Märtens
d291a71f79 Change the version number to 0.10 2021-06-12 10:14:07 +02:00
Joshua Barretto
6dae58c8a6 Prevent creatures spawning in the ground 2021-06-11 07:09:58 +01:00
juliancoffee
72bc681570 Move loot tables to entityconfigs
* Moved all entities in dungeons to assets
2021-06-09 15:37:04 +03:00
juliancoffee
14a99cd0e1 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
f9575d7df0 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
c61cfac20c Post refactoring 2021-06-09 15:37:04 +03:00
juliancoffee
299d660857 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
6b487fbadf 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
3520a3afed 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
5ef6bff0f2 mig fix 2021-06-07 08:32:59 -04:00