compiles makes etc. but I appear to have deleted a line when re-merging the code. between the last normal pet and the Epic pet, need a "break;" statement. nothing like summoning up your level 4 pet and having a 6th level epic pet with earth pet skin.
Code:
Index: spells.cpp
===================================================================
RCS file: /cvsroot/eqemu/NightDumps/Source/zone/spells.cpp,v
retrieving revision 1.1.1.4
diff -u -B -b -r1.1.1.4 spells.cpp
--- spells.cpp 7 Jun 2003 15:53:04 -0000 1.1.1.4
+++ spells.cpp 10 Jun 2003 17:08:00 -0000
@@ -3489,42 +3489,154 @@
* will stay on 4. Also I may want to note that even though pet
* ranges and types are reserved, it doesn't mean they will be used,
* however please respect the reserved spots. Thanks!
-TODO: Define specifics for mage pets. - Make anything missing on this list ^_^
*/
- //Baron-Sprite: Mage pets have been hax0red for now.
+//Bentareth - Fixing Mage pets with data from MagesCompendium
if (strncmp(pettype, "SumEarthR", 9) == 0) { //Baron-Sprite: This Pettype is reserved to 0. ALSO 74-87.
int8 tmp = atoi(&pettype[9]);
if (tmp >= 2 && tmp <= 15) {
- MakePet(((int)(2 + ((tmp-2) * 3.5) + (rand()%3))),
- 0, 75, 0, 0, 4 + (((float)(tmp - 2) / 14) * 3),1);
+ switch (tmp) {
+ case 2: MakePet(6, 1, 75, 0, 74,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 3: MakePet(9, 1, 75, 0, 75,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 4: MakePet(12, 1, 75, 0, 76,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 5: MakePet(15, 1, 75, 0, 77,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 6: MakePet(18, 1, 75, 0, 78,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 7: MakePet(21, 1, 75, 0, 79,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 8: MakePet(25, 1, 75, 0, 80,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 9: MakePet(29, 1, 75, 0, 81,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 10: MakePet(33, 1, 75, 0, 82,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 11: MakePet(37, 1, 75, 0, 83,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 12: MakePet(41, 1, 75, 0, 84,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 13: MakePet(45, 1, 75, 0, 85,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 14: MakePet(48, 1, 75, 0, 86,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 15: MakePet(60, 1, 75, 0, 87,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ } //switch
} else {
Message(0, "Error: Unknown Earth Pet formula");
}
} else if (strncmp(pettype, "SumFireR", 8) == 0) { //Baron-Sprite: This Pettype is reserved to 1. ALSO 88-101.
int8 tmp = atoi(&pettype[8]);
if (tmp >= 2 && tmp <= 15) {
- MakePet(((int)(4 + ((tmp-2) * 3.5) + (rand()%3))),
- 0, 75, 1, 0, 4 + (((float)(tmp - 2) / 14) * 3),1);
+ switch (tmp) {
+ case 2: MakePet(6, 1, 75, 1, 88,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 3: MakePet(9, 1, 75, 1, 89,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 4: MakePet(12, 1, 75, 1, 90,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 5: MakePet(15, 1, 75, 1, 91,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 6: MakePet(18, 1, 75, 1, 92,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 7: MakePet(21, 1, 75, 1, 93,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 8: MakePet(25, 1, 75, 1, 94,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 9: MakePet(29, 1, 75, 1, 95,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 10: MakePet(33, 1, 75, 1, 96,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 11: MakePet(37, 1, 75, 1, 97,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 12: MakePet(41, 1, 75, 1, 98,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 13: MakePet(45, 12, 75, 1, 99,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 14: MakePet(48, 12, 75, 1, 100,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 15: MakePet(60, 12, 75, 1, 101,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ }
+
} else {
Message(0, "Error: Unknown Fire Pet formula");
}
} else if (strncmp(pettype, "SumAirR", 7) == 0) { //Baron-Sprite: This Pettype is reserved to 3. ALSO 60-73.
int8 tmp = atoi(&pettype[7]);
if (tmp >= 2 && tmp <= 15) {
- MakePet(((int)(3 + ((tmp-2) * 3.5) + (rand()%3))),
- 0, 75, 3, 0, 4 + (((float)(tmp - 2) / 14) * 3),1);
+ switch (tmp) {
+ case 2: MakePet(6, 1, 75, 3, 60,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 3: MakePet(9, 1, 75, 3, 61,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 4: MakePet(12, 1, 75, 3, 62,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 5: MakePet(15, 1, 75, 3, 63,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 6: MakePet(18, 1, 75, 3, 64,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 7: MakePet(21, 1, 75, 3, 65,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 8: MakePet(25, 1, 75, 3, 66,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 9: MakePet(29, 1, 75, 3, 67,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 10: MakePet(33, 1, 75, 3, 68,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 11: MakePet(37, 1, 75, 3, 69,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 12: MakePet(41, 1, 75, 3, 70,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 13: MakePet(45, 7, 75, 3, 71,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 14: MakePet(48, 7, 75, 3, 72,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 15: MakePet(60, 7, 75, 3, 73,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ }
} else {
Message(0, "Error: Unknown Air Pet formula");
}
} else if (strncmp(pettype, "SumWaterR", 9) == 0) { //Baron-Sprite: This Pettype is reserved to 2. ALSO 102-115.
int8 tmp = atoi(&pettype[9]);
if (tmp >= 2 && tmp <= 15) {
- MakePet(((int)(3 + ((tmp-2) * 3.5) + (rand()%3))),
- 0, 75, 2, 0, 4 + (((float)(tmp - 2) / 14) * 3),1);
+ switch (tmp) {
+ case 2: MakePet(6, 1, 75, 2, 102,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 3: MakePet(9, 1, 75, 2, 103,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 4: MakePet(12, 1, 75, 2, 104,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 5: MakePet(15, 1, 75, 2, 105,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 6: MakePet(18, 1, 75, 2, 106,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 7: MakePet(21, 1, 75, 2, 107,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 8: MakePet(25, 1, 75, 2, 108,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 9: MakePet(29, 1, 75, 2, 109,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 10: MakePet(33, 1, 75, 2, 110,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 11: MakePet(37, 1, 75, 2, 111,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 12: MakePet(41, 1, 75, 2, 112,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 13: MakePet(45, 9, 75, 2, 113,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 14: MakePet(48, 9, 75, 2, 114,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ case 15: MakePet(60, 9, 75, 2, 115,4 + (((float)(tmp - 2) / 14) * 3), 1);
+ break;
+ }
} else {
Message(0, "Error: Unknown Water Pet formula");
}
- } else if (strncmp(pettype, "Familiar1",9) == 0) { // neotokyo: reserved type 217 for familiars
+//end Bentareth fix } else if (strncmp(pettype, "Familiar1",9) == 0) { // neotokyo: reserved type 217 for familiars
MakePet(27,1,46,1,120,3,217); //Baron-Sprite: This Pettype is reserved to 120-124.
} else if (strncmp(pettype, "Familiar2",9) == 0) {
MakePet(47,1,46,1,121,3,217);
@@ -3827,7 +3939,7 @@
npc_type->max_hp = CalcPetHp(npc_type->level, npc_type->class_);
npc_type->cur_hp = npc_type->max_hp;
npc_type->fixedZ = 1;
- int pettype = in_pettype; //Baron-Sprite: Needed for necro pet types.
+ int pettype = in_pettype; //Baron-Sprite: Needed for necro pet types.(Mages too - Bentareth)
int yourlevel = this->GetLevel();
switch(type) {
@@ -3843,18 +3955,385 @@
npc_type->max_hp = 1000;
break;
}
- case 1: { //Baron-Sprite: Gay Mage Pets. Will make them real once I am done moving.
- npc_type->max_hp = ((yourlevel * 5) * 5);
- npc_type->cur_hp = ((yourlevel * 5) * 5);
- npc_type->min_dmg = (yourlevel / 2);
- npc_type->max_dmg = ((yourlevel / 2) + 7);
+ case 1: { //Bentareth: Mage pets, as close live as I can find, need spell procs added
+ //2 types of procs, last 3 in each category does a new type of proc
+ //Air and earth do damage ~50 hp, water does double previous, and fire needs several wizard spells added
+ npc_type->hp_regen = 6; //default case (true until lvl 39 pet)
+ switch(pettype) {
+ case 60: //Air pets begin
+ npc_type->max_hp = 75;
+ npc_type->cur_hp = 75;
+ npc_type->min_dmg = 6;
+ npc_type->max_dmg = 12;
break;
- }
- case 15: { // Mage Epic Pet
- npc_type->max_hp = 2200;
- npc_type->cur_hp = 2200;
- npc_type->min_dmg = 1;
+ case 61:
+ npc_type->max_hp = 175;
+ npc_type->cur_hp = 175;
+ npc_type->min_dmg = 9;
+ npc_type->max_dmg = 16;
+ break;
+ case 62:
+ npc_type->max_hp = 230;
+ npc_type->cur_hp = 230;
+ npc_type->min_dmg = 11;
+ npc_type->max_dmg = 18;
+ break;
+ case 63:
+ npc_type->max_hp = 360;
+ npc_type->cur_hp = 360;
+ npc_type->min_dmg = 13;
+ npc_type->max_dmg = 20;
+ break;
+ case 64:
+ npc_type->max_hp = 460;
+ npc_type->cur_hp = 460;
+ npc_type->min_dmg = 15;
+ npc_type->max_dmg = 22;
+ break;
+ case 65:
+ npc_type->max_hp = 580;
+ npc_type->cur_hp = 580;
+ npc_type->min_dmg = 17;
+ npc_type->max_dmg = 26;
+ break;
+ case 66:
+ npc_type->max_hp = 700;
+ npc_type->cur_hp = 700;
+ npc_type->min_dmg = 20;
+ npc_type->max_dmg = 28;
+ break;
+ case 67:
+ npc_type->max_hp = 800;
+ npc_type->cur_hp = 800;
+ npc_type->min_dmg = 24;
+ npc_type->max_dmg = 34;
+ break;
+ case 68:
+ npc_type->max_hp = 1015;
+ npc_type->cur_hp = 1015;
+ npc_type->min_dmg = 28;
+ npc_type->max_dmg = 40;
+ npc_type->hp_regen = 30;
+ break;
+ case 69:
+ npc_type->max_hp = 1225;
+ npc_type->cur_hp = 1225;
+ npc_type->min_dmg = 34;
+ npc_type->max_dmg = 48;
+ npc_type->hp_regen = 30;
+ break;
+ case 70:
+ npc_type->max_hp = 2205;
+ npc_type->cur_hp = 2205;
+ npc_type->min_dmg = 38;
+ npc_type->max_dmg = 56;
+ npc_type->hp_regen = 30;
+ break;
+ case 71: //from here in need to do damage proc
+ npc_type->max_hp = 2410;
+ npc_type->cur_hp = 2410;
+ npc_type->min_dmg = 40;
+ npc_type->max_dmg = 56;
+ npc_type->hp_regen = 30;
+ break;
+ case 72:
+ npc_type->max_hp = 2700;
+ npc_type->cur_hp = 2700;
+ npc_type->min_dmg = 50;
+ npc_type->max_dmg = 68;
+ npc_type->hp_regen = 30;
+ break;
+ case 73:
+ sprintf(npc_type->npc_attacks, "E");
+ npc_type->max_hp = 3800;
+ npc_type->cur_hp = 3800;
+ npc_type->min_dmg = 70;
+ npc_type->max_dmg = 83;
+ npc_type->hp_regen = 100;
+ break;
+ //End of Air Pets, Begin Earth
+ case 74:
+ npc_type->max_hp = 95;
+ npc_type->cur_hp = 95;
+ npc_type->min_dmg = 6;
+ npc_type->max_dmg = 12;
+ break;
+ case 75:
+ npc_type->max_hp = 250;
+ npc_type->cur_hp = 250;
+ npc_type->min_dmg = 9;
+ npc_type->max_dmg = 16;
+ break;
+ case 76:
+ npc_type->max_hp = 350;
+ npc_type->cur_hp = 350;
+ npc_type->min_dmg = 11;
+ npc_type->max_dmg = 18;
+ break;
+ case 77:
+ npc_type->max_hp = 520;
+ npc_type->cur_hp = 520;
+ npc_type->min_dmg = 13;
+ npc_type->max_dmg = 20;
+ break;
+ case 78:
+ npc_type->max_hp = 675;
+ npc_type->cur_hp = 675;
+ npc_type->min_dmg = 15;
+ npc_type->max_dmg = 22;
+ break;
+ case 79:
+ npc_type->max_hp = 830;
+ npc_type->cur_hp = 830;
+ npc_type->min_dmg = 17;
+ npc_type->max_dmg = 26;
+ break;
+ case 80:
+ npc_type->max_hp = 1000;
+ npc_type->cur_hp = 1000;
+ npc_type->min_dmg = 20;
+ npc_type->max_dmg = 28;
+ break;
+ case 81:
+ npc_type->max_hp = 1150;
+ npc_type->cur_hp = 1150;
+ npc_type->min_dmg = 24;
+ npc_type->max_dmg = 34;
+ break;
+ case 82:
+ npc_type->max_hp = 1450;
+ npc_type->cur_hp = 1450;
+ npc_type->min_dmg = 28;
+ npc_type->max_dmg = 40;
+ npc_type->hp_regen = 30;
+ break;
+ case 83:
+ npc_type->max_hp = 1750;
+ npc_type->cur_hp = 1750;
+ npc_type->min_dmg = 34;
+ npc_type->max_dmg = 48;
+ npc_type->hp_regen = 30;
+ break;
+ case 84:
+ npc_type->max_hp = 3150;
+ npc_type->cur_hp = 3150;
+ npc_type->min_dmg = 38;
+ npc_type->max_dmg = 56;
+ npc_type->hp_regen = 30;
+ break;
+ case 85: //Damage proc from here on in
+ npc_type->max_hp = 3200;
+ npc_type->cur_hp = 3200;
+ npc_type->min_dmg = 42;
+ npc_type->max_dmg = 58;
+ npc_type->hp_regen = 30;
+ break;
+ case 86:
+ npc_type->max_hp = 3300;
+ npc_type->cur_hp = 3300;
+ npc_type->min_dmg = 52;
+ npc_type->max_dmg = 70;
+ npc_type->hp_regen = 30;
+ break;
+ case 87:
+ sprintf(npc_type->npc_attacks, "E");
+ npc_type->max_hp = 4800;
+ npc_type->cur_hp = 4800;
+ npc_type->min_dmg = 72;
+ npc_type->max_dmg = 85;
+ npc_type->hp_regen = 100;
+ break;
+ // End of Earth Pets, Begin Fire, add flameshield effect
+ case 88:
+ npc_type->max_hp = 50;
+ npc_type->cur_hp = 50;
+ npc_type->min_dmg = 6;
+ npc_type->max_dmg = 12;
+ break;
+ case 89:
+ npc_type->max_hp = 125;
+ npc_type->cur_hp = 125;
+ npc_type->min_dmg = 9;
+ npc_type->max_dmg = 16;
+ break;
+ case 90:
+ npc_type->max_hp = 180;
+ npc_type->cur_hp = 180;
+ npc_type->min_dmg = 11;
+ npc_type->max_dmg = 18;
+ break;
+ case 91:
+ npc_type->max_hp = 260;
+ npc_type->cur_hp = 260;
+ npc_type->min_dmg = 13;
+ npc_type->max_dmg = 20;
+ break;
+ case 92:
+ npc_type->max_hp = 340;
+ npc_type->cur_hp = 340;
+ npc_type->min_dmg = 15;
+ npc_type->max_dmg = 22;
+ break;
+ case 93:
+ npc_type->max_hp = 415;
+ npc_type->cur_hp = 415;
+ npc_type->min_dmg = 17;
+ npc_type->max_dmg = 26;
+ break;
+ case 94:
+ npc_type->max_hp = 500;
+ npc_type->cur_hp = 500;
+ npc_type->min_dmg = 20;
+ npc_type->max_dmg = 28;
+ break;
+ case 95:
+ npc_type->max_hp = 575;
+ npc_type->cur_hp = 575;
+ npc_type->min_dmg = 24;
+ npc_type->max_dmg = 34;
+ break;
+ case 96:
+ npc_type->max_hp = 725;
+ npc_type->cur_hp = 725;
+ npc_type->min_dmg = 28;
+ npc_type->max_dmg = 40;
+ npc_type->hp_regen = 30;
+ break;
+ case 97:
+ npc_type->max_hp = 875;
+ npc_type->cur_hp = 875;
+ npc_type->min_dmg = 34;
+ npc_type->max_dmg = 48;
+ npc_type->hp_regen = 30;
+ break;
+ case 98:
+ npc_type->max_hp = 1575;
+ npc_type->cur_hp = 1575;
+ npc_type->min_dmg = 38;
+ npc_type->max_dmg = 56;
+ npc_type->hp_regen = 30;
+ break;
+ case 99: // Fire is a wizard from here on in, needs spells,
+ npc_type->max_hp = 1900;
+ npc_type->cur_hp = 1900;
+ npc_type->min_dmg = 20;
+ npc_type->max_dmg = 29;
+ npc_type->hp_regen = 30;
+ break;
+ case 100:
+ npc_type->max_hp = 2080;
+ npc_type->cur_hp = 2080;
+ npc_type->min_dmg = 24;
+ npc_type->max_dmg = 36;
+ npc_type->hp_regen = 30;
+ break;
+ case 101:
+ sprintf(npc_type->npc_attacks, "E");
+ npc_type->max_hp = 2400;
+ npc_type->cur_hp = 2400;
+ npc_type->min_dmg = 30;
+ npc_type->max_dmg = 45;
+ npc_type->hp_regen = 100;
+ break;
+ // End of Fire Pets, Begin Water
+ case 102:
+ npc_type->max_hp = 80;
+ npc_type->cur_hp = 80;
+ npc_type->min_dmg = 6;
+ npc_type->max_dmg = 12;
+ break;
+ case 103:
+ npc_type->max_hp = 200;
+ npc_type->cur_hp = 200;
+ npc_type->min_dmg = 9;
+ npc_type->max_dmg = 16;
+ break;
+ case 104:
+ npc_type->max_hp = 280;
+ npc_type->cur_hp = 280;
+ npc_type->min_dmg = 11;
+ npc_type->max_dmg = 18;
+ break;
+ case 105:
+ npc_type->max_hp = 420;
+ npc_type->cur_hp = 420;
+ npc_type->min_dmg = 13;
+ npc_type->max_dmg = 20;
+ break;
+ case 106:
+ npc_type->max_hp = 540;
+ npc_type->cur_hp = 540;
+ npc_type->min_dmg = 15;
+ npc_type->max_dmg = 22;
+ break;
+ case 107:
+ npc_type->max_hp = 660;
+ npc_type->cur_hp = 660;
+ npc_type->min_dmg = 17;
+ npc_type->max_dmg = 26;
+ break;
+ case 108:
+ npc_type->max_hp = 800;
+ npc_type->cur_hp = 800;
+ npc_type->min_dmg = 20;
+ npc_type->max_dmg = 28;
+ break;
+ case 109:
+ npc_type->max_hp = 920;
+ npc_type->cur_hp = 920;
+ npc_type->min_dmg = 24;
+ npc_type->max_dmg = 34;
+ case 110:
+ npc_type->max_hp = 1160;
+ npc_type->cur_hp = 1160;
+ npc_type->min_dmg = 28;
+ npc_type->max_dmg = 40;
+ npc_type->hp_regen = 30;
+ break;
+ case 111:
+ npc_type->max_hp = 1400;
+ npc_type->cur_hp = 1400;
+ npc_type->min_dmg = 34;
+ npc_type->max_dmg = 48;
+ npc_type->hp_regen = 30;
+ break;
+ case 112:
+ npc_type->max_hp = 2520;
+ npc_type->cur_hp = 2520;
+ npc_type->min_dmg = 38;
+ npc_type->max_dmg = 56;
+ npc_type->hp_regen = 30;
+ break;
+ case 113: //Rogue type now, should backstab, needs higher dmg proc
+ npc_type->max_hp = 2350;
+ npc_type->cur_hp = 2350;
+ npc_type->min_dmg = 40;
+ npc_type->max_dmg = 56;
+ npc_type->hp_regen = 30;
+ break;
+ case 114:
+ npc_type->max_hp = 2450;
+ npc_type->cur_hp = 2450;
+ npc_type->min_dmg = 50;
+ npc_type->max_dmg = 58;
+ npc_type->hp_regen = 30;
+ break;
+ case 115:
+ sprintf(npc_type->npc_attacks, "E");
+ npc_type->max_hp = 3300;
+ npc_type->cur_hp = 3300;
+ npc_type->min_dmg = 70;
+ npc_type->max_dmg = 81;
+ npc_type->hp_regen = 100;
+ break;
+ } //switch (pettype) - End of Normal Mage pets
+ }
+ case 15: { // Mage Epic Pet fixed
+ npc_type->max_hp = 4300;
+ npc_type->cur_hp = 4300;
+ npc_type->min_dmg = 50;
npc_type->max_dmg = 80;
+ npc_type->hp_regen=50;
// TODO: NPCSPELLS
// sprintf(npc_type->npc_spells,"847 848 849");
break;