Commit Graph

255 Commits

Author SHA1 Message Date
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
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
juliancoffee
c2247686db Make is_mid_air use on_surface().is_none() 2021-08-13 23:16:38 +03:00
juliancoffee
a82f5ca057 Add comment about fragility of solution 2021-08-12 15:28:58 +03:00
juliancoffee
86b9e2d8e6 Make Fireballs explode EnsnaringVines 2021-08-12 01:25:55 +03:00
Illia Denysenko
0858279810 Gliding Debug Info 2021-08-07 13:19:58 +00:00
Joshua Barretto
665951946f Fixed block snapping 2021-08-04 14:12:10 +01:00
juliancoffee
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
juliancoffee
1efc3188ef Refactor projectile system 2021-08-03 16:43:55 +03:00
juliancoffee
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
juliancoffee
7413e7fd11 Prettify aura system 2021-08-03 16:43:55 +03:00
juliancoffee
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
juliancoffee
c7fdb640ac Cleaning 2021-08-03 16:42:58 +03:00
juliancoffee
7d4a8cbfa4 Add battle_mode server setting and player flag 2021-08-03 16:42:58 +03:00
Imbris
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
Thomas Kosel
3735688e4c
changing <Sys> to Self to be a little more speaking and less riddles. 2021-07-29 23:14:46 +02:00
Thomas Kosel
005c33bb28
renaming methods to match the names of the methods called within 2021-07-29 22:55:58 +02:00
Thomas Kosel
0b07b14093
moving CharacterState interpreting methods to character_state.rs 2021-07-29 22:38:20 +02:00
Thomas Kosel
93045ba1ee
reducing complexity of character_behavior's run method by extracting logical pieces. 2021-07-29 20:09:31 +02:00
Imbris
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
Thomas Kosel
c8527491cc
#918 reverting wrongly merged inventory related changes. 2021-07-28 21:13:09 +02:00
Thomas Kosel
acb7f5dc4b
#918 remove usages of .restrict_mut() from character_behavior.rs 2021-07-27 23:34:16 +02:00
Thomas Kosel
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
Joshua Barretto
199d56b1db Fix block-hopping with strangely sized blocks 2021-07-25 20:03:17 +01:00
Dr. Dystopia
c577a7d677 Resolve unused '#[allow(clippy::while_let_on_iterator)]' error supressions 2021-07-24 20:04:52 +02:00
Imbris
d2b8a5a169 Fix check before calculating entity pushback, was causing a NaN and probably other bugs 2021-07-19 01:31:40 -04:00
Imbris
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
Imbris
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
Snowram
09cbb90f61 Make the mounter animations dependant of the mountee animation 2021-07-18 15:03:57 -04:00
Jonathan Berglin
b15f426ee5 Resolve all approved error supressions 2021-07-18 17:11:46 +00:00
Joshua Barretto
eade248e1f Fixed handling of orientation changes for airships 2021-07-18 01:13:36 +01:00
Samuel Keiffer
f38cde9d40 Merge branch 'knightresspaladin/healing-aura' into 'master'
Knightresspaladin/healing aura

See merge request veloren/veloren!2587
2021-07-16 21:32:03 +00:00
holychowders
f316f1da60 Make Guards Defend Villagers 2021-07-14 07:40:43 +00:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
Knightress Paladin
146f86be2c Removed references to Healing Beam, which Healing Aura is replacing 2021-07-10 21:39:11 -07:00
swrup
02151417f2 fix melee hit_count increment 2021-07-09 16:17:51 +00:00
juliancoffee
c538a9696c Use Food after Buildup
+ Remove Saturation effect by rolling
+ Remove Saturation effect if interrupted with poise
+ Rename Potion to Drink, add ComplexFood
2021-07-05 10:56:29 +03:00
Sam
d8f68668b1 Addressed potential for divide by zero. 2021-07-04 22:00:13 -05:00
Sam
4ac9d9e0a5 Fix interaction of max health and max health over time buffs causing infinite health scaling. 2021-07-04 21:43:29 -05:00
Avi Weinstock
110aa17642 Fix underwater campfires. 2021-06-30 18:36:43 -04:00
Sam
8a9de26132 Food now applies buff at end of state.
Rolling and poise states now cancel the potion buff.
UseItem character state now checks that the item in the slot has the same item_definition_id as when the entity enters the state.
Rolling can no cancel item use.
Rolling now checks for move_dir instead of velocity.
2021-06-29 05:59:02 -05:00
Sam
3559ce5803 Added UseItem character state. 2021-06-29 05:59:02 -05:00
Sam
645cc60dc0 Balance tweaks. 2021-06-23 22:38:37 -05:00
Sam
aac24ad601 Added ensnared debuff icon. 2021-06-23 22:38:16 -05:00
Sam
0a32b676c8 Vines now ensnare you by applying a buff. 2021-06-23 22:38:16 -05:00
Sam
763461ebef Ensnaring vines now ensnare you. 2021-06-23 22:38:16 -05:00
Sam
ed503236d6 Slightly functional sprite summon. 2021-06-23 22:38:16 -05:00
Dominik Broński
8356e2ffca Merge branch 'aweinstock/lava' into 'master'
Lava

See merge request veloren/veloren!2482
2021-06-21 20:49:44 +00:00
Joshua Barretto
e930ff6779 Sanitise controller inputs 2021-06-21 21:13:49 +01:00
Avi Weinstock
0f9181cbcb Address MR 2482 comments.
- Change lava density to 3x water density.
- Use `ServerEvent::Buff` instead of modifying the buff component directly.
- Revert commented-out changes to fluid shaders.
2021-06-20 11:32:05 -04:00
Avi Weinstock
f1a1160b80 Make lava solid w.r.t. rendering while still being liquid w.r.t. physics. 2021-06-19 16:52:21 -04:00
Avi Weinstock
2226a4c6a9 Add lava to caves, which sets you on fire if you swim in it. Currently requires uncommenting #define LAVA in the shaders, and only looks good with cheap fluid mode. 2021-06-19 16:31:21 -04:00
Imbris
659b42e813 Remove tracy features that are no longer needed now that macros have been fixed 2021-06-19 04:27:50 -04:00
Joshua Barretto
46dfc119fb Merge branch 'aweinstock/tighten_e2t' into 'master'
Make e2t hitboxes tighter by checking the floating point coordinates before looking up voxels.

See merge request veloren/veloren!2460
2021-06-18 16:27:20 +00:00
Joshua Barretto
fb51fd3230 Emit sound from head 2021-06-16 17:23:22 +01:00
Joshua Barretto
0ef29a6989 VoiceKind for better sound effect specs 2021-06-16 17:23:22 +01:00
Joshua Barretto
559311e1b0 Chasing sounds 2021-06-16 17:23:22 +01:00
Avi Weinstock
96ffae4387 Address MR 2460 comments.
- Switch from point query to AABB query to take into account block thickness.
2021-06-15 22:52:02 -04:00
Avi Weinstock
5e6363dbcc Make e2t hitboxes tighter by checking the floating point coordinates before looking up voxels. 2021-06-15 21:29:29 -04:00
Snowram
3ba0500b90 Tornado summoning attack 2021-06-15 09:49:13 +02:00
Marcel
1b36f6cab3 Merge branch 'aweinstock/forcemove-no-pushback' into 'master'
Don't apply e2e pushback during a forced movement character state.

See merge request veloren/veloren!2429
2021-06-14 14:42:01 +00:00
Avi Weinstock
1af9ac568f Move force-movement e2e check so that it doesn't confer immunity to arrows. 2021-06-13 20:38:03 -04:00
Avi Weinstock
0e394029de Mining skill tree. 2021-06-13 14:34:42 -04:00
Avi Weinstock
d02ff2db20 Don't apply e2e pushback during a forced movement character state. 2021-06-12 11:10:06 -04:00
Marcel Märtens
4167621f5d Change the version number to 0.10 2021-06-12 10:14:07 +02:00
Marcel Märtens
7185dcee68 switch to hashbrown 0.11 and specs 0.16.2 2021-06-07 13:01:01 +02:00
Sam
0488b2fcd0 Adressed comments on energy and armor functions. 2021-06-07 11:06:25 +02:00
Sam
c3b834ec15 Max energy stat functional. 2021-06-07 10:58:37 +02:00
Sam
6790b71d53 Energy recovery stat functional. 2021-06-07 10:58:32 +02:00
Sam
c81e1534f7 First 3 abilities for tidal warrior functional. Added bubble particles. 2021-06-03 21:39:13 -05:00
Imbris
23eca4c3f6 Re-disable incremental just for common-systems, small fix in plugin
crate, more new clippy fixes
2021-05-31 20:44:57 -04:00
Imbris
48ebb10d50 Update toolchain 2021-05-31 20:44:57 -04:00
Samuel Keiffer
9637d874ab Merge branch 'adam/frozen-debuff' into 'master'
Frozen Debuff

See merge request veloren/veloren!2357
2021-05-30 22:39:11 +00:00
Adam Whitehurst
2e74348813 refactor: variable names 2021-05-30 13:40:25 -07:00
Adam Whitehurst
66cf4ab74c fix: name 2021-05-30 12:56:26 -07:00
Ygor Souza
d890a58b93 Reset on_ceiling state
Previously, the on_ceiling state would remain true for the entire
lifetime of the entity after it touched the ceiling once.
2021-05-30 21:49:11 +02:00
Adam Whitehurst
eea7eead2e wip: impl Stats::attack_speed_modifier 2021-05-30 09:40:11 -07:00
Avi Weinstock
d38db15411 Fixed entities with voxel colliders being off by one physics tick for collision. 2021-05-28 20:25:57 -04:00
James Melkonian
419cd2a5e4 Don't modify position in glide character state 2021-05-23 07:26:11 +00:00
Ludvig Böklin
46d1bb5f18 Adjusted masses; less excessive knockbacks; prevent loot shooting off 2021-05-22 17:56:13 +00:00
Sam
19926a2322 Swapping weapon sets is now functional. (Though very hacky?) 2021-05-15 15:16:39 -05:00
Sam
9173dca03f Added equip slots for other weapons. 2021-05-15 15:16:37 -05:00
holychowders
d5f3ba77d4 Make NPCs Aware of Sound - See Issue #913 2021-05-15 19:36:27 +00:00
Marcel
7d5ca0e7bf Revert "Merge branch 'snowram/hacky-mount' into 'master'"
This reverts merge request !2219
2021-05-14 13:43:20 +00:00
Snowram
e4f3064b8a Collar can make QuadMeds mountable, state + offsets 2021-05-14 00:11:15 +02:00
James Melkonian
4d4bc132f4 Campfires can set things on fire and water puts it out 2021-05-13 05:34:51 +00:00
Avi Weinstock
7ec7540be4 Make projectiles function properly if they hit a wall in the same tick as an entity. 2021-05-07 23:20:57 -04:00
Avi Weinstock
e4cda4309e Add DamageKind, and make piercing damage partially ignore damage resistence.
- Tweak bow/staff M1 stats.
2021-05-06 17:39:06 -04:00
Daniel Mizerski
b34704ea3f (Wiring) OnDeath 2021-05-05 19:08:18 +02:00
Samuel Keiffer
fb940ad27a Merge branch 'sam/minotaur' into 'master'
Overhauled Minotaur

See merge request veloren/veloren!2193
2021-05-04 16:26:08 +00:00
Daniel Mizerski
f1681f465f (Wiring) Change Sticky to be handled by physics (but with disabled force on it) 2021-05-04 17:33:42 +02:00
Sam
d1139c3b7c Added frenzy ability to minotaur.
Added self-buff character state.
Added frenzied buff kind.
Added better comments on each buff kind.
2021-05-04 08:45:07 -04:00
Sam
160bd3ef0c Crippling strike now functional. Crippled debuff added. 2021-05-04 08:45:05 -04:00
DaforLynx
7334cce426 Poise (stun) SFX and fix for town music 2021-04-29 23:36:22 +00:00
Synis
4e4818ca9e Query spatial grid for beam and aura system
fmt
2021-04-29 14:23:02 +02:00
Ludvig Böklin
34660462e9 Glider physics 2021-04-27 14:41:48 +00:00
Sam
6848851dc3 Cleaned up tweaks in ui and allowed sfx choosing to scale to amount of sfx variants provided. 2021-04-25 13:09:10 -04:00
Sam
372eff2a02 Initial SCT implementation to display blocks. 2021-04-25 13:09:09 -04:00
Sam
288a6f3a82 Blocking now works if no weapon is equipped in main hand.
Added temp sfx for blocking and parrying.
Added temp particles for successful parry.
Tweaked values of default block ability.
2021-04-25 13:09:02 -04:00
Sam
91c6288213 Melee weapons can now block. 2021-04-25 13:08:42 -04:00
Ygor Souza
71b8426592 Add basic distance check to shockwave hit test
Before checking if the entity hitbox intersects the shockwave shell, we
do a basic check that the entity is close enough to be hit, considering
its radius.

This fixes the unlimited vertical range problem, since the distance is
measured in 3D.
2021-04-24 03:09:45 +02:00
Ygor Souza
e59f1e8d28 Skip physics pass for arrows stuck on surfaces
This keeps the arrow velocity from changing, which is what was causing
the ProjectileHit outcome to be pushed multiple times for the same
arrow, since the outcome checks if the arrow velocity is above a given
threshold.
2021-04-22 23:03:04 +02:00
Imbris
51c0f8733c Quick physics perf fix 2021-04-21 14:03:23 -04:00