Randymarsh9
11-30-2012, 02:20 AM
You could try compiling with this
// Target Heal
if ((!strcasecmp(sep->arg[1], "targheal")) && (c->IsGrouped())) {
Mob *target = c->GetTarget();
if(target == NULL)
{
c->Message(15, "You must select a target");
return;
}
int32 DBtype = c->GetTarget()->GetBodyType();
Mob *TargHealer;
int32 TargHealerClass = 0;
Group *g = c->GetGroup();
if(g) {
for(int i=0; i<MAX_GROUP_MEMBERS; i++){
if(g->members[i] && g->members[i]->IsBot()) {
switch(g->members[i]->GetClass()) {
case CLERIC:
TargHealer = g->members[i];
TargHealerClass = CLERIC;
break;
case DRUID:
if (TargHealerClass != CLERIC){
TargHealer = g->members[i];
TargHealerClass = DRUID;
}
break;
case SHAMAN:
if (TargHealerClass == 0){
TargHealer = g->members[i];
TargHealerClass = SHAMAN;
}
break;
case PALADIN:
if (TargHealerClass == 0){
TargHealer = g->members[i];
TargHealerClass = PALADIN;
}
break;
case RANGER:
if (TargHealerClass == 0){
TargHealer = g->members[i];
TargHealerClass = RANGER;
}
break;
case BEASTLORD:
if (TargHealerClass == 0){
TargHealer = g->members[i];
TargHealerClass = BEASTLORD;
}
break;
default:
break;
}
}
}
switch(TargHealerClass) {
case CLERIC:
TargHealer->InterruptSpell();
if ((c->GetLevel() >= 1) && (c->GetLevel() <= 4)) {
TargHealer->Say("Casting Minor Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(200, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 4) && (c->GetLevel() <= 9)) {
TargHealer->Say("Casting Light Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(17, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 10) && (c->GetLevel() <= 19)) {
TargHealer->Say("Casting Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(12, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 20) && (c->GetLevel() <= 29)) {
TargHealer->Say("Casting Greater Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(15, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 30) && (c->GetLevel() <= 38)) {
TargHealer->Say("Casting Superior Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(9, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 39) && (c->GetLevel() <= 255)) {
TargHealer->Say("Casting Complete Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(13, target->GetID(), 1, -1, -1);
}
break;
case DRUID:
TargHealer->InterruptSpell();
if ((c->GetLevel() >= 1) && (c->GetLevel() <= 8)) {
TargHealer->Say("Casting Minor Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(200, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 9) && (c->GetLevel() <= 18)) {
TargHealer->Say("Casting Light Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(17, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 19) && (c->GetLevel() <= 28)) {
TargHealer->Say("Casting Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(12, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 29) && (c->GetLevel() <= 43)) {
TargHealer->Say("Casting Greater Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(15, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 44) && (c->GetLevel() <= 50)) {
TargHealer->Say("Casting Healing Water on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(3834, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 51) && (c->GetLevel() <= 54)) {
TargHealer->Say("Casting Superior Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(9, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 55) && (c->GetLevel() <= 59)) {
TargHealer->Say("Casting Chloroblast on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(1290, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 60) && (c->GetLevel() <= 62)) {
TargHealer->Say("Casting Nature's Touch on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(1291, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 63) && (c->GetLevel() <= 65)) {
TargHealer->Say("Casting Nature's Infusion on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(3443, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 66) && (c->GetLevel() <= 67)) {
TargHealer->Say("Casting Sylvan Infusion on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(4883, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 68) && (c->GetLevel() <= 69)) {
TargHealer->Say("Casting Chlorotrope on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(5355, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 70) && (c->GetLevel() <= 255)) {
TargHealer->Say("Casting Ancient: Chlorobon on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(6141, target->GetID(), 1, -1, -1);
}
break;
case SHAMAN:
TargHealer->InterruptSpell();
if ((c->GetLevel() >= 1) && (c->GetLevel() <= 8)) {
TargHealer->Say("Casting Minor Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(200, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 9) && (c->GetLevel() <= 18)) {
TargHealer->Say("Casting Light Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(17, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 19) && (c->GetLevel() <= 28)) {
TargHealer->Say("Casting Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(12, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 29) && (c->GetLevel() <= 50)) {
TargHealer->Say("Casting Greater Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(15, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 51) && (c->GetLevel() <= 54)) {
TargHealer->Say("Casting Superior Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(9, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 55) && (c->GetLevel() <= 61)) {
TargHealer->Say("Casting Chloroblast on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(1290, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 62) && (c->GetLevel() <= 64)) {
TargHealer->Say("Casting Tnarg's Mending on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(3233, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 65) && (c->GetLevel() <= 67)) {
TargHealer->Say("Casting Daluda's Mending on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(4901, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 68) && (c->GetLevel() <= 69)) {
TargHealer->Say("Casting Yoppa's Mending on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(5395, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 70) && (c->GetLevel() <= 255)) {
TargHealer->Say("Casting Ancient: Wilslik's Mending on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(6142, target->GetID(), 1, -1, -1);
}
break;
case PALADIN:
TargHealer->InterruptSpell();
if ((c->GetLevel() >= 1) && (c->GetLevel() <= 5)) {
TargHealer->Say("Casting Salve on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(5011, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 6) && (c->GetLevel() <= 11)) {
TargHealer->Say("Casting Minor Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(200, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 12) && (c->GetLevel() <= 26)) {
TargHealer->Say("Casting Light Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(17, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 27) && (c->GetLevel() <= 35)) {
TargHealer->Say("Casting Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(12, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 36) && (c->GetLevel() <= 56)) {
TargHealer->Say("Casting Greater Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(15, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 57) && (c->GetLevel() <= 60)) {
TargHealer->Say("Casting Superior Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(9, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 61) && (c->GetLevel() <= 70)) {
TargHealer->Say("Casting Touch of Nife on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(3429, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 71) && (c->GetLevel() <= 255)) {
TargHealer->Say("Casting Sacred Touch on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(8560, target->GetID(), 1, -1, -1);
}
break;
case RANGER:
TargHealer->InterruptSpell();
if ((c->GetLevel() >= 1) && (c->GetLevel() <= 7)) {
TargHealer->Say("Casting Salve on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(5011, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 8) && (c->GetLevel() <= 20)) {
TargHealer->Say("Casting Minor Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(200, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 21) && (c->GetLevel() <= 37)) {
TargHealer->Say("Casting Light Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(17, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 38) && (c->GetLevel() <= 56)) {
TargHealer->Say("Casting Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(12, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 57) && (c->GetLevel() <= 61)) {
TargHealer->Say("Casting Greater Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(15, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 62) && (c->GetLevel() <= 64)) {
TargHealer->Say("Casting Chloroblast on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(11290, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 65) && (c->GetLevel() <= 66)) {
TargHealer->Say("Casting Sylvan Light on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(4896, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 67) && (c->GetLevel() <= 255)) {
TargHealer->Say("Casting Sylvan Water on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(5304, target->GetID(), 1, -1, -1);
}
break;
case BEASTLORD:
TargHealer->InterruptSpell();
if ((c->GetLevel() >= 1) && (c->GetLevel() <= 5)) {
TargHealer->Say("Casting Salve on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(5011, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 6) && (c->GetLevel() <= 19)) {
TargHealer->Say("Casting Minor Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(200, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 20) && (c->GetLevel() <= 35)) {
TargHealer->Say("Casting Light Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(17, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 36) && (c->GetLevel() <= 56)) {
TargHealer->Say("Casting Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(12, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 57) && (c->GetLevel() <= 61)) {
TargHealer->Say("Casting Greater Healing on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(15, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 62) && (c->GetLevel() <= 64)) {
TargHealer->Say("Casting Chloroblast on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(11290, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 65) && (c->GetLevel() <= 66)) {
TargHealer->Say("Casting Trushkar's Mending on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(4875, target->GetID(), 1, -1, -1);
}
else if ((c->GetLevel() >= 67) && (c->GetLevel() <= 255)) {
TargHealer->Say("Casting Muada's Mending on %s \n", target->GetCleanName(), sep->arg[2]);
TargHealer->CastSpell(5528, target->GetID(), 1, -1, -1);
}
break;
default:
c->Message(15, "You must have a Cleric, Paladin, Druid, Shaman, Ranger, or Beastlord in your group.");
break;
}
}
}
Then you can just do #bot targheal and it'll heal your target.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.