llDamage Throttle Is Way Too Aggressive
complete
Grave Resident
Currently if you use llDamage to apply damage to a target, you can only do so 10 times within a 3.1 second window to the same target before getting a script error.
I do not think there should be a throttle at all, seeing as how we did not have one with the basic llSetDamage before. It seems like something people that do not do combat wanted to impose on us, but they don't have damage enabled in their sims anyway, so I would prefer to allow us to set our own terms like we have been able to with llSetDamage.
If not, at least make this throttle less agressive. We can't even do damage over time effects like fire or barbed wire without getting script errors.
Log In
This post was marked as
complete
Thunder Rahja
As I said during today's Server User Group, I have many applications where 1 llDamage call per second is desirable, particularly for damage-over-time applications such as fire or toxic gas where instant death isn't intended. I already have a separate proposal for damage over time that addresses this gap.
Contrary to Grave's claim on no throttle for
llSetDamage
, that method actually does have a throttle in the form of llRezObject
and related functions, as well as the gray goo fence, since llSetDamage
requires a collision between avatar and damage source to deal damage, which immediately derezzes the source.Bear in mind that the
llDamage
throttle applies only
on the basis of one source damaging the same target repeatedly. llDamage
is a function that has great potential for abuse, but thankfully sim owners haven't yet needed to implement monitoring systems to handle such abuse. If the throttle is given to estate managers as a region setting (perhaps on a basis of n
calls per 30 seconds) instead of coded uniformly across all regions, it could allow them to determine the rules of their own regions.Nexii Malthus
I think throttles are great for avoiding abuse but yeah it's a bit undefined here.
There should probably be a limit since the combat log could probably/theoretically only handle so much going on and the processing that inflicts on scripts listening to that is probably why the throttle was implemented with such a conservative value rather than balancing.
Damage-Over-Time (DOT) should be something easy to implement for someone, so the throttled should be lowered down to
at least
a 0.9 second window, or e.g. 10 damage instances per 9.9 seconds. Since it's normal to have damage over time ticks apply every second typically in most games and would be acceptable for SL.(By the way, testing showed that the llDamage script throttle actually triggers too early, for example when you set llSetTimerEvent(3.0), hence the mention of the awkward 3.1 second window in the OP's post. Hence why my suggestion for "9.9" sec -- just below 10 sec, so that a clean llSetTimerEvent(1.0) timer tick can be used.)
However since
1 llDamage per sec
would be the standard for DOT then twice that
should be limit to deal with excess/abuse, so recommended would be twice that for the limit: 20 damage instances per 4.9 seconds.
I think anything more than that could be too much and any in-betweens of the standard and the excess (1 damage instance per sec up to 2 damage per sec) would be managed by resident moderation, auditing and perf monitoring.
Kyle Linden
tracked