diff --git a/Engine/source/T3D/player.cpp b/Engine/source/T3D/player.cpp index 478b7b6b7..c1990cc70 100644 --- a/Engine/source/T3D/player.cpp +++ b/Engine/source/T3D/player.cpp @@ -5075,8 +5075,12 @@ F32 Player::_doCollisionImpact( const Collision *collision, bool fallingCollisio if ( ((bd > mDataBlock->minImpactSpeed && fallingCollision) || bd > mDataBlock->minLateralImpactSpeed) && !mMountPending ) { - if ( !isGhost() ) - onImpact( collision->object, collision->normal * bd ); + if (!isGhost()) + { + onImpact(collision->object, collision->normal * bd); + mImpactSound = PlayerData::ImpactNormal; + setMaskBits(ImpactMask); + } if (mDamageState == Enabled && mState != RecoverState) { @@ -5101,13 +5105,6 @@ F32 Player::_doCollisionImpact( const Collision *collision, bool fallingCollisio } } - if ( isServerObject() && - (bd > (mDataBlock->minImpactSpeed / 3.0f) || bd > (mDataBlock->minLateralImpactSpeed / 3.0f )) ) - { - mImpactSound = PlayerData::ImpactNormal; - setMaskBits(ImpactMask); - } - return bd; } diff --git a/Templates/BaseGame/game/core/clientServer/scripts/server/levelLoad.tscript b/Templates/BaseGame/game/core/clientServer/scripts/server/levelLoad.tscript index 140135b01..e62dc2905 100644 --- a/Templates/BaseGame/game/core/clientServer/scripts/server/levelLoad.tscript +++ b/Templates/BaseGame/game/core/clientServer/scripts/server/levelLoad.tscript @@ -139,7 +139,7 @@ function loadMissionStage3() // Construct MOD paths pathOnMissionLoadDone(); - + getRootScene().callOnChildren("onCreateGame"); // Mission loading done... echo("*** Mission loaded"); @@ -152,6 +152,16 @@ function loadMissionStage3() %hasGameMode = callGamemodeFunction("onMissionStart"); } + +function GameBase::onCreateGame(%this) +{ + %db = %this.getDatablock(); + if (%db.isMethod("onCreateGame")) + { + %db.onCreateGame(%this); + } +} + function endMission() { if (!isObject( getScene(0) ))