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 12-11-2002, 11:27 AM
Baron Sprite's Avatar
Baron Sprite
Dragon
 
Join Date: Jan 2002
Posts: 708
Default Necromancer Pets 1-65.

This should be pretty close to live. I still have some more tweaking to do, but this makes it ALOT better then before. Just wanted to get it out there for yall. Please let me know of any ideas you got, will be updating this after some more tweaks. Just so you know the spacing on forums is pretty gimped so be weary. Also all the line #s are usally after I have merged my code, so they are probably off some. Hopefully it won't be too hard for you to find the spots.
-----------------------------
- Baron-Sprite 12/11/2002 -
-----------------------------
Necromancer pets that can support it will now do their lifetaps.
All damage ranges are correct
All hit points are correct
All levels are correct
Added support for necropet ranges
Added in necromancer pets

Replace the necromancer makepet area at around 1674 in spells.cpp

Code:
	else if (strncmp(pettype, "skel_pet_", 9) == 0) {
		char sztmp[50];
		strcpy(sztmp, pettype);    
		sztmp[11] = 0;    
		int8 tmp = atoi(&sztmp[9]);    
		//Baron-Sprite: No need for level algorithim - Since pet levels are now fixed in EQLive. 
		//Baron-Sprite: MakePet(level, class, race, texture, pettype, size, type) 0 Can be a placeholder.
				if (tmp >= 65)    
		{    
			MakePet(65, 1, 85, 0, 39, 0, 4);    
		}  
		else if (tmp >= 63)    
		{    
			MakePet(63, 1, 85, 0, 38, 0, 4);    
		} 
		else if (tmp >= 61)    
		{    
			MakePet(61, 1, 85, 0, 37, 0, 4);    
		} 
		else if (tmp >= 47)    
		{    
			MakePet(47, 1, 85, 0, 36, 0, 4);   
		} 
		else if (tmp >= 44)    
		{    
			MakePet(44, 7, 60, 0, 35, 0, 4);   
		} 
		else if (tmp >= 43)    
		{    
			MakePet(43, 9, 60, 0, 34, 0, 4);   
		} 
		else if (tmp >= 41)    
		{    
			MakePet(41, 1, 60, 0, 33, 0, 4);   
		}
		else if (tmp >= 37)    
		{    
			MakePet(37, 1, 60, 0, 32, 0, 4);   
		}
		else if (tmp >= 33)    
		{    
			MakePet(33, 1, 60, 0, 31, 0, 4);   
		}
		else if (tmp >= 29)    
		{    
			MakePet(29, 1, 60, 0, 30, 0, 4);   
		}
		else if (tmp >= 25)    
		{    
			MakePet(25, 1, 60, 0, 29, 0, 4);   
		} 
		else if (tmp >= 22)    
		{    
			MakePet(22, 1, 60, 0, 28, 0, 4);   
		} 
		else if (tmp >= 19)    
		{    
			MakePet(19, 1, 60, 0, 27, 0, 4);   
		} 
		else if (tmp >= 16)    
		{    
			MakePet(16, 1, 60, 0, 26, 0, 4);   
		} 
		else if (tmp >= 11)    
		{    
			MakePet(11, 1, 60, 0, 25, 0, 4);   
		} 
		else if (tmp >= 9)    
		{    
			MakePet(9, 1, 60, 0, 24, 0, 4);   
		} 
		else if (tmp >= 5)    
		{    
			MakePet(5, 1, 60, 0, 23, 0, 4);   
		} 
		else if (tmp >= 1)    
		{    
			MakePet(1, 1, 60, 0, 22, 0, 4);   
		} 
		else    
			MakePet(1, 1, 60); 
		}
__________________
Waking up in the morgue is pretty harsh, but it beats being dead.
Begun, this irc stat war has.
Reply With Quote
  #2  
Old 12-11-2002, 11:29 AM
Baron Sprite's Avatar
Baron Sprite
Dragon
 
Join Date: Jan 2002
Posts: 708
Default

Going to need this at 1816(will be below npc_type->fixedZ = 1;):
Code:
	int pettype = in_pettype;
Will need this at about 1837 in spells.cpp also. You should be able to see where it fits in(with the rest of the pet cases in that switch).
Code:
	case 4: //Baron-Sprite: Necromancer pets.  Some of the info is from eqnecro.com
		{
			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.
			sprintf(npc_type->npc_spells,"446 359"); //Spells allowed.
			} //Baron-Sprite:  You can also define things such as weapon and armor graphics/size, ect.  See the defines above.
			else if(pettype == 38)
			{
			npc_type->max_hp = 2200;
			npc_type->cur_hp = 2200;
			npc_type->min_dmg = 64;
			npc_type->max_dmg = 73;
			sprintf(npc_type->npc_spells,"446");
			}
			else if(pettype == 37)
			{
			npc_type->max_hp = 2400;
			npc_type->cur_hp = 2400;
			npc_type->min_dmg = 60;
			npc_type->max_dmg = 73;
			sprintf(npc_type->npc_spells,"446");
			}
			else if(pettype == 36)
			{
			npc_type->max_hp = 2300;
			npc_type->cur_hp = 2300;
			npc_type->min_dmg = 59;
			npc_type->max_dmg = 69;
			sprintf(npc_type->npc_spells,"446 216");
			}
			else if(pettype == 35)
			{
			npc_type->max_hp = 1500;
			npc_type->cur_hp = 1500;
			npc_type->min_dmg = 52;
			npc_type->max_dmg = 59;
			sprintf(npc_type->npc_spells,"445");
			}
			else if(pettype == 34)
			{
			npc_type->max_hp = 1400;
			npc_type->cur_hp = 1400;
			npc_type->min_dmg = 50;
			npc_type->max_dmg = 57;
			sprintf(npc_type->npc_spells,"445");
			}
			else if(pettype == 33)
			{
			npc_type->max_hp = 2350;
			npc_type->cur_hp = 2350;
			npc_type->min_dmg = 48;
			npc_type->max_dmg = 55;
			sprintf(npc_type->npc_spells,"445");
			}
			else if(pettype == 32)
			{
			npc_type->max_hp = 1300;
			npc_type->cur_hp = 1300;
			npc_type->min_dmg = 40;
			npc_type->max_dmg = 47;
			sprintf(npc_type->npc_spells,"502");
			}
			else if(pettype == 31)
			{
			npc_type->max_hp = 1200;
			npc_type->cur_hp = 1200;
			npc_type->min_dmg = 32;
			npc_type->max_dmg = 39;
			}
			else if(pettype == 30)
			{
			npc_type->max_hp = 1000;
			npc_type->cur_hp = 1000;
			npc_type->min_dmg = 25;
			npc_type->max_dmg = 33;
			}
			else if(pettype == 29)
			{
			npc_type->max_hp = 775;
			npc_type->cur_hp = 775;
			npc_type->min_dmg = 21;
			npc_type->max_dmg = 28;
			}
			else if(pettype == 28)
			{
			npc_type->max_hp = 700;
			npc_type->cur_hp = 700;
			npc_type->min_dmg = 19;
			npc_type->max_dmg = 26;
			}
			else if(pettype == 27)
			{
			npc_type->max_hp = 375;
			npc_type->cur_hp = 375;
			npc_type->min_dmg = 15;
			npc_type->max_dmg = 22;
			}
			else if(pettype == 26)
			{
			npc_type->max_hp = 300;
			npc_type->cur_hp = 300;
			npc_type->min_dmg = 13;
			npc_type->max_dmg = 20;
			}
			else if(pettype == 25)
			{
			npc_type->max_hp = 250;
			npc_type->cur_hp = 250;
			npc_type->min_dmg = 11;
			npc_type->max_dmg = 16;
			}
			else if(pettype == 24)
			{
			npc_type->max_hp = 200;
			npc_type->cur_hp = 200;
			npc_type->min_dmg = 9;
			npc_type->max_dmg = 14;
			}
			else if(pettype == 23)
			{
			npc_type->max_hp = 100;
			npc_type->cur_hp = 100;
			npc_type->min_dmg = 7;
			npc_type->max_dmg = 12;
			}
			else if(pettype == 22)
			{
			npc_type->max_hp = 30;
			npc_type->cur_hp = 30;
			npc_type->min_dmg = 5;
			npc_type->max_dmg = 10;
			}
			else 
			{
			npc_type->max_hp = 25;
			npc_type->cur_hp = 25;
			npc_type->min_dmg = 1;
			npc_type->max_dmg = 3;
			}
			break;
		}
__________________
Waking up in the morgue is pretty harsh, but it beats being dead.
Begun, this irc stat war has.
Reply With Quote
  #3  
Old 12-11-2002, 07:49 PM
Baron Sprite's Avatar
Baron Sprite
Dragon
 
Join Date: Jan 2002
Posts: 708
Default

Fixed make bug with level 1 necro pet, I actually ended up redoing all of make pet... so just wait for next release for the rest which fixes some other pets... but for now just replace what you had before with this stuff for necro pets.
-
Thanks.
__________________
Waking up in the morgue is pretty harsh, but it beats being dead.
Begun, this irc stat war has.
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:38 PM.


 

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