Commit Graph

3715 Commits

Author SHA1 Message Date
IsseW
fb7aa07b01 site command completion 2022-05-15 23:57:21 +02:00
Hugo Peixoto
74d4e4f45e Fix path finding calculation of starting point
When a chaser's route finishes calculating, the chaser may already be a
few blocks away from the starting position, thanks to movement inertia.
The path finding code finds the point along the route closest to the
chaser's position.

This calculation only considered the xy coordinates when finding the
closest point. This caused issues whenever the calculated route goes
below the chaser's position (for example, when the chaser is on top of a
bridge and the route circled around to go under the bridge). In this
case, there was a chance that the closest point was the one below the
bridge. This caused the chaser to try to move directly to a directly
inaccessible block.

The fix was to remove the xy() filter so that the closest point
algorithm also considered the z coordinate.
2022-05-14 16:41:45 +01:00
Hugo Peixoto
b681ad79ce Fix heuristic to restart route in chase()
We had a random chance of restarting the route to avoid getting the
chaser stuck. This didn't work properly because the rerouting code was
only triggered if `self.route.is_none()` or if the target moved
significantly, and the random chance branch only set `bearing` to `None`.

This change sets `self.route = None` to trigger rerouting.
2022-05-14 16:41:45 +01:00
Hugo Peixoto
ba6d1bce60 Remove unnecessary code
We had an unnecessary unwrap_or_else() preceded by a question mark
operator, which means that the or_else clause could never be called.
2022-05-14 16:41:45 +01: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
Joshua Barretto
907ba3dcbc Added giant trees to LoD 2022-05-10 20:30:48 +01:00
Joshua Barretto
d4fd9d2d0e Added LoD houses 2022-05-10 19:19:46 +01:00
Joshua Barretto
7382aab13a Upped default LoD distance 2022-05-10 17:12:12 +01: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
2df01385d2 Voxelise trees 2022-05-10 12:38:37 +01:00
Joshua Barretto
1db7cc7fde LoD trees in snow are white 2022-05-10 12:38:36 +01:00
Joshua Barretto
cf346d05c1 Different kinds of tree 2022-05-10 12:38:36 +01:00
Joshua Barretto
ac0e7a7724 Use dedicated fragment shader 2022-05-10 12:38:36 +01:00
Joshua Barretto
b3126ca687 Initial implementation of LoD trees 2022-05-10 12:38:36 +01:00
holychowders
fc2095803d Use inline conditional to simplify assignment. 2022-05-09 22:23:08 -05:00
Forest Anderson
cea55143ce Change outcomes to eventbus 2022-05-09 19:58:13 +00:00
Marcel Märtens
3fcf95061e before buff was around 5ms - 6ms on 100 players 2022-05-08 19:49:21 +02:00
holychowders
4c76e9314d Use sum instead of fold. 2022-05-06 19:27:30 -05:00
holychowders
1ebbf335e1 Simplify stealth logic. Remove max item stealth upper limit and restore close to original curve. 2022-05-06 19:25:03 -05: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
Samuel Keiffer
3abba05fb8 Merge branch 'holychowders/improve_perception_system' into 'master'
Agent: Use FOV when scanning for hostile targets and refactor `choose_target()`.

See merge request veloren/veloren!3307
2022-05-02 22:45:14 +00:00
Jonathan Berglin
144d6d41f7 Extract 'calculate_projection_and_collision_dist' function 2022-05-02 09:14:17 +00:00
Marcel
593d8fa4b5 Merge branch 'xMAC94x/update_vek' into 'master'
switch to upstream vek again

See merge request veloren/veloren!3342
2022-05-02 08:34:21 +00: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
dda85e4bc3 Address code review. 2022-05-01 18:23: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
Marcel Märtens
d70c8dd160 remove unused file 2022-04-28 12:23:55 +02:00
Marcel Märtens
fa49248c31 switch to upstream vek again 2022-04-28 09:10:55 +02:00
Youssef Fahmy
aec866e5ec Balance tweaks 2022-04-23 14:54:01 +00:00
Samuel Keiffer
7b1e7046df Merge branch 'fix_sneak_on_mount' into 'master'
Fixed being able to sneak on mount

See merge request veloren/veloren!3296
2022-04-16 16:56:47 +00:00
Plright
cffa980f24 Fixed being able to sneak on mount 2022-04-16 16:56:47 +00:00
juliancoffee
1b18629616 Execute asset migration 2022-04-08 19:17:01 +03:00
juliancoffee
f875c0b5d4 Adress review 2022-04-08 16:37:06 +03:00
juliancoffee
8a1d665b0d Box inlined LoadoutSpec 2022-04-07 18:44:16 +03:00
juliancoffee
11bf16e3d7 Make ItemSpec and Hands untagged 2022-04-07 18:44:16 +03:00
juliancoffee
13324700ba Post-cleaning 2022-04-07 18:44:16 +03:00
juliancoffee
faeac0eef3 Fully implement tests for new EntityConfig 2022-04-07 18:44:15 +03:00
juliancoffee
dd02e8ae6a Add loadout spec examples 2022-04-07 18:44:15 +03:00
juliancoffee
cfba7bfc65 Add validation functions to LoadoutSpec 2022-04-07 18:44:15 +03:00
juliancoffee
7cd5a694b2 Dummy implementation of LoadoutSpec tests 2022-04-07 18:44:15 +03:00
juliancoffee
a4908cf5ae Implement migration for EntityConfig 2022-04-07 18:44:15 +03:00
juliancoffee
15431e7f7a Dummy implementation for EntityConfig migration 2022-04-07 18:44:15 +03:00
juliancoffee
357b953e3b Implement new InventorySpec for EntityConfig
* Add new InventorySpec which uses Inline loadout spec
* Disable all tests!
2022-04-07 18:44:15 +03:00
juliancoffee
77f8d6da6f Remove old loadout_builder::LoadoutSpec 2022-04-07 18:44:15 +03:00
juliancoffee
f791dace7f Avoid writing None fields in LoadoutSpecNew
* use serde(skip_serializing_if = "Option::is_none")
2022-04-07 18:44:15 +03:00
juliancoffee
48c7e29db2 Add comment migrations to asset_migrate 2022-04-07 18:44:15 +03:00
juliancoffee
b81904efd1 Implement migration script for LoadoutSpec 2022-04-07 18:44:15 +03:00
juliancoffee
3f7bfff8d7 Implement all needed features
+ Multiple/Random inheritance for loadout configs
+ Using ItemSpecNew in Hands
+ Rename Hands::Specific to Hands::InHands to represent non-random
  combination
2022-04-07 18:44:14 +03:00
juliancoffee
5e07875be9 Add LoadoutSpecNew with new loadout config
Changes from old config:
* Structure instead of HashMap which allows us have multiple types for
  fields.
* Using error propagating instead of panic, which opens possibility for
  better error messages.
* Implemented inheritance.
* New Hands type for more practical way of declaring weapons/tools.
2022-04-07 18:44:14 +03: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
Marcel Märtens
affdf3131f update a bunch of dependencies, including clap3 2022-04-04 11:43:29 +02:00
flo
3d24b1d635 CliffTowns 2022-03-29 12:52:08 +00:00
Jack hollis-london
aeae94d31b small refactor per code review 2022-03-27 20:25:19 +02:00
jh0l
403a523ec7 refactor: ♻️ move voxygen hud update definitions from common/trade to voxygen/hud & trade 2022-03-27 20:24:23 +02:00
jh0l
de70ce61d8 feat: a TextEdit input in the trade window so that users can specify the amount of an item to trade by typing 2022-03-27 20:24:21 +02:00
jh0l
6f22f31376 feat: a TextEdit input in the trade window so that users can specify the amount of an item to trade by typing 2022-03-27 20:24:18 +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
Christof Petig
aeac483bac parallel simulation of economies 2022-03-21 23:35:08 +01:00
Mehmet-dev
903e216d32 fixing blood particles on bodies not supposed to bleed from gameplay perspective 2022-03-20 15:45:50 +00:00
James Melkonian
8c06dc9a5c Add chunk reload command (admin only) 2022-03-19 08:43:38 +00:00
Olexorus
cf66eccb75 Use Rust 2021 postfix .into_iter() 2022-03-15 16:34:56 +01:00
Imbris
6d101419c7 Merge branch 'imbris/small-fixed' into 'master'
Small logging filter directives refactor including removing: "ignoring ``: invalid...

See merge request veloren/veloren!3271
2022-03-13 16:37:45 +00:00
DaforLynx
7b6f424bb0 Loud rivers 2022-03-13 07:47:23 +00:00
Imbris
e00cd7685b Small logging filter directives refactor including removing: "ignoring ``: invalid filter directive"message that always appeared when using RUST_LOG env var 2022-03-13 01:37:52 -05:00
DaforLynx
123fee2707 Fix swim sfx, fix glider sfx, add glide sfx 2022-03-13 05:44:07 +00: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
Marcel Märtens
167e3321e1 put tracy in a seperate scope 2022-03-08 20:57:55 +01:00
Christof Petig
c3d6b8c250 crafting factor was wrongly used as well … 2022-03-05 13:18:09 +01:00
Christof Petig
d02018f893 hotfix for sunflow ice tea costing 16x the amount of its ingredients
also makes price debugging output more readable
2022-03-05 13:07:55 +01:00
Sam
bc7c088a12 More sensible vertical limit to what melee attacks can hit 2022-03-03 20:03:32 -05:00
Sam
0542e46e7d Lighting works now hackily 2022-03-03 01:11:01 -05:00
Sam
b558331b32 Finishing touches 2022-03-03 01:10:55 -05:00
Christof Petig
f347b9de11 Diversify price calculation for items by using multiple categories per item. 2022-03-03 02:32:34 +00:00
ubruntu
94a9b407c2 Fix waypoints being movable 2022-02-28 19:20:37 +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
1a744808f0 Cleanup up possession code and add TODOs for issues to fix. Remove
SyncFrom debug_assertions hack.
2022-02-27 13:47:12 -05:00
ninefox
61913402a2 add code to center item drops
reduce size of coins
2022-02-23 17:16:10 -08:00
Sam
1456efefd1 Nerf 2022-02-22 18:17:23 -05:00
ubruntu
6d795b6ecd Campfire heals pets when owner sits 2022-02-22 09:23:07 +00:00
Marcel
df7cd2da1a Merge branch 'isse/shared-waypoints' into 'master'
Shared and persistent waypoints

See merge request veloren/veloren!3162
2022-02-20 10:10:18 +00:00
Isidor Nielsen
a685a353cb Shared and persistent waypoints 2022-02-20 10:10:18 +00:00
Imbris
565785c0aa Remove TODO, UidAllocator needed on client to map uid -> entities 2022-02-19 20:01:40 -05:00
James Melkonian
7f21cbf4bc Fix airship command by splitting out ships 2022-02-18 08:34:14 +00:00
Joshua Barretto
b786570470 Added location system, switched to release map 2022-02-17 14:51:59 +00: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
jshipsey
bf84cc75c2 fix 2022-02-16 06:13:01 -05:00
Samuel Keiffer
6c7c0eefae Merge branch 'gnarlings' into 'master'
Gnarlings

See merge request veloren/veloren!3194
2022-02-15 00:22:37 +00:00
Sam
6dafacaa24 Addressed review comments 2022-02-13 21:49:46 -05:00
unvariant
9d98cd9e58 Render item drops instead of placeholder textures 2022-02-14 02:09:45 +00:00
UncomfySilence
a0d43cb21d further balance changes 2022-02-13 10:35:19 +01: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
377906dfa0 Ground shockwave particle tweaks. 2022-02-10 22:40:26 -05:00
Sam
bf7e84c6ae Initial particle work 2022-02-10 14:58:37 -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
82c976919e Darts are now darts. 2022-02-10 14:58:29 -05:00
Joshua Barretto
6263942041 Merge branch 'slipped/site2' into 'master'
new entities, frostpines

See merge request veloren/veloren!3193
2022-02-10 01:59:20 +00:00
jshipsey
786ae39fb4 new entities 2022-02-09 20:10:59 -05:00
jshipsey
7ae85aef50 tweaks 2022-02-09 19:34:24 -05:00
jshipsey
6d34a6b544 wallrunning 2022-02-09 19:34:23 -05:00
phoenix13032005
7a1f0d9fa1 Balance update
+ Make icons for Mino and Mindy dungeons with their faces
+ Adjust loot tables
+ Adjust names with respect to the lore of @Gemu
2022-02-09 12:13:42 +02:00
Tormod G. Hellen
82273f0f36 Make friendly creatures defend each other. 2022-02-08 22:32:25 +01:00
Jonathan Berglin
3bdc7b1bb9 Add documentation to Agent functions 2022-02-07 23:56:03 +00:00
James Melkonian
f21e0f31fb Restrict RtSim ships to airships 2022-02-03 21:41:20 -08:00
Dominik Broński
19c764dde6 Merge branch 'christof/econfix' into 'master'
Small economy cleanup

See merge request veloren/veloren!3164
2022-02-03 21:48:01 +00:00
Youssef Fahmy
fdfd2c99ff Removal of /home 2022-02-02 08:50:23 +00:00
Christof Petig
42faef9ab0 clippy is right,
but I don't want to rearrange print_sorted (test). so reduce overall strictness
2022-01-31 22:25:38 +01:00
Christof Petig
080444fc8b juliancoffee prefers this style 2022-01-31 22:19:21 +01:00
Christof Petig
f4f1b5c77b more stable sorting 2022-01-31 22:00:23 +01:00
Christof Petig
dc92d0ab12 fix multiple calls of init 2022-01-31 21:31:08 +01:00
Christof Petig
d8edd70837 create a nice csv table for comparison 2022-01-31 21:19:23 +01:00
Christof Petig
47aba3e4cd clean up double rescaling 2022-01-31 20:52:25 +01:00
Christof Petig
6b9180bba6 separate amount from probability 2022-01-31 19:45:39 +01:00
Christof Petig
12fedef98f fix some test cases 2022-01-31 19:45:39 +01:00
juliancoffee
45ba21796c Add test cases 2022-01-31 19:45:39 +01:00
Christof Petig
8230323a76 fix code quality 2022-01-31 19:45:39 +01:00
Christof Petig
66c431ba86 cargo fmt 2022-01-31 19:45:39 +01:00
Christof Petig
a98b9ad049 normalize loot tables before combining them, take current values for a start 2022-01-31 19:45:38 +01:00
Christof Petig
8228437b22 load loot table only once, add utility function and test cases 2022-01-31 19:45:38 +01:00
Justin Shipsey
612f084831 Merge branch 'slipped/bipeds' into 'master'
Slipped/bipeds

See merge request veloren/veloren!3163
2022-01-31 17:08:01 +00: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
Marcel Märtens
201a5ac2c7 stricten some rules and fix some clippy warnings 2022-01-30 20:16:21 +01: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
Dr. Dystopia
7b5d9508b6 Create 'ColliderData' struct and implement it in 'resolve_e2e_collision' function 2022-01-30 19:50:32 +01:00
jshipsey
7cac4b4001 myrmidon fix 2022-01-30 02:02:23 -05:00
Scott Williams
21fd296407 Changed entity drops csv export to export names instead of asset paths 2022-01-29 17:37:45 +00:00
Joshua Barretto
d8c4284a32 Merge branch 'zesterer/worldgen' into 'master'
Improvements to site2

See merge request veloren/veloren!3159
2022-01-28 17:14:07 +00:00
Joshua Barretto
69436db64c Added wall lamps 2022-01-28 13:58:41 +00:00
jshipsey
4fbd3027a1 new mobs 2022-01-28 02:50:15 -05:00
juliancoffee
fa724ec2e2 Fix doc-tests 2022-01-28 00:18:29 +02:00
juliancoffee
6ae25d5956 Require rng from EntityInfo::with_asset_expect 2022-01-28 00:02:34 +02:00
juliancoffee
e004fba9da Adress review 2022-01-28 00:02:34 +02:00
juliancoffee
43b5af2980 Create asset_migrate bin from entity_migrate 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
juliancoffee
e1bfa6c7e2 remove outdated comment 2022-01-28 00:02:34 +02:00
juliancoffee
fbe07f016a Loadout Update. EntityInfo part
EntityConfig changes:
+ Add LoadoutKind instead of Hands + Meta::LoadoutAsset.
+ Allows for random loadout asset and inventory.

```
pub enum LoadoutAsset {
    Loadout(String),
    Choice(Vec<(f32, String)>),
}

pub enum LoadoutKind {
    FromBody,
    Asset(LoadoutAsset),
    Hands(Hands),
    Extended {
        hands: Hands,
        base_asset: LoadoutAsset,
        inventory: Vec<(u32, String)>,
    },
}
```

EntityInfo:
Remove
-    pub main_tool: Option<Item>,
-    pub second_tool: Option<Item>,
-    pub loadout_asset: Option<String>,
Add
+    pub inventory: Vec<(u32, Item)>,
+    pub loadout: Option<LoadoutBuilder>,
2022-01-28 00:02:34 +02:00
juliancoffee
765311add0 Add entity config migration tool 2022-01-28 00:02:34 +02:00