Relogging reacts oddly to multi-round spells (Split related)
Posted: Mon Jul 26, 2021 1:44 am
Hey there Devs et.al.,
I was testing out Scrying recently, as one might notice from my recent posts.
Poking at what it could do and not do, I tried to activate a disguise to see if I could rename it - worked on me/not the summon, nothing wrong there but relevant for context later.
While I had a sensor out and poking around, my game crashed (I tried to go through a transition to Northern Farmlands and got bounced back to Eastern).
So I booted it back up, and logged in.
First thing that occurred was I started chain-casting my Scrying spell, because it has a 1-minute cast time. I also noted that I did not have my summon (as to be expected).
Halfway through this process, as I did not fully parse what was going on, I removed the disguise toggle that had applied to my character - doing so stopping the cast at 50%.
I then relogged, to ensure the name adjustment was fixed, and saw the *very* first thing in my combat log was "60%".
On a whim, I relogged 4 more times. Each time increased the percentage, until I had completed the 10 casts and re-summoned my scrying sensor.
I sat about a bit longer, until the sensor had despawned, and then relogged.
On login, I again begin automatically casting Scrying for all 10 queued casts. This also appeared to interrupt the equipment re-equip-check, and I ended up with only my chest armor and one ring equipped.
My analysis of this is that the server state had recorded that I had Scrying as an active buff in it's database. On login, the current spell system causes a character to cast all buffs affecting them, on themselves. However, multi-round spells queue many more actions once the spell is cast the first time. Every subsequent login applied the Scrying cast to the queue, but since the server already had a 'counter' for casts, it just assumed it was the next in line and dutifully added 10% to the progression each login. It is also possible that completion of the spell chain refreshes the duration of the buff, as the spell 'completes' only once it reaches 100% and thereby potentially overwriting the instantiation time of the spell in the database.
Scrying is clearly an easy test here, but given that I have seen Hunter-Traps auto-cast on server-transition/load, I am concerned that other multi-round spells like Raise Dead and Sending might also see similar quirks, and it is worth bringing to the attention of the Dev team.
Chers,
Kit
I was testing out Scrying recently, as one might notice from my recent posts.
Poking at what it could do and not do, I tried to activate a disguise to see if I could rename it - worked on me/not the summon, nothing wrong there but relevant for context later.
While I had a sensor out and poking around, my game crashed (I tried to go through a transition to Northern Farmlands and got bounced back to Eastern).
So I booted it back up, and logged in.
First thing that occurred was I started chain-casting my Scrying spell, because it has a 1-minute cast time. I also noted that I did not have my summon (as to be expected).
Halfway through this process, as I did not fully parse what was going on, I removed the disguise toggle that had applied to my character - doing so stopping the cast at 50%.
I then relogged, to ensure the name adjustment was fixed, and saw the *very* first thing in my combat log was "60%".
On a whim, I relogged 4 more times. Each time increased the percentage, until I had completed the 10 casts and re-summoned my scrying sensor.
I sat about a bit longer, until the sensor had despawned, and then relogged.
On login, I again begin automatically casting Scrying for all 10 queued casts. This also appeared to interrupt the equipment re-equip-check, and I ended up with only my chest armor and one ring equipped.
My analysis of this is that the server state had recorded that I had Scrying as an active buff in it's database. On login, the current spell system causes a character to cast all buffs affecting them, on themselves. However, multi-round spells queue many more actions once the spell is cast the first time. Every subsequent login applied the Scrying cast to the queue, but since the server already had a 'counter' for casts, it just assumed it was the next in line and dutifully added 10% to the progression each login. It is also possible that completion of the spell chain refreshes the duration of the buff, as the spell 'completes' only once it reaches 100% and thereby potentially overwriting the instantiation time of the spell in the database.
Scrying is clearly an easy test here, but given that I have seen Hunter-Traps auto-cast on server-transition/load, I am concerned that other multi-round spells like Raise Dead and Sending might also see similar quirks, and it is worth bringing to the attention of the Dev team.
Chers,
Kit