/* heal */
#define CAST (string)caster->query_name()
#define TARG (string)target->query_name()
status heal(string targ, mixed alt_type) {
string file;
int i;
if(!alt_type) alt_type = "healing_sphere";
file = file_name(this_object());
sscanf(file,"%s#%d",file,i);
this_player()->load_spell(({
"target", targ,
"name", "Heal",
"sphere", alt_type,
"cost", 30,
"level", 30,
"cast time", 6,
"spell object", file,
"passive",
"casting msg", ({
"You request to your god to for healing energies.\n",
"You feel a warmth spread throughout your body.\n",
"You feel a channel embrace you.\n",
"Powerful healing energies swirl about you.\n",
"The energies are almost too much for you!\n",
}),
}));
return 1;
}
/*********************************************************************/
/* when cloned to player */
status cast_spell(object caster,object target,object prev,int dmg) {
target->adj_hp(100000000000); /* heal lots */
if(target != caster) {
write("You lay your hands upon "+ TARG +"\n"+
target->query_possessive() +"'s wounds has been healed.\n");
say(CAST +" lays "+caster->query_possessive()+" hands upon "+TARG+".\n"+
TARG +" is healed.\n", target);
tell_object(target, CAST +" lays "+ caster->query_possessive()
+" hands upon you.\nYou are healed!\n");
}
else {
write("You heal your wounds.\n");
say(CAST +"'s wounds are healed.\n");
}
destruct(this_object());
return 1;
}
/* native mode */
#include <move.h>