Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added support for server specified spell/buff durations.
- Loading branch information
Showing
10 changed files
with
231 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated and installed the new spells.xml
I don't see a spell timer anymore.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Radu is still working on the server code. It works on the test server (though still some fixes for Radu to apply). I do not know when he will do that or update the main server. I was doing to wait for him to do that before committing but he told me not to.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok, thank you.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It works now after server restart.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How's it handling the "permanent" spells for Phoenix?
Need that to be tested? I've been real-life busy of late but I can try and squeeze in a test of it on test server as soon as I can.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is nothing coded in for Phoenix, its not one of the Buffs in the protocol list. I suggest you ask Radu about it.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmm, kk.
Should be able to tell if someone's shapeshifted into phoenix though, right? Then for those two spells, if they're active when the person shifts (uses phoenix glyph, or logs in still as a phoenix), have it stay at "max" for the duration.
Only question is if the spells auto-disappear when you de-phoenix, or it then starts the countdown to end. That I can test at least.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess you are talking about when you cast MI while shapeshifted into Phoenix.
The expected behavior is no countdown for MI spell while shapeshifted because MI stays as long as you are shapeshifted. Then the countdown should start when you deshapeshift? I have not tried Phoenix yet.
Perhaps you can try it and post if it works as expected?
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True Sight doesn't show anything on time (not phoenix-related). That could be very useful if possible.
Phoenix: When you use MI (and TS after level 5 phoenix) and turn into phoenix before the spell dies off, the spells stay with you until you return to normal.
When it disappears after you return to normal is... I'm not sure. On one test both spells ended at the same time after 30 seconds, on another test 10 seconds. Doesn't seem to compute based on how long the spell normally lasts either, as MI should last longer than TS for me, but both disappear at the same time. (Will need to ask radu about that.)
-MY TESTS-
On test server with current code: On turning to Phoenix, the timer on MI is decreasing as normal and disappears, though MI is kept throughout time in phoenix form. As mentioned, TS doesn't have a timer. The timing doesn't reappear on turning to normal to count off before the spell ends either.
Not sure what can be done about this, mainly because the time after de-phoenixing before the spells disappear seems to fluctuate and I can't see the reason for it.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, radu says Phoenix will have to be coded on client end separately. (Also mentioned he's not finished with server end, so hoping that means TS will get a timer)
1- On phoenix glyph use (and on log in and still in phoenix shape), check for TS* and MI in use. If they are, set the timer at maximum and leave it there.
*Only on phoenix level 5 or higher for TS. I don't know if you have that info to work with without server contact.
2- On de-phoenix ("use" click to manually stop, or on running out of creature food), get a new timer from the server (radu sez).
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The True Sight timer work OK for me, both the spell and the potion (the latter was a surprise). Both time a little short but that is one thing I know Radu was working on. I have never transformed to a Phoenix so its going to be hard to test. I hope the player actor structure shows the state change (will investigate), how do you know the Phoenix level?
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it works like mule, click 'eye' (not 'use') on yourself while shapeshifted.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you "eye" yourself, and it shows text as seen in this screenshot
http://i95.photobucket.com/albums/l125/FlamesterBurn/EL-Blog/PhoenixLvl9_zps8b34b501.jpg
FTR (non-phoenix related), tested all spells this should work with, every shield, TS, and Invisibility.
Shield times are perfect! But I'm still not seeing timers on TS or Invisibility. Tested both with spells and potions on main.
As can be seen here (pic from main server, test shows same):
http://i.imgur.com/llCrDQs.png
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note seeing TS/Invisibility: I see the duration backgrounds are green in your picture, but they are blue by default. Did you change that or are you not using the latest code? The latest code changes, this commit, also work for spells that are active at login.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, yeah seems I had a previous git download. :-/ Coulda swore I'd downloaded the zip fresh here.
I'm seeing them now, and yes they're blue. DOH! (No clue why the old build made them green, they'd been green since you did the first code attempt for them.)
Confirmed both seeing TS/Invis, and spells active at login. Looking good! Gonna have to finally update my SUSE builds, heh.
Okay, so just the phoenix mode left. And since it's rarely used by anyone, mostly just for accuracy sake.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good news, I'll see what I can do for the phoenix mode. I changed the colour to blue to match other time out indicators such as for food and potions. However, I'm not sure it stands out enough. Perhaps the blue block could be made a bit larger or perhaps changed back to green or another colour. Suggestions welcome.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Color seems okay to me. Tested it over water, ice/snow maps, secret blue room in Irsis, C2 portal room, ran around Dra Syn... it showed well enough on all.
The green seemed fine, though I didn't background-check it like this. I wouldn't complain about either.
I'd say keep it blue for now, people keeping up with GIT can be considered testers. If there's an issue it'll come up.
Radu can do more invisi rat hunts, that'll really put it to the test. ;-) hehe
FTR: I also tested the other potions besides TS... Invisi, and the cold/heat/radiation protection pots. All work fine.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug Report! ;-)
DerSachse and I both had this happen: If a spell is already in use, and you use the same spell again, the timer doesn't (always) restart.
In my case, yesterday I had Invisibility in use. Just as there was only a couple seconds to go, I used the spell again to remain invisi. I did, but the timer continued to count only on the first spell.
DerSachse had the same happen with the shield spell.
I can't see the circumstances that cause this, as most times this doesn't happen. But it is slipping by on rare occasion.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I spoke to DerSachse in game. It turned out that he/she had an old version of the spells.xml file where the shield buff was incorrect. Updating the file fixed the issue. Your issue, close to the time out, sounds different. I'll look into it.
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More testing is showing more specific results.
All shields are fine. Regardless of when restarted, their timer restarts as well.
However, True Sight, Invisibility, and the pot-only Accuracy and Evasion are all not restarting timers, regardless of when you do the spell again if it's already active.
In all 4 of those, the timer tracks the first use of the spell only. Any re-use of the spell before that first timer expires does nothing, timer will stay at 0 once it runs out.
(This additional testing done on test server. The initial Invisi bug report was on main. Lemme know if you need testing on a specific server due to radu's changes.)
c4edeaf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Briefly checked evasion potions. In this case, it looks like the server does not send a new SPELL_CAST message if its already active, it just extends the timer. Therefore the client does not know that it needs to ask for an updated duration. Shield and other spells get a new SPELL_CAST cast message.
Edit: Oops, the was a bug, fixed now.