FIXED: roll over damage/death/thieve

View previous topic View next topic Go down

FIXED: roll over damage/death/thieve

Post by boxripper on Thu May 19, 2016 11:42 pm

On 3 separate instances today I have seen some combination of damage/death or thief AFTER raise.  All three of these unholy events, all share the EXACT same formula.  So I think I have debugged this one for you.

Player A is the leader
Player B is the char that dies and suffer Roll over attacks
Player C is the char that dies and does not suffer roll over attacks.

It works like this:

Enter a room, and decide to exit.  Player C dies in the room (most likely before Player A gets his X in)
Player A exits the room, but meantime player B is taking damage and attacks (exit round damage) and dies.
Player B's body falls in the same room as player A.  Player C is still in the room occupied by the monsters.
Subsequently, some one goes in and extracts player C.

When raises are done, player C is fine.  Player B on the other hand is the one that takes roll over attacks.  It is like the pending exit round attacks that didn't get processed because player B died, take effect after the raise, and outside the room where the monsters are.
avatar
boxripper

Posts : 151
Join date : 2015-11-24

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by Jude on Fri May 20, 2016 7:51 pm

Hmm, this seemingly pins the remaining rollover issues to exit rounds... Thanks--this gives me a very targeted piece of code to investigate.

Jude

Posts : 272
Join date : 2015-11-15

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by boxripper on Mon May 23, 2016 4:57 pm

I had both exit round and non exit round roll over DEATHS yesterday on 15.

In both cases, the character returns to life, briefly and suddenly is showing dead. Roll over Destruction???

I also saw a char get raised and fall to 344 hits. So something (s) hit him for 655.

Is it possible, that the game thinks the character is still in combat??? IE the game has not updated the char's position to show that they are in a new spot and no longer in the combat loop? I ask this because it seems I rarely suffer any ill effects except when facing the bigger stud encounters. Either there are piled up, unresolved damage/destroy/thieve actions that are postponed by death, and occur after raise, or when raising, the game drops me back into the last combat situation (even tho those mobs are now dead) because it doesn't realize that my state has changed to non-combat.

Does anyone see anyh other possibilities??? It is very frustrating-- My healer actually died twice to roll over. Raise (without backing out) and rollover death. I never even considered the possibility that it could happen AGAIN -- raised and boom a second roll over death happened. So I backed all the way out, and tried again... and this one worked.
avatar
boxripper

Posts : 151
Join date : 2015-11-24

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by boxripper on Thu May 26, 2016 2:48 pm

raised the sorc today afterwards he suffered about 600 points of damage-- and I saw a message that stated the monsters hit him for xxx.

the monsters were still alive in the other room.

As I think back over all my roll overs of late, I think all of them have been either when the monster was still alive or the encounter area where the char had died had already re-popped.

So I am not thinking it is exit round. I think the game fails to update the position of the deader, so brings him back to life still in combat, THEN updates his position. Is this possible? seems unlikely. The best way I see to debug this one, would be to put in a log of all combat messages-- so the last 100 combat messages are saved in a FIFO buffer...then if it happens, whoever can see the message that resulted in his death/damage whatever.
avatar
boxripper

Posts : 151
Join date : 2015-11-24

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by Jude on Thu May 26, 2016 3:08 pm

I found one piece of code related to the exit round that needs further review... it's a piece of targeting code that looks at the list of trackers for a party leader. I'm thinking that if a player dies a split second before they are removed from a party, this issue could pop up. I know characters are removed from a party at death, but the timing of it may not be as quick as we need it.

Question: is this only happening when other players are on? Has this ever happened when when you were alone on the server? (I realize this might be a tough question to answer.).

I need to take a look at the code that updates a carried deader's location.. thanks for the continued input.

Jude

Posts : 272
Join date : 2015-11-15

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by boxripper on Thu May 26, 2016 4:02 pm

I have no idea as to the state of other players... but my Q back to you is:

Why would it matter-- I mean no one else is running a level where mobs could be hitting me for 600+ in a round.
avatar
boxripper

Posts : 151
Join date : 2015-11-24

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by Jude on Thu May 26, 2016 9:46 pm

boxripper wrote:I have no idea as to the state of other players... but my Q back to you is:

Why would it matter-- I mean no one else is running a level where mobs could be hitting me for 600+ in a round.

Well, it could matter if old data (data from your previously finished combat) is getting recycled/reactivated when other players run the combat code/subroutines.  There are a lot of shared variables in Javatar, and shared subroutines.  If I am not cleaning them out properly, it's possible that another player--even on a different level, might be able to wake up a few (erroneously) stored damage amounts and targets--which would hit your character.  It may seem like a nonsensical question, but this sort of information helps me narrow things down.

Jude

Posts : 272
Join date : 2015-11-15

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by boxripper on Mon May 30, 2016 6:49 pm

I suffered roll over damage and a rollover death again last night. In both cases the monsters were still alive in the dungeon. I had several un-eventful raises as well. Some of each. IE monsters still alive and monsters dispatched. There were other players in the game, but not responding to messages-- so I am guessing AFK.
avatar
boxripper

Posts : 151
Join date : 2015-11-24

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by Jude on Mon May 30, 2016 7:09 pm

Thanks--that helps. I have an interesting prospect I am still debugging with this. More to share soon I hope.

Jude

Posts : 272
Join date : 2015-11-15

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by boxripper on Sat Jun 04, 2016 1:43 pm

Today on 15 in a dragon room encountered this lovely--

2 slots of DHD's, Reaper and Hades. (JPA-- you should be shot for this encounter)

Naturally, I got waxed once or twice taking this one out (no item, either!)

This brings me to the business end of this post. During a raise, I clearly saw the damage message pop up on my screen. 2 DHD's hit you for 796.

Now the DHD's were still alive at this point in the other room.

Suggestion:

IF -- the problem is location -- change the raise code, to update the players location before doing the actual raise.

IF -- the problem is unresolved attacks getting processed after the char is alive-- I don't know how you have this coded, but I imagine you have a sheck in there that stops combat when the last char in the room is dead. IE you die going out the door, you have safeguarded the game from stealing, stoning, draining the corpse. Perhaps this is where the game is going wrong. Why not let that series of attacks play out all the way-- and do a check in the steal/slime item, para/pois/dis/petrify/sleep/destroy to check the status of the target FIRST -- if it is dead already, drop out and go to the next step. Then modify the damage dealing routine-- if hits <0, then do the attack, subtract the damage, and then set the hits back to 0.

That way all attacks are run thru. At the beginning of the combat loop, you put in a check to stop another combat round from occurring when all chars in the room are dead... but you do not try and interrupt a round once it has started.

JF
avatar
boxripper

Posts : 151
Join date : 2015-11-24

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by dungeonmaster on Sat Jun 04, 2016 2:43 pm

I thought I had set that encounter to auto drop "XXX of the Gods."

You will have to go to the back of the line (which is very long) for desiring to shoot me.

Not knowing how these things are coded, your suggestions are either gold or dross...I can't tell the difference.
avatar
dungeonmaster

Posts : 473
Join date : 2015-11-10

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by boxripper on Sun Jun 05, 2016 2:35 pm

Had several roll over events this morning. In all cases-- the monsters were still alive. I had several normal raises too, and some where the monsters were alive and some where they were not. I have had roll over para, roll over poison-- and several where the char just dies. (rollover destruction?)
I have seen a roll over thief, but not recently.
avatar
boxripper

Posts : 151
Join date : 2015-11-24

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by Jude on Mon Jun 06, 2016 12:15 am

I just created a powerful new set of tools for diagnosing this issue. (The test server now has a log of ALL combat messages... what a way to fill up a hard drive in a hurry!) Dungeonmaster whipped up a really nasty test dungeon for me, and I have been down there sacrificing and raising characters over and over..

I have already learned a few things--the issue appears to be exclusive to exit/entrance rounds. Also, the game seems to occasionally lose track of a player's death status during exit/entrance rounds. I think we're quite close to pinpointing the exact pieces of code that are leading us astray. Thanks for your continued patience with this... It seems pretty uncommon, but it's a pretty nasty thing to get hit with.

Jude

Posts : 272
Join date : 2015-11-15

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by dungeonmaster on Mon Jun 06, 2016 12:23 am

I've got skills at whipping up nasty.
avatar
dungeonmaster

Posts : 473
Join date : 2015-11-10

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by Jude on Wed Jun 08, 2016 12:20 am

I believe I have finally eliminated this bug. The code I have running on test is patched, and after the fix, and NUMEROUS test deaths to the nastiest of the nasties.. my test char stays up when issued a 1 hit point raise. I just went 15 for 15 successful raises, after getting obliterated in surprise rounds, normal combat rounds, and exit rounds. No rollover death/damage or effects.

Also--now if you die in the exit round, your dead body doesn't magically pop into the room you were trying to flee to. Your corpse remains in the room you were trying to exit. This is the way the game has always worked.. As it turns out, the fact that deaders were popping out of rooms during the exit round was a big part of the rollover damage problem.

Ding dong the witch is dead... er, raised and not dead? Shocked

Jude

Posts : 272
Join date : 2015-11-15

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by boxripper on Wed Jun 08, 2016 8:40 am

Nicely done, sir.

I gamed some last night and had no roll overs at all.

I am sure in the versions of the games I have played your corpse could fall on either side of the door. Any one want to weigh in here?

Hopefully we have this bug sprayed down with RAID.
avatar
boxripper

Posts : 151
Join date : 2015-11-24

View user profile

Back to top Go down

Re: FIXED: roll over damage/death/thieve

Post by Sponsored content


Sponsored content


Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum