EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=621)
-   -   Procing pets (mage/necro) (https://www.eqemulator.org/forums/showthread.php?t=7937)

gej302 06-12-2003 08:24 AM

Procing pets (mage/necro)
 
Missing pets are mage pets: DDD and MS pets, due to lack of information.

Spells they cast are now database controlled except for level at which each pet is given a spell list (procs) is code driven. High end mage fire pets got essentially a dupe of the wizard spell list (minus familiars), since it's nearly impossible to know exactly what spells they get on their list.
And since I get an upload error on attachments
Quote:

Upload Error: Could not upload Attachment to ./files/spelldiff.txt.
there's another long post incoming, as these are kinda long files.

Diff file:
Code:

Index: spells.cpp
===================================================================
RCS file: /cvsroot/eqemu/NightDumps/Source/zone/spells.cpp,v
retrieving revision 1.1.1.5
diff -u -B -b -r1.1.1.5 spells.cpp
--- spells.cpp  11 Jun 2003 02:12:40 -0000      1.1.1.5
+++ spells.cpp  12 Jun 2003 19:56:43 -0000
@@ -3803,10 +3803,10 @@
                        MakePet(4, 1, 127, 0, 47, 6, 2);
                        break;
                case 1:
-                      MakePet(1, 0, 127, 0, 46, 6, 2);
+                      MakePet(1, 1, 127, 0, 46, 6, 2);
                        break;
                default:
-                      MakePet(1, 0, 127, 0, 46, 6, 2);
+                      MakePet(1, 1, 127, 0, 46, 6, 2);
                        cout << "ptype not found: Making default animation pet." << endl;
                        break;
                }
@@ -3946,7 +3946,7 @@
        int yourlevel = this->GetLevel();

        switch(type) {
-      case 217: {
+      case 217:
                // wizards familiars
                char f_name[50];
                strcpy(f_name,this->GetName());
@@ -3957,10 +3957,9 @@
                npc_type->max_dmg = 0;
                npc_type->max_hp = 1000;
                break;
-      }
-              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
+              case 1:
+                //Bentareth: Mage pets, as close live as I can find, spell procs now added
+                //see the npc_spells and npc_spells_entries table in the DB for actual proc spells
                        npc_type->hp_regen = 6; //default case (true until lvl 39 pet)
                        switch(pettype) {
                          case 60: //Air pets begin
@@ -3968,48 +3967,56 @@
                                npc_type->cur_hp  = 75;
                                npc_type->min_dmg  = 6;
                                npc_type->max_dmg  = 12;
+                              npc_type->npc_spells_id = 14;
                                                                break;
                                                case 61:
                                npc_type->max_hp  = 175;
                                npc_type->cur_hp  = 175;
                                npc_type->min_dmg  = 9;
                                npc_type->max_dmg  = 16;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 62:
                                npc_type->max_hp  = 230;
                                npc_type->cur_hp  = 230;
                                npc_type->min_dmg  = 11;
                                npc_type->max_dmg  = 18;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 63:
                                npc_type->max_hp  = 360;
                                npc_type->cur_hp  = 360;
                                npc_type->min_dmg = 13;
                                npc_type->max_dmg = 20;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 64:
                                npc_type->max_hp  = 460;
                                npc_type->cur_hp  = 460;
                                npc_type->min_dmg = 15;
                                npc_type->max_dmg = 22;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 65:
                                npc_type->max_hp  = 580;
                                npc_type->cur_hp  = 580;
                                npc_type->min_dmg = 17;
                                npc_type->max_dmg = 26;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 66:
                                npc_type->max_hp  = 700;
                                npc_type->cur_hp  = 700;
                                npc_type->min_dmg = 20;
                                npc_type->max_dmg = 28;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 67:
                                npc_type->max_hp  = 800;
                                npc_type->cur_hp  = 800;
                                npc_type->min_dmg = 24;
                                npc_type->max_dmg = 34;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 68:
                                npc_type->max_hp  = 1015;
@@ -4017,6 +4024,7 @@
                                npc_type->min_dmg  = 28;
                                npc_type->max_dmg  = 40;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 69:
                                npc_type->max_hp  = 1225;
@@ -4024,6 +4032,7 @@
                                npc_type->min_dmg = 34;
                                npc_type->max_dmg = 48;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 70:
                                npc_type->max_hp  = 2205;
@@ -4031,6 +4040,7 @@
                                npc_type->min_dmg = 38;
                                npc_type->max_dmg = 56;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 71:  //from here in need to do damage proc
                                npc_type->max_hp  = 2410;
@@ -4038,6 +4048,7 @@
                                npc_type->min_dmg = 40;
                                npc_type->max_dmg = 56;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 72:
                                npc_type->max_hp  = 2700;
@@ -4045,6 +4056,7 @@
                                npc_type->min_dmg = 50;
                                npc_type->max_dmg = 68;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 14;
                                break;
                          case 73:
                                sprintf(npc_type->npc_attacks, "E");
@@ -4053,6 +4065,7 @@
                                npc_type->min_dmg = 70;
                                npc_type->max_dmg = 83;
                                npc_type->hp_regen = 100;
+                              npc_type->npc_spells_id = 14;
                                break;
                        //End of Air Pets, Begin Earth
                          case 74:
@@ -4060,48 +4073,56 @@
                                npc_type->cur_hp  = 95;
                                npc_type->min_dmg  = 6;
                                npc_type->max_dmg  = 12;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 75:
                                npc_type->max_hp  = 250;
                                npc_type->cur_hp  = 250;
                                npc_type->min_dmg  = 9;
                                npc_type->max_dmg  = 16;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 76:
                                npc_type->max_hp  = 350;
                                npc_type->cur_hp  = 350;
                                npc_type->min_dmg  = 11;
                                npc_type->max_dmg  = 18;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 77:
                                npc_type->max_hp  = 520;
                                npc_type->cur_hp  = 520;
                                npc_type->min_dmg = 13;
                                npc_type->max_dmg = 20;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 78:
                                npc_type->max_hp  = 675;
                                npc_type->cur_hp  = 675;
                                npc_type->min_dmg = 15;
                                npc_type->max_dmg = 22;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 79:
                                npc_type->max_hp  = 830;
                                npc_type->cur_hp  = 830;
                                npc_type->min_dmg = 17;
                                npc_type->max_dmg = 26;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 80:
                                npc_type->max_hp  = 1000;
                                npc_type->cur_hp  = 1000;
                                npc_type->min_dmg = 20;
                                npc_type->max_dmg = 28;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 81:
                                npc_type->max_hp  = 1150;
                                npc_type->cur_hp  = 1150;
                                npc_type->min_dmg = 24;
                                npc_type->max_dmg = 34;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 82:
                                npc_type->max_hp  = 1450;
@@ -4109,6 +4130,7 @@
                                npc_type->min_dmg  = 28;
                                npc_type->max_dmg  = 40;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 83:
                                npc_type->max_hp  = 1750;
@@ -4116,6 +4138,7 @@
                                npc_type->min_dmg = 34;
                                npc_type->max_dmg = 48;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 84:
                                npc_type->max_hp  = 3150;
@@ -4123,6 +4146,7 @@
                                npc_type->min_dmg = 38;
                                npc_type->max_dmg = 56;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 85: //Damage proc from here on in
                                npc_type->max_hp  = 3200;
@@ -4130,6 +4154,7 @@
                                npc_type->min_dmg = 42;
                                npc_type->max_dmg = 58;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 86:
                                npc_type->max_hp  = 3300;
@@ -4137,6 +4162,7 @@
                                npc_type->min_dmg = 52;
                                npc_type->max_dmg = 70;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 15;
                                break;
                          case 87:
                                sprintf(npc_type->npc_attacks, "E");
@@ -4145,6 +4171,7 @@
                                npc_type->min_dmg = 72;
                                npc_type->max_dmg = 85;
                                npc_type->hp_regen = 100;
+                              npc_type->npc_spells_id = 15;
                                break;
                        // End of Earth Pets, Begin Fire, add flameshield effect
                          case 88:
@@ -4152,48 +4179,56 @@
                                npc_type->cur_hp  = 50;
                                npc_type->min_dmg  = 6;
                                npc_type->max_dmg  = 12;
+                              npc_type->npc_spells_id = 18;
                                break;
                          case 89:
                                npc_type->max_hp  = 125;
                                npc_type->cur_hp  = 125;
                                npc_type->min_dmg  = 9;
                                npc_type->max_dmg  = 16;
+                              npc_type->npc_spells_id = 18;
                                break;
                          case 90:
                                npc_type->max_hp  = 180;
                                npc_type->cur_hp  = 180;
                                npc_type->min_dmg  = 11;
                                npc_type->max_dmg  = 18;
+                              npc_type->npc_spells_id = 18;
                                break;
                          case 91:
                                npc_type->max_hp  = 260;
                                npc_type->cur_hp  = 260;
                                npc_type->min_dmg = 13;
                                npc_type->max_dmg = 20;
+                              npc_type->npc_spells_id = 18;
                                break;
                          case 92:
                                npc_type->max_hp  = 340;
                                npc_type->cur_hp  = 340;
                                npc_type->min_dmg = 15;
                                npc_type->max_dmg = 22;
+                              npc_type->npc_spells_id = 18;
                                break;
                          case 93:
                                npc_type->max_hp  = 415;
                                npc_type->cur_hp  = 415;
                                npc_type->min_dmg = 17;
                                npc_type->max_dmg = 26;
+                              npc_type->npc_spells_id = 18;
                                break;
                          case 94:
                                npc_type->max_hp  = 500;
                                npc_type->cur_hp  = 500;
                                npc_type->min_dmg = 20;
                                npc_type->max_dmg = 28;
+                              npc_type->npc_spells_id = 18;
                                break;
                          case 95:
                                npc_type->max_hp  = 575;
                                npc_type->cur_hp  = 575;
                                npc_type->min_dmg = 24;
                                npc_type->max_dmg = 34;
+                              npc_type->npc_spells_id = 18;
                                break;
                          case 96:
                                npc_type->max_hp  = 725;
@@ -4201,6 +4236,7 @@
                                npc_type->min_dmg  = 28;
                                npc_type->max_dmg  = 40;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 18;
                                break;
                          case 97:
                                npc_type->max_hp  = 875;
@@ -4208,6 +4244,7 @@
                                npc_type->min_dmg = 34;
                                npc_type->max_dmg = 48;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 18;
                                break;
                          case 98:
                                npc_type->max_hp  = 1575;
@@ -4215,13 +4252,19 @@
                                npc_type->min_dmg = 38;
                                npc_type->max_dmg = 56;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 18;
                                break;
-                          case 99: // Fire is a wizard from here on in, needs spells,
+                          case 99: // Fire is a wizard from here on in, needs spells, and mana regen
+                                  // Currently unknown what spells it will cast, have given it the
+                                  // same spell list as equivalent NPCs, minus the summon familiar
+                                  // this is controlled in the database npc_spells* tables
                                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;
+                              npc_type->mana_regen = 20;
+                              npc_type->npc_spells_id = 20;
                                break;
                          case 100:
                                npc_type->max_hp  = 2080;
@@ -4229,6 +4272,8 @@
                                npc_type->min_dmg = 24;
                                npc_type->max_dmg = 36;
                                npc_type->hp_regen = 30;
+                              npc_type->mana_regen = 20;
+                              npc_type->npc_spells_id = 20;
                                break;
                          case 101:
                                sprintf(npc_type->npc_attacks, "E");
@@ -4237,6 +4282,8 @@
                                npc_type->min_dmg = 30;
                                npc_type->max_dmg = 45;
                                npc_type->hp_regen = 100;
+                              npc_type->mana_regen = 50;
+                              npc_type->npc_spells_id = 20;
                                break;
                        // End of Fire Pets, Begin Water
                          case 102:
@@ -4244,54 +4291,64 @@
                                npc_type->cur_hp  = 80;
                                npc_type->min_dmg  = 6;
                                npc_type->max_dmg  = 12;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 103:
                                npc_type->max_hp  = 200;
                                npc_type->cur_hp  = 200;
                                npc_type->min_dmg  = 9;
                                npc_type->max_dmg  = 16;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 104:
                                npc_type->max_hp  = 280;
                                npc_type->cur_hp  = 280;
                                npc_type->min_dmg  = 11;
                                npc_type->max_dmg  = 18;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 105:
                                npc_type->max_hp  = 420;
                                npc_type->cur_hp  = 420;
                                npc_type->min_dmg = 13;
                                npc_type->max_dmg = 20;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 106:
                                npc_type->max_hp  = 540;
                                npc_type->cur_hp  = 540;
                                npc_type->min_dmg = 15;
                                npc_type->max_dmg = 22;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 107:
                                npc_type->max_hp  = 660;
                                npc_type->cur_hp  = 660;
                                npc_type->min_dmg = 17;
                                npc_type->max_dmg = 26;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 108:
                                npc_type->max_hp  = 800;
                                npc_type->cur_hp  = 800;
                                npc_type->min_dmg = 20;
                                npc_type->max_dmg = 28;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 109:
                                npc_type->max_hp  = 920;
                                npc_type->cur_hp  = 920;
                                npc_type->min_dmg = 24;
                                npc_type->max_dmg = 34;
+                              npc_type->npc_spells_id = 16;
+                              break;
                          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;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 111:
                                npc_type->max_hp  = 1400;
@@ -4299,6 +4356,7 @@
                                npc_type->min_dmg = 34;
                                npc_type->max_dmg = 48;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 112:
                                npc_type->max_hp  = 2520;
@@ -4306,13 +4364,15 @@
                                npc_type->min_dmg = 38;
                                npc_type->max_dmg = 56;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 16;
                                break;
-                          case 113: //Rogue type now, should backstab, needs higher dmg proc
+                          case 113: //Rogue type now, should backstab
                                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;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 114:
                                npc_type->max_hp  = 2450;
@@ -4320,6 +4380,7 @@
                                npc_type->min_dmg = 50;
                                npc_type->max_dmg = 58;
                                npc_type->hp_regen = 30;
+                              npc_type->npc_spells_id = 16;
                                break;
                          case 115:
                                sprintf(npc_type->npc_attacks, "E");
@@ -4328,19 +4389,18 @@
                                npc_type->min_dmg = 70;
                                npc_type->max_dmg = 81;
                                npc_type->hp_regen = 100;
+                              npc_type->npc_spells_id = 16;
                                break;
                        } //switch (pettype) - End of Normal Mage pets
-      }
-      case 15: { // Mage Epic Pet fixed
+                        break;
+      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");
+                      npc_type->npc_spells_id = 21;
                                                break;
-      }
        case 2: { //Baron-Sprite: Enchanter Pets.  Some info from casters realm.
                        npc_type->gender = 0;
                        npc_type->equipment[7] = 34;
@@ -4510,15 +4570,15 @@
                }
        case 4: { //Baron-Sprite: Necromancer pets.  Some of the info is from eqnecro.com
                        npc_type->bodytype = 3;
+                      npc_type->npc_spells_id = 22;
                        if(pettype == 39) //Baron-Sprite: This is defined above in the Makepet statement.  I use it to single out the individual pet spells.
                        {
                        npc_type->max_hp = 3800; //Max Life.
                        npc_type->cur_hp = 3800; //Current Life.
                        npc_type->min_dmg = 60;  //Minimum Damage.
                        npc_type->max_dmg = 78;  //Maximum Damage.
-// TODO: NPCSPELLS
-//                    sprintf(npc_type->npc_spells,"446 359"); //Spells allowed.
                        sprintf(npc_type->npc_attacks, "E");
+                      npc_type->npc_spells_id = 23;
                        } //Baron-Sprite:  You can also define things such as weapon and armor graphics/size, ect.  See the defines above.
                        else if(pettype == 38)
                        {
@@ -4526,8 +4586,6 @@
                        npc_type->cur_hp = 2200;
                        npc_type->min_dmg = 64;
                        npc_type->max_dmg = 73;
-// TODO: NPCSPELLS
-//                    sprintf(npc_type->npc_spells,"446");
                        sprintf(npc_type->npc_attacks, "E");
                        }
                        else if(pettype == 37)
@@ -4536,8 +4594,6 @@
                        npc_type->cur_hp = 2400;
                        npc_type->min_dmg = 60;
                        npc_type->max_dmg = 73;
-// TODO: NPCSPELLS
-//                    sprintf(npc_type->npc_spells,"446");
                        sprintf(npc_type->npc_attacks, "E");

                        }
@@ -4547,8 +4603,6 @@
                        npc_type->cur_hp = 2300;
                        npc_type->min_dmg = 59;
                        npc_type->max_dmg = 69;
-// TODO: NPCSPELLS
-//                    sprintf(npc_type->npc_spells,"446 216");
                        }
                        else if(pettype == 35)
                        {
@@ -4556,8 +4610,6 @@
                        npc_type->cur_hp = 1500;
                        npc_type->min_dmg = 52;
                        npc_type->max_dmg = 59;
-// TODO: NPCSPELLS
-//                    sprintf(npc_type->npc_spells,"445");

                        }
                        else if(pettype == 34)
@@ -4566,8 +4618,6 @@
                        npc_type->cur_hp = 1400;
                        npc_type->min_dmg = 50;
                        npc_type->max_dmg = 57;
-// TODO: NPCSPELLS
-//                    sprintf(npc_type->npc_spells,"445");
                        }
                        else if(pettype == 33)
                        {
@@ -4575,8 +4625,6 @@
                        npc_type->cur_hp = 2350;
                        npc_type->min_dmg = 48;
                        npc_type->max_dmg = 55;
-// TODO: NPCSPELLS
-//                    sprintf(npc_type->npc_spells,"445");
                        }
                        else if(pettype == 32)
                        {
@@ -4584,8 +4632,6 @@
                        npc_type->cur_hp = 1300;
                        npc_type->min_dmg = 40;
                        npc_type->max_dmg = 47;
-// TODO: NPCSPELLS
-//                    sprintf(npc_type->npc_spells,"502");
                        }
                        else if(pettype == 31)
                        {

npc_spells:

Code:

INSERT INTO npc_spells VALUES (13,'AirPetInvis',0,-1,3);
INSERT INTO npc_spells VALUES (14,'AirPetAttacks',13,1,10);
INSERT INTO npc_spells VALUES (15,'EarthPetAttacks',0,1,10);
INSERT INTO npc_spells VALUES (16,'WaterPetAttacks',0,1,10);
INSERT INTO npc_spells VALUES (17,'FirePetDS',0,-1,10);
INSERT INTO npc_spells VALUES (18,'FirePetAttacks',17,1,10);
INSERT INTO npc_spells VALUES (19,'FirePetAttack2 (Decoy)',17,1,10);
INSERT INTO npc_spells VALUES (20,'FirePetSpells (Wizard)',17,-1,3);
INSERT INTO npc_spells VALUES (22,'Necro pet procs',0,1,10);
INSERT INTO npc_spells VALUES (23,'Necro uber pet procs',0,1,10);
INSERT INTO npc_spells VALUES (21,'EpicPetSpells',0,-1,3);

npc_spells_entries:
Code:

INSERT INTO npc_spells_entries VALUES (1115,13,928,8,0,255,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1116,14,967,1,0,43,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1117,14,1020,1,44,255,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1112,15,1022,1,44,59,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1113,15,3193,1,60,255,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1114,15,969,1,0,43,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1118,16,1021,1,44,255,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1119,16,968,1,0,43,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1122,17,927,8,0,255,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1120,18,966,1,0,255,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1121,19,893,1,0,255,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1132,20,372,1,1,7,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1133,20,376,1,4,15,-1,-1,2);
INSERT INTO npc_spells_entries VALUES (1134,20,656,1,8,23,-1,-1,3);
INSERT INTO npc_spells_entries VALUES (1135,20,383,1,12,19,-1,-1,4);
INSERT INTO npc_spells_entries VALUES (1136,20,657,1,16,28,-1,-1,5);
INSERT INTO npc_spells_entries VALUES (1137,20,22,1,20,28,-1,-1,6);
INSERT INTO npc_spells_entries VALUES (1138,20,464,1,24,33,-1,-1,7);
INSERT INTO npc_spells_entries VALUES (1139,20,465,1,29,43,-1,-1,8);
INSERT INTO npc_spells_entries VALUES (1140,20,470,1,29,38,-1,-1,9);
INSERT INTO npc_spells_entries VALUES (1141,20,658,1,34,48,-1,-1,10);
INSERT INTO npc_spells_entries VALUES (1142,20,466,1,39,43,-1,-1,11);
INSERT INTO npc_spells_entries VALUES (1143,20,23,1,44,48,-1,-1,12);
INSERT INTO npc_spells_entries VALUES (1144,20,659,1,44,50,-1,-1,13);
INSERT INTO npc_spells_entries VALUES (1145,20,732,1,49,56,-1,-1,14);
INSERT INTO npc_spells_entries VALUES (1146,20,755,1,49,53,-1,-1,15);
INSERT INTO npc_spells_entries VALUES (1147,20,1637,1,51,59,-1,-1,16);
INSERT INTO npc_spells_entries VALUES (1148,20,1639,1,54,54,-1,-1,17);
INSERT INTO npc_spells_entries VALUES (1149,20,1643,1,55,62,-1,-1,18);
INSERT INTO npc_spells_entries VALUES (1150,20,1641,1,57,59,-1,-1,19);
INSERT INTO npc_spells_entries VALUES (1151,20,1426,1,60,64,-1,-1,20);
INSERT INTO npc_spells_entries VALUES (1152,20,1658,1,60,60,-1,-1,21);
INSERT INTO npc_spells_entries VALUES (1153,20,2884,1,60,255,-1,-1,22);
INSERT INTO npc_spells_entries VALUES (1154,20,3335,1,63,255,-1,-1,23);
INSERT INTO npc_spells_entries VALUES (1155,20,3339,1,65,255,-1,-1,24);
INSERT INTO npc_spells_entries VALUES (1156,20,377,1,4,7,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1157,20,380,1,8,15,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1158,20,386,1,16,23,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1159,20,462,1,24,28,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1160,20,459,1,29,33,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1161,20,463,1,34,38,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1162,20,460,1,39,48,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1163,20,731,1,49,52,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1164,20,1650,1,53,53,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1165,20,1645,1,54,55,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1166,20,1651,1,56,56,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1167,20,1644,1,57,58,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1168,20,1652,1,59,60,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1169,20,3327,1,61,64,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1170,20,3332,1,65,255,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1171,20,73,1,44,58,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1172,20,1636,1,59,255,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1173,20,503,1,20,48,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1174,20,612,1,49,50,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1175,20,1634,1,51,55,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1176,20,1635,1,56,63,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1177,20,3333,1,64,255,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1178,20,230,4,4,255,-1,-1,0);
INSERT INTO npc_spells_entries VALUES (1179,20,131,4,20,38,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1180,20,132,4,39,48,-1,-1,2);
INSERT INTO npc_spells_entries VALUES (1181,20,133,4,49,57,-1,-1,3);
INSERT INTO npc_spells_entries VALUES (1182,20,1633,4,58,60,-1,-1,4);
INSERT INTO npc_spells_entries VALUES (1183,20,3194,4,61,255,-1,-1,5);
INSERT INTO npc_spells_entries VALUES (1184,20,48,1,12,33,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1185,20,49,1,34,52,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1186,20,1526,1,53,255,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1187,20,288,8,1,7,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1188,20,246,8,8,15,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1189,20,309,8,16,23,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1190,20,65,8,24,33,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1191,20,66,8,34,43,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1192,20,67,8,44,53,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1193,20,1610,8,54,60,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1194,20,3300,8,61,63,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1195,20,3302,8,64,255,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1196,20,236,8,16,23,-1,-1,0);
INSERT INTO npc_spells_entries VALUES (1197,20,387,8,24,33,-1,-1,0);
INSERT INTO npc_spells_entries VALUES (1198,20,393,8,34,43,-1,-1,0);
INSERT INTO npc_spells_entries VALUES (1199,20,394,8,44,51,-1,-1,0);
INSERT INTO npc_spells_entries VALUES (1200,20,1609,8,52,62,-1,-1,0);
INSERT INTO npc_spells_entries VALUES (1201,20,3301,8,63,255,-1,-1,0);
INSERT INTO npc_spells_entries VALUES (1202,20,378,8,4,11,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1203,20,2551,8,12,33,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1204,20,1419,8,34,255,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1205,20,381,8,12,57,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1206,20,108,8,20,57,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1207,20,109,8,44,57,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1208,20,3582,8,54,57,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1209,20,3326,8,61,57,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1210,20,3329,8,62,57,-1,-1,1);
INSERT INTO npc_spells_entries VALUES (1123,21,847,8,0,255,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1124,21,849,1,0,255,0,-1,1);
INSERT INTO npc_spells_entries VALUES (1125,21,848,1,0,255,0,-1,2);
INSERT INTO npc_spells_entries VALUES (1126,22,502,1,37,37,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1127,22,445,1,38,45,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1128,22,446,1,46,60,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1129,22,216,1,46,48,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1130,23,446,1,0,255,0,-1,0);
INSERT INTO npc_spells_entries VALUES (1131,23,359,1,0,255,0,-1,0);

Enjoy!

Bigpull 06-13-2003 08:46 PM

Merged, the pet spells are in *gasp* pet_spells.sql

Baron Sprite 06-16-2003 07:48 AM

yay :D

gej302 06-16-2003 11:04 AM

One More fix:
 
zone/spells.cpp line 3940 replace

npc_type->npc_spells_id =this->GetNPCSpellsID();

with

npc_type->npc_spells_id = 0;

Pets shouldn't get spells unless specifically listed now. this will remove the pet of a pet of a pet...

used_pawn 06-16-2003 11:38 AM

Re: One More fix:
 
Quote:

Originally Posted by gej302
zone/spells.cpp line 3940 replace

npc_type->npc_spells_id =this->GetNPCSpellsID();

with

npc_type->npc_spells_id = 0;

Pets shouldn't get spells unless specifically listed now. this will remove the pet of a pet of a pet...

Umm...i think you missed the point of what is being accomplished by the above code... the actual pet spells/procs, not pets being same spell class as their owner (which was causing the pet casting a pet problem)

Bigpull 06-16-2003 01:55 PM

Actualy the pet's casting pets while they had a master was an AI bug >=)

The above hunk of code was someones idea of funny niffty or GEFN(good enough for now), pets should get auto assigned thier masters spell list i'll stuff in a quest command or something to assign thier summoned pet a custom spell list

[EDIT]
Yes that should read "pets should not get auto assigned", i type faster than i think, or was that think faster than i type ;)

used_pawn 06-16-2003 11:39 PM

Pets in EQlive dont get their masters spell list. Most pets dont even cast (shaman pet, necro pet, enchanter pet for example)
Mage pets do proc a couple spells (root for earth, damage shield for fire, nuke for water, invis for air) at low levels, and have a larger list at high levels (or so Ive heard, never played a mage to high level)

used_pawn 06-17-2003 12:39 AM

Re: One More fix:
 
Quote:

Originally Posted by used_pawn
Quote:

Originally Posted by gej302
zone/spells.cpp line 3940 replace

npc_type->npc_spells_id =this->GetNPCSpellsID();

with

npc_type->npc_spells_id = 0;

Pets shouldn't get spells unless specifically listed now. this will remove the pet of a pet of a pet...

Umm...i think you missed the point of what is being accomplished by the above code... the actual pet spells/procs, not pets being same spell class as their owner (which was causing the pet casting a pet problem)

bah, I feel like an ass now...you were right, in fact after looking over the code (and realizing you meant in addition to, not instead of) its just what i was talking about

sorry for the preemptive flame there gej302 :oops:

gej302 06-17-2003 06:43 AM

Lol, no problem... nice to know someone's checking behind me to make sure I'm not making a mess :lol:

Oh, btw high end necro pets proc a lifetap spell and the highest pet has 2 procs (trusting Baron Sprite on this one, used the spells he listed in the code as the spell id for the database for the necros) I played a mage to 59 on live before I became tired of spending half my time walking to a hunting spot... I love #zone! :)

*edit*
As to mage pets, fire and water proc nukes, fire gets DS, air procs stun and invis, and earth procs root until the 51+ spells when they all get a damage component added in, the fire pet loses the proc nuke and becomes a wizard, the air pet goes monkly, and the water pet goes rogue (and the nuke value is doubled).

gej302 06-20-2003 06:13 AM

Further testing indicates a potential problem
 
It's a DB issue... need to remove AoE's from the Fire Pet I think... or maybe not, but be warned he does do AoE and it's not pretty in vertical dungeons when he does it... I think AoE limits the usefulness too much. is AoE a type? if so this will be easy to fix, but if not... I'm gonna have to go spell identifier diving...

used_pawn 06-20-2003 07:25 AM

I dont see where AoE is a type (ive been putting them under NUKE myself, hehe)

I personally redid the entire default spells for each class (including bards that sing :shock: looks pretty cool.)

What I dont quite understand yet is the priority value, but, then again I haven't worked much with that end yet. Still playin with the multitude of things that just arent there yet.

But, I like how you are handling it so far, keep it up.


All times are GMT -4. The time now is 11:25 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.