FANDOM



Bleed! Bleed to death, you bastards!

What it does

This script makes the PC fall to the ground if his hitpoint drops below 1 and bleed for one point of damage each succesive round undtil s/he reaches -10! Then death follows sviftly!

Other PC's have the opportunity to heal the bleeding PC, but there's no "natural" healing taking place. No-one start to heal so soon after being chopped with an axe!

This WORKS in multiplayer!


The Script

modules Respawn script

DeleteLocalInt (oRespawner, "BLEEDING");

module event Ondying

Theres also a chance that players with a Ring of Regeneration +1 could get stuck in this... Haven't tried it, but such is the fickle nature of regeneration!

/*OK, this is complicated. This script started off with (my) WormHearts modification of
FadedShadows dying script. I added more gore (lots of gore) and removed the possibility
of natural recovery. It worked in singleplayer but not in multi-player.
Then Alen Elford stepped forward to help, but it was Silent Agent that finally made this work in multiplay.
You do need to inset the following line of script in your module respawn script, though:
DeleteLocalInt (oRespawner, "BLEEDING");
Otherwise, it only fires once! So, in order of appearence :
FadedShadow, WormHeart, Alen Elford & Silent Agent. And Yes, you too can modify this! ;) 
09/12/2002 WormHeart
*/
void main()
{
    object oDying=GetLastPlayerDying();
    object oPC;
    if(!GetLocalInt(oDying,"BLEEDING"))
    {
        oPC=oDying;
        SetLocalInt(oPC,"BLEEDING",1);
        }
    else
    {
        oPC=GetLocalObject(OBJECT_SELF,"DYING_PC");
        DeleteLocalObject(oPC,"DYING_PC");
        }
    //If you're squirmish you might want to leave out the effects. They are quite graphic.
    int nHitPoints=GetCurrentHitPoints(oPC);
    effect eDamage=EffectDamage(1,DAMAGE_TYPE_MAGICAL,DAMAGE_POWER_PLUS_FIVE);
    effect eFirst=EffectVisualEffect(VFX_COM_CHUNK_RED_SMALL);
    effect eTwo=EffectVisualEffect(VFX_COM_CHUNK_RED_MEDIUM);
    if(nHitPoints<1&&nHitPoints>-10&&GetLocalInt(oPC,"BLEEDING"))
    {
        ApplyEffectToObject(DURATION_TYPE_INSTANT,eDamage,oPC);
        //Now to check if the PC have reached -10, if s/he haves, then death!
        if(GetCurrentHitPoints(oPC)<=-10)
                 {
        AssignCommand(oPC,SpeakString("Goodbye, cruel world!"));
        ApplyEffectToObject(DURATION_TYPE_INSTANT,eTwo,oPC);
        effect eDeath=EffectDeath(FALSE, FALSE);
        ApplyEffectToObject(DURATION_TYPE_INSTANT,eDeath,oPC);
                }
                else
                {
        //If not, then play a animation of spurting gore and have the dying
        //PC mutter some stuff!
        ApplyEffectToObject(DURATION_TYPE_INSTANT,eFirst,oPC);
        switch (d8())
        {
        case 1:AssignCommand(oPC,SpeakString("Urgh..."));break;
        case 2:AssignCommand(oPC,SpeakString("*squirt, squirt*"));break;
        case 3:AssignCommand(oPC,SpeakString("I'm bleeding here!"));break;
        case 4:AssignCommand(oPC,SpeakString("It's in the BONE!"));break;
        case 5:AssignCommand(oPC,SpeakString("*squirt*"));break;
        case 6:AssignCommand(oPC,SpeakString("My life is fading..."));break;
        case 7:AssignCommand(oPC,SpeakString("*squirt*"));break;
        case 8:AssignCommand(oPC,SpeakString("Ralle..."));break;
        }
    //Finally to just loop the script, so it runs again!
    SetLocalObject(oPC,"DYING_PC",oPC);
    DelayCommand(6.0,ExecuteScript("module_dying",oPC));
    }
    }
}

Foot Note

The gore of this script might put some players off, but who cares!

Remember what they taught us back at the DM academy : "As DM you can bring swift death to the players on a whim. A slow agonizing death, however, is a work of art!"


WormHeart -- with huge thanx to Alen Elford and especially Silent Agent!

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.