resurrection sickness not occurring

For any problems with Dawn of Light website or game server, please direct questions and problems here.

Moderator: Support Team

resurrection sickness not occurring

Postby ontheDOL » Tue Jun 14, 2016 10:06 am

Hi all,

I'm pretty new to DOL and having alot of fun playing around with a server - an awesome job you guys have done!

I have been tinkering with a PVP server, and i noticed that there is no resurrection sickness - rvr or pve - occurring on death.

I thought maybe to do with my DB or the PVP ruleset so i tried on fresh public DB and server revision 3578 with normal ruleset, but still no sickness
All chars were above lvl 10 and priv lvl 1

not sure where the error is? upon /release the server console successfully locates the spellhandler for PveResurrectionIllness
I saw this is in gameconstants so i thought maybe there is a value of 2 somewhere but i dont know where these numbers are used (or if its anything do with the problem)
Code: Select all
public enum eResurectionSicknessType : int { PvMSickness = 0, RvRSickness = 1, NoSickness = 2 }
anyone else have this problem or know the solution, would be great
thanks!
- Unty -
Model Showroom and DOL guides
http://losojos-001-site1.btempurl.com
User avatar
ontheDOL
Developer
 
Posts: 311
Joined: Fri May 20, 2016 4:21 am
Location: Australian abroad

Re: resurrection sickness not occurring

Postby dargon » Wed Jun 15, 2016 6:28 am

bring yourself to level 11 and try. If i remember right level 10 and below doesn't get sickness?
Mannik: Admin of Forsaken Worlds Reborn
dargon
DOL Follower
 
Posts: 451
Joined: Sun Apr 15, 2007 6:55 pm

Re: resurrection sickness not occurring

Postby ontheDOL » Wed Jun 15, 2016 10:12 am

yeah all the chars i tried were like lvl 20 -50 with privs of 1 .. neither worked
- Unty -
Model Showroom and DOL guides
http://losojos-001-site1.btempurl.com
User avatar
ontheDOL
Developer
 
Posts: 311
Joined: Fri May 20, 2016 4:21 am
Location: Australian abroad

Re: resurrection sickness not occurring

Postby dargon » Wed Jun 15, 2016 11:57 am

I would check in database. In the Spells Table, look for PveResurrectionIllness, and RvrResurrectionIllness
and in LinexSpell make sure under the Reserved Spells spellline, spellID of 2435, and 8181.

Which Database release are you using?
Mannik: Admin of Forsaken Worlds Reborn
dargon
DOL Follower
 
Posts: 451
Joined: Sun Apr 15, 2007 6:55 pm

Re: resurrection sickness not occurring

Postby ontheDOL » Thu Jun 16, 2016 3:20 am

its all there and same values, using the DOL public release DB
I have also tried with sniperwolf boros DB, still doesnt work - jumping off buildings, dying to mobs

dargon - does it work for you? what server revision are you using?
- Unty -
Model Showroom and DOL guides
http://losojos-001-site1.btempurl.com
User avatar
ontheDOL
Developer
 
Posts: 311
Joined: Fri May 20, 2016 4:21 am
Location: Australian abroad

Re: resurrection sickness not occurring

Postby Graveen » Thu Jun 16, 2016 4:21 pm

Can you test on Storm please ? Storm is running the latest codebase with a custom DB. It could help you to troubleshoot the problem.
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: resurrection sickness not occurring

Postby ontheDOL » Fri Jun 17, 2016 2:57 am

Hi Graveen , ok i got to lvl 7 on my wizard Legoawin on storm RvR. suicided twice to mobs and suffered no sickness or con loss.

the code from GamePlayer.cs shows sickness to occur after lvl 5
Code: Select all
/// <summary> /// Called when player revive /// </summary> public virtual void OnRevive(DOLEvent e, object sender, EventArgs args) { GamePlayer player = (GamePlayer)sender; if (player.IsUnderwater && player.CanBreathUnderWater == false) player.Diving(waterBreath.Holding); if (player.Level > 5) { // get illness after level 5 SpellLine Line = SkillBase.GetSpellLine(GlobalSpellsLines.Reserved_Spells); if (Line == null) return; ISpellHandler spellHandler = ScriptMgr.CreateSpellHandler(player, GlobalSpells.PvERezIllness, Line); spellHandler.StartSpell(player); } GameEventMgr.RemoveHandler(this, GamePlayerEvent.Revive, new DOLEventHandler(OnRevive)); }
maybe storm using modified gameplayer in this area... i will get to lvl 10 and try again

#edit ; ok i got to level 10, suicided and still no res sick on Storm RvR server. Although im sure storm gameplayer.cs is different as i still get con loss on my server after lvl 6, but no con loss on storm
- Unty -
Model Showroom and DOL guides
http://losojos-001-site1.btempurl.com
User avatar
ontheDOL
Developer
 
Posts: 311
Joined: Fri May 20, 2016 4:21 am
Location: Australian abroad

Re: resurrection sickness not occurring

Postby Graveen » Fri Jun 17, 2016 7:18 am

Thank you for the report
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: resurrection sickness not occurring

Postby dargon » Mon Jun 20, 2016 5:46 am

Im loging onto forsaken worlds to test this as well.
Mannik: Admin of Forsaken Worlds Reborn
dargon
DOL Follower
 
Posts: 451
Joined: Sun Apr 15, 2007 6:55 pm

Re: resurrection sickness not occurring

Postby dargon » Mon Jun 20, 2016 5:47 am

it does seem not to be working on my shard as well. I will continue to research the problem

The console finds the spellhandler but it does not seem to apply to the player.

I will do some research and see what i come up with
Mannik: Admin of Forsaken Worlds Reborn
dargon
DOL Follower
 
Posts: 451
Joined: Sun Apr 15, 2007 6:55 pm

Re: resurrection sickness not occurring

Postby ontheDOL » Mon Jun 20, 2016 12:59 pm

thanks for testing it dargon

i've tried changing quite a lot of things in the scripts to get it to work, but to be honest unless i can copy and paste it haha i dont know too much about scripts.
there doesnt seem to be any other spells that trigger off of an event to compare against
- Unty -
Model Showroom and DOL guides
http://losojos-001-site1.btempurl.com
User avatar
ontheDOL
Developer
 
Posts: 311
Joined: Fri May 20, 2016 4:21 am
Location: Australian abroad

Re: resurrection sickness not occurring

Postby dargon » Mon Jun 20, 2016 2:25 pm

spells that trigger off an event... GameDragon.cs, to get one type of idea of how they are fired. I'm going to look into the code and see what i can toy with. But sadly, im no pro like the big guys here :P
Mannik: Admin of Forsaken Worlds Reborn
dargon
DOL Follower
 
Posts: 451
Joined: Sun Apr 15, 2007 6:55 pm

Re: resurrection sickness not occurring

Postby dargon » Mon Jun 20, 2016 4:38 pm

So, i added the spell to a spell line on a class to test if it would fire on cast, and the handler works fine, it seems the call from gameplayer's revive call is the error. I will work on rewriting the code and upon getting it working, will put it up for review
Mannik: Admin of Forsaken Worlds Reborn
dargon
DOL Follower
 
Posts: 451
Joined: Sun Apr 15, 2007 6:55 pm

Re: resurrection sickness not occurring

Postby dargon » Mon Jun 20, 2016 5:33 pm

Okay. So it may not be the cleanest method to fix the problem, but here is what I did.

I took the code in the public virtual void OnRevive(DOLEvent e, object sender, EventArgs args) section
Code: Select all
if (player.Level > 5) { // get illness after level 5 SpellLine Line = SkillBase.GetSpellLine(GlobalSpellsLines.Reserved_Spells); if (Line == null) return; ISpellHandler spellHandler = ScriptMgr.CreateSpellHandler(player, GlobalSpells.PvERezIllness, Line); spellHandler.StartSpell(player); }
and simply changed it to
Code: Select all
if (player.Level > 5) { // get illness after level 5 SpellLine Line = SkillBase.GetSpellLine(GlobalSpellsLines.Reserved_Spells); if (Line == null) return; Spell spell = SkillBase.FindSpell(2435, Line); player.CastSpell(spell, Line); }
This would not normally be prefered, because spellHandler.StartSpell(player); should work like player.CastSpell, except without sending its messages, effects, etc (i believe) But for some reason did not properly deploy on revive. player.CastSpell did deploy upon PvE/RvR release and rez. Though it cannot currently tell the difference between a pve or rvr death. but gets rez sickness working
Mannik: Admin of Forsaken Worlds Reborn
dargon
DOL Follower
 
Posts: 451
Joined: Sun Apr 15, 2007 6:55 pm

Re: resurrection sickness not occurring

Postby ontheDOL » Tue Jun 21, 2016 5:47 am

thanks dargon!, i put that in and it works. Doesnt seem to send any casting messages either which is good

i suppose you could put another "if" in there for a realmdeath and have it findspell 8181 for the rvr sickness
- Unty -
Model Showroom and DOL guides
http://losojos-001-site1.btempurl.com
User avatar
ontheDOL
Developer
 
Posts: 311
Joined: Fri May 20, 2016 4:21 am
Location: Australian abroad


Return to “%s” Support

Who is online

Users browsing this forum: No registered users and 1 guest