Commit Graph

117 Commits

Author SHA1 Message Date
Joshua Barretto
de087ae992 Added site2 worldgen feature 2021-11-01 22:53:38 +00:00
Joshua Barretto
9ce057212b Trading for travelers 2021-11-01 22:19:49 +00:00
Joshua Barretto
0cb88139c9 Made merchants work in new sites 2021-11-01 22:19:49 +00:00
Joshua Barretto
4b8bf94320 Used correct entity configs 2021-11-01 22:19:49 +00:00
Joshua Barretto
e3ab8fc8ce Added rtsim merchants to site2 2021-11-01 22:19:49 +00:00
Joshua Barretto
8e2ca9cdec Added rtsim villagers to site2 towns 2021-11-01 22:19:49 +00:00
juliancoffee
b5d9e4e4a9 Fix Traveller names
- Previously RtSim were created with automatic name for body generated
  from EntityConfig, not from RtSim body. Now RtSim body is set for
  EntityConfig.
2021-10-11 15:06:43 +03:00
Treeco
4ab6336d11 Fix large map loading 2021-10-06 02:26:58 +01:00
juliancoffee
7291d32209 Make ItemDrop component with Item again 2021-09-27 20:36:18 +03:00
juliancoffee
7576f632a8 Adress review
- Added comments on why Waypoint branch of NpcData is unreachable.
- Added comments on signature of get_adhoc_loadout.
2021-09-27 15:09:22 +03:00
juliancoffee
8af4cf1a37 Make Rtsim entity config work 2021-09-27 15:09:22 +03:00
Sam
27823ce8fa Rtsim now uses entity configs. 2021-09-27 15:09:22 +03:00
juliancoffee
2475b97918 Move loot tables to entity configs 2021-09-27 15:09:22 +03:00
Snowram
76d41aa340 Removes flame wyvern from RTsim pool until proper introduction 2021-09-22 20:59:04 +02:00
jshipsey
3c623c6801 address comments, boost village pop, lower raid chance 2021-09-06 00:01:26 -04:00
Sam
9675d2b45a Cultists no longer attack the starting town. 2021-09-05 11:36:40 -04:00
Sam
261fd562dc Raiders raid less often, raid for less time, and sit at their home for longer. 2021-09-04 12:42:42 -04:00
Sam
f65b3a094d Cultists now properly raid villages. 2021-09-04 12:25:04 -04:00
Sam
f198349f61 Attempt at getting raiders to wander around village once they get there. 2021-09-04 01:10:57 -04:00
Sam
e75156e052 Hacky raid mechanics for cultist raiders. 2021-09-04 00:34:30 -04:00
Sam
57ba9a0300 Cultist enemies are now spawned by rtsim. 2021-09-04 00:05:48 -04:00
Sam
311fb251c1 Allowed specifying that rtsim entities spawn at a particular site. 2021-09-03 23:34:24 -04:00
ubruntu
20e33f5575 Split up iteration of rtsim entities each tick 2021-08-23 21:49:32 +00:00
Joshua Barretto
45f94b0bce Better Agent API 2021-08-02 13:08:39 +01:00
Marcel
680492cea6 Merge branch 'juliancoffee/entity_refactor' into 'master'
Improve terms of EntityConfig and LoadoutBuilder

See merge request veloren/veloren!2688
2021-07-28 23:19:04 +00:00
Ben Wallis
01ca6911a9 * Pets are now saved on logout and spawned with the player on login
* Pets now teleport to their owner when they are too far away from them
* Limited the animals that can be tamed to `QuadrupedLow` and `QuadrupedSmall` to prevent players taming overly powerful creatures before the pet feature is further developed
* Added `Pet` component used to store pet information about an entity - currently only used to store the pet's database ID
* Added `pet` database table which stores a pet's `body_id` and `name`, alongside the `character_id` that it belongs to
* Replaced `HomeChunk` component with more flexible `Anchor` component which supports anchoring entities to other entities as well as chunks.
2021-07-28 22:36:41 +00: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
a03992a236 Wake birds up
* give large rtsim birds their default main tool which allows them to
use AI tactics
* force entities to fly on critical failing velocities to avoid suicide
2021-07-22 18:00:22 +03:00
Imbris
9c72333741 Revert "Merge branch..."
This reverts merge request !2608
2021-07-17 22:04:59 +00:00
Jonathan Berglin
c1c331d59e Resolve all '#[allow(clippy::approx_constant)]' error supressions 2021-07-15 16:56:55 +00:00
juliancoffee
b6460f6c61 Teach AI how to forgive 2021-07-14 19:26:11 +03:00
juliancoffee
59e9fc6530 Agent code refactoring
0) extracting code branches to closures
1) make RTSim remember target, even if they can't speak about it
2) make only RTSim Ships constantly flying (and not every flying RTSim)

You can tame RTSim Phoenix, yay
2021-07-14 14:55:50 +03:00
Avi Weinstock
cb0566299a Make tornado (and empty models in general) work on WGPU. 2021-06-15 09:49:13 +02:00
Snowram
3ba0500b90 Tornado summoning attack 2021-06-15 09:49:13 +02: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
jshipsey
18e9b5b890 recipes, re-organization, cleanup 2021-06-07 10:58:05 +02:00
Avi Weinstock
05c699878f Add Basilisk and Cyclops models by Gemu, and AirBalloon model by SarraKitty. 2021-06-03 19:24:34 -04:00
Sam
7870109856 Deduplicated stuff in npc_armor. 2021-04-29 15:45:14 -04:00
Marcel
ecb176158c Merge branch 'tormeh/rtsim-first' into 'master'
Tormeh/rtsim first

See merge request veloren/veloren!2053
2021-04-25 18:53:39 +00:00
Snowram
8f54a0bf31 More phoenix AI work
More phoenix AI work
2021-04-25 04:07:12 +02:00
Snowram
bc95484863 Swaps bird_small skeleton to a new bird_large 2021-04-25 02:14:49 +02:00
Marcel Märtens
5862920f32 seperate sys/state 2021-04-20 01:30:17 +02:00
Ben Wallis
95d7a3d761 Fixed cargo test-server. Removed -Z package-features from .cargo/config as it is no longer required 2021-04-15 19:07:46 +01:00
holychowders
568a8d9666 Resolve Issue #978 - Extract SkillSet Into Its Own Component 2021-04-14 15:35:34 +00:00
Avi Weinstock
ddf6a26577 Give NPCs the ability to use potions. 2021-04-11 23:47:29 +00: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
4c9eede9fd Document Travel enum 2021-04-08 05:40:56 -06:00
Louis Pearson
85de7d130c Use distance_squared to speed up calculations 2021-04-08 05:10:22 -06:00
Louis Pearson
5cbdf1850c Fix travellers stuck in town
There was an off by one error in the code that negates the progress
along paths that are reversed.
2021-04-08 05:10:04 -06:00