diff --git a/OpenSim/Framework/ISceneAgent.cs b/OpenSim/Framework/ISceneAgent.cs index be11931109..1848b1757e 100644 --- a/OpenSim/Framework/ISceneAgent.cs +++ b/OpenSim/Framework/ISceneAgent.cs @@ -55,6 +55,7 @@ namespace OpenSim.Framework /// bool IsChildAgent { get; } + bool Invulnerable { get; set; } /// /// Avatar appearance data. /// diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index 4cea7bb209..b00f2b0de3 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs @@ -374,6 +374,10 @@ namespace OpenSim.Region.CoreModules.World.Land public void SendLandProperties(int sequence_id, bool snap_selection, int request_result, IClientAPI remote_client) { + remote_client.SceneAgent.Invulnerable = + !m_scene.RegionInfo.RegionSettings.AllowDamage || + (m_landData.Flags & (uint)ParcelFlags.AllowDamage) == 0; + if (remote_client.SceneAgent.PresenceType == PresenceType.Npc) return;