From c968f1f7da722eddb291c8ef474f1e0394621911 Mon Sep 17 00:00:00 2001 From: Mat Date: Sun, 22 Mar 2020 17:33:36 +0200 Subject: TNT position fixes (#4519) * TNT position fixes * Don't add offset to explosion spawn coords * Don't make other entities push TNT * Correct initial TNT speed * Fix typo * Improvements * Revert unwanted change * Style fixes * Update format --- src/World.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/World.cpp') diff --git a/src/World.cpp b/src/World.cpp index d5209d69c..8883aae1d 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -2145,7 +2145,7 @@ UInt32 cWorld::SpawnBoat(Vector3d a_Pos, cBoat::eMaterial a_Material) -UInt32 cWorld::SpawnPrimedTNT(Vector3d a_Pos, int a_FuseTicks, double a_InitialVelocityCoeff) +UInt32 cWorld::SpawnPrimedTNT(Vector3d a_Pos, int a_FuseTicks, double a_InitialVelocityCoeff, bool a_ShouldPlayFuseSound) { auto TNT = cpp14::make_unique(a_Pos, a_FuseTicks); auto TNTPtr = TNT.get(); @@ -2154,11 +2154,16 @@ UInt32 cWorld::SpawnPrimedTNT(Vector3d a_Pos, int a_FuseTicks, double a_InitialV return cEntity::INVALID_ID; } + if (a_ShouldPlayFuseSound) + { + BroadcastSoundEffect("entity.tnt.primed", a_Pos, 1.0f, 1.0f); + } + auto & Random = GetRandomProvider(); TNTPtr->SetSpeed( - a_InitialVelocityCoeff * Random.RandInt(-1, 1), + a_InitialVelocityCoeff * Random.RandReal(-0.5f, 0.5f), a_InitialVelocityCoeff * 2, - a_InitialVelocityCoeff * Random.RandInt(-1, 1) + a_InitialVelocityCoeff * Random.RandReal(-0.5f, 0.5f) ); return TNTPtr->GetUniqueID(); } -- cgit v1.2.3