|Anonymous | Login | Signup for a new account||2019-03-25 08:02 PDT|
|Main | My View | View Issues | Change Log | Roadmap | Summary | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0006004||opensim||[REGION] Specific OpenSim Module||public||2012-05-04 11:28||2014-07-29 13:41|
|Product Version||master (dev code)|
|Target Version||master (dev code)||Fixed in Version|
|Summary||0006004: [Patch] CombatModule and llSetDamage|
|Description||The following notes apply in damage enabled areas.|
According to the LSL wiki llSetDamage with a value > 0.0 will cause the object to be deleted when the damage is delivered to an avatar. In the current version the objects remain.
Passing through a volume detect object will not cause damage even if llSetDamage has been called with a value >0.0. In the current version the damage is delivered and "non damage" volume detect objects cause health loss when walking through them.
Gods are affected by damage in the current version.
Health is not recovered either over time by gradual "healing" or by moving to a safe area.
The region override flag "allow damage" is ignored, the viewer gets it right but only the parcel "Safe" flag is checked.
|Tags||No tags attached.|
|Git Revision or version number||Head|
|Run Mode||Standalone (Multiple Regions)|
|Environment||.NET / Windows32|
|Attached Files||0001-Mantis-60004-problems-with-damage-and-llSetDamage.patch [^] (6,249 bytes) 2012-05-04 11:39 [Show Content]|
|Also if an NPC is the "victim" then an attempt is made to teleport the NPC home|
In damage enabled areas this patch -
1. Deletes any objects that have damage set > 0 that deliver that damage to an avatar
2. Stops Gods receiving damage,
3. Stops volume detect objects causing damage
4. Deletes NPCS when their helth reduces to zero
5. Gradually "heals" damage to an avatar
6. Resets health on going to a non damage area
6. Allows damage on parcels set to "Safe" if the region settings specify damage is enabled
The reset of health and making the avatar vulnerable to damage is done when OnAvatarEnteringNewParcel is triggered. This does not seem 100% reliable at the moment, I suspect teleports, and will look into this next.
Are these behaviours that match what one sees in the Linden grid (sans the NPC stuff, of course, since that doesn't exist there)? No problem if they are not but then they would need to be options.
The primary reason for this kind of thing is script compatibility.
The bit about deleting objects that have dam,age > 0 set when they deliver the damage and volume detect objects having no affect at all are documented in http://wiki.secondlife.com/wiki/LlSetDamage [^]
The bit about gods not receiving damage is based on many hours on combat sandbox Rausch and seeing lindens not getting "killed" in spite of many people trying when they visited :)
The slow recovery from damage and full restoration on reaching a safe patch again from much use of the facilities on Rausch.
I used to own a parcel on Jessie, the only mainland region where damage was set at region level, the individual parcel flags could not override that. It also is demonstrated by the viewer, if the region is set to allow damage then health is shown at the top irrespective of setting the parcel "safe" flag
It could be that multiple implementations of the CombatModule would be a good idea. One that replicates the linden grid behaviour but with the ability to substitute a different module in cases where a purely scripted combat system was wanted.
Also I think there is a fair argument for moving the code to do with damage from ScenePresence into the combat module to aid the creation of different combat modules
Thanks Talun. Committed as c84ef57. It looks good to me but there's a chance that people with more experience of these modules may have something to say. I prefer to commit first and alter later in most cases.
Agree with you about ScenePresence - the combat bits shouldn't really be there or at least minimized as much as possible.
|2012-05-04 11:28||Talun||New Issue|
|2012-05-04 11:28||Talun||Assigned To||=> Talun|
|2012-05-04 11:28||Talun||Status||new => assigned|
|2012-05-04 11:30||Talun||Note Added: 0021356|
|2012-05-04 11:39||Talun||File Added: 0001-Mantis-60004-problems-with-damage-and-llSetDamage.patch|
|2012-05-04 11:40||Talun||Assigned To||Talun =>|
|2012-05-04 11:46||Talun||Note Added: 0021357|
|2012-05-04 11:46||Talun||Status||assigned => patch included|
|2012-05-04 12:23||justincc||Note Added: 0021360|
|2012-05-04 12:36||Talun||Note Added: 0021361|
|2012-05-04 12:49||Talun||Note Added: 0021362|
|2012-05-04 13:06||justincc||Note Added: 0021364|
|2012-05-04 13:06||justincc||Status||patch included => resolved|
|2012-05-04 13:06||justincc||Resolution||open => fixed|
|2012-05-04 13:06||justincc||Assigned To||=> justincc|
|2014-07-29 13:41||chi11ken||Status||resolved => closed|
|Copyright © 2000 - 2012 MantisBT Group|