You suggest that "removeCallback(this, 0x80);" be inserted into the Q5NC "disrupted, yes" check, rather than simply added into Q4AR. Without offering offense, may I ask after the reasoning; is it merely to keep Q4AR streamlined?
SS
EDIT:
P.S. I don't know how the following might fit in, but this just popped into my head.
Are "harmful" non-direct-damage spells coded to inflict 1 hp of pre-halved damage (which would then be halved, and truncated, to 0); is that perhaps why there existed a double interrupt check for magic, versus a single check for melee damage (and perhaps the reason why a single spell could also "inflict" double-bandage-slips)?
I don't even know where I might be going with this sudden diversion ...
SS
EDITEDIT:
P.P.S. Yes, I do know (sort-of) where I'm going.
Consider the following supposition,
1. Debuff successfully cast: 1 hp pre-resisted, pre-halved damage ("Mister Fuji is attacking you!")
2. Resist check: damage is halved/not-halved due to resist check result
3. Initial disrupt check evaluates @ either 0 damage, or 1 damage;
4. Damage is finalized in order to be applied (halved "again"; even not resisted, damage is truncated to 0)
5. Second disrupt check, based on damage to be applied to target.
A resisted debuff is checked @ 0,0, while an unresisted debuff is checked @ 1,0.
I would guess, under such an algorithmic scheme, that "0,0" should return no chance for disruption, while any other result should initiate a more-sophisticated disruption-chance calculation.
Is there anything in this supposition that marries to the interactions of our code; should there be?
SS
Spell Interrption:
Forum rules
Posts in this forum are expected to be constructive, realistic and civil. Inflamatory or off topic posts will be removed.
Posts in this forum are expected to be constructive, realistic and civil. Inflamatory or off topic posts will be removed.
-
- Posts: 881
- Joined: Thu May 20, 2010 5:34 pm
Re: Spell Interrption:
SighelmofWyrmgard wrote:FTFY.uosa44 wrote:For sale, by original owner:
1 Human Brain, never been used, only slightly damaged, still in original packaging.
$1, obo
SS
uosa44 wrote:The inability for this person to respond in such a crazy manner proves my point.
Re: Spell Interrption:
This is basically so that the proper code only fires when needed. Q4AR is intended to unfreeze the caster and remove the casting script, both when the caster is disrupted and when the caster successfully completes a cast. The difference is that in one of these cases, a callback still exists on the character due to the disruption. The proper thing to do is to clean up that callback when disrupting a spell, since the existence of the callback is relevant to starting a new spell, but only when the spell is disrupted, which is why it fires as part of the successful disruption code.SighelmofWyrmgard wrote:You suggest that "removeCallback(this, 0x80);" be inserted into the Q5NC "disrupted, yes" check, rather than simply added into Q4AR. Without offering offense, may I ask after the reasoning; is it merely to keep Q4AR streamlined?
SS
I can't answer whether our code does or doesn't do 1 damage to a player for debuffs for the purposes of disruptions, but I can tell you that through more detailed testing on the demo, it is clear that debuffs always do 0 damage at all times, and it is also clear that due to the order of operations bug in the parser, that 0 damage will disrupt a second circle or greater spell 100% of the time at any level of magery.SighelmofWyrmgard wrote:EDIT:
P.S. I don't know how the following might fit in, but this just popped into my head.
Are "harmful" non-direct-damage spells coded to inflict 1 hp of pre-halved damage (which would then be halved, and truncated, to 0); is that perhaps why there existed a double interrupt check for magic, versus a single check for melee damage (and perhaps the reason why a single spell could also "inflict" double-bandage-slips)?
I don't even know where I might be going with this sudden diversion ...
SS
EDITEDIT:
P.P.S. Yes, I do know (sort-of) where I'm going.
Consider the following supposition,
1. Debuff successfully cast: 1 hp pre-resisted, pre-halved damage ("Mister Fuji is attacking you!")
2. Resist check: damage is halved/not-halved due to resist check result
3. Initial disrupt check evaluates @ either 0 damage, or 1 damage;
4. Damage is finalized in order to be applied (halved "again"; even not resisted, damage is truncated to 0)
5. Second disrupt check, based on damage to be applied to target.
A resisted debuff is checked @ 0,0, while an unresisted debuff is checked @ 1,0.
I would guess, under such an algorithmic scheme, that "0,0" should return no chance for disruption, while any other result should initiate a more-sophisticated disruption-chance calculation.
Is there anything in this supposition that marries to the interactions of our code; should there be?
SS
Useful links for researching T2A Mechanics
Stratics - UO Latest Updates - Newsgroup 1 - Noctalis - UO98.org
-
- Posts: 881
- Joined: Thu May 20, 2010 5:34 pm
Re: Spell Interrption:
Regarding Q5NC versus Q4AR, I do not necessarily disagree: otherwise, there's some "tomayto, tomahto", there.
My "0,0/1,0" supposition is also allowing for potential interactions with other systems (one, in particular, is the "murder-count-qualification" evaluation, which would likely be invoked by "event: debuff lands (on innocent); 1 hp (initial/temporary) damage"). If I am an innocent, and Mister Fuji disrupts my Recall with a Clumsy, and then that Poison Elemental kills me, can I report Mister Fuji for murder; can he also be reported if I resist and/or he fails to disrupt me, but my rune-location is blocked, and the Poison Elemental still kills me?
I don't want to drag this discussion all over the Sahara, but there may be a great number of "involved" interacting functions that would need to be considered in the context of the whole. In such an environment, I might want "removeCallback" attached to Q4AR, rather than (only) to Q5NC.
Opinions; other styles of feedback?
SS
My "0,0/1,0" supposition is also allowing for potential interactions with other systems (one, in particular, is the "murder-count-qualification" evaluation, which would likely be invoked by "event: debuff lands (on innocent); 1 hp (initial/temporary) damage"). If I am an innocent, and Mister Fuji disrupts my Recall with a Clumsy, and then that Poison Elemental kills me, can I report Mister Fuji for murder; can he also be reported if I resist and/or he fails to disrupt me, but my rune-location is blocked, and the Poison Elemental still kills me?
I don't want to drag this discussion all over the Sahara, but there may be a great number of "involved" interacting functions that would need to be considered in the context of the whole. In such an environment, I might want "removeCallback" attached to Q4AR, rather than (only) to Q5NC.
Opinions; other styles of feedback?
SS
SighelmofWyrmgard wrote:FTFY.uosa44 wrote:For sale, by original owner:
1 Human Brain, never been used, only slightly damaged, still in original packaging.
$1, obo
SS
uosa44 wrote:The inability for this person to respond in such a crazy manner proves my point.
Re: Spell Interrption:
Well, what information we have regarding whether a person is or isn't at "full life" suggests that if the person is poisoned, has a debuff attached to them, or later if they were paralyzed, then they weren't considered to be at "full life". In most respects, this is relatively easy to do by checking to see if the person is at full life when something beneficial happens to them (e.g. when regenerating health or being healed/cured). If they aren't, then any list of harmful actions taken against them by someone who couldn't freely do so would remain uncleared. Once they did reach full life, or recalled, that list would be cleared. By and large, checking for whether someone is or isn't at full life doesn't require anything complicated, merely checking to see if the appropriate scripts are attached to them, or checking for the frozen flag, and it doesn't require that any actual damage has been done to them.
Edit: Regarding Q4AR, there is no real interaction between things like spell disruption and criminal status, short of the fact that harmful actions (and thereby mostly criminal ones) "hit" your opponents. Clearing the callback before invoking A4AR doesn't cause any problems elsewhere.
Edit: Regarding Q4AR, there is no real interaction between things like spell disruption and criminal status, short of the fact that harmful actions (and thereby mostly criminal ones) "hit" your opponents. Clearing the callback before invoking A4AR doesn't cause any problems elsewhere.
Useful links for researching T2A Mechanics
Stratics - UO Latest Updates - Newsgroup 1 - Noctalis - UO98.org
-
- Posts: 881
- Joined: Thu May 20, 2010 5:34 pm
Re: Spell Interrption:
I possess fragmentary memories of a discussion that involved, specifically, "the paralyze spell inflicting 1hp of damage" in direct-connection to activating a "murderer: yes" style of flag on an aggressor. This is why I was thinking of "1 hp of (pre-resisted, pre-halved) damage" and double disruption checks, and wondering if several birds were being killed with one stone.
Of course, Kaivan, you know much better than I the provenance of the code that's operating here, at UOSA. So far as I understand there are 4 categories:
Bah, I'll try to lay my hands on the UO demo, and glean what I can from UO98.org, and maybe then I can be useful.
I was/am fascinated by all the stuff you've provided. Thanks, again.
SS
Of course, Kaivan, you know much better than I the provenance of the code that's operating here, at UOSA. So far as I understand there are 4 categories:
- more-or-less unmodified RunUO "basecode", each tiny bit of which possesses its own relationship in comparison to what is known/suspected to have been live on OSI;
- code based directly upon extraction from the demo, perhaps updated according to OSI publishes, and/or modified to operate on a largely-RunUO foundation;
- customized code assembled "from scratch" to best-emulate well-documented era-accurate mechanics, without necessarily any reliable reference to actual OSI code;
- stuff that's a "hodgepodge" of some/all of the above.
Bah, I'll try to lay my hands on the UO demo, and glean what I can from UO98.org, and maybe then I can be useful.
I was/am fascinated by all the stuff you've provided. Thanks, again.
SS
SighelmofWyrmgard wrote:FTFY.uosa44 wrote:For sale, by original owner:
1 Human Brain, never been used, only slightly damaged, still in original packaging.
$1, obo
SS
uosa44 wrote:The inability for this person to respond in such a crazy manner proves my point.