Commit Graph

332 Commits

Author SHA1 Message Date
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
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
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
N A
fc9c3c3be9 worth_choosing refactor 2022-02-27 19:21:21 +00:00
Dr. Dystopia
a39d514bae Replace 'tgt_data' parameter with 'tgt_pos' parameter 2022-02-27 10:19:45 +01: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
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
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
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
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
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
1e6ead4005 Arthropod charge 2022-01-19 19:01:13 +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
3b7ea72a9c Fixed review comments 2022-01-16 21:13:13 +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
2923d3cd2b Made NPCs prefer food when idle 2022-01-16 17:53:13 +00:00
Joshua Barretto
b3e2d825ed Overhauled mounting to make it more reliable 2022-01-16 17:53:13 +00:00
jshipsey
1fac6359de more gnarling weapons 2022-01-13 23:20:56 -05:00
jshipsey
7f928d0bc0 woodengolem, chieftain, icedrake, blowgun 2022-01-13 23:20:52 -05:00
holychowders
b40d94dd53 Re-allow and improve fleeing. 2021-12-07 20:18:03 -06:00
Jonathan Berglin
596307c9b7 Remove unused clippy suppressions 2021-12-05 17:59:02 +00:00
Marcel
3fa2dab3aa Merge branch 'xMAC94x/update-toolchain' into 'master'
xMAC94x/update toolchain

See merge request veloren/veloren!3027
2021-11-26 16:52:51 +00:00
James Melkonian
ab99126a7b Floor merchant cost percentages and display as whole numbers 2021-11-25 01:32:20 +00:00
Marcel Märtens
ef40ebe0c8 update toolchain to nightly-2021-11-24 2021-11-24 10:09:22 +01:00
Ben Wallis
022c1417b6 EXP on kill is now shared between damage contributors. A "damage contributor" is either an individual entity, or a group - depending if the attacker is in a group. This means that not only does the "killing blow" no longer get 100% of EXP, but multiple groups and individuals all receive their fair share of EXP on death (assuming they are still within range of the entity when it dies).
Damage from a given individual or group only counts towards a kill for 10 minutes since that individual or group's last damage to the entity - after this period their damage contribution is removed. This avoids the list of damage contributors growing excessively large for an entity that does a lot of combat but never dies.

EXP sharing within groups is unchanged - the difference is simply that the input to this calculation may be less than 100% of the base EXP reward for the kill if other individuals or groups contributed damage.
2021-11-13 20:46:45 +00:00
Sam
040d70c750 Final fixes. 2021-11-11 23:11:17 -05:00
Sam
a288f9ee43 Addressed further review. 2021-11-11 22:37:37 -05:00
Sam
aad2384622 Addressed review, changelog. 2021-10-29 17:57:00 -04:00
Kemper
034041fd4f Aim fireballs at feet
AI aims fireballs at the target’s feet, for a slight improvement
in splash damage.
2021-10-27 19:50:50 +00:00
ubruntu
e6bfce99bb Use stealth stat on armors 2021-10-24 05:31:49 +00:00
Bryant Deters
b2bd43f4d3 Sneak with weapons drawn 2021-10-18 14:53:55 -05:00
socksonme
8099b516a9 Renamed emit_alarm to emit_scream 2021-10-16 19:11:57 +03:00
socksonme
2b36a957ac small code quality change 2021-10-15 23:23:45 +03:00
socksonme
c631341da9 Refactored SoundKind and UtteranceKind 2021-10-15 22:49:25 +03:00
antoniomuso
761ae8f69d Make merchants send the player a trade request when interacted with 2021-10-09 21:14:01 +02:00
Marcel
cea927efb6 Merge branch 'xMAC94x/update-toolchain' into 'master'
update toolchain to `nightly-2021-09-24`

See merge request veloren/veloren!2862
2021-09-26 19:25:02 +00:00
Marcel Märtens
e36eef99c8 apply some clippy fixes that comes with the new toolchain version 2021-09-24 23:18:18 +02:00
Sam
0e5e2b46f2 Changed energy to internally use an integer with a high resolution, and externally to use a float. 2021-09-23 14:11:09 -04:00
Snowram
5838a84568 Consolidates projectile offsets into utils 2021-09-22 03:05:57 +02:00
Snowram
9c2ce83430 Set projectile offsets in states instead of globally 2021-09-22 01:07:09 +02:00
Snowram
7a73e4240b Bird large beam offset hack 2021-09-21 15:31:43 +02:00
juliancoffee
c069a3523d Fix beam offsets
- Introduce notion of min and max radius for Body instead of old
  `radius()` function (which is renamed to `max_radius()`).
2021-09-17 13:28:34 +03:00
Sam
42012fddcb Overhauled health component, making it a float to outer interfaces. 2021-09-09 00:10:17 -04:00
Joshua Barretto
78fce06b47 Allowed players to assist NPCs in fights without problems by tweaking aggro rules 2021-09-08 13:17:53 +01:00
Khalid Ali
cbc6cdfad1 Use unreachable instead of panic 2021-09-05 18:13:20 -05:00
Khalid Ali
a0b78ffd16 Add RepeaterRanged and fix scaling ChargedRange 2021-09-05 18:03:54 -05:00
Khalid Ali
871a1ccbfc Set direction using character state 2021-09-05 17:07:09 -05:00
Joshua Barretto
f9580a576c Fix warning agents not switching aggro on attack 2021-08-24 23:17:52 +01:00
Joshua Barretto
87851293c2 Improved aggro system to reduce hyper-focused enemies 2021-08-14 11:09:33 +01:00
juliancoffee
f16f8182cd Add FIXME about Staff flamethrower 2021-08-08 00:41:39 +03:00
juliancoffee
a7922336ea Expose beam_offsets to AI 2021-08-08 00:33:43 +03:00
juliancoffee
edd37ad491 Agent code TODO-s 2021-08-05 21:07:45 +03:00
Joshua Barretto
31a49d26a9 Added action timer system for agent code 2021-08-04 14:04:56 +01:00
Knightress Paladin
b338abd761 Fix up comments relating to AI logic 2021-08-02 22:38:16 -07:00
Knightress Paladin
8dd2202e1a Restyle logic in Staff AI 2021-08-02 16:22:40 -07:00
Knightress Paladin
a6acdbbfa7 Used adjusted_by_skills to correctly calculate ability values 2021-08-02 16:22:40 -07:00
Knightress Paladin
e87bfae5cd Allowed staff AI to queue shockwave if occupied by animation 2021-08-02 16:22:40 -07:00