Imbris
c36d6e873f
Fix issue with the region subscription system not updating on view
...
distance changes (until the player crossed a chunk boundary and
triggered the normal update).
This introduces a `ViewDistance` struct that provides an abstraction
around limiting the rate the view distance can be cycled up and down.
This helps avoid unnecessary sending, deleting, and then resending of
synced things like entities (the client will still delete its terrain
locally and re-request it though).
The second part of this fix is storing the last view distance in the
`RegionSubscription` struct and then updating region subscriptions if
this doesn't match the current view distance in the `Presence`
component.
2022-08-25 23:24:43 -04:00
flo
e882e62c08
seachapel
2022-08-24 21:50:53 +00:00
Tormod Gjeitnes Hellen
e306b3bfe3
Have the ambushers say something.
...
Very unsure about the way I did this...
2022-08-17 23:50:09 +02:00
Tormod G. Hellen
753a51e683
Make selfish bastards ambush people when they're alone.
2022-08-17 23:50:09 +02:00
Samuel Keiffer
9112e2177a
Merge branch 'vfoulon80/agent-behavior-tree' into 'master'
...
Refactor agent's behavior tree
See merge request veloren/veloren!3500
2022-08-11 20:46:14 +00:00
Vincent Foulon
b1baa09815
Address review comments
2022-08-11 21:15:46 +02:00
Joshua Barretto
602de267b1
Perform validation on all kinds of chat message
2022-08-11 11:11:33 +01:00
Joshua Barretto
4e103c433f
Simplified and improved alias validation
2022-08-11 11:11:31 +01:00
Joshua Barretto
52bd7b2485
Added automod
2022-08-11 11:09:52 +01:00
IsseW
87821d5c1d
force update counter
2022-08-09 19:22:09 +02:00
Isse
0471e78f41
spectate mode :D
2022-08-09 18:43:13 +02:00
Vincent Foulon
c1dcb6e412
Fix missing translation key in interaction
2022-08-07 21:16:31 +02:00
Vincent Foulon
b82da6acdb
Reimplement !3508
2022-08-07 21:11:58 +02:00
Vincent Foulon
62568d2229
Add documentation
2022-08-07 20:54:09 +02:00
Vincent Foulon
3203051fc3
Move interaction-cancelling code in interaction behavior + includes missing fix from !3467
2022-08-07 20:54:08 +02:00
Vincent Foulon
4f53d055de
Reimplement !3467 + fix event being pushed in front of agent inbox
2022-08-07 20:54:07 +02:00
Vincent Foulon
6994b026b1
Remove unused import
2022-08-07 20:54:06 +02:00
Vincent Foulon
faf2b13ac1
Move recv_interactions into BehaviorTree + cleanup functions ^& warnings
2022-08-07 20:54:02 +02:00
Vincent Foulon
d105d7063c
Cleanup prof_span + finish unfinished module rename
2022-08-07 20:50:37 +02:00
Vincent Foulon
6fae4efd45
PoC: Refactor agent's behavior tree
2022-08-07 20:50:24 +02:00
juliancoffee
d000cc90a1
Migrate code to new i18n API
2022-08-06 21:56:01 +03:00
Vincent Foulon
8862258f61
Deny any interaction received during hostile_tree
2022-08-06 18:31:42 +00:00
Forest Anderson
9d67deeeb7
Reverted removal of msg
2022-07-17 13:32:53 -04:00
tygyh
120ee6b6c0
Fix typos
2022-07-15 18:59:37 +02:00
tygyh
cbe4d9d807
Remove unused imports
2022-07-15 16:00:27 +02:00
tygyh
5e5698249b
Remove unnecessarily qualified paths
2022-07-15 14:49:46 +02:00
Isse
9edfbaa29d
fix agent aggression when not recieving damage from attack
2022-07-13 19:46:48 +02:00
Marcel Märtens
50d85940d8
implement a event channel that posts regular information on events for Participants
2022-07-03 21:21:59 +02:00
James Melkonian
8439f3ef6d
Wiring System Documentation and Refactoring
2022-06-29 20:28:09 +00:00
Samantha W
57ab1c5767
Add a client-side mutelist
2022-06-14 20:35:01 +00:00
Joshua Barretto
b555381677
Added server gameplay settings, ability to toggle explosion burns off
2022-06-14 14:24:08 +01:00
N A
3d24ac79e3
make animal NPC's eat food on spot
2022-06-07 07:25:27 +00:00
terrarier2111
45efdb6602
Implement group owned loot
2022-06-04 17:16:12 +00:00
Ben Wallis
d71f2ff682
Fixed animals picking up non-owned non-consumable loot
2022-05-31 15:57:58 +01:00
Sam
5e57eabd11
Code changes and msm
2022-05-30 20:25:31 -04:00
N A
c09f070241
Change animal species to have only one inventory slot
2022-05-29 23:53:00 +00:00
Ben Wallis
34f580dfaa
Introduced loot ownership rules to combat loot stealing by players
...
* Added `LootOwner` component used to indicate that an `ItemDrop` entity is owned by another entity
* A loot winner is now calculated after EXP allocation using the EXP per entity for weighted chance distribution
* Used existing Inventory Full overitem text to show "Owned by {player} for {seconds}secs" when a pickup fails due to a loot ownership check
* Updated agent code to take into account loot ownership when searching for `ItemDrop` targets to pick up
* Added `loot` ECS system to clear expired loot ownerships
2022-05-28 12:06:49 +00:00
StereoJunkie
3015b4a29d
Non-humanoid picking up consumables when hungry
2022-05-27 16:57:53 +00:00
N A
1f82dab948
NPC itemdrop picking up
2022-05-19 22:06:44 +00:00
Sam
534c7dc8b9
Simplified item key (no assets)
2022-05-18 16:28:06 -04:00
Sam
08b7bb781f
Changed Item to have ItemBase instead of ItemDef. NO ASSETS.
2022-05-16 15:11:10 -04:00
Marcel Märtens
1b76874342
renamings and using unstable sort according to a code review
2022-05-11 21:50:41 +02:00
Marcel Märtens
637e63fbe2
switch from a Component to a Ressource with an Eventbus
...
Set CHUNK_SITE to 10 which results in a mean of 13ms per Slowjob. Its good if it stays under 30ms so it has less influence on ticks.
Some performance values measured with a AMD Ryzen 1700X:
- voxygen and server and swarm (25 clients, 10 vd) on one machine.
- total runtime was 240s
- CHUNK_GENERATOR total time is 486s with a mean of 40ms
- CHUNK_SERIALIZER total time is 18.19s with a mean of 13ms, so in total its a order of magnitude lower
Trancy confirms this, the Serialize backlog is usually handled within 1-2 ticks.
- terrain::sys total time 1.2s, mean 188us
- msg::terrain::sys total time 812ms, mean 125us
- terrain::sync total time 12ms, mean 1,85us
- chunk_serialize::sys total time 69ms, mean 10us
- chunk_send::sys total time 50ms, mean 7us
so all in all total time for serializsation is 20.33 of which 89% are spend outside of the ECS
2022-05-11 21:04:17 +02:00
Marcel Märtens
efe284a673
make the client request a few more chunks to compensate for the delay in serialisation
2022-05-11 20:22:24 +02:00
Marcel Märtens
8e47d02f8d
add metrics and trigger slowjobs in chunks of 25
2022-05-11 20:22:23 +02:00
Marcel Märtens
9b53693783
switch to a system where chunk_serialize will start a SlowJow that is then consumed by chunk_send
2022-05-11 20:22:21 +02:00
Marcel Märtens
6c756c2440
first implementation of defering serialisation
2022-05-11 20:22:19 +02:00
Joshua Barretto
e02f8aee65
Merge branch 'zesterer/lod-objects' into 'master'
...
LoD Objects (inc. Trees)
See merge request veloren/veloren!3367
2022-05-11 14:56:12 +00:00
Samuel Keiffer
1bd33bb997
Merge branch 'holychowders/streamline_stealth_coefficient' into 'master'
...
Distinguish armor and sneaking stealth; Show stealth as percentage in Stats UI.
Closes #1525
See merge request veloren/veloren!3352
2022-05-10 11:41:49 +00:00
Joshua Barretto
f35c98d1a1
Added LoD distance setting
2022-05-10 12:40:06 +01:00
Joshua Barretto
b3126ca687
Initial implementation of LoD trees
2022-05-10 12:38:36 +01:00
IsseW
022fa3d556
Clamp chances for gen bool in agent.rs
2022-05-10 08:44:26 +02:00
Forest Anderson
cea55143ce
Change outcomes to eventbus
2022-05-09 19:58:13 +00:00
holychowders
e473c47bcf
Distinguish stealth from armor and stealth from sneaking. Also fixes #1525 .
...
- Armor and sneaking have exclusive effects on overall stealth, rather
than armor taking effect only while sneaking.
Gameplay:
- Agents factor in stealth from armor in all cases, not only when sneaking.
- Max stealth takes place when sneaking (final multiplier of `0.7`) and with stealth from armor up to `0.7` (`0.3` multiplier), resulting in a max distance modifier of about `0.5`, approximately what it was previously.
- Min stealth score from armor is now 0 instead of 2.
Internals:
- Stealth getter accounts for sneaking in final calculation, not just
armor.
- Prevents potential division by zero.
- Stealth getter returns value that should be multiplied instead of divided.
- Legitimized stealth as a score between 0 and 1.
Notes:
- FIXME: Someone more familiar with the different armor types may want to adjust their stealths.
- Armor stealths seem to be valued between `0.0` and `1.0`, and I've reinforced this in the code. However, it is possible, particularly for the `Dragonscale` armors, to cumulatively reach a value of `2.0`.
2022-05-06 13:15:46 -05: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
Marcel
84ab219cf3
Merge branch 'xMAC94x/update-toolchain' into 'master'
...
update toolchain to `nightly-2022-04-25`
See merge request veloren/veloren!3343
2022-05-03 14:07:49 +00:00
Marcel Märtens
697673bcca
update toolchain to nightly-2022-04-25
2022-05-03 15:22:28 +02:00
holychowders
eab010b8c4
Change can_see_entity()
parameter ordering to be consistent with other action nodes.
...
- Moved `agent` and `controller` to front.
2022-05-01 19:18:44 -05:00
holychowders
f2b5ea600e
Revert parameter re-ordering of flee()
(included in commit 9b6616fc0
) to be consistent with other action nodes.
2022-05-01 19:18:44 -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
17f7353083
Move more expensive perception check below validity check in filter; Reduce number of component fetches.
2022-05-01 19:18:42 -05:00
holychowders
5d78294141
Pass positions and bodies into entities_have_line_of_sight()
instead of fetching within.
2022-05-01 19:18:42 -05:00
holychowders
706ec91e69
Fix: Add alignment passivity check in is_enemy()
.
2022-05-01 19:18:25 -05:00
holychowders
97e0e39887
Reduce function names and remove unnecessary component fetch from function.
2022-05-01 19:05:28 -05:00
holychowders
455cab0ee7
Address code review.
2022-05-01 18:44:10 -05:00
holychowders
995504be26
Have line-of-sight checks explicitly account for eye-height for entities.
2022-05-01 18:23:27 -05:00
holychowders
dda85e4bc3
Address code review.
2022-05-01 18:23:23 -05:00
holychowders
645bbf7b0d
Refactor: re-order function signature to make more sense.
2022-05-01 17:30:23 -05:00
holychowders
d3873e357e
Agent: Use FOV when scanning for hostile targets and refactor choose_target()
.
...
- Refactors `choose_target()`, renaming it and extracting functions with more meaningful names and more correct behavior.
- Adds FOV for agents scanning for hostile targets.
2022-05-01 17:29:45 -05:00
holychowders
914b44c714
Fix villagers seeing cultists and familiar enemies through objects.
2022-05-01 15:06:43 +00:00
Youssef Fahmy
aec866e5ec
Balance tweaks
2022-04-23 14:54:01 +00:00
holychowders
cc409fd537
Extract some retargeting logic.
2022-04-11 11:54:09 -05:00
James Melkonian
b590bc50d7
Fix #1516 Add else branch to allow for agent idling when no sound events
2022-04-05 03:40:26 +00:00
Tormod G. Hellen
cb88648cca
Give NPCs random Big Five personalities.
2022-04-04 20:17:50 +02:00
holychowders
39d5a73c10
Fix deadwood not attacking if target is at a different elevation than deadwood.
2022-03-27 20:02:38 +00:00
Justin Shipsey
aee1aa7c1d
Merge branch 'holychowders/prevent_undesired_movement_on_agent_interaction' into 'master'
...
Agent Perception: Improve Awareness System
See merge request veloren/veloren!3263
2022-03-26 00:28:18 +00:00
holychowders
a88d8ada0f
Comment out unused awareness increment/decrement calls and un-nest conditional for early return.
2022-03-19 12:02:29 -05:00
Manuel Schmidbauer
0037518472
Impl #1357 : Agent chase abort
...
- Adds util funcs to calculate benefit of continue pursue vs letting
target escape
- Hooks util funcs into agent's hostile tree
2022-03-14 18:06:57 +01:00
holychowders
c6bc6b63ee
Prevent enemy agents from reacting to sounds from too far away and remove an inconsequential distance check.
2022-03-12 18:13:02 -06:00
holychowders
cc808251e6
Make Enemy agents flee from dangerous sounds instead of follow.
2022-03-12 16:58:06 -06:00
holychowders
3ffb1a7706
Also restrict when Enemy agents respond to sounds and fix potential conditional bug.
2022-03-12 16:58:06 -06:00
holychowders
8d98ade15e
Agent perception: Make handling of sounds and awareness more intuitive.
...
When a sound was received in `idle_tree()`, awareness would be
incremented, causing a call to `handle_elevated_awareness()`, which
handled sounds heard. Instead, just `handle_sounds()` when they are heard and
increment awareness as part of hearing them.
The code more straightforwardly shows the agent first hearing a sound and then
becoming more aware based on that.
2022-03-12 16:58:06 -06: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
a411db17bf
Merge branch 'tygyh/Refactor-path_toward_target' into 'master'
...
Tygyh/refactor path toward target
See merge request veloren/veloren!3241
2022-03-08 16:43:37 +00:00
Dr. Dystopia
1810998641
Remove redundant 'pos' variable
2022-03-05 09:54:01 +01:00
Dr. Dystopia
1cb7a083e7
Remove redundant if-statement
2022-03-05 09:53:28 +01:00
Dr. Dystopia
4aab1eea43
Remove redundant 'tgt_pos' variables
2022-03-01 22:54:44 +01:00
Dr. Dystopia
5aa1d3ceaf
Rename 'vec3' parameter to 'pos_difference'
2022-03-01 22:47:01 +01:00
Dr. Dystopia
f99a637606
Rename 'dist_to_pos' variable to 'pos_diff'
2022-03-01 22:44:55 +01:00
Dr. Dystopia
50f877bdf6
Rename 'dist_to_pos_xy' variable to 'dist_xy'
2022-03-01 22:42:03 +01:00
Dr. Dystopia
83f46658a9
Fix pathing execution
2022-03-01 22:40:43 +01:00
Dr. Dystopia
0a3de57be6
Rename 'distance_to_target' variable to 'pos_difference'
2022-03-01 22:38:35 +01:00
Dr. Dystopia
4d24ff0027
Rename 'target_position' clojure to 'partial_path_tgt_pos'
2022-03-01 22:33:25 +01:00
InfRandomness
042d258161
Modify message catch-all arms
2022-02-27 23:08:47 +00:00
Imbris
7be5b4c051
Merge branch 'imbris/fix-possesion-comp-sync' into 'master'
...
Improve possession edge cases
See merge request veloren/veloren!3233
2022-02-27 20:10:16 +00:00
N A
fc9c3c3be9
worth_choosing refactor
2022-02-27 19:21:21 +00:00
Imbris
e52159f638
Remove original character from game world when possessing to make persistence more robust.
2022-02-27 13:47:13 -05:00
Imbris
10803a9735
Stop using Character presence kind when possessing so that persistence doesn't get messed up.
2022-02-27 13:47:12 -05:00
Imbris
c2ad763b9c
Handle removing/inserting SyncFrom::ClientEntity components properly during possession.
2022-02-27 13:47:12 -05:00
Dr. Dystopia
7e70d7648e
Dereference 'tgt_pos' variables
2022-02-27 10:36:01 +01:00
Dr. Dystopia
a39d514bae
Replace 'tgt_data' parameter with 'tgt_pos' parameter
2022-02-27 10:19:45 +01:00
Imbris
fb2f731ac3
Small fix
2022-02-26 01:05:28 -05:00
Dr. Dystopia
75322ddfc0
Extract 'dist_to_pos' variable
2022-02-25 22:00:42 +01:00
Dr. Dystopia
ee26778118
Extract 'dist_to_pos_xy' variable
2022-02-25 21:57:29 +01:00
Dr. Dystopia
019d619cf6
Extract 'spacing' variable
2022-02-25 21:48:29 +01:00
Dr. Dystopia
15bea26823
Extract 'target_position' clojure
2022-02-25 21:44:43 +01:00
Dr. Dystopia
d921e1e3ea
Extract 'pos' variable
2022-02-25 21:40:42 +01:00
Dr. Dystopia
e2d42207a4
Update 'path_toward_target' doc comment
2022-02-25 21:37:01 +01:00
Dr. Dystopia
4aebe19d94
Extract 'distance_to_target' variable
2022-02-25 21:35:50 +01:00
Dr. Dystopia
0dad86e1ca
Replace flag parameters with 'Path' enum
2022-02-25 21:35:35 +01:00
Isidor Nielsen
a685a353cb
Shared and persistent waypoints
2022-02-20 10:10:18 +00:00
jshipsey
e569ee24c3
fix
2022-02-17 00:58:25 -05:00
Marcel
b09698b8ac
Merge branch 'shouvik/prevent_empty_trades' into 'master'
...
Fixes #1452 - Prevents empty trades
Closes #1452
See merge request veloren/veloren!3202
2022-02-16 21:41:26 +00:00
ShouvikGhosh2048
d72f43190b
Fixes #1452 - Prevents empty trades
2022-02-16 21:41:26 +00:00
James Melkonian
c906c9e2dc
Fix NPC humanoids not rolling when on fire
2022-02-15 08:28:37 +00:00
Sam
c77270b799
Addressed feedback
2022-02-12 20:52:01 -05:00
jshipsey
2eee43865f
chieftain anims
2022-02-11 02:18:48 -05:00
Sam
4991f7ecea
Gnarlign site tweaks and chieftain buff
2022-02-11 01:23:09 -05:00
Sam
0031aa6f5f
Chieftain AI and attacks
2022-02-10 14:58:35 -05:00
Sam
fcb0f8d8f0
Wood golem attacks and ai
2022-02-10 14:58:32 -05:00
Sam
e044bf5091
Mandragora attacks and ai
2022-02-10 14:58:32 -05:00
Sam
f1801560fa
Deadwood ai
2022-02-10 14:58:31 -05:00
Sam
40bb74c42f
Gnarling stalker AI
2022-02-10 14:58:28 -05:00
Sam
c15fb2b68f
Better mugger AI
2022-02-10 14:58:28 -05:00
Sam
e1f164d099
Initial AI for gnarling logger/mugger.
2022-02-10 14:58:27 -05:00
Tormod G. Hellen
a00121bedf
Make entities protect owned bodies.
2022-02-08 22:53:00 +01:00
Tormod G. Hellen
82273f0f36
Make friendly creatures defend each other.
2022-02-08 22:32:25 +01:00
Marcel
72e270368d
Merge branch 'aweinstock/resolve-clippy-lints' into 'master'
...
Globally allow more clippy lints and reconfigure complexity to be less verbose
See merge request veloren/veloren!3052
2022-01-30 22:53:36 +00:00
James Melkonian
44865d99ff
Fix guards menacing instead of defending villagers
2022-01-30 13:14:24 -08:00
Avi Weinstock
f3f08936d8
Decrease too-many-arguments-threshold and type-complexity-threshold.
2022-01-30 20:16:21 +01: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
juliancoffee
ed593cd0cb
Adress review №2
2022-01-28 00:02:34 +02:00
juliancoffee
e004fba9da
Adress review
2022-01-28 00:02:34 +02:00
juliancoffee
4a4f2f8d8f
Loadout Update: Managed Rng
...
Rewrite EntityInfo api to take Rng from caller.
2022-01-28 00:02:34 +02:00
juliancoffee
d5b927602a
Loadout Udpate: NpcData part
...
Actually implement creating npc with new EntitytInfo by chaning
CreateNpc.loadout to CreateNpc.inventory and cleaning code in
NpcData::from_entity_info.
2022-01-28 00:02:34 +02:00
Dr. Dystopia
b0d6a68e8c
Create 'push_initiate_invite' function
2022-01-26 21:23:37 +01:00
Dr. Dystopia
027154a5be
Create 'push_invite_response' function
2022-01-26 21:16:29 +01:00
Dr. Dystopia
0516526985
Create 'push_utterance' function
2022-01-26 21:12:19 +01:00
Dr. Dystopia
765e858c19
Create 'push_cancel_input' function
2022-01-26 21:07:36 +01:00
Dr. Dystopia
b2b208687c
Create 'push_basic_input' function
2022-01-26 20:09:59 +01:00
Dr. Dystopia
bc0a8c7704
Create 'push_action' function
2022-01-26 19:52:19 +01:00
Dr. Dystopia
f47184df85
Use 'push_event' function in more places
2022-01-26 19:40:18 +01:00
James Melkonian
2671f824d0
Prohibit accidental cliff diving by NPCs
2022-01-25 16:25:40 +00:00
Snowram
a6e396e29a
Stunned and jump anims, stats, spawns, more IA work
2022-01-20 00:53:29 +01:00
Snowram
fd3ed89899
More arthropod animations
2022-01-19 19:01:15 +01:00
Snowram
38bbd60fd2
Arthropod basic attack
2022-01-19 19:01:14 +01:00
Snowram
1e6ead4005
Arthropod charge
2022-01-19 19:01:13 +01:00
Snowram
02ed6ffd60
More arthropod work
2022-01-19 19:01:13 +01:00
Snowram
ae71f2e4f0
Adds poisoned debuff (energy change over time)
2022-01-19 19:01:13 +01:00
Snowram
f67bf2a539
Adds arthropod skeleton
2022-01-19 19:01:11 +01:00