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
Joshua Barretto
c0bf9503bd
Addressed review issues, added cloning docs to BodySpec::Manifests
2021-11-13 17:20:23 +00:00
Joshua Barretto
46ec4203a2
Arbitrary volume airships
2021-11-13 17:13:08 +00:00
Samuel Keiffer
6e57380735
Merge branch 'sam/ability-pool-and-hotbar' into 'master'
...
Ability pool
See merge request veloren/veloren!2996
2021-11-12 05:11:12 +00:00
Sam
a288f9ee43
Addressed further review.
2021-11-11 22:37:37 -05:00
Sam
dfcb8c8519
Addressed review feedback.
2021-11-11 18:10:22 -05:00
Sam
a8bec0280c
Ability pool mostly functional.
2021-11-09 12:56:07 -05:00
Imbris
79afad626b
Merge branch 'socksonme/pushback_require_collider' into 'master'
...
Make the collider component be required for entity pushback
See merge request veloren/veloren!2954
2021-11-09 06:11:07 +00:00
Sam
41effe61d0
Being knocked out of item use or sprite interact states forces a poise state.
2021-10-29 19:24:40 -04:00
socksonme
2ef668a16c
removed unnecessary self
2021-10-29 15:23:49 +03:00
socksonme
42ed5c43f5
fixed code quality
2021-10-29 15:01:21 +03:00
socksonme
584e379e40
Removed beams and shockwaves from phys.rs
...
calc_z_limit doesn't use an Opyion anymore, construct_spacial_grid also doesn't check for beams or shockwaves, collider_other in apply_pushback is also required now and resolve_e2e_pushback also doesn't use Options anymore.
2021-10-29 09:43:01 +03:00
socksonme
052e09039a
Made the pushback cache require colliders
2021-10-19 15:05:30 +03:00
Bryant Deters
b2bd43f4d3
Sneak with weapons drawn
2021-10-18 14:53:55 -05:00
Imbris
aa1ffa9f61
Remove timings and commented code (separate from the previous commit so we can keep these notes in the git history), add potentially better version of the straight up/down case for to_horizontal as a comment for testing in the future, remove fine grained spans
2021-10-15 01:38:56 -04:00
Imbris
457ed6ac64
Remove per entity VecDeque's of events from character StateUpdate and instead pass in external Vecs that can be pushed to (saves significant time not allocating for VecDeque::new)
2021-10-15 01:23:00 -04:00
Imbris
d515b42eac
Improve efficiency of states::utils::handle_orientation by reducing the conversions between Ori/Dir less frequent and optimizing the conversion of Dir -> Ori, also added a method to compute the angle between two Ori so that they don't need to be converted to Dir
2021-10-15 01:23:00 -04:00
Imbris
4f6eb286e6
Remove dead commented code, updated changelog, commented profiling spans
...
(but left in for easy reuse later), fix clippy complaint
2021-10-10 03:09:03 -04:00
Imbris
7f6ba90f59
simplify water/walls check code, interally iterate in chonks (but not
...
chunks)
2021-10-10 02:42:06 -04:00
Imbris
e7b92789f9
Refactor some of the terrain collision code, failed pre-emptive liquid check experiment
2021-10-10 02:42:06 -04:00
Imbris
8987f6128e
Do iteration check for snapping after checking the other conditions
2021-10-10 02:42:06 -04:00
Imbris
798e02b9e5
Convert water/walls check to the new iteration function
2021-10-10 02:42:06 -04:00
Imbris
59bd5b4acd
Initial iterator optimization by using internal iteration at the vol_grid level, water/walls not switched over yet
2021-10-10 02:42:06 -04:00
ubruntu
0e2808a8fd
Interactable campfires
2021-10-05 00:55:29 +00: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
Sam
942376f88c
Made poise a float at interface of module.
2021-09-25 14:07:47 -04:00
Marcel Märtens
2a82405df2
update toolchain to nightly-2021-09-24
2021-09-24 23:18:07 +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
Joshua Barretto
a76496c339
Use previous position caches for airship collision detection
2021-09-17 22:34:28 +01:00
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
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
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
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
juliancoffee
338e81de10
Deduplicate pvp-checks
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
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
Joshua Barretto
0b1a820762
Make arrows 'bonk' hanging sprites
2021-08-31 13:31:27 +01:00