Death Messages - Alternate Death Sequence

Posted by Skath on Wed 29 May 2002 11:34 PM — 2 posts, 13,943 views.

#0
I am having a problem where by the death message to the victim is never seen.. although all the other characters in the room see the death cry :



50hp 128m 120mv> kill tor
You barely hit the Warrior Guildmaster on his head.
You barely hit the Warrior Guildmaster on his head.

50hp 128m 120mv> ..Everything begins to fade to black.

You feel yourself leaving your body... rising up into the air, you feel
more free than you have ever felt before...

However, before your deity comes to collect your soul, you feel a strange
pulling sensation as strange and colorful mists swirl around you...

You miss the Warrior Guildmaster.
You miss the Warrior Guildmaster.
The Warrior Guildmaster hits you very hard on you head.
You wish that your wounds would stop BLEEDING so much!
The Warrior Guildmaster hits you very hard on you head.
You wish that your wounds would stop BLEEDING so much!

Other Chars in Room 

The Warrior Guildmaster hits Stanley very hard on the head.!
The Warrior Guildmaster hits Stanley very hard on the head.!
The Warrior Guildmaster hits Stanley very hard on the head.!
Stanley has DIED!!



Also notice that the DIEMSG is displayed before the end of the fight sequence. I have tried to correct this but only wind up crashing the mud. Sorry still too much of a newbie i guess..

Any help on this would be most appreciated.

Also, I was interested in changing it so that when someone dies they dont get automatically transfered to another room or corpsed.. but lie in a limbo like state for XX amount of time.. so that they can be raised or resurrected .. this would change the amount of xp lost over dying and timing out without a raise..

Hope this makes sense, thanks for any help

Skath
USA #1
OK, in fight.c in ch_ret damage (a function to check how much damage is done), find the section that starts with 'switch( victim->position )', under 'case POS_DEAD:' there should be the a line that reads:
act( AT_DEAD, "$n is DEAD!!", victim, 0, 0, TO_ROOM );
Under it should be a line that goes:
act( AT_DEAD, "You have been KILLED!!\n\r", victim, 0, 0, TO_CHAR );

If the second line isn't in the code, add it, if it is there, it might be from the code in mud_comm.c, where it also has a 'case POS_DEAD:' and has the same two lines, if they exist in both places then I don't know what is doing it.

I am not sure what you mean by DIEMSG, but if you mean that you get in a round of attacks after you die, try finding the code where it shows the attacks and put in:
if(char_died(ch))
return rCHAR_DIED;

I think that should work, not sure about that part tho.

-Jay