View Single Post
  #4  
Old 11-30-2012, 02:20 AM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default

You could try compiling with this
Code:
// 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.
Reply With Quote