Commit Graph

3168 Commits

Author SHA1 Message Date
juliancoffee
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
juliancoffee
e5d69d153b Adress review
Make sausage ascii-art have `a` line inside of stadium
2021-09-17 13:28:34 +03:00
juliancoffee
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
juliancoffee
3dd6aa9dea Implement capsule2capsule collisions 2021-09-17 13:28:34 +03:00
juliancoffee
fdb4b7111a Fix bug with zero-pushback for bigger colliders 2021-09-17 13:28:34 +03: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
juliancoffee
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
juliancoffee
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
juliancoffee
44962958d8 Adress feedback
- Rewrite 2 * PI to TAU
- Some comment formatting
2021-09-17 13:28:34 +03:00
juliancoffee
d86c9f2678 Remove body::Shape enum, make npc use CapsulePrism 2021-09-17 13:28:34 +03:00
juliancoffee
6c3b61dc25 Implement CapsulePrism collisions 2021-09-17 13:28:34 +03:00
juliancoffee
7712976b86 Refactor box_voxel_collision function 2021-09-17 13:28:34 +03:00
juliancoffee
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
Samuel Keiffer
73d3d3e4bb Merge branch 'sam/health-float' into 'master'
Turned Health into a Float

See merge request veloren/veloren!2824
2021-09-13 15:23:18 +00:00
Sam
fec92c3000 Fixed plugin tests with hack. 2021-09-13 10:34:40 -04:00
Sam
85f4e66337 Addressed MR 2824 comments 2021-09-10 15:20:14 -04:00
Monty Marz
1d94adc2e1 0.11 Background images and more 2021-09-10 08:34:01 +00:00
Sam
42012fddcb Overhauled health component, making it a float to outer interfaces. 2021-09-09 00:10:17 -04:00
Sam
c7291701e1 Sprite interaction fixes 2021-09-07 20:34:04 -04:00
Joshua Barretto
003b9f57ce Merge branch 'juliancoffee/pvp_command' into 'master'
Implement /battlemode command and more

See merge request veloren/veloren!2787
2021-09-04 18:37:01 +00:00
juliancoffee
670e29a286 Better formatting 2021-09-04 20:56:55 +03:00
juliancoffee
3cf9d0cdb0 Adress review:
- explanation of what pvp/pve means in /battlemode help
- check for radius from town instead of town in chunks (because it count
  plant fields, which is kinda meh)
- better error displaying
2021-09-04 20:38:53 +03:00
Sam
f65b3a094d Cultists now properly raid villages. 2021-09-04 12:25:04 -04:00
juliancoffee
43d40c4efc Workaround of bug with global Player component
* Set default value of battle_mode and last_battlemode_change explicitly
if isn't found in battlemode_buffer
2021-09-04 02:29:02 +03:00
juliancoffee
1baa9e9879 Add in-memory persistence for battlemode changes 2021-09-04 01:41:48 +03:00
juliancoffee
fbe745fe1e Cooldowns
- Add last_battlemode_change to Player component
- check on last_battlemode_change in handle_battlemode
- set last_battlemode_change after setting battlemode
- still are not persisted in any way
2021-09-04 01:41:48 +03:00
juliancoffee
338e81de10 Deduplicate pvp-checks 2021-09-03 17:28:34 +03:00
juliancoffee
2e79c61123 Implement /battlemode_force command
+ add placeholder for /battlemode command (currently can only show your
  battle mode)
2021-09-03 17:28:34 +03:00
juliancoffee
6b0d016418 Don't forget about pets in PvP checks 2021-09-03 17:28:34 +03:00
Sam
0a3b541940 Removed ability to 'droideka' through dungeons. 2021-09-02 19:48:30 -04:00
Sam
5f08089bd9 Recover section no longer has 0 movement. 2021-09-02 19:27:07 -04:00
juliancoffee
6c1ecc9766 Add support for override asset folder
- ASSETS_OVERRIDE environment variable with asset path which has higher
  priority.
2021-09-02 20:24:23 +03:00
Marcel
970d57f905 Merge branch 'juliancoffee/skill_boost_rework' into 'master'
ECS & Diary info synchronization

See merge request veloren/veloren!2771
2021-09-02 16:04:23 +00:00
Samuel Keiffer
a733ad00e6 Merge branch 'ubruntu/sometimes-drop-nothing' into 'master'
NPCs can drop nothing

See merge request veloren/veloren!2794
2021-09-01 23:17:36 +00:00
ubruntu
bbc366e1b3 NPCs can drop nothing 2021-09-01 23:17:36 +00:00
Sam
41a385c517 Turn towards center of sprite instead of corner. 2021-09-01 17:24:09 -04:00
Joshua Barretto
82886dcd3f Merge branch 'zesterer/tiny-fixes' into 'master'
Worldgen hotfix

See merge request veloren/veloren!2797
2021-09-01 12:47:50 +00:00
Joshua Barretto
1b0cb40d94 Made ore streams mineable 2021-09-01 12:05:00 +01:00
Knightress Paladin
f49dc2191d Make parrying refund the block stamina cost and cancel the recover animation 2021-08-31 23:46:33 -07:00
Sam
156820cd5c Chest sprite interact kind changed to only check that sprite is a container rather than matching on every 'chest-like' sprite. 2021-08-31 13:57:17 -04:00
Sam
5dbc05730d Moved pathfinding check to after distance check. Added a clear fallback for cases where sprite is not added to match statement. 2021-08-31 13:37:57 -04:00
Sam
f986176604 Sprites that are colelctible but not explciitly added to SpriteInteractKind match statement have a default value to allow collection. 2021-08-31 13:37:56 -04:00
Sam
2a3cc3d35a No longer send collect inventory event if interactable sprite kind cannot be found. 2021-08-31 13:37:56 -04:00
Sam
6b71133c50 Fixed interaction to work underwater. 2021-08-31 13:37:55 -04:00
Sam
13fa154e55 Changelog and added arm length (body radius) to sprite pickup range. 2021-08-31 13:37:53 -04:00
Sam
6d91bae44b Sprite interaction now uses pathfinding to check that it can be picked up. 2021-08-31 13:37:36 -04:00
Sam
28d23c89ed Added simple distance check for sprite interaction. 2021-08-31 13:37:36 -04:00
Sam
9e5744f3ee Entities will now attempt to orient towards the sprite they are interacting with. 2021-08-31 13:37:36 -04:00