Commit Graph

129 Commits

Author SHA1 Message Date
19f0cf4ee5 Set z_min to 0 for terrain collision checks
This allows us have different z_min for e2e checks
2021-09-17 13:28:34 +03:00
4e3fb87526 Adress review
- Rename Collider::get_radius to bounding_radius
- Check origin difference in CapsulePrism with EPSILON * 10.0 instead of
  magic 0.00001
- Add comments for closest_points, hardnened expression against NaNs
- Add comments to try_e2e_collision function, renamed to
  resolve_e2e_collision, make it return whether collision was triggered.
- Remove Collider::Box (it is Cylinder, which is subset of CapsulePrism
  with p0=p1=Vec2::zero())
2021-09-17 13:28:34 +03:00
3dd6aa9dea Implement capsule2capsule collisions 2021-09-17 13:28:34 +03:00
fdb4b7111a Fix bug with zero-pushback for bigger colliders 2021-09-17 13:28:34 +03:00
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
7d97fe7ec5 Fix colliding bugs
- Make cylinder-like capsules prisms work without NaN in origin offsets.
Just return p0 as both origins instead of getting NaN by further
normalizing required because of how we rotate offsets.
- Fix pushback direction.
Make sure that pushback is calculated as our_pos - their_pos (and not
other way around).
- Fix colliding boundary detection.
Calculate center as Vec3::new(0, 0, height) and
not as `Vec3::new(0, height, 0)`.
2021-09-17 13:28:34 +03:00
eeb3bec8ad Refactor implementation of e2e collision
+ Add some hopefully helpful comments
+ Extract colliding tries to separate function
+ Move to Capsule + Cylinder collider combination instead of Capsule +
  Capsule.
2021-09-17 13:28:34 +03:00
44962958d8 Adress feedback
- Rewrite 2 * PI to TAU
- Some comment formatting
2021-09-17 13:28:34 +03:00
6c3b61dc25 Implement CapsulePrism collisions 2021-09-17 13:28:34 +03:00
7712976b86 Refactor box_voxel_collision function 2021-09-17 13:28:34 +03:00
3b308a3f6f Add CapsulePrism collider variant
+ Add placeholder physics collision implementation as copy of cylinder
  Box collider.
+ Display it with debug hitboxes.
2021-09-17 13:28:34 +03:00
Sam
99981338bb Fixed exp fix mistake and fixed lava, campfire, and bomb damage. 2021-09-15 08:32:44 -04:00
Sam
3d31248ced Fixed health ui in few places and xp scaling from health. 2021-09-14 10:55:14 -04:00
Sam
85f4e66337 Addressed MR 2824 comments 2021-09-10 15:20:14 -04:00
Sam
42012fddcb Overhauled health component, making it a float to outer interfaces. 2021-09-09 00:10:17 -04:00
338e81de10 Deduplicate pvp-checks 2021-09-03 17:28:34 +03:00
6b0d016418 Don't forget about pets in PvP checks 2021-09-03 17:28:34 +03:00
Sam
44c3b0f153 Added attack hook event, attacks now cancel item use and sprite interaction. 2021-08-31 13:37:32 -04:00
Sam
538cb56b87 Sprites now go through a character state to be picked up. 2021-08-31 13:36:04 -04:00
0b1a820762 Make arrows 'bonk' hanging sprites 2021-08-31 13:31:27 +01:00
Sam
7dcbd6aaf0 Renamed variable to make more explicit what it does. 2021-08-28 18:31:44 -04:00
Sam
0a648e2e8f Fixed arrows dealing damage to entities if entity walked near arrow that stuck to terrain several seconds prior. 2021-08-26 19:00:28 -04:00
c2247686db Make is_mid_air use on_surface().is_none() 2021-08-13 23:16:38 +03:00
a82f5ca057 Add comment about fragility of solution 2021-08-12 15:28:58 +03:00
86b9e2d8e6 Make Fireballs explode EnsnaringVines 2021-08-12 01:25:55 +03:00
0858279810 Gliding Debug Info 2021-08-07 13:19:58 +00:00
665951946f Fixed block snapping 2021-08-04 14:12:10 +01:00
4766450258 Avoid negative bounds in harm checks
* disallow_harm -> allow_harm to avoid negative reasoning since it mostly
requires double negation in code
* allow_harm -> may_harm to specify side-effect free
2021-08-03 18:57:53 +03:00
1efc3188ef Refactor projectile system 2021-08-03 16:43:55 +03:00
497a94cd7a Post review refactoring
* inline `target_dodging` into struct declaration as they are named
anyway
* move `avoid_harm` check out of `Attack::apply_attack` so we don't need
to pass whole Player component.
* another cosmetic things
2021-08-03 16:43:55 +03:00
7413e7fd11 Prettify aura system 2021-08-03 16:43:55 +03:00
61416faec3 Refactor Aura system, add avoid_harm flag
+ fix bug where you cast OutOfGroup on yourself and your group
2021-08-03 16:42:58 +03:00
c7fdb640ac Cleaning 2021-08-03 16:42:58 +03:00
7d4a8cbfa4 Add battle_mode server setting and player flag 2021-08-03 16:42:58 +03:00
3ddbb0a5fb Merge branch 'mohs/refactoring_character_behavior' into 'master'
reducing complexity of character_behavior's run method by extracting logical pieces.

See merge request veloren/veloren!2697
2021-07-31 02:47:55 +00:00
3735688e4c changing <Sys> to Self to be a little more speaking and less riddles. 2021-07-29 23:14:46 +02:00
005c33bb28 renaming methods to match the names of the methods called within 2021-07-29 22:55:58 +02:00
0b07b14093 moving CharacterState interpreting methods to character_state.rs 2021-07-29 22:38:20 +02:00
93045ba1ee reducing complexity of character_behavior's run method by extracting logical pieces. 2021-07-29 20:09:31 +02:00
01d1089a46 Add comment to physics and replace magic number in climbing boost with a named constant, fixes #1002 2021-07-29 03:11:44 -04:00
c8527491cc #918 reverting wrongly merged inventory related changes. 2021-07-28 21:13:09 +02:00
acb7f5dc4b #918 remove usages of .restrict_mut() from character_behavior.rs 2021-07-27 23:34:16 +02:00
27f666622f #918 remove usages of .restrict_mut() from mount.rs and stats.rs 2021-07-27 22:22:39 +02:00
Sam
f164d6036e Made swapping equipped weapons a server event instead of being called in common to prevent server-client desyncs. 2021-07-25 18:30:17 -05:00
199d56b1db Fix block-hopping with strangely sized blocks 2021-07-25 20:03:17 +01:00
c577a7d677 Resolve unused '#[allow(clippy::while_let_on_iterator)]' error supressions 2021-07-24 20:04:52 +02:00
d2b8a5a169 Fix check before calculating entity pushback, was causing a NaN and probably other bugs 2021-07-19 01:31:40 -04:00
3e6fd0ee1d Setup animation mount points for quadruped medium, update offsets in
common for new quadruped mediums, properly transform the offset in the
mount system using ori, fix issue with composing in the base ori with
the mounting bone ori in voxygen.
2021-07-18 15:09:36 -04:00
b2bf83e200 Rework mounting animation so that full hierarchies of animation transforms can be applied to the mounter, factor out some common code in figure/mod.rs 2021-07-18 15:04:02 -04:00
09cbb90f61 Make the mounter animations dependant of the mountee animation 2021-07-18 15:03:57 -04:00