Mod: Wizzes can’t be killed

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.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.