Mod: Wizzes can't be killed

Add this block of code to the beginning of varargs int eventDie(mixed agent) in /lib/player.c.

    int mhp, msp, mmp;
    string *limb_arr = ({});

    if(!agent) agent = previous_object();
    if(!agent) agent = this_object();

    if(wizardp(agent)) {
        mhp = agent->GetMaxHealthPoints();
        msp = agent->GetMaxStaminaPoints();
        mmp = agent->GetMaxMagicPoints();
        agent->AddHP(mhp);
        agent->AddStaminaPoints(msp);
        agent->AddMagicPoints(mmp);
        if(agent->GetPoison() > 0) agent->AddPoison(0 - agent->GetPoison());
        limb_arr = agent->GetLimbs();
        foreach(string limb in limb_arr) {
           agent->HealLimb(limb);
        }
        return 1;
    }

This code is formed such that when a wizard should die, they are instead healed and restored to full health, stamina, and magic.

This code falls under the Dead Souls license.

Trackback URL for this post:

http://erroraccessdenied.com/trackback/862