PlaneShift

  • Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category
  • Assigned To No-one
  • Operating System
  • Severity Medium
  • Priority
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: PlaneShift
Opened by Elvors Amenoras - 20.08.2008
Last edited by Caarrie - 20.08.2008

FS#2166 - Combat stopped as you have attacked several times

The message is misleading. Here’s what the source code has to say:

// If the slot next attack time is not yet up, abort (another event sequence should have been started)

The real problem, however, is that this message (and the subsequent combat abort) are happening spontaneously while in mid-fight. This means one participant stops combat while the other continues slashing happily.
I have seen this happen both to players and NPCs (I attacked an ulbernaut, had to run because I got the message, after a minute of happy chasing the ulbernaut lost interest, too).
I think this has been happening since 4.01, while the message was added in one of the more recent server updates (svn blame attributes it to revision 2077). I suspect this is a duplicate of bug reports a la “NPCs and player characters spontaneously lose interest in combat”, but I haven’t found them - doubtlessly because I’m searching for the wrong keywords.

Personally, I think it’s Bad Design(TM) to assume that just because I’m timing out, some faraway code must have started another event sequence.

Improvement proposal follows;
heed, modify, or ignore as appropriate,
as I’m certainly not aware of all ramifications:

It would be better to have an object that holds a representation of the currently-active activity, with the ability to abort that activity (activities would need a virtual function to accept such an abort, and return a message for the player).
E.g. the Dig action has a Start Message (”You start digging”) and an Abort Message (”You stop digging”); the abort message isn’t sent directly to the player but returned to the caller of the new virtual Abort() function.

With that architecture, PS can even implement a general display policy for abort messages: since the current-activity object gets the message, it can display it as appropriate. E.g. it could always make the abort message appear in red in the middle of the screen so players are generally alerted to activity aborts (as it is now, it’s very easy to accidentally abort digging without even noticing it).

The task blocks this from closing
ID Project Summary Priority Severity Assigned To Progress
1923 PlaneShift  FS#1923 - NPC's and Player stop attacking during/start of battle sequence  High Thom, Lanarel, peeg, Andrew Dai, Mario Rohkrämer, Steven Schwartfeger, Loyni, Mrokii, aurelynt
100%
Closed by  Caarrie
20.08.2008 16:46
Reason for closing:  
Additional comments about closing:  

duplicate of 1923 these are debugging messages to help with the issue.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing