invulnerability_time is documented as a mechanism that stops both incoming and outgoing damage from a resident who recently died from reaching 0 health. However, in my testing of this setting, I found that outgoing damage is not blocked, regardless of estate manager status. Here is a script that demonstrates the issue: // This script tests the effect of invulnerability_time on incoming and outgoing damage. // Set invulnerability_time to 4 seconds or more. You and a volunteer set home on non-safe land. // Displaying seconds in your local chat timestamps is recommended. key volunteer = "1b3f651d-4e24-53c5-805d-3932540e283e"; // enter the key of someone in the region integer timerNum; integer messageNum; default { state_entry() { llListen(COMBAT_CHANNEL, "", COMBAT_LOG_ID, ""); } touch_start(integer n) { if (llDetectedKey(0) != llGetOwner()) return; float invTime = (float)llGetEnv("invulnerability_time"); llOwnerSay("invulnerability_time is set to " + (string)invTime + " seconds"); if (invTime < 4) { llOwnerSay("invulnerability_time is too short to test!"); return; } else if (llKey2Name(volunteer) == "") { llOwnerSay("Volunteer is not present or not defined in script!"); } timerNum = 0; messageNum = 0; llSetTimerEvent(1); } listen(integer channel, string name, key id, string text) { integer n; string eventJson; while ((eventJson = llJsonGetValue(text, [n++])) != JSON_INVALID) { key source = (key)llJsonGetValue(eventJson, ["source"]); if (source == llGetKey()) { string type = llJsonGetValue(eventJson, ["event"]); string targetName = llKey2Name((key)llJsonGetValue(eventJson, ["target"])); if (type == "DEATH") // this fires before DAMAGE, as expected { llOwnerSay((string)(++messageNum) + ": " + targetName + " was killed"); } else if (type == "DAMAGE") { integer amount = (integer)llJsonGetValue(eventJson, ["initial"]); llOwnerSay((string)(++messageNum) + ": Caused " + (string)amount + " damage to " + targetName); } } } } timer() { timerNum++; if (timerNum == 1) { llOwnerSay((string)(++messageNum) + ": Sending 100 damage to you to start your invulnerability timer"); llDamage(llGetOwner(), 100, 14); } else if (timerNum == 2) { llOwnerSay((string)(++messageNum) + ": Sending 11 damage to you, and 12 to " + llKey2Name(volunteer)); llDamage(llGetOwner(), 11, 14); llDamage(volunteer, 12, 14); } else if (timerNum == 3) { llOwnerSay((string)(++messageNum) + ": Sending 13 damage to you, and 14 to " + llKey2Name(volunteer)); llDamage(llGetOwner(), 13, 14); llDamage(volunteer, 14, 14); } else if (timerNum == 4) { llSetTimerEvent(0); llOwnerSay("Test complete"); } } } I feel I should point out that invulnerability_time , if it functioned as documented, would be a trade-off. For instance, a grenade thrown or a trap deployed before the owner's death would be incapable of dealing damage if detonated during the seconds of invulnerability given, making it very difficult to plan for in organized combat regions.