Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Development

Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 06-12-2003, 08:24 AM
gej302
Sarnak
 
Join Date: May 2003
Location: Silverfist
Posts: 42
Default 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!
Reply With Quote
  #2  
Old 06-13-2003, 08:46 PM
Bigpull
Discordant
 
Join Date: Feb 2003
Posts: 305
Default

Merged, the pet spells are in *gasp* pet_spells.sql
Reply With Quote
  #3  
Old 06-16-2003, 07:48 AM
Baron Sprite's Avatar
Baron Sprite
Dragon
 
Join Date: Jan 2002
Posts: 708
Default

yay
__________________
Waking up in the morgue is pretty harsh, but it beats being dead.
Begun, this irc stat war has.
Reply With Quote
  #4  
Old 06-16-2003, 11:04 AM
gej302
Sarnak
 
Join Date: May 2003
Location: Silverfist
Posts: 42
Default 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...
Reply With Quote
  #5  
Old 06-16-2003, 11:38 AM
used_pawn
Sarnak
 
Join Date: Apr 2003
Posts: 53
Default 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)
Reply With Quote
  #6  
Old 06-16-2003, 01:55 PM
Bigpull
Discordant
 
Join Date: Feb 2003
Posts: 305
Default

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
Reply With Quote
  #7  
Old 06-16-2003, 11:39 PM
used_pawn
Sarnak
 
Join Date: Apr 2003
Posts: 53
Default

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)
Reply With Quote
  #8  
Old 06-17-2003, 12:39 AM
used_pawn
Sarnak
 
Join Date: Apr 2003
Posts: 53
Default 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
Reply With Quote
  #9  
Old 06-17-2003, 06:43 AM
gej302
Sarnak
 
Join Date: May 2003
Location: Silverfist
Posts: 42
Default

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).
Reply With Quote
  #10  
Old 06-20-2003, 06:13 AM
gej302
Sarnak
 
Join Date: May 2003
Location: Silverfist
Posts: 42
Default 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...
Reply With Quote
  #11  
Old 06-20-2003, 07:25 AM
used_pawn
Sarnak
 
Join Date: Apr 2003
Posts: 53
Default

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 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.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:07 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3