Commit Graph

97 Commits

Author SHA1 Message Date
Sam
70c2e9bebe Cave now uses entity configs. 2021-09-27 15:09:22 +03:00
Sam
56b17e7141 Format fixes. 2021-09-27 15:09:22 +03:00
juliancoffee
2475b97918 Move loot tables to entity configs 2021-09-27 15:09:22 +03:00
Sam
09dd9b4813 Changed ItemDrop to use LootSpec 2021-09-27 15:09:22 +03:00
juliancoffee
91dd03b745 Clean entity assets for a small bit
- Move loot_tables/creature/witch to loot_tables/spots/witch
- Move skillset/spots/general_max and skillset/spots/sceptre_max to
  skillset/preset/max/{general,sceptre}
- Remove tabs from dwarf_grave_robber entity config file
2021-09-17 20:12:42 +03:00
Monty Marz
1d94adc2e1 0.11 Background images and more 2021-09-10 08:34:01 +00:00
jshipsey
3c623c6801 address comments, boost village pop, lower raid chance 2021-09-06 00:01:26 -04:00
jshipsey
da9585205c buff guards 2021-09-05 23:17:14 -04:00
Joshua Barretto
7538f29b9e Merge branch 'slipped/tweaks' into 'master'
more spots

See merge request veloren/veloren!2806
2021-09-04 18:16:10 +00:00
jshipsey
6187cb8d23 address comments 2021-09-04 13:17:56 -04:00
jshipsey
523a15e5cc more spots 2021-09-04 00:18:58 -04:00
Sam
57ba9a0300 Cultist enemies are now spawned by rtsim. 2021-09-04 00:05:48 -04:00
Sam
daf287a469 Small loot rebalance. 2021-09-01 23:50:17 -04:00
Joshua Barretto
b646aae2a4 Removed unused tree assets 2021-08-31 10:15:52 +01:00
Joshua Barretto
9ac5e555e6 Improved giant trees 2021-08-30 00:03:16 +01:00
Joshua Barretto
e05ca1f308 More spots 2021-08-28 16:48:34 +01:00
Monty Marz
b085b02ff9 fixes 2021-08-28 14:53:30 +01:00
Monty Marz
771a380e6c witch stuff 2021-08-28 14:53:30 +01:00
Monty Marz
c22eb19f55 More spots 2021-08-28 14:53:30 +01:00
Monty Marz
1278020c88 dwarf grave 2021-08-28 14:53:30 +01:00
Joshua Barretto
76ba3496a1 sync 2021-08-28 14:53:30 +01:00
Joshua Barretto
bbcd842208 Test spot entity spawning 2021-08-28 14:53:30 +01:00
Knightress Paladin
998c56c524 Removed extra Warlock skills and made sceptre cultists rarer 2021-08-02 16:22:40 -07:00
Knightress Paladin
38432cc880 Restructured logic for staff AI 2021-08-02 16:22:40 -07: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
23a020f602 Add Automatic NameKind to EntityConfig
+ add animal entities for wildlife spawns
2021-07-17 15:37:31 +03: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
1d2ea717ab Move builder assets in EntityConfig to meta field 2021-07-17 15:37:31 +03:00
juliancoffee
6403ee0634 Merge None-loot in EntityConfig to LootKind 2021-07-17 15:37:31 +03:00
juliancoffee
7401d74aa6 Add wildlife assetization support
+ add asset tests
+ migrate tundra animals
+ migrate taiga animals
+ declare temperate zone (animals yet to be created)
+ declare jungle zone (animals yet to be created)
+ declare tropical zone (animals yet to be created)
+ declare desert zone (animals yet to be created)
+ declare water (river inhabitants) zones (animals yet to be created)
2021-07-17 15:37:30 +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
Knightress Paladin
65d67ef781 Clean up sceptre ai code before merge 2021-07-07 20:00:35 -07:00
Knightress Paladin
35242c71e1 Added sceptre tactic and sceptre cultists 2021-07-07 20:00:01 -07: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
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
229b253a17 remove Mindflayer skillset 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
juliancoffee
e832fa86f1 Add entity template and make 'loadouts' singular 2021-06-09 15:37:03 +03:00