ninefox
64f6faece5
Switched to using existing swap_lantern
function
...
Removed unnecessary function
2022-01-17 11:24:18 -08:00
ninefox
fc012b4989
Lantern color will now change when swapping lanterns while lantern is activated
2022-01-16 16:24:31 -08:00
Sam
e98edbcc7a
Conversion of poise damage to health damage now scales depending on the poise state the target is in.
...
Entities are now immune to poise damage for 1 second after exiting a poise state.
Rebalanced most phyiscal damage attacks on player-accessible tools.
2022-01-12 22:18:59 -05:00
Sam
d1e1de3b14
Slashing damage now decreases target's energy if available, and if target has no remaining energy will do additional damage.
...
Piercing damage now ignores an amount of protection equal to the piercing damage value.
Crushing damage now does poise damage equal to the amount of mitigated damage.
When poise damage is dealt while in a poise state, poise damage is instead converted to damage.
2022-01-12 22:18:58 -05:00
Sam
0a9f3381f5
Skill points now attempt to be earned as experience is added.
2022-01-03 19:55:05 -05:00
Sam
da78800047
Changed skill groups to be a hashmap instead of a vec.
2022-01-03 19:55:05 -05:00
Sam
6d2496b7de
Changed skill group to store available_exp instead of spent_exp to help enforce certain invariants. Addressed more review coments.
2022-01-03 19:55:04 -05:00
Sam
8221336587
Addressed some review.
2022-01-03 19:55:04 -05:00
Sam
64c8321626
Made skill groups remain locked if skill to unlock them not acquired.
2022-01-03 19:55:03 -05:00
Sam
fe45a158ed
Skill groups now only persist earned_exp instead of available_exp, earned_sp, and available_sp.
2022-01-03 19:55:00 -05:00
Imbris
bf48bd5346
update toolchain to nightly-2021-12-19
2021-12-23 13:04:24 +01:00
Joshua Barretto
6e97e3179d
Slippery ice
2021-12-20 18:03:52 +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
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