All times are UTC - 5 hours [ DST ]

Forum rules


Posts in this forum are expected to be constructive, realistic and civil. Inflamatory or off topic posts will be removed.


Post new topic Reply to topic  [ 95 posts ] 
Go to page Previous  1 ... 3, 4, 5, 6, 7
Author Message
 Post subject: Re: Spell Interrption:
PostPosted: Tue Jul 19, 2016 12:10 pm 
Offline
User Rep: Good
Good
 Profile

Joined: Thu May 20, 2010 5:34 pm
Posts: 788
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


Top
 
These Support SecondAge
Links open a new window.
UOSA Donors & Subscribers do not receive these ads.

 Post subject: Re: Spell Interrption:
PostPosted: Tue Jul 19, 2016 2:28 pm 
Offline
UOSA Donor!!
UOSA Donor!!
 Profile

Joined: Wed Aug 13, 2008 11:07 pm
Posts: 2923
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

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:
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

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.

_________________
UOSA Historian and former staff member: August 11, 2008 - June 19, 2016

Useful links for researching T2A Mechanics

Stratics - UO Latest Updates - Newsgroup 1 - Noctalis - UO98.org


Top
 

 Post subject: Re: Spell Interrption:
PostPosted: Tue Jul 19, 2016 3:55 pm 
Offline
User Rep: Good
Good
 Profile

Joined: Thu May 20, 2010 5:34 pm
Posts: 788
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


Top
 

 Post subject: Re: Spell Interrption:
PostPosted: Tue Jul 19, 2016 4:52 pm 
Offline
UOSA Donor!!
UOSA Donor!!
 Profile

Joined: Wed Aug 13, 2008 11:07 pm
Posts: 2923
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.

_________________
UOSA Historian and former staff member: August 11, 2008 - June 19, 2016

Useful links for researching T2A Mechanics

Stratics - UO Latest Updates - Newsgroup 1 - Noctalis - UO98.org


Top
 

 Post subject: Re: Spell Interrption:
PostPosted: Tue Jul 19, 2016 10:19 pm 
Offline
User Rep: Good
Good
 Profile

Joined: Thu May 20, 2010 5:34 pm
Posts: 788
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:

  • 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.

And there may be more types of which I have not conceived. In any event, when it comes to any actual analysis, I don't know the provenance of any particular section, so I can't knowledgably direct any analysis ... "For entertainment purposes", I remain intrigued and enlightened, but I don't think it's licit for me to (continue to) divert this topic for my own self-indulgence, or for the purposes of undirected speculation(s).

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


Top
 

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 95 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 34 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Support Second Age: These links Open in a New Window

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group  
Extended by Karma MOD © 2007—2012 m157y