I added the semicolons after those, but the quest still didn't work. Then I changed it to the format you suggested, but it still did the same thing. He just will not hand out a reward. This is how it looks now.
Code:
#Gives an archtype specific item after killing Grummus, Gyrme, Aramin
sub EVENT_SAY {
if($text=~/Hail/i){
quest::say("There is nothing to be joyous about when speaking in a [land] such as this.");
}
if($text=~/land/i){
quest::emote("sighs deeply");
quest::say("This land, Plane of Disease, is a most sickening place. I wish nothing more than to have it annihilated. It's very existence makes me disgusted. Perhaps, you and some other adventurers will be able to [purify] this land forever.");
}
if($text=~/purify/i){
quest::say("There are three foul [beings] that reside here. I am certain that with them dead, no more filth will be able to survive here.");
}
if($text=~/beings/i){
quest::say("For the sake of Norrath, destroy Gryme the Crypt Guardian, Aramin the Spider Guardian, and finally kill Grummus. Bring to me an item that will prove they are dead.");
}
}
sub EVENT_ITEM {
if (plugin::check_handin(\%itemcount, 51624 => 1, 1563 => 1, 1568 => 1)){
quest::say("My mind can be at ease knowing those fiends are no more.");
quest::emote("pulls a gleaming weapon out of a bag.");
quest::say("Take this weapon. I am sure you will be able to make use of it.");
my $reward = 1001; #Cloth Cap Is the booby prize if you're none of these classes
switch ($class) {
case "Warrior" {$reward = 1569;}
case "Cleric" {$reward = 1582;}
case "Paladin" {$reward = 1577;}
case "Ranger" {$reward = 1569;}
case "Shadowknight" {$reward = 1577;}
case "Druid" {$reward = 1582;}
case "Monk" {$reward = 1579;}
case "Bard" {$reward = 1569;}
case "Rogue" {$reward = 1581;}
case "Shaman" {$reward = 1582;}
case "Necromancer" {$reward = 1581;}
case "Wizard" {$reward = 1581;}
case "Magician" {$reward = 1581;}
case "Enchanter" {$reward = 1581;}
case "Beastlord" {$reward = 1579;}
case "Berserker" {$reward = 1577;}
};
quest::summonitem($reward);
};
}