Commit Graph

134 Commits

Author SHA1 Message Date
flo
e4a3671345 Creature model updates 2022-09-06 10:35:10 +00:00
Imbris
d5b59c2bb7 Convert away from IdvStorage to mixture of VecStorage and DenseVecStorage 2022-08-08 00:38:20 -04:00
Forest Anderson
67534488b3 Merge branch 'tygyh/CleanUp' into 'master'
Tygyh/clean up

See merge request veloren/veloren!3480
2022-07-17 14:04:45 +00:00
Youssef Fahmy
91c85dea22 Humanoid Model Overhaul 2022-07-16 11:13:24 +00:00
tygyh
120ee6b6c0 Fix typos 2022-07-15 18:59:37 +02:00
holychowders
9c68fbbeed Fix agents not hearing sounds due to reduced listen_dist, caused by commit a6955e5af.
- `listen_dist` has been restored to normal and the behavior intended by
  the trouble commit has been much more properly encoded.
2022-05-04 21:22:19 -05:00
holychowders
a6955e5afb Re-add listen_dist check in choose_target() and add randomness to simulate agents detecting entities directly behind them. 2022-05-01 19:18:43 -05:00
holychowders
914b44c714 Fix villagers seeing cultists and familiar enemies through objects. 2022-05-01 15:06:43 +00:00
Marcel Märtens
64b9602760 update further dependencies, including strum and get rid of old strum_macro 2022-04-04 16:06:47 +02:00
holychowders
df91f665d7 Agent Perception: Restrict when idling agents respond to sounds.
- Prevent utterances and other sounds from causing undesired jitters and
  fleeing, such as those caused by greeting villagers.
- Agents will no longer flee from quieter weapon sounds such as melee.
2022-03-12 16:58:06 -06:00
Samuel Keiffer
6c7c0eefae Merge branch 'gnarlings' into 'master'
Gnarlings

See merge request veloren/veloren!3194
2022-02-15 00:22:37 +00:00
unvariant
9d98cd9e58 Render item drops instead of placeholder textures 2022-02-14 02:09:45 +00:00
Sam
e044bf5091 Mandragora attacks and ai 2022-02-10 14:58:32 -05:00
Jonathan Berglin
3bdc7b1bb9 Add documentation to Agent functions 2022-02-07 23:56:03 +00:00
Avi Weinstock
5f8957d8ef Globally allow the clippy lints {new_without_default, many_single_char_names, identity_op, type_complexity, too_many_arguments}. 2022-01-30 20:16:20 +01:00
Snowram
a6e396e29a Stunned and jump anims, stats, spawns, more IA work 2022-01-20 00:53:29 +01:00
Snowram
f67bf2a539 Adds arthropod skeleton 2022-01-19 19:01:11 +01:00
James Melkonian
ac6f53922f Move agent code into separate files 2022-01-18 03:02:43 +00:00
Joshua Barretto
043016a433 Don't try to mount unmountable entities, clippy fixes and fmt 2022-01-16 17:53:14 +00:00
Joshua Barretto
504e2a38d5 Added overhead hints, smoother mount movement 2022-01-16 17:53:14 +00:00
Tormod G. Hellen
a33e6df303 Remove unused code. 2022-01-14 18:23:42 +01:00
Imbris
bf48bd5346 update toolchain to nightly-2021-12-19 2021-12-23 13:04:24 +01:00
holychowders
b40d94dd53 Re-allow and improve fleeing. 2021-12-07 20:18:03 -06:00
socksonme
c631341da9 Refactored SoundKind and UtteranceKind 2021-10-15 22:49:25 +03:00
Sam
f65b3a094d Cultists now properly raid villages. 2021-09-04 12:25:04 -04:00
Joshua Barretto
31a49d26a9 Added action timer system for agent code 2021-08-04 14:04:56 +01:00
Joshua Barretto
45f94b0bce Better Agent API 2021-08-02 13:08:39 +01:00
Joshua Barretto
422e1c30f4 Added menacing, made agent code less hacky 2021-07-31 20:33:28 +01: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
juliancoffee
d42c7be141 Teach AI how to interact in this evil world 2021-07-14 19:26:12 +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
holychowders
f316f1da60 Make Guards Defend Villagers 2021-07-14 07:40:43 +00:00
Avi Weinstock
1a60ebd5db Fix integral error calculations in PID controller, and change coefficients for airship and hot air balloon. 2021-07-06 16:52:12 -04:00
Snowram
8760b69345 Husk brute animations 2021-06-24 19:31:19 +02:00
DaforLynx
9a5b95bc16 Added npc hurt sfx 2021-06-17 05:49:09 +00:00
Joshua Barretto
559311e1b0 Chasing sounds 2021-06-16 17:23:22 +01: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
Avi Weinstock
e09ae8ad83 Address MR 2356 comments. 2021-05-30 13:36:25 -04:00
Avi Weinstock
5164b1a539 Add comments to the PID controller code. 2021-05-30 13:36:25 -04:00
Avi Weinstock
8b20175b6e Implement PID controllers and use them to stabilize Agent airship flight. 2021-05-30 13:36:25 -04:00
holychowders
d5f3ba77d4 Make NPCs Aware of Sound - See Issue #913 2021-05-15 19:36:27 +00:00
Avi Weinstock
1ae105125d Change agent's condition field back to a bool (from bitflags) and add a separate int_counter field. 2021-05-09 18:09:53 -04:00
Avi Weinstock
1dfcdce1c0 Add a purple fireball to mindflayer and have it shoot it a few times before teleporting, and fix mindflayer AI's husk summons. 2021-05-09 18:09:31 -04:00
James Melkonian
346eb48a27 Move weapon tactics to functions and take target body into attack radius consideration 2021-05-06 21:17:05 +00:00
Sam
5c241850f1 Added sfx. Addressed comments. 2021-05-04 08:45:12 -04:00
Sam
2290a22a15 Gave minotaur AI. 2021-05-04 08:45:09 -04:00
Sam
811f1fadb2 Replaced action_timer with action_state so there are additional fields. 2021-05-04 08:45:09 -04:00
Sam
3cb0ee98c8 Removed all unique and simple tool kinds. 2021-05-01 09:25:51 -04:00
Snowram
8cf8e51962 Phoenix npc + AI (WIP) 2021-04-25 04:07:11 +02:00
Snowram
bc95484863 Swaps bird_small skeleton to a new bird_large 2021-04-25 02:14:49 +02:00