diff options
author | Tiger Wang <ziwei.tiger@outlook.com> | 2021-04-06 01:06:58 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@outlook.com> | 2021-04-12 23:35:07 +0200 |
commit | d6b264bc21bc53c8bbc9fa8ae4c6eb7cab8eef9b (patch) | |
tree | 3665701dcb6b8af5ad0207615ed8c229247ccb22 | |
parent | Fix sending incorrect date values on world change (diff) | |
download | cuberite-d6b264bc21bc53c8bbc9fa8ae4c6eb7cab8eef9b.tar cuberite-d6b264bc21bc53c8bbc9fa8ae4c6eb7cab8eef9b.tar.gz cuberite-d6b264bc21bc53c8bbc9fa8ae4c6eb7cab8eef9b.tar.bz2 cuberite-d6b264bc21bc53c8bbc9fa8ae4c6eb7cab8eef9b.tar.lz cuberite-d6b264bc21bc53c8bbc9fa8ae4c6eb7cab8eef9b.tar.xz cuberite-d6b264bc21bc53c8bbc9fa8ae4c6eb7cab8eef9b.tar.zst cuberite-d6b264bc21bc53c8bbc9fa8ae4c6eb7cab8eef9b.zip |
Diffstat (limited to '')
-rw-r--r-- | src/Entities/Pawn.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/Entities/Pawn.cpp b/src/Entities/Pawn.cpp index a58c1dc40..ef552d89d 100644 --- a/src/Entities/Pawn.cpp +++ b/src/Entities/Pawn.cpp @@ -425,15 +425,18 @@ void cPawn::HandleFalling(void) TakeDamage(dtFalling, nullptr, Damage, static_cast<float>(Damage), 0); - // Fall particles - GetWorld()->BroadcastParticleEffect( - "blockdust", - GetPosition(), - { 0, 0, 0 }, - (Damage - 1.f) * ((0.3f - 0.1f) / (15.f - 1.f)) + 0.1f, // Map damage (1 - 15) to particle speed (0.1 - 0.3) - static_cast<int>((Damage - 1.f) * ((50.f - 20.f) / (15.f - 1.f)) + 20.f), // Map damage (1 - 15) to particle quantity (20 - 50) - { { GetWorld()->GetBlock(POS_TOINT - Vector3i(0, 1, 0)), 0 } } - ); + // Fall particles: + if (const auto Below = POS_TOINT.addedY(-1); Below.y >= 0) + { + GetWorld()->BroadcastParticleEffect( + "blockdust", + GetPosition(), + { 0, 0, 0 }, + (Damage - 1.f) * ((0.3f - 0.1f) / (15.f - 1.f)) + 0.1f, // Map damage (1 - 15) to particle speed (0.1 - 0.3) + static_cast<int>((Damage - 1.f) * ((50.f - 20.f) / (15.f - 1.f)) + 20.f), // Map damage (1 - 15) to particle quantity (20 - 50) + { { GetWorld()->GetBlock(Below), 0 } } + ); + } } m_bTouchGround = true; |