Cleaned up the code a little bit so I could read it easier. Tried it out on my test server and it worked fine. Didn't crash or anything. What EQEmu are you running and what Database?
Code:
sub EVENT_SAY {
if($text=~/Hail/i) {
quest::say("Greetings $name. If you want me to cast a spell on you, please say so and I will give you my [pricelist]. If you want me to [heal] you, please say so and I will do it for free."); }
if($text=~/pricelist/i){
quest::say("I can cast the following spells : Spirit of Wolf = [sow], Dead Man Floating = [dmf], Clarity II = [clarity], Spiritual Light = [sl], Spiritual Radiance = [sr], Temperance = [temp], Virtue = [virtue], KEI = [kei], Conviction = [conv], Clairvoyance = [clairvo]");}
if ($text=~/heal/i){
quest::selfcast(13);}
if ($text=~/sow/i){
quest::selfcast(278);}
if ($text=~/dmf/i){
quest::selfcast(457);}
if ($text=~/clarity/i){
quest::selfcast(1693);}
if ($text=~/sl/i){
quest::selfcast(2176);}
if ($text=~/sr/i){
quest::selfcast(2177);}
if ($text=~/temp/i){
quest::selfcast(3692);}
if ($text=~/virtue/i){
quest::selfcast(3467);}
if ($text=~/kei/i){
quest::selfcast(2570);}
if ($text=~/conv/i){
quest::selfcast(5257);}
if ($text=~/clairvo/i){
quest::selfcast(5513);}
}