diff options
author | Melanie Thielker | 2009-07-15 00:10:01 +0000 |
---|---|---|
committer | Melanie Thielker | 2009-07-15 00:10:01 +0000 |
commit | fb4067c84493582bd3897eb7aee846c19bf334af (patch) | |
tree | b73a0f99432335c2d30a6acf7a5b3c75b195eba6 | |
parent | Thank you, Twitch, for a patch to restore mayhem and murder to OpenSim (diff) | |
download | opensim-SC-fb4067c84493582bd3897eb7aee846c19bf334af.zip opensim-SC-fb4067c84493582bd3897eb7aee846c19bf334af.tar.gz opensim-SC-fb4067c84493582bd3897eb7aee846c19bf334af.tar.bz2 opensim-SC-fb4067c84493582bd3897eb7aee846c19bf334af.tar.xz |
A stab at implementing llSetDamage. Not persistent.
4 files changed, 22 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 31b94d9..d65dbaf 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -326,6 +326,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
326 | set { m_rootPart.OwnerID = value; } | 326 | set { m_rootPart.OwnerID = value; } |
327 | } | 327 | } |
328 | 328 | ||
329 | public float Damage | ||
330 | { | ||
331 | get { return m_rootPart.Damage; } | ||
332 | set { m_rootPart.Damage = value; } | ||
333 | } | ||
334 | |||
329 | public Color Color | 335 | public Color Color |
330 | { | 336 | { |
331 | get { return m_rootPart.Color; } | 337 | get { return m_rootPart.Color; } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index dd00ff4..a4d455c 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -195,6 +195,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
195 | 195 | ||
196 | [XmlIgnore] | 196 | [XmlIgnore] |
197 | private PrimFlags LocalFlags = 0; | 197 | private PrimFlags LocalFlags = 0; |
198 | [XmlIgnore] | ||
199 | private float m_damage = -1.0f; | ||
198 | private byte[] m_TextureAnimation; | 200 | private byte[] m_TextureAnimation; |
199 | private byte m_clickAction = 0; | 201 | private byte m_clickAction = 0; |
200 | private Color m_color = Color.Black; | 202 | private Color m_color = Color.Black; |
@@ -484,6 +486,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
484 | set { m_rezzed = value; } | 486 | set { m_rezzed = value; } |
485 | } | 487 | } |
486 | 488 | ||
489 | [XmlIgnore] | ||
490 | public float Damage | ||
491 | { | ||
492 | get { return m_damage; } | ||
493 | set { m_damage = value; } | ||
494 | } | ||
495 | |||
487 | /// <summary> | 496 | /// <summary> |
488 | /// The position of the entire group that this prim belongs to. | 497 | /// The position of the entire group that this prim belongs to. |
489 | /// </summary> | 498 | /// </summary> |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index b85a138..56369f5 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3230,7 +3230,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
3230 | //if (localid == 0) | 3230 | //if (localid == 0) |
3231 | //continue; | 3231 | //continue; |
3232 | 3232 | ||
3233 | Health -= coldata[localid] * 5; | 3233 | SceneObjectPart part = m_scene.GetSceneObjectPart(localid); |
3234 | |||
3235 | if (part != null && part.ParentGroup.Damage != -1.0f) | ||
3236 | Health -= part.ParentGroup.Damage; | ||
3237 | else | ||
3238 | Health -= coldata[localid] * 5; | ||
3234 | 3239 | ||
3235 | if (Health <= 0) | 3240 | if (Health <= 0) |
3236 | { | 3241 | { |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 1b4674d..c74a41b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -3833,7 +3833,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3833 | public void llSetDamage(double damage) | 3833 | public void llSetDamage(double damage) |
3834 | { | 3834 | { |
3835 | m_host.AddScriptLPS(1); | 3835 | m_host.AddScriptLPS(1); |
3836 | NotImplemented("llSetDamage"); | 3836 | m_host.ParentGroup.Damage = (float)damage; |
3837 | } | 3837 | } |
3838 | 3838 | ||
3839 | public void llTeleportAgentHome(string agent) | 3839 | public void llTeleportAgentHome(string agent) |